追踪溯源 | 希拉里邮箱泄露事件
看了国外的几篇针对希拉里邮箱泄露事件的溯源分析,感觉基本上溯源算是失败了。黑了希拉里的人是什么动机?来自哪里?是川普派来的么?是第二次水门事件么?最终,答案都是不知道。
因为这个事情太热了,以至于国外的安全公司不得不跟。但确实也无太多信息可以跟。在整个溯源过程中,大家用的方法却有很多值得借鉴和学习,尤其是未来在追踪APT的过程中可以用到。
黑了希拉里的小伙自称”Guccifer”, 把希拉里的邮件发给了一个政治网站,也发到了wikileaks。如果你只对希拉里的邮件感兴趣,可以直接访问https[:]//wikileaks[.]org/clinton-emails/。
Guccifer用Guccifer20@aol.fr发邮件给了The Hill,一个美国的政治网站。所以安全公司追踪他的发邮件源:
从邮件头的”received from”的地方,可以看到发信的IP地址是95.13.15.34。这个IP是最后的发件地址。是法国的IP。这个IP有意思的地方是,威胁情报网站定义该IP为僵尸网络。https://x.threatbook.cn/ip/95.130.15.34
同时在2015年10月7日,被记录曾经出现过WordPress的爆破行为。
然后安全人员想根据这个ip来深挖。于是想知道IP再往上一层的信息。他们去shodan做了查找:(吐槽下国产Zomeeye需要提高啊…..)
https://www.shodan.io/host/95.130.15.34
我也重新拿起工具扫了一下,发现已经扫不通了,所有端口都关了。一点额外的信息都没有。但从shadon的历史记录来看,他之前至少开过3个端口。
安全人员通过SSH的fingerprint来在shodan上做进一步的搜索,锁定了6台机器:
备注:用Fingerprint来确认主机同一性的方法并不是绝对的可靠。可以参考。
发现6台机器都是同一网段的,
95.130.9.198 95.130.15.36 95.130.15.37 95.130.15.38 95.130.15.40 95.130.15.41
下一步是要解决,这几个IP到底是做什么的?
把每个IP都做了下反查,发现95.130.9.198这个IP上绑定了fr1.V**-service.us这个域名。
https://x.threatbook.cn/ip/95.130.9.198
这个域名的相关信息:
https://x.threatbook.cn/domain/V**-service.us
分析太多这个网站的注册人并无太多意义,因为从页面访问是这样的:
查到这里是个里程碑。从email的IP,ssh的指纹,找到网段,索引到这个点,确定这是一个V**。这一套组合拳非常赞。
虽然结论是这是一个V**。其实想想也是,Guccifer说自己做好了所有防护措施,发信怎么可能不用跳板呢。
但如果因为这个V**页面访问是俄文,据此就推断,那攻击者应该是个俄罗斯人。这对于溯源,对于安全追踪来说,这种证据站不住脚。何况这个网站还支持英文版。这中间少了关键的一环。
之后安全人员在一个打码平台(中国叫打码,指代收短信,假手机号),找到了这个ip曾经在11个月前,注册了打码平台并且接受了短信
从接受的短信是俄语,希望佐证攻击者是俄罗斯人。但这就像一个证明题,有两个问题你需要证明:
-
- 这个IP既然是V**平台,就要证明这个IP一直是攻击者在使用,而不是随机分配IP的
-
- 要证明11个月前,攻击者已经注册了这个平台。
可惜都无法证明。到这里溯源基本上进入死胡同了。
从追踪溯源的角度来看,这次跟踪证据链比较弱,挖的东西形不成链路,至少无法说服我。
Reference:
http://www[.]thesmokinggun[.]com/documents/crime/dnc-researched-clinton-speeches-travel-records-621985
http://thehill[.]com/policy/cybersecurity/287558-guccifer-20-drops-new-dnc-docs
https://www[.]threatconnect[.]com/guccifer-2-all-roads-lead-russia/
https://www.crowdstrike.com/blog/bears-midst-intrusion-democratic-national-committee/
http://www[.]foxnews[.]com/tech/2016/06/21/after-dnc-attack-hacker-guccifer-2-0-releases-hillary-clinton-dossier[.]html
*本文作者:苏哲,未经许可禁止转载
- AgileEAS.NET SOA中间件平台更新日志 2015-04-28
- 【Go 语言社区】Golang语言操作redis连接池的方法
- 分布式消息总线,基于.NET Socket Tcp的发布-订阅框架之离线支持,附代码下载
- 关于Flashback的小测试(r10笔记第15天)
- 分享一个分布式消息总线,基于.NET Socket Tcp的发布-订阅框架,附代码下载
- 【Go 语言社区】Golang语言获取系统环境变量的方法
- Oracle中的PUBLIC(r10笔记第14天)
- Data Guard高级玩法:通过闪回恢复switchover主库 (r10笔记第13天)
- WinForm/MIS项目开发之中按钮级权限实践
- 恢复控制文件避免使用resetlogs选项 (r10笔记第12天)
- Go实现短url项目
- 【Go 语言社区】GO语言多核并行化的问题
- mysql执行计划看是否最优
- 通过IP定位区域的SQL优化思路(r10笔记第10天)
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法