0x00 前言
在这篇博文中,我将用两个实际的例子来简单介绍我狩猎QBot C2、Brute Ratel C4的方法。
我选择这两个是因为Brute Ratel C4和QBot之间虽然存在差异,但这种方法(JARM和HTTP Response哈希)适用于这两个示例并提供很好的结果。
0x01 过程
我的过程开始时总是在第一阶段寻找第一个节点,在第二阶段进行分析和升级,最后在第三阶段得出结果。
0x02 过程流程
我逐步寻找恶意基础设施的方法。
寻找 QBot C2 基础设施(分步指南)
寻找第一个节点
这是我们寻找第一个恶意 C2 的起点,我推荐三个选项 VirusTotal、Threat Fox 和 Twitter,我通常在其中寻找第一个节点。
这是我们的起点 173.18.122.24(我从 Twitter 上获取了这个 IP),我们的目标是从一个恶意 C2 升级到识别数百甚至数千个恶意 C2。
在分析我们的第一个节点时,我建议始终关注证书、端口和 HTTP 响应等模式。
为实现的证书识别jarm是很重要的。
所有这些信息都需要了解威胁参与者如何构建恶意基础架构,并在此基础上构建我们的第一个搜寻规则。
在这里,您可以看到我如何构建我们的第一个规则及其背后的过程。
我们的第一个搜寻规则(使用一个 JARM)提供了 85 个 QBots 的有趣结果(注意证书模式和 HTTP 响应)。
http.html_hash:501510358 ssl.jarm:"21d14d00021d21d21c42d43d0000007abc6200da92c2a1b69c0a56366cbe21"
每个 QBot HTTP 响应中都有重复的模式。
HTTP/1.1 200 OK
Server: nginx/1.9.12
Content-Length: 4833
shodan搜索链接:
https://www.shodan.io/search?query=http.html_hash%3A501510358++ssl.jarm%3A%2221d14d00021d21d21c42d43d0000007abc6200da92c2a1b69c0a56366cbe21%22
下一步是升级,我们需要从一个 JARM 转向找到其他 JARM(基本上我们需要将规则转换为 HTTP 标头哈希)。
这条规则
http.html_hash:501510358 ssl.jarm:"21d14d00021d21d21c42d43d0000007abc6200da92c2a1b69c0a56366cbe21"”
应该变成这个
http.headers_hash:-1219739159
现在我们需要从规则中删除 JARM,只保留 HTTP 标头哈希和 HTTP 响应哈希。
http.html_hash:501510358 http.headers_hash:-1219739159
您可以在下面看到我们的狩猎规则现在包含三个 JARM:
21d14d00021d21d21c42d43d0000007abc6200da92c2a1b69c0a56366cbe21
04d02d00004d04d04c04d02d04d04d9674c6b4e623ae36cc2d998e99e2262e
00000000000000000000000000000000000000000000000000000000000000
让我们快速验证它们(始终检查模式是否符合我们的第一个狩猎规则)。
此 JARM 识别了 2 个 QBots IP
"00000000000000000000000000000000000000000000000000000000000000"
shodan搜索链接:
https://www.shodan.io/search?query=http.html_hash%3A501510358++http.headers_hash%3A-1219739159+ssl.jarm%3A%2200000000000000000000000000000000000000000000000000000000000000%22
而这个
"04d02d00004d04d04d04d02d04d04c9674b6e4ae623cc36d2e998e99e"
确定了另外 22 个 QBot
shodan搜索链接:
https://www.shodan.io/search?query=http.html_hash%3A501510358++http.headers_hash%3A-1219739159+ssl.jarm%3A%2204d02d00004d04d04c04d02d04d04d9674c6b4e623ae36cc2d998e99e2262e%22
现在让我们回到改进的规则。
http.html_hash:501510358 http.headers_hash:-1219739159
您现在可以看到识别出的 109 个 QBots 恶意 IP。
shodan搜索链接:
https://www.shodan.io/search?query=http.html_hash%3A501510358++http.headers_hash%3A-1219739159
Brute Ratel C4背后的过程看起来完全相同,你可以查看我的Twitter,从VirusTotal(第一个节点)的一个IP中,我能够转向并在互联网上找到Brute Ratel C4基础设施(包括红队)。
作者twitter链接:
https://twitter.com/MichalKoczwara/status/1652067563545800705
https://twitter.com/MichalKoczwara/status/1656591648732708865
我希望您从中学到一些东西,并发现它有助于保护您的组织免受威胁。