俄罗斯黑客是如何滥用twitter作为Hammertoss C&C服务器的?

本文我们将复制一项技术,我们曾用它来追踪一个叫做Hammertoss的复杂俄罗斯恶意软件,该恶意软件的创造者滥用知名网站(比如twitter和github)来跃过防火墙和躲避追踪。

概括的说,该恶意软件不是像传统恶意软件那样直接反向连接到C&C服务器,而是跳跃在第三方服务器之间,以执行其恶意活动。火眼给出了一个短视频,快速展示了恶意软件的工作原理:

视频链接

Hammertoss工作原理

首先,Hammertoss会连接到twitter,寻找攻击者发布的推文:里面包含一张图片的URL和部分加密密钥的hash标签。

从技术角度来说,根本不需要登录twitter账户就可解析别人发布的推文;这种情况下我们只需识别出账户URL和包含真正推文信息的HTML标签。但是要记住你可以添加其他推特账户信息以隐藏原始的推特账户(属于黑客的推特账户)。

也就是说,在完成上述操作过程,你绝不能用自己的个人账户,这就是为什么我创建了一个新账户,我的twitter主页为:https://twitter.com/HussamKhrais

我用kali机器发布了一条推文:Hello from kali python,随后退出账户,与此同时我们打开https://twitter.com/HussamKhrais,会发现一些类似的推文。

11

使用浏览器打开推文就可看到该页面的HTML源码。对于Chrome浏览器,只需在页面任意处单击右键,选择查看页面源码或者使用 Ctrl+U快捷键,即可查看那条信息的HTML信息:

12

因此从技术角度上讲,我们可以写一个很简单的脚本,导航至https://twitter.com/HussamKhrais

输出运行的脚本为:

13

由于我们只对引号中的字符感兴趣,所以我们可以使用正规表达方式将其过滤出来,如下脚本可以过滤出引号中的信息:

“findall”功能会抓取引号中的字符,储存在列表数据类型的过滤器中,最终可打印出准确的推文信息。

把所有的脚本拼凑在一起便可得到如下结果。

14

感兴趣的话,你可以下载爬虫脚本亲自试验一下。

[via@freebuf]