作家
登录

基于API调用的恶意软件分析技术

作者: 来源: 2017-11-03 14:15:06 阅读 我要评论


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。

  1. GET http://twitter.com/pidoras6 
  2. 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

关键词: 探索发现

乐购科技部分新闻及文章转载自互联网,供读者交流和学习,若有涉及作者版权等问题请及时与我们联系,以便更正、删除或按规定办理。感谢所有提供资讯的网站,欢迎各类媒体与乐购科技进行文章共享合作。

网友点评
自媒体专栏

评论

热度

精彩导读
栏目ID=71的表不存在(操作类型=0)