CreateStreamOnHGlobal函数
基于API的分析技巧
GetModuleFileName函数
根据上一个季度的统计数据发明,应用加壳器、加密器和保护器(这些都是用于对恶意软件进行混淆处理,以防止被体系或安然软件辨认出来的办法)的恶意软件的数量正在日益增长。这些加壳器极大年夜的进步了进行静态分析的难度,甚职苄些时刻根本就无法对其进行静态分析。跟着越来多的恶意软越件作者开端采取这些保护性办法,安然分析人员对于恶意软件分析替代技巧的兴趣也越来越浓。
个一一种可行的替代办法就是,对代码中通知体系履行某些操作的API调用或敕令进行安然检测。这种办法的好处是,不必对经由加壳处理的软件进行逆向分析,相反,我们可以经由过程对API调用进行动态分析,大年夜而弄清跋扈某个文件的具体行动。经由过程分析响应的API调用,我们可以肯定文件是否是恶意的,因为对于某些类型的恶意软件来说,它们的API调用是异常有特点的。例如,典范的下载API是URLDownloadToFile。而GetWindowDC这个API平日用于屏幕抓取,它经常涌如今间谍软件和键盘记录器中。
下面,我们经由过程一个具体的例子来解释其工作道理。
陌谕样本
我们的示例是一个有名木马法度榜样,名称为1.exe,其SHA256为0213b36ee85a301b88c26e180f821104d5371410ab4390803eaa39fac1553c4c。
因为该文件(应用VMProtect)进行了加壳处理,所以面对这种情况,反汇编器平日也是狗咬刺猬——无处下口。因为本人并非逆向分析的专家,所以我另辟门路,经由过程查看该文件在沙箱履行时代应用的API调用来搞清跋扈该文件的所作所为。
这是我们经由过程沙箱(Deepviz)获得的调用列表:
起首,我们来看看这些函数分别是做什么的。以下内容都是引自Microsoft的相干文档:
检索指定模块的模块句柄。被检索的模块必须是由调用过程加载的。GetModuleHandleA(ANSI)
GetProcAddress函数
检索大年夜指定的动态链接库(DLL)导出的函数或变量的地址。
_wtoi
将字符串转换为整数。
该函数可以用来创建一个应用HGLOBAL内存句柄存储流内容的流对象。该对象是IStream接口的OLE实现。
查找指定子字符串第一次涌如今字符串中的地位。该函数区分大年夜小写。StrStrA(ANSI)
wsprintf函数
将格局化数据写入指定的缓冲区。所有的参数,都邑根据格局字符串中的响应的格局规范进行转换,并复制到输出缓冲区。wsprintfA(ANSI)
WinHttpOpen函数
对于应用法度榜样来说,这个函数可以初始化WinHTTP函数并返回WinHTTP会话句柄。
检索包含指定模块的文件的标准路径。该模块必须是由当前过程加载的。GetModuleFileNameW(Unicode)
LoadLibrary函数
将指定的模块加载到调用过程的地址空间中。这个指定的模块可能会导致其他模块被加载。LoadLibraryA(ANSI)
LocalAlloc函数
大年夜堆平分派指定的字节数。
LocalFree函数
释放指定的本地内存对象并使其句柄无效。
GetModuleFileName函数
检索包含指定模块的文件的标准路径。该模块必须是由当前过程加载的。GetModuleFileNameA(ANSI)
ExitProcess函数
停止调用过程及其所有线程。
关键恶意指标
并不是膳绫擎显示的所有函数都能注解可履行文件的性质。然则API WinHttpOpen却能告诉我们,我们可以向特定的方面推敲。
对于这个函数,我们应用Kahu Security的URL Revealer来检查流量的目标地,并发明两个经常出现的URL。
- GET http://twitter.com/pidoras6
- POST http://www.virustotal.com/vtapi/v2/file/scan
这个POST是当您要提交扫描文件时,VirusTotal API接收的内容。
这个指向被放弃的Twitter句柄的链接让人异常困惑,我决定在Twitter中应用高等搜刮,肯定则是个早已被删除的Tweet的链接。
这个Tweet的内容是一个base64编码的链接:https://w0rm.in/join/join.php。不幸的是,该网站已经无法解析,但它曾经是一个地下暗盘,同时供给网站exploit与黑客办事,膳绫擎提到的Twitter小我材料在当时还未被删。
看来膳绫擎这条路是走不通了。是以,我们测验测验了另一种办法,弄清跋扈它想要在VirusTotal上扫描的器械,并应用Wireshark来检测数据包。
在数据包中,您可以看到用于在VirusTotal站点扫描文件的API key和文件名。根据这个API调用和数据包进行重建后,我们发明恶意软件将其自身的副本提交给VirusTotal,这是Vflooder系列木马的典范行动。Vflooder是一种特别的Flooder木马法度榜样。Flooder木马旨在向特定目标发送大年夜量信息,以破坏目标的┞俘常运行。然则,我困惑它甚至用于对VirusTotal动员进击。或者与Twitter上的那个链接有关。
推荐阅读
尽管完全以人工智能为主导对世界所带来的幼ê嵩然成谜,但越来越明显的是,人工智能或许很快就能为我们供给更为精确的解决筹划,以解决之前未被发明的健康问题。固然医疗保健的数字化转型仍然迟缓而谨慎>>>详细阅读
本文标题:基于API调用的恶意软件分析技术
地址:http://www.17bianji.com/lsqh/38461.html
1/2 1