用 Keklick 一步步揭开 C2 基础设施的真相
“
对话式指南:从安装到报告,带你亲手猎杀命令与控制网络
开场白:为什么我们要关心 C2?
想象一下,恶意软件像一支潜伏在电脑里的“间谍小队”。它们不吵不闹,却悄悄把数据传回幕后主使。幕后主使靠什么发号施令?答案就是 C2(Command and Control)基础设施——一个由域名、IP、证书、服务器构成的“指挥网”。
Keklick 就是专为发现和可视化这张网而设计的工具。它不会替你破案,但能帮你把线索摆到桌面上,让你一眼看出谁和谁在“通电话”。
1. 一张图看懂 Keklick 的能力
功能 | 通俗解释 | 典型场景 |
---|---|---|
C2 基础设施发现 | 根据一个坏域名,找出同伙域名与 IP | 已知 evil.com ,想知道还有哪些站点共用同一台服务器 |
C2 网络可视化 | 用节点和连线画出关系图 | 向领导汇报时,用一张图说明攻击者如何层层跳转 |
威胁情报增强 | 自动到 AbuseIPDB、VirusTotal 等查口碑 | 判断新发现的 IP 是否已被多家安全厂商拉黑 |
PDF 报告 | 一键导出详细报告 | 把证据链打包给应急响应同事 |
交互式界面 | 点击节点即可查看证书、DNS 记录 | 不想写脚本,也能深挖细节 |
2. 安装:Docker 最快,手动最灵活
2.1 系统需求(两条就够)
-
2 GB 内存 -
4 GB 以上空闲磁盘
2.2 方法 A:Docker 一行搞定
git clone https://github.com/0x6rss/keklick.git
cd keklick
docker build -t keklick .
docker run -p 5000:5000 keklick
浏览器打开 http://localhost:5000
即可。
2.3 方法 B:手动安装(适合爱折腾的你)
步骤 | 命令 | 备注 |
---|---|---|
1 | git clone https://github.com/0x6rss/keklick.git |
源码到手 |
2 | 安装 Go 1.21+ | Go 官网 下载并解压到 /usr/local/go |
3 | go install -v github.com/projectdiscovery/httpx/cmd/httpx@latest |
Keklick 用 httpx 做 Web 探测 |
4 | 安装 HEDnsExtractor | git clone https://github.com/HuntDownProject/HEDnsExtractor.git && cd HEDnsExtractor && make && cp hednsextractor /usr/local/bin/ |
5 | pip install -r requirements.txt |
Python 依赖 |
6 | python app.py |
启动服务 |
同样访问 http://localhost:5000
。
3. 配置 API Key:让情报更丰满(可选)
打开 app.py
,找到这段代码:
API_KEYS = {
"abuseipdb": "your_abuseipdb_api_key",
"otx": "your_alienvault_otx_api_key"
}
把 your_...
换成真 key,保存,重启应用。
没有 key 也能用,只是少了外部情报的“旁证”。
4. 工作原理:两大开源引擎
组件 | 角色 | 输出示例 |
---|---|---|
httpx | 像“侦察兵”,发 HTTP 请求,看状态码、跳转、技术栈 | 302 Found, Server: nginx/1.18, X-Powered-By: Express |
HEDnsExtractor | 像“户籍警”,根据 IP 反查历史上绑定过的域名 | IP 1.2.3.4 曾用过 abc.evil、xyz.evil |
Keklick 把两位“侦察兵”的结果汇总,再用图形库画成网络图。
5. 第一次狩猎:5 步走
-
在搜索框输入已知或怀疑的域名/IP,例如 badguy.example
。 -
选择“搜索类型”:Auto Detect(让工具自己判断是域名还是 IP)。 -
设置结果上限,例如 50 条,防止浏览器卡死。 -
点 Search,等待几秒到几分钟(取决于目标大小)。 -
看左侧出现的网络图:
节点是域名或 IP,连线表示共享证书、同 DNS 记录等关系。
6. 深入分析:右键菜单里的宝藏
选项 | 能告诉你什么? | 实战技巧 |
---|---|---|
Threat Intelligence | 该域名/IP 是否被多家安全厂商标记为恶意 | 如果 VirusTotal 检出率 >10%,值得警惕 |
SSL Certificate | 证书里的 CN、SAN 字段是否关联更多域名 | 发现 10 个域名共用一张证书,大概率“同伙” |
DNS 记录 | 历史 A 记录、NS 记录变化 | 看攻击者如何迁移服务器 |
WHOIS | 注册邮箱、注册商 | 邮箱重用暴露更多资产 |
Timeline | 域名/IP 首次出现时间 | 判断这是新团伙还是老面孔 |
7. 一键导出 PDF 报告
点击顶部 Report 按钮,30 秒后浏览器下载一份 PDF,内含:
-
网络图高清截图 -
节点列表与属性 -
威胁情报摘要 -
发现时间戳
方便你贴在工单里或直接发邮件。
8. 外部集成:七大数据源
Keklick 在后台悄悄帮你查这些“情报所”:
服务 | 免费/付费 | 作用 |
---|---|---|
AbuseIPDB | 免费配额 | IP 信誉 |
AlienVault OTX | 免费 | 恶意域名/IP 情报 |
VirusTotal | 免费配额 | 多引擎扫描结果 |
Shodan | 部分免费 | 服务器开放端口、服务指纹 |
Censys | 部分免费 | SSL 证书、主机信息 |
FOFA | 付费 | 国内网络空间测绘 |
URLScan.io | 免费 | 网页截图、行为分析 |
9. 常见问题 FAQ
Q1:Keklick 会不会误杀?
A:它只是把“线索”摆出来,最终判断仍需人工结合业务场景。
Q2:扫描别人网站合法吗?
A:务必先获得授权,或在自家测试环境使用。开发者不对滥用负责。
Q3:Docker 镜像多大?
A:首次构建约 1.2 GB,后续更新只拉差异层。
Q4:支持 Windows 吗?
A:Docker 方式跨平台可用;手动安装需自行解决 Go、Python 环境。
Q5:结果太多,浏览器卡?
A:把“结果上限”调低,或在高级筛选里加条件(如只看 404 的 IP)。
10. 场景示例:从一条告警到完整战报
-
告警:EDR 提示 malware.exe
连接abc.evil
。 -
打开 Keklick,输入 abc.evil
,搜索。 -
发现 15 个相关域名、6 个 IP,其中 3 个 IP 在 AbuseIPDB 上被 20+ 用户举报。 -
导出 PDF,附加工单,通知网络组封禁整段 IP。 -
一周后再跑同样查询,发现攻击者把域名迁移到新网段,及时更新防护策略。
11. 小词典:术语一次说清
术语 | 人类语言 | 类比 |
---|---|---|
C2 | 攻击者的“指挥台” | 特务头子用无线电给卧底发指令 |
SSL 证书 | 网站身份证 | 一张证书可写多个别名,就像身份证可备注多个曾用名 |
DNS 历史记录 | 域名“搬家”记录 | 房子换了房东,但房产局有旧档案 |
WHOIS | 域名“户口本” | 写着注册人、联系方式 |
12. 结语:让工具回归工具,让思考留给人类
Keklick 不会替你破案,也不会替你背锅。它像一把放大镜,把原本散落在日志、情报、证书里的微光汇聚成一束,照进 C2 网络的暗角。剩下的判断、决策、沟通,仍需要你——安全分析师——来完成。
祝你狩猎愉快,也别忘了合法授权。