本文咱们将复制一项技艺,咱们曾用它来追踪一个叫做Ha妹妹ertoss的容易俄罗斯恶意软件,该恶意软件的创举者滥用知名web(比方twitter和github)来跃过防火墙和遁藏追踪。
概括的说,该恶意软件不是像保守恶意软件那样间接反向连贯到C&C服务器,而是跳跃在第三方服务器之间,以实验其恶意勾当。火眼给出了一个短视频,快速显示了恶意软件的任务原理:
视频链接
Ha妹妹ertoss任务原理
首先,Ha妹妹ertoss会连贯到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新闻:
Default1 | <meta name="description" content="The latest Tweets from Hussam Khrais (@HussamKhrais): "Hello from kali python""> |
因而从技艺角度上讲,咱们大约写一个很冗杂的剧本,导航至https://twitter.com/HussamKhrais。
Default12345六78九101112131415 | 1. fromBeautifulSoup import BeautifulSoup as soupy #12. importurllib #23. 4. html = urllib.urlopen(‘https://twitter.com/HussamKhrais’).read() #35. soup = soupy(html) #4六. 7. x = soup.find(“meta”, {“name”:”description”})[‘content’] #58. print x #六 1# Import soupy function from BeautifulSoup library, we will use this function to search for the html tags2# Import urllib which will be used to navigate to our twitter page and grab the html for us3# Navigate to my twitter home page HussamKhrais, store the HTML page into html variable4# Pass it to soupy function so we can parse it5# Here we search for the HTML meta tags六# Print the result out |
输出运行的剧本为:
由于咱们只对引号中的字符感兴味,以是咱们大约操作正规表白门径将其过滤出来,如下剧本大约过滤出引号中的新闻:
Default12345 | 1. importre2. 3. filter = re.findall(r'”(.*?)”‘,x)4. tweet = filter[0]5. print tweet |
“findall”听命会抓取引号中的字符,储存在列表数据典型的过滤器中,最终可打印出粗略的推文新闻。
把部门的剧本拼凑在一路便可获得如下后果。
感兴味的话,你大约下载爬虫剧本亲自实验一下。
[via@freebuf]