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

俄罗斯黑客是如何滥用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,会发现一些类似的推文。

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

<meta name="description" content="The latest Tweets from Hussam Khrais (@HussamKhrais): &quot;Hello from kali python&quot;">

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

操作解释:

1. fromBeautifulSoup import BeautifulSoup as soupy #1 2. importurllib #2 3. 4. html = urllib.urlopen(‘https://twitter.com/HussamKhrais’).read() #3 5. soup = soupy(html) #4 6. 7. x = soup.find(“meta”, {“name”:”description”})[‘content’] #5 8. print x #6

1# Import soupy function from BeautifulSoup library, we will use this function to search for the html tags 2# Import urllib which will be used to navigate to our twitter page and grab the html for us 3# Navigate to my twitter home page HussamKhrais, store the HTML page into html variable 4# Pass it to soupy function so we can parse it 5# Here we search for the HTML meta tags 6# Print the result out

输出运行的脚本为:

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

1. importre 2. 3. filter = re.findall(r'”(.*?)”‘,x) 4. tweet = filter[0] 5. print tweet

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

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

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

* 参考来源:securityaffairs,转载请注明来自FreeBuf黑客与极客(FreeBuf.COM)

本文分享自微信公众号 - FreeBuf(freebuf),作者:简单

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2015-11-29

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • TLS 1.3遇上麻烦了

    近期,研究人员发现了一种新型的Bleichenbacher攻击变种,而这种新型的加密攻击可以破坏加密的TLS流量。

    FB客服
  • Adobe Flash零日漏洞(CVE-2018-4878)在野攻击完全分析报告

    背景 2018年1月31日,韩国计算机应急响应小组发布了一则关于Adobe Flash Player的 0day 漏洞警告,并称早在2017年11月中旬,就有黑...

    FB客服
  • Gospider:一款基于Go语言的快速Web爬虫

    Gospider是一款运行速度非常快的Web爬虫程序,Gospider采用Go语言开发。

    FB客服
  • 微型框架 Riot.js 特性一览

    Mixin 可以将公共代码在不同标签之间方便地共享,可以混入 Object 和 new function(){}。

    逆葵
  • 使用Spring Boot开发Web项目

    按:最近公众号文章主要是整理一些老文章,以个人CSDN上的博客为主,也会穿插一些新的技术点。 ---- 前面两篇博客中我们简单介绍了Spring Boot项目的...

    江南一点雨
  • 小程序“功能直达”内测,你读懂了什么?

    小程序“功能直达”功能正式开始内测。部分小程序已收到内测邀请。 ? 开启这个功能后用户可在“发现-小程序”中通过搜索找到小程序提供的功能。 小程序将获得更多用户...

    连胜
  • CC2530基础实验之采集光照模拟量控制LED状态

    w候人兮猗
  • 基于Proxy的小程序状态管理

    微信小程序的市场在进一步的扩大,而背后的技术社区仍在摸索着最好的实践方案。我在帮助Nike,沃尔玛以及一些创业公司开发小程序后,依旧认为使用小程序原生框架是一个...

    Fundebug
  • springCloud - 第11篇 - Eureka 注册中心集群的实现

    eureka 作为整个微服务项目的注册中心,到目前为止,在我的系统中一直是单节点的,这样并不能作到高可用。

    微风-- 轻许--
  • 架构设计-从零开始搭建gradle多模块项目

    spring-boot: java做web开发,这个差不多是基础了 mybatis: 做javaweb开发,连数据库大都是用的这个 redis: 做javawe...

    微笑的小小刀

扫码关注云+社区

领取腾讯云代金券