首页 » 漏洞 » Windows函数的恶意软件分析-第1部分

Windows函数的恶意软件分析-第1部分

 

分享到:

Windows函数的恶意软件分析-第1部分

在本文中,我们将简要地了解各种Windows函数通常遇到的恶意软件分析。

Windows函数

Accept:这个函数是用来监听到达的连接的,这个函数暗示这个程序将在socket上监听链接。它主要是利用恶意软件的指挥和通信服务器进行通信。

AdjustTokenPrivileges:这个函数用来使能或者不能特殊的进入权限。在一个程序注入攻击时,这个函数使用恶意软件来获得额外的权限。

AttachThreadInput:这个函数把输入从一个线程处理到另一个,第二个线程接收输入事件,如键盘和鼠标事件。键盘记录程序和其他间谍软件使用这个函数。


Bind:这个函数是用来将一个套接字的本地地址来侦听传入的连接。

BitBlt:这个函数是用来复制图形数据从一个设备到另一个地方。间谍软件有时会使用这个函数来捕获屏幕截图。


CertOpenSystemStore:这个函数是用于访问存储在本地系统上的证书。

Connect:这个函数是用于连接到远程socket。恶意软件通常使用低级的功能连接到一个指挥和控制服务器。它主要是利用恶意软件的指挥和通信服务器进行通信。

ConnectNamedPipe:这个函数用来创建一个服务器进程间通信管道,将等待客户机连接,后门和反向壳有时使用ConnectNamedPipe简化连接到指挥和控制服务器。

ControlService:这个函数是用来启动、停止、修改、或发送一个信号到运行服务,如果恶意软件使用自己的恶意代码需要分析服务,实现服务才能确定程序代码的目的。

CreateFile:创建一个新的文件或打开一个现有的文件。

CreateFileMapping:这个函数用来创建一个句柄,加载一个文件到一个文件映射到内存中并使其可通过内存地址,发射器、装载机和注射器使用这个函数来读取和修改PE文件。

CreateMutex:这个函数创建一个互斥对象,可以使用恶意软件,以确保只有一个实例的恶意软件是运行在一个系统在任何给定的时间,恶意软件常常为互斥使用固定名称,可额外好基于主机的指标检测恶意软件的安装。

CreateProcess:这个函数创建并启动一个新进程。如果恶意软件创建一个新的进程,新的流程需要分析。

CreateRemoteThread:这个函数是用于启动一个线程在一个偏远的过程,发射器和隐形恶意软件使用CreateRemoteThread注入代码不同的过程。

CreateService:这个函数是用来创建一个服务,可以在启动时开始,恶意软件使用CreateService持久性、隐形或加载内核驱动程序。

CreateToolhelp32Snapshot:这个函数用来创建一个进程的快照,堆,线程和模块,恶意软件常常使用这个函数的遍历进程或线程的代码。

CryptAcquireContext:这个函数通常是第一个函数使用恶意软件初始化使用Windows加密。


DeviceIoControl:该函数发送控制消息从用户空间到一个设备驱动程序,内核需要传递信息的恶意软件在用户空间和内核空间之间经常使用这个函数。


EnableExecuteProtectionSupport:这个函数是用于修改数据执行保护(DEP)主机的设置,使它更容易受到攻击。

EnumProcesses:这个函数是用来列举通过系统上运行的进程,恶意软件常常列举通过流程来找到注入的过程中。

EnumProcessModules:这个函数是用来列举加载模块(可执行文件和dll)对于一个给定的过程,恶意软件模块进行枚举时注射。


FindFirstFile/FindNextFile:这个函数是用来搜索目录和列举文件系统。

FindResource:这个函数是用来找到一个资源在一个可执行文件或DLL加载,恶意软件有时使用资源存储字符串,配置信息,或其他恶意文件,如果使用这个函数,然后检查一个。恶意软件的PE头rsrs部分。

FindWindow:这个函数是用来寻找一个开放的窗口在桌面上,有时这个函数是作为anti-debugging技术搜索OllyDbg窗口。

FtpPutFile:这个函数是用来上传文件到远程FTP服务器。


GetAdaptersInfo:这个函数是用来获取系统上的网络适配器的信息,后门有时叫GetAdaptersInfo在信息收集阶段收集的信息被感染的机器,在某些情况下,它是用来收集MAC地址来检查VMware anti-virtual机技术的一部分。

GetAsyncKeyState:这个函数是用来确定一个特定的键被按下,恶意软件有时会使用这个函数来实现键盘记录器。

GetDC:这个函数返回一个句柄的设备上下文窗口或整个屏幕,间谍软件,屏幕截图经常使用这个函数。

GetForegroundWindow:这个函数返回一个句柄窗口目前在桌面的前景,的键盘记录程序通常使用这个函数来确定在哪个窗口用户进入他的按键。

Gethostbyname:这个函数是用来执行DNS查找特定主机名前IP连接到远程主机,主机名作为命令和控制服务器通常是基于网络的签名。

Gethostname:这个函数是用于检索的计算机的主机名,后门信息收集阶段有时使用gethostname受害者的机器。

GetKeyState:这个函数使用的键盘记录程序获得键盘上的某个键的状态。

GetModuleFilename:这个函数返回一个模块被加载在当前进程的文件名,恶意软件可以使用这个函数来修改或复制文件在当前运行的过程。

GetModuleHandle:这个函数是用来获得一个处理一个已经加载模块,恶意软件可以使用GetModuleHandle定位和修改代码在加载模块或寻找一个好的位置注入代码。

GetProcAddress:这个函数是用于检索一个函数的地址在一个DLL加载到内存中,这是用于导入函数除了从其他dll函数进口PE文件头。

GetStartupInfo:这个函数是用于检索结构包含当前进程是如何配置的详细信息,如标准处理的指示。

GetSystemDefaultLangId:这个函数返回的默认语言设置系统,这些都是由malwares专门设计用于提出的攻击。

GetTempPath:这个函数返回临时文件的路径。如果恶意软件调用这个函数,检查是否读取或写入文件的临时文件路径。

GetThreadContext:这个函数返回一个给定线程的上下文结构,线程存储所有线程的上下文信息,如寄存器的值和当前状态。

GetVersionEx:这个函数返回当前版本的Windows的运行信息,这可以作为一个受害者调查的一部分,或为非法选择不同补偿结构,改变了不同版本的Windows。

GetWindowsDirectory:这个函数返回文件路径到Windows目录(通常是C:/ Windows),恶意软件有时使用这个访问确定,目录来安装其他恶意程序。


inet_addr:该函数将一个IP地址字符串像127.0.0.1,这样它就可以被连接等功能,有时指定的字符串作为基于网络的签名。

InternetOpen:该函数初始化从经由WinINet高级互联网接入功能,如InternetOpenUrl和InternetReadFile,寻找InternetOpen是一个好办法找到互联网接入功能的开始,InternetOpen参数之一是代理,这有时会使一个好的网络签名。

InternetOpenUrl:这个函数打开一个特定的URL连接使用FTP,HTTP或HTTPS。url,如果固定,通常可以良好的基于网络的签名。

InternetReadFile:这个函数读取数据从以前打开的URL。

InternetWriteFile:这个函数将数据写到一个以前打开的URL。

本文由 360安全播报 翻译,转载请注明“转自360安全播报”,并附上链接。
原文链接:http://resources.infosecinstitute.com/windows-functions-in-malware-analysis-cheat-sheet-part-1/

原文链接:Windows函数的恶意软件分析-第1部分,转载请注明来源!

0