无文件攻击方式简介
“无文件攻击”属于一种影响力非常大的安全威胁。攻击者在利用这种技术实施攻击时,不会在目标主机的磁盘上写入任何的恶意文件,因此而得名“无文件攻击”,部分无文件攻击甚至会删除自身以达到无法被捕获的目的,无文件攻击多使用 “白加黑”,“恶意文档”,“ 内存注入”,等方式绕过众多的反恶意技术的控制,包括应用白名单策略 ,使得难以防范。
0x01 恶意文档
Office远程命令执行
例:CVE-2017-11882
例:CVE-2018-0802
Docx远程模板注入
建立一个插入恶意宏的Docx模板,再以该恶意模板创建一个正常文档。
普通VBA,VBS宏注入
直接将宏代码插入到文档。
0x02 恶意脚本
其实笔者还见过部分脚本,最后一句为del %0,靠删除自身来达成的无文件。所以基与此,笔者认为命令行脚本都可以在最后加上这种清除痕迹的操作。
PowerShell脚本
powershell恶意代码执行,内存注入,远程脚本注入,wmic。
PowerShell混淆
Bat脚本
白加黑,wmic
0x03 Living off the Land
对 Microsoft Windows 众多内置工具的滥用。
bypass技巧
- 将利用的源文件改名。
1 | copy c:\windows\system32\scrobj.dll NothingToSeeHere.dll |
- 建立指向该文件的符号链接
1 | Mklink Dave_LovesThis.dll c:\windows\system32\scrobj.dll |
- NTFS 数据流隐写
1 | Type c:\windows\system32\scrobj.dll > Just_A_Normal_TextFile.txt:PlacingTheDLLHere |
- 本地执行,或者下载到本地执行
1 | Regsvr32.exe /u /s /i:c:\experiments\regsvr32\Regsvr32_calc.sct scrobj.dll |