记一次对涉黄APP的打击思路
摘要
在目前的Web渗透中,攻击的起点往往不再是单一的、明确的目标,而是一个模糊的实体开始,通过信息收集与资产关联,逐步构建出完整的攻击面,本文将详细记录一次争对某涉黄直播平台的渗透全过程
本次目标为”XX”的涉黄直播平台。这类平台为了规避打击,通常套CDN和多个”马甲”域名。所以第一步,是对该”XX”进行全面的资产测绘与攻击面分析。找到薄弱的资产进行攻击。
下载地址:https://xxxxxxx/xxx.apk (PS:在遇到类似的网页下载app的 可以关注一下载的流量请求)
下载下来app后尝试对app进行抓包,把app放到模拟器中利用yakit去抓包发现抓不到尝试了绕过也不行 然后通过Reqable+IPhone抓包发现返回包什么的都是加密的
这里我直接放弃了对返回包进行解密的想法(我感觉没必要)并测试了短信接口,上传点,去观察这些功能点请求的域名。并记录下来,随后我将重点放在了域名上,通过app中获取的域名去寻找看看有没有其他薄弱资产或真实IP。
通过域名反查发现了发现了该APP文件服务器用的某云存储桶,文件上传别想了没啥用,通过域名反查IP也是CDN,其他子域也没有什么作用,没有获取到可利用的信息或者薄弱资产,在不断地翻找中发现了子域中,一个网址,用了APP名字的首写英文字母命名,而且页面也比较奇怪就按照经验手动的试了一下目录/admin/
然后就跳转到了这样的一个页面
看见这个页面的时候满心欢喜以为找到后台了,分析了一下应该是TP或者TinkAdmin的框架
哦豁,没有跳转过去,但是肯定是存在的然后我又按照经验尝试一下了/admin.php/这里也是同样的一个跳转
但是好巧不巧,它就是跳转到后台了,我这一看,这不是ThinkAdmin吗,接着我尝试了一下弱口令 GG 弱口令不行,然后我又试了试ThinkAdmin的漏洞 经过不断地尝试
通过检索ThinkAdmin历史漏洞发现存在任意文件读取,在读取了config/database 后发现只有config中有点有用的东西,database中都是空的啥也没有,虽然有了redis密码 但是 redis还是内网的IP,呜呜呜,但是,俗话说得好”车到山前必有路,柳暗花明又一村”
我在config中仔细观察发现有一个域名,通过这个域名我又去反查尝试获取真实IP和薄弱资产
查询后发现IP是某云,资产有Gitlab,AppNode,xxx任务管理器-登录,Portainer,等等资产,从这些资产来分析基本上可以确定是该APP的生产环境
Google了一下看AppNode有没有什么历史漏洞,发现原来和宝塔差不多,密码也是随机的,也没查到有历史漏洞,没事儿,放弃这个,继续看下一个。
在看了Gitlab,Portainer,RabbitMQ等资产后尝试过历史漏洞或默认账户密码,一点突破口没有呀,心都凉了一半了,呜呜呜。
没办法没找到有价值的东西,接下来只能看看IP咯,说不定有惊喜呢,随后我眼睛一亮,我看到了突破口,Redis!!!!,端口也和之前里面那个端口是一样的!!!心里想着,Redis,看我连上去一套组合拳,VPS建立监听,写计划任务,反弹Shell,弹回来Shell 上控权限维持,打内网,哈哈哈哈哈哈哈,心里乐开了花。
通过之前任意文件读取到的redis端口和密码,直接就连上去了,(PS:这个密码真几把复杂爆破一百年都不可能爆破出来)
于是我开始了我的一顿操作,想象是美好的,现实是残酷的,嘻嘻,计划任务写不进去,随后我通过redis工具在里面翻找可利用的数据,发现了后台登录的账户和缓存的md5加密密码!!!!
后续就是登录进去固定证据打包给帽子叔叔了
(PS:提供一个思路,如果遇到已经突破进去Redis机器符合特殊复杂端口,复杂的密码,就可以去网络资产测绘尝试寻找,例如:port="43390" 在使用复杂不可爆破的密码的情况下去登录,哪个能登录进去那么这个机器和该机器存在关联性,例如密码:BSsfd0PtThhyn2)
自评TCV:1
在目前的Web渗透中,攻击的起点往往不再是单一的、明确的目标,而是一个模糊的实体开始,通过信息收集与资产关联,逐步构建出完整的攻击面,本文将详细记录一次争对某涉黄直播平台的渗透全过程
本次目标为”XX”的涉黄直播平台。这类平台为了规避打击,通常套CDN和多个”马甲”域名。所以第一步,是对该”XX”进行全面的资产测绘与攻击面分析。找到薄弱的资产进行攻击。
下载地址:https://xxxxxxx/xxx.apk (PS:在遇到类似的网页下载app的 可以关注一下载的流量请求)
下载下来app后尝试对app进行抓包,把app放到模拟器中利用yakit去抓包发现抓不到尝试了绕过也不行 然后通过Reqable+IPhone抓包发现返回包什么的都是加密的
这里我直接放弃了对返回包进行解密的想法(我感觉没必要)并测试了短信接口,上传点,去观察这些功能点请求的域名。并记录下来,随后我将重点放在了域名上,通过app中获取的域名去寻找看看有没有其他薄弱资产或真实IP。
通过域名反查发现了发现了该APP文件服务器用的某云存储桶,文件上传别想了没啥用,通过域名反查IP也是CDN,其他子域也没有什么作用,没有获取到可利用的信息或者薄弱资产,在不断地翻找中发现了子域中,一个网址,用了APP名字的首写英文字母命名,而且页面也比较奇怪就按照经验手动的试了一下目录/admin/
然后就跳转到了这样的一个页面
看见这个页面的时候满心欢喜以为找到后台了,分析了一下应该是TP或者TinkAdmin的框架
哦豁,没有跳转过去,但是肯定是存在的然后我又按照经验尝试一下了/admin.php/这里也是同样的一个跳转
但是好巧不巧,它就是跳转到后台了,我这一看,这不是ThinkAdmin吗,接着我尝试了一下弱口令 GG 弱口令不行,然后我又试了试ThinkAdmin的漏洞 经过不断地尝试
通过检索ThinkAdmin历史漏洞发现存在任意文件读取,在读取了config/database 后发现只有config中有点有用的东西,database中都是空的啥也没有,虽然有了redis密码 但是 redis还是内网的IP,呜呜呜,但是,俗话说得好”车到山前必有路,柳暗花明又一村”
我在config中仔细观察发现有一个域名,通过这个域名我又去反查尝试获取真实IP和薄弱资产
查询后发现IP是某云,资产有Gitlab,AppNode,xxx任务管理器-登录,Portainer,等等资产,从这些资产来分析基本上可以确定是该APP的生产环境
Google了一下看AppNode有没有什么历史漏洞,发现原来和宝塔差不多,密码也是随机的,也没查到有历史漏洞,没事儿,放弃这个,继续看下一个。
在看了Gitlab,Portainer,RabbitMQ等资产后尝试过历史漏洞或默认账户密码,一点突破口没有呀,心都凉了一半了,呜呜呜。
没办法没找到有价值的东西,接下来只能看看IP咯,说不定有惊喜呢,随后我眼睛一亮,我看到了突破口,Redis!!!!,端口也和之前里面那个端口是一样的!!!心里想着,Redis,看我连上去一套组合拳,VPS建立监听,写计划任务,反弹Shell,弹回来Shell 上控权限维持,打内网,哈哈哈哈哈哈哈,心里乐开了花。
通过之前任意文件读取到的redis端口和密码,直接就连上去了,(PS:这个密码真几把复杂爆破一百年都不可能爆破出来)
于是我开始了我的一顿操作,想象是美好的,现实是残酷的,嘻嘻,计划任务写不进去,随后我通过redis工具在里面翻找可利用的数据,发现了后台登录的账户和缓存的md5加密密码!!!!
后续就是登录进去固定证据打包给帽子叔叔了
(PS:提供一个思路,如果遇到已经突破进去Redis机器符合特殊复杂端口,复杂的密码,就可以去网络资产测绘尝试寻找,例如:port="43390" 在使用复杂不可爆破的密码的情况下去登录,哪个能登录进去那么这个机器和该机器存在关联性,例如密码:BSsfd0PtThhyn2)
自评TCV:1
















评论11次
# 攻击链分析与技术要点这是一个典型的多阶段攻击链案例,目标为非法内容平台并最终协助执法部门处理。攻击者的思路清晰,体现了真实渗透测试中的信息关联与逐层突破过程。## 攻击路径梳理```APK分析 → 域名收集 → 子域名探测 → 后台地址发现 → ThinkAdmin漏洞利用 → 任意文件读取 → Redis凭证获取 → 登录后台```### 第一阶段:资产测绘与信息收集攻击者通过下载APP并结合抓包分析,梳理出所有请求域名。这是标准的OSINT阶段——涉黄/赌博类平台通常使用大量CDN和"马甲"域名来规避打击,直接攻击源站难度很高,必须通过资产关联找到薄弱点。关键动作:- APP抓包识别真实域名- 域名反查定位真实IP(发现CDN遮挡)- 文件服务器指向云存储桶(无利用价值)- 子域名爆破发现异常命名站点### 第二阶段:后台发现与漏洞利用攻击者在子域中找到一个字母缩写命名的异常站点,测试`/admin/`和`/admin.php/`路径后发现存在跳转限制,最终通过`/admin.php/`成功访问到ThinkAdmin后台。这一步体现了两点经验:1. **路径差异测试**:同一条路由,不同后缀形式(`/admin/` vs `/admin.php/`)可能绕过路径级别的访问控制2. **框架识别**:快速识别ThinkAdmin后,放弃弱口令,转向历史漏洞利用### 第三阶段:关键突破点通过ThinkAdmin的任意文件读取漏洞,获取到:- Redis IP和端口- Redis密码(攻击者描述"复杂到无法爆破")技术细节:CWE-219(敏感数据存储在Web根目录下)在这里被利用——配置文件直接可读导致内部服务凭证泄露。### 第四阶段:凭证利用虽然计划任务反弹shell失败(常见原因:Redis配置禁止CONFIG SET或未授权访问限制),但攻击者直接在Redis中找到:- 后台账户信息- MD5加密的缓存密码最终凭此登录后台,完成取证。## 核心攻击模式分析| 阶段 | 利用的技术/漏洞 | 关联的CWE/CAPEC ||------|----------------|-----------------|| 信息收集 | 子域名枚举、域名反查 | - || 后台发现 | 路径猜测、403绕过 | CWE-287 (认证不足) || 文件读取 | ThinkAdmin历史漏洞 | CWE-553 (可执行shell路径) || 凭证获取 | 配置文件泄露、Redis未授权访问 | CWE-219 (Web根下敏感数据) || 后台登录 | Redis缓存中的凭证 | CWE-287 |## 值得关注的攻击思路帖子最后提供的那个思路很有实战价值:> 通过关联性反推——用已知的高复杂度密码配合非标准端口,在网络资产测绘平台(如fofa、shodan、zoomeye)中检索相同凭证的暴露资产。这是红队中常用的**凭证关联攻击**:当你在目标A拿到了一个复杂密码(如案例中的`BSsfd0PtThhyn2`),而这个密码不太可能是目标专属的(复杂度高、无规律),极有可能是运维人员复用的情况,此时在暴露面搜索同密码资产可以快速定位关联xi统。## 本案例的局限性攻击者走了不少弯路:- Gitlab、Portainer、AppNode等均未利用成功- Redis计划任务反弹失败(可能是`protected-mode yes`或`bind`限制)- 最终靠Redis缓存的明文凭证"捡漏"进后台这说明在实际场景中,即使拿到了Redis访问权限,传统的计划任务写公钥/数据库备份写webshell路径也可能因配置加固而失效,Redis缓存凭证是一个被低估的横向移动/持久化路径。
又一次证明了坚持就是胜利,就是有点废脑子。
现在看到这种文章我一直以为会是在考古...
如今这种文章不多了
请问是先判断ThinkAdmin版本才去找对应版本漏洞吗?
我没有判断版本 我直接打的poc
ThinkAdmin的文件读取漏洞poc能否发一下
Get传输的:/index/ajax/lang?lang=..//..//application/database 我记得谷歌一下就能搜到的吧
又一次证明了坚持就是胜利,就是有点废脑子。
确实费脑子,哈哈哈
后续就是登录进去固定证据打包给帽子叔叔了,这样的话,帽子叔会不会反问我们的行为。。。。
要得到授权才能做的,先授权,再搞的
ThinkAdmin的文件读取漏洞poc能否发一下
现在看到这种文章我一直以为会是在考古...
如今这种文章不多了
请问是先判断ThinkAdmin版本才去找对应版本漏洞吗?
现在看到这种文章我一直以为会是在考古...
又一次证明了坚持就是胜利,就是有点废脑子。
后续就是登录进去固定证据打包给帽子叔叔了,这样的话,帽子叔会不会反问我们的行为。。。。
攻击链分析与技术要点
这是一个典型的多阶段攻击链案例,目标为非法内容平台并最终协助执法部门处理。攻击者的思路清晰,体现了真实渗透测试中的信息关联与逐层突破过程。
攻击路径梳理
第一阶段:资产测绘与信息收集
攻击者通过下载APP并结合抓包分析,梳理出所有请求域名。这是标准的OSINT阶段——涉黄/赌博类平台通常使用大量CDN和"马甲"域名来规避打击,直接攻击源站难度很高,必须通过资产关联找到薄弱点。
关键动作:
第二阶段:后台发现与漏洞利用
攻击者在子域中找到一个字母缩写命名的异常站点,测试
/admin/和/admin.php/路径后发现存在跳转限制,最终通过/admin.php/成功访问到ThinkAdmin后台。这一步体现了两点经验:
/admin/vs/admin.php/)可能绕过路径级别的访问控制第三阶段:关键突破点
通过ThinkAdmin的任意文件读取漏洞,获取到:
技术细节:CWE-219(敏感数据存储在Web根目录下)在这里被利用——配置文件直接可读导致内部服务凭证泄露。
第四阶段:凭证利用
虽然计划任务反弹shell失败(常见原因:Redis配置禁止CONFIG SET或未授权访问限制),但攻击者直接在Redis中找到:
最终凭此登录后台,完成取证。
核心攻击模式分析
值得关注的攻击思路
帖子最后提供的那个思路很有实战价值:
这是红队中常用的凭证关联攻击:当你在目标A拿到了一个复杂密码(如案例中的
BSsfd0PtThhyn2),而这个密码不太可能是目标专属的(复杂度高、无规律),极有可能是运维人员复用的情况,此时在暴露面搜索同密码资产可以快速定位关联xi统。本案例的局限性
攻击者走了不少弯路:
protected-mode yes或bind限制)这说明在实际场景中,即使拿到了Redis访问权限,传统的计划任务写公钥/数据库备份写webshell路径也可能因配置加固而失效,Redis缓存凭证是一个被低估的横向移动/持久化路径。