溯源分析

1. 概述

攻防演练中的溯源一般是：还原攻击链条，溯源到黑客的虚拟身份、真实身份，溯源到攻击队员，反控攻击方主机

一般来说，蓝队队员获取到的数据大多来源于以下几种：

蜜罐平台

流量检测平台

WAF、IDS、IPS

钓鱼邮件

在我们拿到数据信息后需要对数据进行分析

重点关注的信息：

IP 地址

DNSLOG、C2 地址

钓鱼邮件中的信息

蜜罐抓到的 Hacker ID

不同的设备有不同的分析思路

2. 溯源一般流程

攻击源捕获

安全设备报警 (扫描出的 IP，入侵事件)

日志流量分析

服务器资源异常 (异常的文件，进程，端口，计划任务等)

邮件钓鱼 (获取恶意文件样本)

蜜罐系统 (获取攻击者行为)

溯源反制手段

IP 定位技术

ID 追踪术 (搜索引擎，社交平台等)

网站 url (whois 查询等)

恶意样本 (提取样本特征，用户名 ID 等信息)

攻击者画像

还原攻击路径

攻击目的

用什么网络代理

攻击手法 (web 渗透，近源渗透，社会工程等)

得出攻击者的：虚拟身份，真实身份，联系方式，组织情况等信息

3. WAF、流量检测设备

请求数据包 -> 可能包含反弹的 C2 地址或 DNSLOG 地址

某些可注册的网站 -> 获取攻击者注册手机号、身份证等信息

IP 地址 -> 分析攻击行为路径 -> 过滤国外肉鸡 IP

重点关注来自于阿里、腾讯等云服务器的攻击流量

4. 威胁情报分析

拿到攻击 IP 后我们可以在威胁情报分析平台上进行搜索，获取到如：主机信息、近期活动情况、域名解析

可利用网站：

微步在线情报社区

奇安信威胁情报中心

360 威胁情报中心

VenusEye 威胁情报中心

RiskIQ 社区

4.1 主机信息

重点关注端口信息

存在 web 应用端口 -> 反制（查看端口服务，masscan、nmap 扫描端口，端口对应漏洞）

CS TeamServer 50050 -> 脚本爆破、DDOS 搅屎（批量上线钓鱼马，启几百个进程，DDOS 红方的 cs 端）

4.2 域名解析记录

最近解析到该 IP 上的域名

存在 -> 继续分析

不存在，并且 ping 该域名的结果非攻击 IP，则停止分析

.cn 的域名

直接获取域名注册信息

5. IP & 域名溯源

在某些情况下，攻击者可能会留下自己使用的 IP 或者域名，通常用于下载恶意代码、反向代理等，在获取到攻击者所使用的 IP 或域名后我通常会采用以下办法溯源：

5.1 IP

通过威胁情报查询，可能会获取到 IP 的定位、运营商、解析的域名

Nmap 全端口扫描该 IP 所开放的端口，对提供服务的端口进行漏洞扫描，尝试拿下攻击服务器

使用网络资产测绘引擎搜索攻击溯源 IP，获取该 IP 提供的服务

查询该 IP 的精确定位数据

对该 IP 上提供的服务进行 Dos 攻击，防止继续进行攻击

大部分的攻击者会使用 VPS 进行代理转发，或者直接使用 VPS 进行攻击，可以向该 VPS 提供商提交工单，说明该 IP 的攻击行为，服务提供商可能会禁止该 IP 的攻击行为，或者封禁该攻击者账户

5.2 域名

通过 Whois 查询，获得邮箱、姓名

在工信部 ICP 查询域名备案信息

查询该域名的历史 Whois 信息

在搜索引擎中搜索该域名，可能会发现攻击者的其他账号信息

地理位置查询：

定位 IP 网站

红队攻击者会借助手机热点发起攻击，我们可以通过地理位置查询到他们所处的位置

6. 蜜罐溯源

在现代浏览器中，同源策略是保证用户访问安全的核心，为了允许跨域请求，诞生了 JOSNP。

在 HTML 中，script 标签的 src 属性不受同源策略的影响，通过 script 引用一个不同域名的 JavaScript 文件来实现跨域请求，这就是 JSONP。

蜜罐获取社交信息也基于此原理。

蜜罐通过 JSONP 实现获取社交信息相对来说比较困难，一般需要满足以下两个条件：

需要获取的第三方网站允许跨域，且跨域信息中包含敏感信息

攻击者登录过第三方网站，且未退出登录

通过蜜罐获取到社交信息后，一般会通过以下几个方面入手：

6.1 QQ 号

获取的信息为 QQ 号，通过 QQ 号大额转账实现获取 QQ 号绑定银行卡的个人信息，基本可以实现获取姓和名中的一个字

在百度贴吧等论坛中搜索该 QQ 号或者 QQ 号所属邮箱，可能会获取百度贴吧账号

使用 Whois 反查 QQ 邮箱，可能会获取姓名或域名

在微信中搜索该 QQ 号，可能会获得该攻击者微信账号

使用小号添加该 QQ，尝试通过社工手段套取更多信息（建立在获取大量个人信息的情况）

6.2 手机号

在支付宝中向该账号转账，尝试获取手机号对应的真实用户姓名

在微信中搜索该手机号，尝试获取微信账号

在钉钉上搜索该手机号，可能会获得部分真实姓名和工作单位

通过搜索引擎搜索该手机号，可能会获得其他账号信息

查询该手机号注册过的网站信息

6.3 贴吧账号

使用贴吧工具箱获得该账号主页和发帖内容

查看发帖内容，或许能够找到 QQ 号、手机号、邮箱、大致的年龄、姓名等

6.4 社工库

在我看来，社工库更多用于交叉验证，并非直接获取数据的一种途径，所以应该在获取到足够多的信息后再与社工库比较，以证实真实信息

6.5 其他账号信息

搜索 QQ 昵称、微信昵称、支付宝昵称、贴吧昵称等信息，可能会获得其他平台的信息，如：微博、知乎、GitHub 以及其他论坛和 SNS 社区

详细查看账号中的信息，以提取更多有用信息，如：姓名、性别、年龄、住址、工作单位、就读学校等

6.6 学校

如果获取到学校信息和姓名，可以在搜索引擎中获取该攻击者的专业信息、班级、入学时间、毕业时间、学号等

可以通过该学校贴吧、QQ 群询问等，获取更多个人信息

硕士及以上学位，可以通过知网搜索论文，确认研究方向

6.7 邮箱

查询该邮箱注册过的网站信息

6.8 HackerID 溯源

搜索引擎

各大 SRC

社群咨询

7. 总结

溯源的结果一般如下：

姓名 / ID：

攻击 IP：

地理位置：

QQ：

IP 地址所属公司：

IP 地址关联域名：

邮箱：

手机号：

微信 / 微博 / SRC/ID 证明：

人物照片：

跳板机：

关联攻击事件：

在溯源过程中最重要的是社工库，其次才是上述的溯源分析思路

如果有蜜罐设备，尽量设置成高交互的