加入收藏 | 设为首页 | 会员中心 | 我要投稿 河北网 (https://www.hebeiwang.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 业界 > 正文

十种历程注入技能先容:常见注入技能及趋势观测

发布时间:2018-11-05 19:00:04 所属栏目:业界 来源:Freebuf
导读:媒介 历程注入是一种普及行使的逃避检测的技能,凡是用于恶意软件可能无文件技能。其必要在另一个历程的地点空间内运行特制代码,历程注入改进了不行见性,同时一些技能也实现了耐久性。尽量今朝有很多历程注入技能,但在这篇文章中,我将会先容十种在野发

该技能与先前接头的Process Hollowing技能有一些相似之处。在线程执行挟制中,恶意软件以历程的现有线程为方针,并停止任何其他的历程或线程建设操纵。因此,在说明时代,你也许会看到对CreateToolhelp32Snapshot和Thread32First的挪用,然后是OpenThread。

线程执行挟制技能

获取方针线程的句柄后,恶意软件通过挪用SuspandThread来挂起这个线程,然后挪用VirtualAllocEx和WriteProcessMemory来分派内存并执行代码注入。代码可以包括shellcode,恶意DLL的路径以及LoadLibrary的地点。

图4展示了行使这种技能的通用木马。为了挟制线程的执行,恶意软件通过挪用SetThreadContext来修改方针线程的EIP寄存器(包括下一条指令的地点的寄存器)。之后,恶意软件规复线程来执行它已写入主机历程的shellcode。从进攻者的角度来看,SIR要领也许会出题目,由于在体系挪用进程中挂起和规复线程会导致体系瓦解。为了停止这种环境,假如EIP寄存器在NTDLL.dll范畴内,伟大一点的恶意软件会稍后从头实行。

稍后从头实行

五、通过SETWINDOWSHOOKEX举办HOOK注入

HOOK是一种拦截函数挪用的技能,恶意软件可以操作HOOK的成果在特定线程中触发变乱时加载其恶意DLL。这凡是通过挪用SetWindowsHookEx将hook routine安装到HOOK链中来完成。SetWindowsHookEx函数有四个参数。第一个参数是变乱的范例。变乱反应了HOOK范例的范畴,从键盘上的按键(WH_KEYBOARD)到鼠标输入(WH_MOUSE),CBT等等。第二个参数是指向恶意软件想要在变乱上挪用的函数的指针。第三个参数是包括该函数的模块。因此,在挪用SetWindowsHookEx之前,凡是会看到对LoadLibrary和GetProcAddress的挪用。此函数的最后一个参数是与HOOK进程相干联的线程。假云云值配置为零,则全部线程城市在触发变乱时执行操纵。可是,恶意软件凡是针对一个线程以低落噪声,因此在SetWindowsHookEx之前也可以看到挪用CreateToolhelp32Snapshot和Thread32Next来查找和定位单个线程。注入DLL后,恶意软件代表其threadId转达给SetWindowsHookEx函数的历程执行其恶意代码。在图5中,Locky Ransomware实现了这种技能。

Locky Ransomware

六、通过修改注册表实现注入和耐久性

Appinit_DLL,AppCertDlls和IFEO(映像文件执行选项)都是恶意软件用于注入和耐久性的注册表项。条目位于以下位置:

  1. HKLMSoftwareMicrosoftWindows NTCurrentVersionWindowsAppinit_Dlls 
  2.  
  3.    HKLMSoftwareWow6432NodeMicrosoftWindows NTCurrentVersionWindowsAppinit_Dlls 
  4.  
  5.    HKLMSystemCurrentControlSetControlSession ManagerAppCertDlls 
  6.  
  7.    HKLMSoftwareMicrosoftWindows NTcurrentversionimage file execution options 

AppInit_DLLs

恶意软件可以在Appinit_Dlls注册表项下插入其恶意库的位置,以使另一个历程加载其库。此注册表项下的每个库城市加载到每个加载User32.dll的历程中。User32.dll是一个非经常见的库,用于存储对话框等图形元素。因此,当恶意软件修改此子键时,大大都历程将加载恶意库。图6展示了Ginwui依烂魅这种注入和耐久性要领的木马。它只是通过挪用RegCreateKeyEx打开Appinit_Dlls注册表项,并通过挪用RegSetValueEx来修改其值。

AppInit_DLLs

AppCertDlls

此要领与AppInit_DLLs要领很是相似,只是此注册表项下的DLL被加载到挪用Win32 API函数CreateProcess,CreateProcessAsUser,CreateProcessWithLogonW,CreateProcessWithTokenW和WinExec的每个历程中。

映像文件执行选项(IFEO)

IFEO凡是用于调试目标。开拓职员可以在此注册表项下配置“调试器值”,以将措施附加到另一个可执行文件以举办调试。因此,每当启动可执行文件时,会启动附加到它的措施。要行使此成果,你只需提供调试器的路径,并将其附加到要说明的可执行文件。恶意软件可以修改此注册表项以将其自身注入方针可执行文件。在图7中,Diztakun木马通过修改使命打点器的调试器值来实现此技能。

映像文件执行选项(

七、APC注入和ATOMBOMBING

(编辑:河北网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读