下载tomato地址:https://vulnhub.com/entry/tomato-1,557/
直接拖进虚拟机中
tomato靶机和kali虚拟机必须在同一网段所以使用nat模式
扫描主机
arp-scan -I eth0 -l
发现新主机ip 192.168.142.147
nmap扫描端口
namp -p- -A -T4 --min-rate=10000 192.168.142.147
有用的信息:21/tcp open ftp vsftpd 3.0.3版本
80/tcp open http Apache httpd 2.4.18 ((Ubuntu))版本
|_http-title: Tomato
|_http-server-header: Apache/2.4.18 (Ubuntu)
2211/tcp open ssh OpenSSH 7.2p2 Ubuntu 4ubuntu2.10 (Ubuntu Linux; protocol 2.0)
| ssh-hostkey:
| 2048 d2:53:0a:91:8c:f1:a6:10:11:0d:9e:0f:22:f8:49:8e (RSA)
| 256 b3:12:60:32:48:28:eb:ac:80:de:17:d7:96:77:6e:2f (ECDSA)
|_ 256 36:6f:52:ad:fe:f7:92:3e:a2:51:0f:73:06:8d:80:13 (ED25519)
8888/tcp open http nginx 1.10.3 (Ubuntu) nginx版本
|_http-server-header: nginx/1.10.3 (Ubuntu)
|_http-title: 401 Authorization Required
| http-auth:
| HTTP/1.1 401 Unauthorized\x0D
|_ Basic realm=Private Property
22、80、2211、8888为开放的端口,2211为ssh远程连接端口,vsftpd3.0.3为ftp版本
2211ssh有文件上传/爆破密码账号/匿名登录来利用
可以用msfonsole来扫描寻找版本漏洞
msfonsole
search vsftpd
扫描目录 dirb dirsearch gophter
dirsearch -u http://192.168.142.147/ -x 503 500 404 403 501
扫描结果:extensions:php,aspx,jsp,html,js有用
我们加上端口来扫描
dirsearch -u http://192.168.142.147:8888/ -x 403 404 500 501 503
dirsearch也扫描不出来,用dirb扫描
dirb http:192.168.142.147/
能访问的网页为/antibot_image/
/index.html /server-status
也可以直接用命令先以代码形式来看一下网页界面有什么有用的信息
curl http://192.168.142.147/
curl http://192.168.142.147:8888/
没有什么有用的信息,挨个访问首页和扫描到的页面
首页
info.php是有用的页面,是phpinfo()页面
php版本7.0.33
allow_url_fopen是On状态,打开着有可能是文件包含漏洞,而且是本地文件上传包含漏洞
如果allow_url_fopen和allow_url_include同时是On状态,同时开着那就是远程文件上传包含漏洞
根目录:/var/www/html
我们知道他有文件包含漏洞,右击查看页面源代码
发现</?php include $_GET['image'];>这样一句注释
意思是从前端接收一个image的参数,以get方式可能存在include包含
文件包含拿到shell方式有图片getshell、日志包含getshell,没有图片文件上传点所以是日志包含
在网页后面拼接?image=/etc/passwd,可以看到网页最下面出现日志信息
启动burp爆破哪个文件路径存在日志泄露
可以去网上搜索linux常用日志存放位置填进去payload settings
这些爆破结果与其他长度有明显区别,可以挨个访问一下
最后发现/var/log/auth.log是有日志回显
ssh tomato@192.168.142.147 -p 2211
2211开放的ssh服务,我们可以连接访问会有新的日志回显,连接会失败但是我们只是连接一下看
日志是否会添加
发送到repeater,再去kali连接一下,再发送
可以看到kali的主机ip和用户tomato
把用户换成一句话木马,发现连接被拒绝,旧版kali可以连接,新版不可以用这么复杂格式连接
用centos连接
连接完后需要再次去burp刚才repater模块发送,这个就是ssh连接的
选中中间的空格是我们连接的用户,没有显示
复制url去蚁剑连接
拿到webshell