红队渗透实战技术总结与教学文档
0x00 前言
本文基于某地级市攻防演练实战经验,总结红队渗透的关键技术点和方法论,涵盖从外网打点到内网横向移动的全流程技术细节。
0x01 攻击流程复盘
1. Web打点阶段
未授权访问漏洞利用:
- 目标系统:ASP.NET网站
- 发现未授权访问用户管理功能(0day)
- 通过前端代码查看密码明文(*号显示处)
- 获取后台管理员账号密码(200分)
文件上传漏洞利用:
- 在用户编辑界面上传图片马
- Burp抓包修改后缀为.asp绕过(返回500但上传成功)
- 通过目录遍历漏洞确认上传路径
- 使用蚁剑连接成功获取webshell(200分)
技术链:
未授权访问 → 文件上传 → 目录遍历 → 获取webshell
2. 权限提升尝试
环境信息:
- IIS权限
- Windows Server 2012 R2(153个补丁)
- 安装360安全防护
免杀马尝试:
- 使用C语言编写的shellcode分离免杀马
- 本地测试成功但目标环境反弹失败
- 原因:生成配置问题(后文详解)
3. 数据库提权
新目标发现:
- 相同程序搭建的其他系统
- 安装火绒安全软件
- 免杀马成功上线CobaltStrike
提权尝试:
- 使用taowu和Lodan插件(20211024版)
- 尝试多种提权方式均失败:
- 烂土豆提权(条件不满足)
- MS14-058(权限未提升)
- CVE-2020-0787(失败)
数据库服务器发现:
- 通过配置文件发现站库分离
- 获取SA权限数据库连接信息(阿里云服务器)
- 使用Navicat成功连接(400分)
xp_cmdshell提权:
EXEC sp_configure 'show advanced options', 1
RECONFIGURE;
EXEC sp_configure 'xp_cmdshell', 1;
RECONFIGURE;
EXEC master.dbo.xp_cmdshell 'whoami'
- 获取System权限(200分)
4. 云服务器完全控制
权限维持方法:
- 创建管理员账户
- 通过3389远程连接(端口开放)
- 使用Procdump+mimikatz获取明文密码:
- Procdump获取lsass.exe进程内存
- Mimikatz解析获取Administrator密码
免杀马问题解决:
- 发现缺少dll文件问题
- 解决方案:
- Release版本:运行库选择MT
- Debug版本:运行库选择MTD
5. 内网横向移动
内网发现:
- 数据库服务器内网IP:10.26.179.186
- 端口扫描发现:
- 80/443端口普遍开放
- 少量21/22端口
- 缺少常见内网端口(135/139/445)
渗透结果:
- 通过代理访问内网Web应用
- 发现无关系统和个人博客
- 通过弱密码admin/123456进入后台
6. IOT系统发现
信息收集发现:
- 通过浏览器保存的凭据访问"中央认证系统"
- 通过向日葵远控另一台服务器
- 发现监控运行情况的IOT系统
7. 安全事件上报
异常连接发现:
- netstat发现与美国IP的连接
- 威胁情报确认可疑IP
- 上报相关部门处理
0x02 关键技术点详解
1. 未授权访问漏洞
原理:
- 身份验证代码未正确包含或实现
- ASP/ASPX网站常见问题
检测方法:
- 直接访问管理功能URL
- 检查前端代码中的敏感信息
2. SQL Server提权技术
xp_cmdshell提权条件:
- 获取SA权限账户密码
- SQL Server服务未降权
不同版本差异:
- 2005:xp_cmdshell权限通常为system
- 2008:通常为nt authority\network service
3. 密码抓取技术
Procdump+mimikatz组合:
- 使用微软官方Procdump工具导出lsass.exe内存
procdump.exe -accepteula -ma lsass.exe lsass.dmp - 使用mimikatz解析dmp文件
mimikatz.exe "sekurlsa::minidump lsass.dmp" "sekurlsa::logonPasswords full" exit
注意事项:
- Win10/2012R2以上系统需要额外步骤
- 远程桌面时勾选"驱动器"选项便于文件传输
4. 免杀马开发要点
C/C++程序生成配置:
| 版本类型 | 运行库选项 | 适用场景 |
|---|---|---|
| Release | MT | 正式环境 |
| Debug | MTD | 调试环境 |
问题解决:
- 缺少dll错误:确保使用静态链接(MT/MTD)
- 动态链接(MD/MDD)可能导致依赖问题
5. CobaltStrike高级用法
内存加载.NET程序集:
execute-assembly /path/to/assembly.exe
- 不落盘执行.NET程序
- 规避杀软检测
与Metasploit会话传递:
- CobaltStrike → MSF:
- 使用
jump命令生成MSF兼容的payload
- 使用
- MSF → CobaltStrike:
- 使用
payload_inject模块
- 使用
0x03 疑难问题分析
1. 本地SQL Server连接问题
现象:
- osql/sqlcmd连接失败
- 蚁剑/冰蝎提权失败
- 大马提权成功但权限降级
可能原因:
- 连接字符串差异
- 权限继承问题
- 驱动程序兼容性问题
2. 云服务器内网架构问题
关键疑问:
- 云服务器内网环境组成原理
- 内网主机外网访问机制
- 网络边界安全控制
研究方向:
- 云服务商网络架构文档
- SDN技术实现原理
- 云安全组策略研究
0x04 红队能力建设
1. 技能提升路径
薄弱环节改进:
-
漏洞发现能力:
- 多练SRC挖掘
- 学习非传统漏洞利用方法
-
知识巩固:
- 定期复现ATT&CK技术矩阵
- 使用靶场练习:
- 红日安全ATT&CK系列
- Vulnhub/HackTheBox
-
攻击多样化:
- 学习钓鱼/社工技术
- 研究0day/Nday利用
2. 红队渗透流程
-
信息收集:
- 外网资产测绘
- 员工信息收集
-
初始突破:
- Web漏洞利用
- 社会工程学
-
权限维持:
- 后门植入
- 凭证窃取
-
内网横向:
- 凭证传递
- 漏洞利用
-
痕迹清理:
- 日志清除
- 行为隐藏
0x05 安全思考
HW行动的正确认知
-
核心目的:
- 发现系统薄弱环节
- 提升整体防护能力
-
额外价值:
- 检查历史入侵痕迹
- 发现APT活动迹象
-
注意事项:
- 避免过度竞争
- 重视过程而非分数
0x06 参考资源
-
SQL Server提权详解:
https://blog.csdn.net/u014029795/article/details/116910134 -
Procdump+mimikatz教程:
https://blog.csdn.net/qq_44881113/article/details/120315448 -
C/C++编译选项解析:
https://blog.csdn.net/Celestial_empire/article/details/106795200 -
CobaltStrike内存加载:
https://3gstudent.github.io/从内存加载.NET程序集(execute-assembly)的利用分析 -
会话传递技术:
http://blog.leanote.com/post/snowming/43cef4b64cbd -
红队技术系列:
- 信息收集:https://mp.weixin.qq.com/s/oKDDrFz180tmaTecQog8qA
- 初始打点:https://mp.weixin.qq.com/s/y6VyyJJUFzD8sQom-1Cn6Q
- 权限维持:https://mp.weixin.qq.com/s/3RhX3wiJt4cwLx73_wcjyw
- 提权技术:https://mp.weixin.qq.com/s/wtVDjDxwpJyHStoJfNzDRg