浅谈信息收集
文章目录
前言
这里所讲的信息收集不是指渗透测试阶段的信息收集,而是针对漏洞分析文章/漏洞复现截图,但是鉴于国内法律风险问题/炫技等各种原因,对关键信息(目标/组件/漏洞POC
)打码的场景。
本文是为简单方法论总结和案例的简单实践,介绍如何从各种蛛丝马迹收集我们想要的信息,结合个人安全知识、经验与逻辑推理,得出打码/隐藏下的真面目。
利用打码不全的图片
百密终有一疏,图片承载的信息更加丰富,也更容易被忽略,把文章的所有图片过一遍,特别是那些承载丰富多彩信息的图片。
以这篇文章为例:记一次小程序渗透测试到通杀RCE(0day)【已失效】
我们看到这张图片:
非常明显返回的header
部分一点都没有打码,标题上带有后台
两个关键词,测绘的时间是2024-10-31
,Web服务器是nginx
,组件的开发语言是PHP
,IP位置是中国北京。
这里可以选择一些具有显著特征的关键词,比如header
中的Date
,Set-Cookie
中的PHPSESSID
,然后稍微组合一下。
|
|
结果就呼之欲出了。如果有多个结果的情形,那就继续组合特征,再进行稍微的推理一下,相信也不难找到最终的结果。
那么作者截图中使用的这个组件的搜索特征是什么呢?
找到了目标分析其特征就非常简单了,主要还是特征工程。找一些不常见的关键词,比如静态资源路径,JS/CSS中
的复杂度较高的字词。
查看页面源代码,简单勾一下我认为的,下面框内的关键词是具有显著特征的。
逐个搜索,当搜到这个特征的时候,就可以发现左边的网站指纹排名的网站指纹前四位排序几乎一致,数量也差不多(大概率是由于持续测绘收录的网站数据进行了变更)。
这里不细抠作者用什么特征去搜索的,因为我们既然已经知道了其测试目标,组件的特征就不是重点了。
如何编写一个收录尽可能广,脏数据少的网空测绘搜索语法本身又是另外一个问题了,下次再聊这个。
那么这个组件具体名称又是什么呢?观察下面这个图,相信不难找到。
利用关键代码/数据包
工作、学习中经常遇到别人发了具体组件是什么,但是没有说漏洞点/漏洞POC
是什么,那么如何利用已有信息定位漏洞点/漏洞POC
呢。
就比如之前青藤云公众号发了篇PR
,说捕获到了Eova
的一个反序列化0day
。
很明显的信息:告警标题中的JDBC URL
攻击,数据包中的mysql.jdbc
,漏洞触发点URI
,根据POST
与HTTP
之间的距离我们可以推测出是一个简短的字符,请求方式是POST Form
,参数中有Port
。
那么在不熟悉EoVA
这个组件的情况下,我们已经掌握了这些信息。只需要根据收集到的信息,定位佐证即可。
下载EoVA jar
包,用Jar Analyzer
分析一下,使用search
功能 搜索jdbc
关键词,搜出来三个地方。
而其中第二个IndexController
控制器就是入口。
uri: doInit
,参数Port
, Jdbc
攻击一一对齐,基本可以确认就是这里。
总结
安全本身就是一个需要联想力与逻辑推理能力的领域,而信息收集能力是安全人员从业必不可少的能力,是为需要我们不断提高水平的基础素质。