3. 渗透实战
3.1 黑盒快速打点思路
目标决策链: 目标是什么 → 打下包网(控制数据/维权/供应链/客户账密支付/控制台权限/获取源码/控运维修开发/控客服) → 是否往下控客户(f2a验证/ip白名单/登录ip/cookie/storage)
BC站点攻击面
| 目标 | 攻击手法 |
|---|---|
| 活动站 | SQL注入(sqlmap改造指定库表去掉探测) / 备份文件 / 框架漏洞(RCE/反序列化/上传/任意文件读写) / 临时搭建(翻文件横向→MQ→钓鱼) / 收集域名资产扩展(多个包网分站公用活动站/包网相关域名) |
| 客服站 | XSS→钓鱼/electron RCE / 购入源码自行搭建→markdown标签 / 通过客服系统供应商获取测试站源码 / 找后台/扫目录 / 通过客服站资产归因包网资产(94chat) / 从客服获取信息获取站点更多信息 |
| 页面关联 | JS / JS Console / 静态资源加载 / WSS (不太可靠) |
| 包网运维 | Jenkins / 各类国产OA管理软件 / MQ / 测试站弱口令→GETShell→横向/挂马钓鱼/拿源码/报错调试 / 收集后台接口(../../../) / 源码转售渠道(简单沟通/扫备份/黑盒/根据后台页面加载资源找更多页面特征→money.php/后台调试报错→特殊数据库表名文件名) |
| 历史边缘资产 | 包网很难找 / bbscan找备份快速代码审计(备份只适用于本站→后台api后端文件名) |
| 越权 | 垂直越权→更多接口权限 / 水平越权→全站 / 后台多个管理账号情况下有意义 |
| 四方支付/外接台子 | Login Proxy(用户名变化/加载资产变换/新域名特征无法关联回源站) / 找框架/资产/漏洞 |
大型BC特点: 买BC牌照→正式化/公司化/规模化→Azure/云应用(难度大/时间成本高/长期坐牢打击积极性)
BC业务演进: 卖源码(老旧前端/后台代码被改/uniapp前端→雇私人开发) / 信用盘娱乐城(主要目标) / QB(试用期6个月→打穿长期驻留) / 区块链(web3/杀猪盘/btc赌局) / TG Bot / 微盘(精聊)
分工模式: 信息收集+黑盒+白盒+内网 → 攻击对(分工明确/企业雇员) vs 独立完成目标从头到尾 → 工具(burp/yakit/cpacha_killer_modify/burp TLS改指纹)
扫描器开发: 尽量不带攻击特征 / 发包内容无害化 / POC验证
CP站点攻击面
| 攻击点 | 手法 |
|---|---|
| 注入 | 投注环节SQL注入(接外部彩票接口/前后端加密) / 签到注入 / 轮盘活动 / orderby=rand(1=1) |
| 客服站 | 邀请码 / 53 / meiqia |
| 导航站 | 找关联资产 |
| 聊天室 | XSS → WebSocket利用 → 找包网 |
| 图片站 | 找包网 / img.xxx.com → 管理系统 |
| 编辑器 | 任意文件上传 / XSS / UEditor(PHP→SSRF→内网存活端口/真实IP→DNS) / UEditor(.NET→上传) |
| 报错信息 | JSON闭合 / 变量名数组(word[]=xxx → Java/PHP/中间件→CF) |
| 多端口 | 高端口开其他服务(真实IP/绑定不同域名) / nginx反带(80-30000+) |
| 反序列化 | CI框架 (CI反序列化参考) / gzip test.phar |
| 国内主流域名 | 常见SRC / BC站ZP站(通过特征批量收集) / 爬虫做字典 |
| 演示站 | 打源码 |
| 数据脱取 | adminer / 拖到服务器分片传输(web目录/GitHub LFS/Action) |
ZP站点攻击面
| 攻击点 | 手法 |
|---|---|
| 本站快速打点 | 目录/端口/弱口令 / bbscan找备份快速代码审计 / 头像上传 / 语音朋友圈上传→钓鱼(SH) / 裸聊同城→做任务刷单 |
| PHP | 变量覆盖 |
| 路由 | filter/WAF → 提出来扫一遍 |
| 漏洞点 | 配置文件(硬编码→Cookie伪造) / 危险函数(debug→黑百合) / 怎么触发需什么条件(路由/权限) |
| 临时买服务器 | RAM必须绑MFA (auth.ping8.top → 导出用户名:secret) |
3.2 常见漏洞原理及利用工具与思路
漏洞利用方法论:
组件→源码(开源/备份/从客服获取信息/网盘泄露/多版本测试/商业版破解)→版本(更新时间/修复日志→绕过/影响范围/商业版差异)
→POC获取(GitHub/博客/源码分析/工具抓包)→原理(漏洞点/利用条件/后果/请求路由→二次开发)
→实战化改造(本地搭建/不出网/.NET Core内存马)
常用漏洞分类:
SQL注入
- 不依赖sqlmap,自写脚本
- 判断: 站库分离? / 写权限? / 命令执行?(Oracle 19c sys)
- 不可破解→写入后台账密/配置参数/改写密钥(Bcrypt/文件类型)
- 工具: ghauri
任意文件读取
- 读敏感文件(.bash_history/.viminfo/源码/配置/日志/启动脚本)
- 列目录? / Windows跨盘符?
/proc/net///proc/self///proc/pid/
任意文件上传
- 目录返回? / 跨盘符? / 配合文件包含? / 上传OSS?
Docker逃逸
# 判断环境
.dockerenv | ls -alh /.dockerenv | cat /proc/1/cgroup | mount | grep docker | fdisk -l | ps -aux
# 特权模式检查
cat /proc/self/status | grep Cap # 0000003fffffffff → 挂载宿主机
# Registry API未授权
https://github.com/Soufaker/docker_v2_catalog
# Remote API(2375)
docker -H tcp://<target>:2375 ps -a
# 工具
https://github.com/teamssix/container-escape-check
https://github.com/cdk-team/CDK
SSRF云元数据
- 阿里云:
http://100.100.100.200/latest/meta-data//ram/security-credentials/ - 腾讯云:
http://metadata.tencentyun.com/latest/meta-data/ - 华为云: ECS用户手册
- OSS Browser / CF
PHP配置文件写入
'); phpinfo(); /*- 变量覆盖
单一登录口的攻击面挖掘(面试发散思维)
- IP / 域名 / 谷歌搜索提及网站的历史文章(wayurl) / JS\目录\接口\参数爆破(arjun/hae)
- 注入(.NET) / 注册 / GitHub找登录脚本 / 爆破JWT / help文档 / swagger-exp-knife4j
ThinkPHP漏洞速查
| 版本 | 漏洞 | 关键点 |
|---|---|---|
| 5.0.0-5.0.23 | RCE(变量覆盖+代码执行) | trace+强制路由: _method=__construct&filter[]=system&method=get&server[REQUEST_METHOD]=id / debug+路由: _method=__construct&filter[]=system&get[]=id |
| 5.0.0-5.0.23 | 任意类调用(反射) | s=index/\think\app/invokefunction&function=call_user_func_array&vars[0]=system&vars[1][]=id |
| 6.0.1-6.0.13 | 多语言RCE(pearcmd) | lang=../../../../../../usr/local/lib/php/pearcmd → 文件包含 |
| 3.2.* / 5.0.0-5.0.18 | 模板变量覆盖+文件包含 | View::assign()配合图片马/日志 |
| 5.x | Windows析构函数任意文件删除 | think\process\pipes\Windows::__destruct |
| - 工具: thinkphp_gui_tools | ||
| - TP3/5区别: TP3目录大写开头 vs TP5/6小写;日志存放位置不同 | ||
| - SQL注入: count/max未过滤→parseKey / _parseOptions直接拼接 / parseWhereItem(bind/between/eq) / parseData未过滤 |
SSH后门
- tsh: 内网机器→外网连接,VPS不能断
- PAM后门: 测试好版本,保持连接
- sshdHooker
文件搜索
- FindEverything → 扩写自己喜欢的版本
痕迹清除
- ShadowlessFeet
unset HISTORY HISTFILE HISTSAVE HISTZONE HISTORY HISTLOG; export HISTFILE=/dev/null; export HISTSIZE=0; export HISTFILESIZE=0- 修改文件时间
- 内网探测逻辑: 内网严禁扫描 / 按照机器逻辑访问内网 / 根据内网连接探测内网
- 脚本作业: 单线程 / 扫单个端口 / IP地址随机 / 扫描后有随机时延