前言

这里所讲的信息收集不是指渗透测试阶段的信息收集,而是针对漏洞分析文章/漏洞复现截图,但是鉴于国内法律风险问题/炫技等各种原因,对关键信息(目标/组件/漏洞POC)打码的场景。

本文是为简单方法论总结和案例的简单实践,介绍如何从各种蛛丝马迹收集我们想要的信息,结合个人安全知识、经验与逻辑推理,得出打码/隐藏下的真面目。

利用打码不全的图片

百密终有一疏,图片承载的信息更加丰富,也更容易被忽略,把文章的所有图片过一遍,特别是那些承载丰富多彩信息的图片。

以这篇文章为例:记一次小程序渗透测试到通杀RCE(0day)【已失效】

我们看到这张图片:

551f90c339071bf1d857c957b54afa32

非常明显返回的header部分一点都没有打码,标题上带有后台 两个关键词,测绘的时间是2024-10-31,Web服务器是nginx,组件的开发语言是PHP,IP位置是中国北京。

这里可以选择一些具有显著特征的关键词,比如header中的DateSet-Cookie中的PHPSESSID,然后稍微组合一下。

1
header="Oct 2024 11:37:53" && header="918addf85dce07c95979f43a81479f7a"

结果就呼之欲出了。如果有多个结果的情形,那就继续组合特征,再进行稍微的推理一下,相信也不难找到最终的结果。

1d7cd88b4b797d250e63c4e9b565b55d

那么作者截图中使用的这个组件的搜索特征是什么呢?

找到了目标分析其特征就非常简单了,主要还是特征工程。找一些不常见的关键词,比如静态资源路径,JS/CSS中的复杂度较高的字词。

查看页面源代码,简单勾一下我认为的,下面框内的关键词是具有显著特征的。

62fe01142049f7bb11d6914b45970051

逐个搜索,当搜到这个特征的时候,就可以发现左边的网站指纹排名的网站指纹前四位排序几乎一致,数量也差不多(大概率是由于持续测绘收录的网站数据进行了变更)。

b48db47020c060321e78b317e58da847

这里不细抠作者用什么特征去搜索的,因为我们既然已经知道了其测试目标,组件的特征就不是重点了。

如何编写一个收录尽可能广,脏数据少的网空测绘搜索语法本身又是另外一个问题了,下次再聊这个。

那么这个组件具体名称又是什么呢?观察下面这个图,相信不难找到。

a3dda57786b537a93289757353eb4ad1

利用关键代码/数据包

工作、学习中经常遇到别人发了具体组件是什么,但是没有说漏洞点/漏洞POC是什么,那么如何利用已有信息定位漏洞点/漏洞POC呢。

就比如之前青藤云公众号发了篇PR,说捕获到了Eova的一个反序列化0day

6b2b6200b9ccb5d9e1e4b9fee987be36

很明显的信息:告警标题中的JDBC URL攻击,数据包中的mysql.jdbc,漏洞触发点URI,根据POSTHTTP之间的距离我们可以推测出是一个简短的字符,请求方式是POST Form,参数中有Port

那么在不熟悉EoVA这个组件的情况下,我们已经掌握了这些信息。只需要根据收集到的信息,定位佐证即可。

下载EoVA jar包,用Jar Analyzer分析一下,使用search 功能 搜索jdbc关键词,搜出来三个地方。

e18b0cab1c75f3419dadabdc6f7cb6f3

而其中第二个IndexController控制器就是入口。

28f5932867b0e6f55c270318672a38e3

uri: doInit,参数Port, Jdbc攻击一一对齐,基本可以确认就是这里。

总结

安全本身就是一个需要联想力与逻辑推理能力的领域,而信息收集能力是安全人员从业必不可少的能力,是为需要我们不断提高水平的基础素质。