文章定位
获取文件哈希指纹
主要是拿md5,sha1,sha256的“文件哈希指纹”
然后来VT进行搜素:
https://www.virustotal.com/gui/home/search
判断文件签名
我们看待文件并不是去看一个文件的后缀名是不是.exe等。具有其他文件后缀名的文件仍然可以执行,比如.jpg可执行文件。
当您遇到这些八股文所提及的工具时,它们都可拿来干文件签名这种事情。
我怎么知道上百种的文件签名分别都是什么?使用此 站已轻松搜素:
https://www.garykessler.net/library/file_sigs.html
判断文件是否被混淆与打包
不用太在意混淆,打包,加密,加壳等概念的区别。因为它们的最终目的都是“隐藏真实内容”。为了增强体验感与“我上我也行”,直接从本质出发:任何商业软件都不想被任何人看见其代码内容,为此他们引入各种乱七八糟的“技术”。
这个工具怎么用?看什么地方?这非常简单,任何人都可以干这种“活”。
在这个文件中,我们发现了有趣的内容:FSG 1.0 -> dulek/xt
搜素一下便可得知这个文件进行了打包。
可选工具:TrID(
http://mark0.net/soft-trid-e.html)、TRIDNet(
http://mark0.net/soft-tridnet-e.html) ,轻松检测(http://ntinfo.biz/)、RDG Packer检测器(http://www.rdgsoft.net/)、packerid.py(
https://github.com/sooshie/packerid)和PEiD (
http://www.softpedia.com/get/Programming/Packers-Crypters-Protectors/PEiD-updated.shtml)
【注意】:这些检测混淆,打包工具的本质是它们提出准备了一个打包指纹的文本数据库来与具体文件进行匹配,最后给出“结论”。(就是提前记录123456,如果目标文件中存在123456的指纹,则”告警“)
IDA free 加壳检测初体验
工具:
https://hex-rays.com/ida-free/
我们如果知道该文件是可执行文件,则选择第一个。如果不知道则更加好办,每个都看看。。
该文件仅导入了两个API?这很奇怪,可用其他正常文件基线值来比对一下(我们需要注意库文件叫什么,导入的API name叫什么)
注意:运行之后导入的后续API则不在此工具里“显示”
一个文件它要编写,读取,查看,保存,初始化配置等多功能性,怎么可能只需要导入两个API?以下是正常文件打开时导入的API示例之一:
.text: 一般包含运行PE文件时执行的CPU指令。此部分被标记为可执行。
.data: PE文件使用的全局变量和其他全局数据。
.rsrc: 资源,例如图像、图标等。
https://www.virustotal.com/gui/file/d8b87863c68d2da9bf62d7f029b8f2fda567f6a61e71a2bac0a3a390a765c0b3/details
点击第二个标签进入详情:
这些都是导入的库文件与API:
查看文件字符串
下载,解压缩并进入到sysinternals目标下的strings工具中,”相对路径“来运行strings工具并给出”绝对路径“目标文件。
strings "C:UsersAnalysisDesktop67844C01"
您会得到大量有”含义“的字符串。
pestudio (https://www.winitor.com/) 工具字符串提取
linux系统中的strings命令提取字符串:man strings
这可以去微软的官方文档中搜索确认其API的功能:
https://docs.microsoft.com/en-us/windows/win32/api/_winprog/
尝试解码混淆后的字符串
使用FLOSS解码混淆后的字符串
参考资料:
https://www.fireeye.com/blog/threat-research/2016/06/automatically-extracting-obfuscated-strings.html
软件包下载
https://github.com/fireeye/flare-floss/releases
使用手册
https://github.com/fireeye/flare-floss/blob/master/doc/usage.md
下载并解压,cmd开箱即用
floss.exe -h
floss.exe malware.bin
沙箱资源部分
诞生于2010 年google某开源项目的杜鹃沙箱(现在已过时):
https://cuckoosandbox.org/
CAPE沙箱,目前得到积极的开发:
https://github.com/kevoreilly/CAPEv2
https://cuckoo.cert.ee/
https://www.capesandbox.com/
https://any.run/
https://analyze.intezer.com/
https://hybrid-analysis.com/
长时间的休眠调用:恶意软件开发者熟悉沙箱运行时间有限,长时间的睡眠使得沙箱过期。
用户活动检测:恶意软件开发者加入鼠标移动检测功能来识别是否为自动化的沙箱。
追踪用户活动:恶意软件开发者检测是否存在office办公文件记录,浏览器信息等来识别沙箱。
检测虚拟机:恶意软件开发者检测虚拟机与沙箱相关的文件,进程等指纹来识别沙箱。
关于Yara规则
语法糖如下:
https://yara.readthedocs.io/en/v3.7.0/writingrules.html
一个示例如下:
搜索samples/文件夹下的所有文件
yara -r suspicious.yara samples/
搜索特征123456,使用ASCII码或Unicode(wide),不区分大小写(nocase)【文件在机器中已十六进制提现是机器的事情,数据取出来怎么“显示”是您的事情(取成“各种”编码,图表,或者图片都行,只要能找到特征。)】
rule suspicious_strings{strings: $a = "123456" ascii wide nocase $b = "123456" ascii wide nocase $c = "123456" ascii wide nocasecondition: ($a or $b or $c)}
...strings:$gst1 = {47 68 30 73 74 ?? ?? 00 00 ?? ?? 00 00 78 9c}$gst2 = {63 62 31 73 74 ?? ?? 00 00 ?? ?? 00 00 78 9c}$gst3 = {30 30 30 30 30 30 30 30 ?? ?? 00 00 ?? ?? 00 00 78 9c}$gst4 = {45 79 65 73 32 ?? ?? 00 00 ?? ?? 00 00 78 9c}$gst5 = {48 45 41 52 54 ?? ?? 00 00 ?? ?? 00 00 78 9c}$any_variant = /.{5,16}x00x00..x00x00x78x9c/...
yara poc.yara pcaps/
监视服务、 络连接、磁盘活动
Process Hacker (http://processhacker.sourceforge.net/)
Process Monitor (https://technet.microsoft.com/en-us/sysinternals/processmonitor.aspx)
执行恶意软件样本后,创建了一个新进程 iexplorer.exe,进程 ID 为 1272。该进程可执行文件位于 %Appdata% 目录中。
自定义通信协议
动态链接库 (DLL) 分析
DLL 需要一个进程才能运行。 在 Windows 上,rundll32.exe 可用于启动 DLL 并调用从 DLL 导出的函数。语法如下:
rundll32.exe <full path to dll>,<export function> <optional arguments>
导入时示例:
WININET.dll文件被导入,它可能在导入时执行InternetOpenA与InternetOpenUrlA的API函数,它们可能涉及HTTP 或 FTP 协议C2隧道的建立。
导出时示例:
它要注册(Register)服务了。触发了与 C2 服务器的 HTTPS 通信。
如何知道这个API触发了C2服务器HTTPS通信的?
C:>rundll32.exe c:poc.dll,DllRegisterServer
在语法正确或错误(就连web渗透非200都可以利用成功,它也可以。)的情况下运行它并抓包 络流量看看
工具示例:RemoteDLL (http://securityxploded.com/remotedll.php)
大多数情况下,使用 rundll32.exe 启动 DLL 可以正常工作它们的恶意函数。但总有一些其他DLL需要一些不同的环境来启动。
比如tdl.dll会检查它是否在spoolsv.exe下运行,如果不是则初始化失败,DLL注入攻击则失败。
一旦注入进程成功,就会引爆恶意DLL的行为,就可以使用监视类工具观察服务、 络连接、磁盘、注册表活动等。
为了控制篇幅长度,今先聊到这。
感谢师傅们很有耐心的阅读到了这里。我们还会再见面的。共勉。
参考资料
Learning Malware Analysis Explore the concepts, tools, and techniques to analyze and investigate Windows malware by Monnappa K A
https://tryhackme.com/module/malware-analysis
https://www.freebuf.com/articles/system/282301.html 恶意软件分析101
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!