杭锦旗| 咸宁| 罗平| 鲁甸| 石嘴山| 乌什| 新宾| 小金| dafa888bet 百喜登录 南宫| fun88首页 铜川| 五华| 赫章| 万博app苹果版下载 丰台| 平凉| 青州| 冠亚彩票 建始| 蓬莱| uedbet赫塔菲 集美| fun88 新版ued回归 聂拉木| bwin88 武汉| 突泉| 柘城| 乌审旗| 万博体育最新 dafa888 安龙| 新沂| 石棉| betway必威 鹰手营子矿区| 昌邑| 秀山| 兰溪| 盐山| 乐业| 韦德1946 宁都| 城步| 888大奖娱乐 博管理 平乡| 阿图什| 会东| 密山| 磐石| w88top 佛冈| 冠亚娱乐城 闽清| 苏尼特左旗| manbetx娱乐 郧县| 新万博 manbetx万博 亚东| 宜宾县| 宾川| 大厂| 万博体育manbetx 莱山| 资兴| betway88.net w88 会宁| 翼城| 莱山| br88冠亚 辽源| 西宁| 嘉鱼| bbin专用浏览器手机版 betway必威 顺昌| 弋阳| 长丰| 阜南| ca88官网 manbetx官方 绿春| 陇县| 靖江| 洛川| 惠东| 东辽| 新疆| 石城| 林芝镇| 浦北| 海晏| 1946伟德 郫县| 波密| 平乡| 长阳| 隆尧| 崇州| 交口| 陕西| fun88 龙山| 新版uedbet 景谷| br88冠亚 达日| 敦化| 合肥| lovebet爱博 新密| 寻甸| 荥阳| 韦德88 梁河| 门头沟| 韦德1946 德兴| 夏津| 武冈| 龙岗| 88大奖 万博manbet官网 长宁| dafa888bet 长治市| 肃宁| 抚顺市| 武功| 百喜登录 台北市| 公安| 稷山| 大发888官网 长春| dafa888casino手机版 神池| 万博体育西甲 丁青| 大发888赌场 青白江| 札达| 漳县| 淅川| BR88 固始| 庄河| 张家川| betway88 寿光| 怀安| 冠亚彩票 莒县| 忻州| 金口河| 昌都| 蓝田| 滕州| 亚洲城ca88 opebet 汉南| 确山| 亚洲城vip积分登陆 喀喇沁旗| 榆树| 万博app怎么样 宁乡| 萧县| 万博体育 京山| dafa888bet 新晃| 武陵源| 咸阳| 青县| 松江| 靖边| 新万博体育登录 沁源| manbetx 大奖88 bifa88 太白| 陵县| 枞阳| 惠民| 息烽| 必威体育 沿河| 勐腊| 1946伟德 涟源| 睢县| manbetx 冷水江| 大奖 2manbetx官方网站 ca88亚洲城娱乐手机版 科尔沁左翼后旗| 达拉特旗| 廊坊| 新万博manbetx官网 dafa888bet 蒙山| 宁蒗| 隆安| 海盐| 甘洛| dafa888bet 连山| fun88手机版 沙坪坝| br88冠亚 betway必威 门源| 德安| 冠亚br88 冠亚彩票 郾城| 新版ued官网 郁南| 龙井| 义马| 惠水| 蒲江| 大奖888 兰西| bet365中国官网 岗巴| 景东| 隆回| 平谷| 宁武| 罗甸| BR88 万博app怎么样 betway88 bv伟德体育 BR88 w88.com 辽宁| 3344444.com 忻州| 宁明| 桂东| 资源| 蕉岭| 长春| 万博manbetx 贺州| 新和| 开县| 围场| 迭部| ca88.com会员中心 崇明| manbetx娱乐 dafa888 屏东| dafa888官网 盘县| 永仁| 泌阳| 大安| 陈巴尔虎旗| 蒲县| BR88官网 志丹| manbetx网页 优德888 张掖| 乌尔禾| 塘沽| 金湾| 万博官网manbetx 潜江| 大奖彩票 阳谷| 88bifa.bet 大发游戏dafabet888 fun888 万博体育论坛 平遥| 林州| 博管理 betway 88娱乐 ca888 竹溪| 龙泉| 冠亚彩票 带岭| 万博体育网站 肃北|

河北制定钢铁焦化超低排放地方标准

2019-01-18 03:54 来源:东南网

  河北制定钢铁焦化超低排放地方标准

  3344111  隆是直、高的意思。  希望高爱玲能看到这篇文章,尽快回家。

而且,在下调2019年小麦最低收购价同时,国家将加大“优质粮食工程”实施力度,更好地鼓励地方和农民扩大优质专用小麦等生产供给,通过优质优价实现农民增收;同时,还将探索开展粮食作物完全成本保险和收入保险试点,充分发挥农业保险在保护农民利益中的重要保障作用。”“地球在这个庞大的宇宙中就象我们看一个苹果一样,它已经烂透了。

  与此相对,非法宗教活动就是以宗教名义进行的违反国家法律法规的,违背社会道德风尚并有损参与者身心健康的活动,这样的活动具体表现方式有多种,例如干涉他人宗教信仰自由,强迫或变相强迫他人信教的;未经批准,在本宗教活动场所以外的地方进行有组织的宗教活动;自封传道人,随意发展教徒,擅自祝圣神职人员;擅自接受国(境)外宗教组织的祝圣;未经批准,擅自编辑、翻译、出版、印刷、复制、制作、发行、销售和传播宗教类非法出版物和音像制品;未经登记和批准,私设活动点;未经批准,擅自新建、改建、扩建宗教活动场所或者修建其他建筑变相用以宗教活动;以出资修建为由把持操纵寺院,等等。  备注:  俄喀秋莎新闻社网址于2016年12月30日在俄罗斯联邦通讯、信息技术和大众传媒监督局注册登记。

    欧阳修:凡事沉住气  欧阳修号醉翁,北宋卓越的文学家、史学家。这个相士看了一圈司马昱喜欢的嫔妃,却只是摇头否认。

这便是大傩。

  徐霞客写道:“是南盘出南宁,北盘出象州,相去不下千里;而南宁合江镇,乃南盘与交趾丽江合,非北盘与南盘合也。

  父子一起临刑前李斯对儿子感慨:”吾欲与若复牵黄犬俱出,上蔡东门逐狡兔,岂可得乎?”为了长期得到久利之事、众争之地的私心、贪欲和野心,而今竟然连昔日父子俩牵着大黄狗去逮野兔的普通生活、天伦之乐也不能再拥有了。可以在手机上设置闹铃,提醒自己过一段时间就站起来走两步,如果可以做点能提高心率的动作就更好了,比如深蹲之类。

    二、伪装成气功。

  最终在母亲离家出走的威胁之下,母亲没有做手术,住了两天院就回家了。“老马”说,除了提供聚会场所之外,他家还给“全能神”聚会的人员提供食宿。

  二是提高工业运行的整体效率。

  万博体育贴吧  常年浸淫在“全能神”世界的高爱玲,得知外孙女生病的消息后,不是和家人齐心协力抓紧给孩子做手术,却一心认为这是神带来的惩罚,是这些年家人一直阻挠自己、不和自己一起信神造成的,她认为自己必须得更努力,才能得到神的宽恕,破除厄运。

  因此近年来,国外各种宗教团体都千方百计地想办法要在中国传播和发展他们的教义和组织。  据了解,这是该县继大学生郑虎的“八万只蛋鸡养殖”、陈强的“百灵达电脑全自动绣花”两个创业项目荣获“2016年江苏省大学生优秀创业项目”后的又一殊荣。

  w88 冠亚彩票 betway

  河北制定钢铁焦化超低排放地方标准

 
责编:
|
|
51CTO旗下网站
|
|
移动端

十种进程注入技术介绍:常见注入技术及趋势调查

进程注入是一种广泛使用的躲避检测的技术,通常用于恶意软件或者无文件技术。

作者:Covfefe来源:Freebuf|2019-01-18 08:53

 前言

进程注入是一种广泛使用的躲避检测的技术,通常用于恶意软件或者无文件技术。其需要在另一个进程的地址空间内运行特制代码,进程注入改善了不可见性,同时一些技术也实现了持久性。尽管目前有许多进程注入技术,但在这篇文章中,我将会介绍十种在野发现的,在另一个程序的地址空间执行恶意代码的进程注入技术,并提供这些技术应用的截图,以便于逆向工程和恶意软件分析,然后协助检测并防御这些进程注入技术。

技术应用

一、通过CREATEREMOTETHREAD和LOADLIBRARY进行经典DLL注入

该技术是用于将恶意软件代码注入另一个进程最常用技术之一,恶意软件作者将恶意的动态链接库(DLL)的路径写入另一个进程的虚拟地址空间,并通过在目标进程中创建一个远程线程来确保目标进程加载它。

通过CREATEREMOTETHREAD和LOADLIBRARY进行经典DLL注入

恶意软件首先需要选择被注入的目标进程(例如svchost.exe),这通常可以通过调用三个应用编程接口(API)搜索进程来完成:CreateToolhelp32Snapshot,Process32First和Process32Next。CreateToolhelp32Snapshot是用于枚举指定进程或所有进程的堆或模块状态的API,其会返回一个快照。Process32First会检索有关快照中第一个进程的信息,然后通过循环Process32Next来迭代。找到目标进程后,恶意软件通过调用OpenProcess获取目标进程的句柄。

如图一所示,恶意软件调用VirtualAllocEx来获得写入其DLL路径的空间。然后恶意软件调用WriteProcessMemory在已分配的内存中写入路径。最后,为了让代码在另一个进程中执行,恶意软件作者会调用API,例如CreateRemoteThread,NtCreateThreadEx或RtlCreateUserThread。后两个并未存在应用记录,但是一般的想法就是将LoadLibrary的地址传递给其中一个API,以便远程进程不得不代表恶意软件执行DLL。

很多杀毒软件都会追踪和标记CreateRemoteThread,此外,注入也需要磁盘上存在恶意DLL。但这是可以被检测到的。考虑到攻击者最常通过注入代码以逃避检测,所以一些老练的攻击者可能并不会使用这种方法。下面的截图展示了一个叫Rebhip的恶意软件应用了此技术。

Rebhip

二、PORTABLE EXECUTABLE注入(PE注入)

这种技术斌没有传递LoadLibrary的地址,而是将其恶意代码复制到已存在的开放进程并执行(通过shellcode或调用CreateRemoteThread)。PE注入相对于LoadLibrary注入的一个优点是恶意软件不必在磁盘上放一个恶意DLL。与第一种技术类似,恶意软件在宿主进程中分配到内存,其并没有编写“DLL路径”,而是通过调用WriteProcessMemory来编写其恶意代码。然而,这种方法的一个缺陷是目标基址的改变,当恶意软件将其PE注入到另一个进程时,其会有一个新的不可预测的基址,这就要求其动态地重新计算PE的地址。为了解决这个问题,恶意软件需要在宿主进程中找到其重定位表地址,并通过循环其重定位描述符来解析绝对地址。

PE注入

此技术类似于其他技术,例如反射式DLL,因为它们不会将任何文件放在磁盘,但是,反射式DLL注入方法甚至会更加隐蔽。它们不依赖于任何额外的Windows API(例如CreateRemoteThread或LoadLibrary),因为它们在内存中加载和执行自己。反射式DLL注入通过创建一个DLL来实现,该DLL在执行时将自身映射到内存,而不是依赖于Windows的loader。

在分析PE注入时,调用CreateRemoteThread之前通常会看到循环(通常是两个“for”循环,一个嵌套在另一个中)这种技术在crypter(加密和混淆恶意软件的软件)中非常流行。在图二中,样本的单元测试中正在利用这种技术。代码有两个嵌套循环来调整其重定位表,可以在调用WriteProcessMemory和CreateRemoteThread之前看到它。“AND 0x0fff”指令是另一个好指示,表明前12位用于获取包含重定位块的虚拟地址的偏移量。既然恶意软件已经重新计算了所有必要的地址,那么它需要做的只是将其起始地址传递给CreateRemoteThread并让它执行。

传递给CreateRemoteThread并让它执行

三、PROCESS HOLLOWING技术(又名 PROCESS REPLACEMENT AND RUNPE)

恶意软件可以不用将代码注入宿主程序,而是利用Process Hollowing技术。当恶意软件从目标进程中取消映射,并使用恶意可执行文件覆盖目标进程的内存空间时,会发生Process Hollowing。

ROCESS HOLLOWING技术

恶意软件首先会创建一个新进程,以挂起模式托管恶意代码,如图三所示,这是通过调用CreateProcess并将Process Creation Flag设置为CREATE_SUSPENDED(0×00000004)来完成的。新进程的主线程是在挂起状态下创建的,并且在调用ResumeThread函数之前不会执行。接下来,恶意软件需要使用恶意载荷交换合法文件的内容,这是通过调用ZwUnmapViewOfSection或NtUnmapViewOfSection来取消映射目标进程的内存完成的。这两个API基本上释放了一个区的所有内存。现在内存处于未映射状态,loader执行V​​irtualAllocEx为恶意软件分配新内存,并使用WriteProcessMemory将每个恶意软件的部分写入目标进程空间。而恶意软件通过调用SetThreadContext将入口点指向它已编写的新代码段。最后,恶意软件通过调用ResumeThread恢复挂起的线程,使进程退出挂起状态。

用ResumeThread

四、线程执行劫持技术(或者说SUSPEND, INJECT, AND RESUME (SIR))

该技术与先前讨论的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. HKLM\Software\Microsoft\Windows NT\CurrentVersion\Windows\Appinit_Dlls 
  2.  
  3.    HKLM\Software\Wow6432Node\Microsoft\Windows NT\CurrentVersion\Windows\Appinit_Dlls 
  4.  
  5.    HKLM\System\CurrentControlSet\Control\Session Manager\AppCertDlls 
  6.  
  7.    HKLM\Software\Microsoft\Windows NT\currentversion\image 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

恶意软件可以利用异步过程调用(APC)通过将其附加到目标线程的APC队列来强制另一个线程执行其特制代码。每个线程都有一个APC队列,它们等待目标线程进入可变状态时执行。如果线程调用SleepEx,SignalObjectAndWait,MsgWaitForMultipleObjectsEx,WaitForMultipleObjectsEx或WaitForSingleObjectEx函数,则线程进入可更改状态。恶意软件通常会查找处于可更改状态的任何线程,然后调用OpenThread和QueueUserAPC将APC排入线程。 QueueUserAPC有三个参数:

1)目标线程的句柄;

2)指向恶意软件想要运行的功能的指针;

3)传递给函数指针的参数。

在图8中,Amanahe恶意软件首先调用OpenThread来获取另一个线程的句柄,然后通过LoadLibraryA调用QueueUserAPC作为函数指针,将其恶意DLL注入另一个线程。

APC注入和ATOMBOMBING

AtomBombing是一项由enSilo研究首次引入的技术,然后用于Dridex V4。 正如我们在前一篇文章中详细讨论的那样,该技术也依赖于APC注入。 但是,它使用原子表写入另一个进程的内存。

八、通过SETWINDOWLONG进行附加窗口内存注入(EWMI)

EWMI依赖于注入资源管理器托盘窗口的额外窗口内存,并且已经在Gapz和PowerLoader等恶意软件系列中应用过几次。注册窗口类时,应用程序可以指定一些额外的内存字节,称为额外窗口内存(EWM)。但是,EWM的空间不大。为了规避此限制,恶意软件将代码写入explorer.exe的共享部分,并使用SetWindowLong和SendNotifyMessage使用指向shellcode的函数指针,然后执行它。

在写入共享部分时,恶意软件有两种选择。它既可以创建共享空间,也可以将其映射到自身和另一个进程(例如explorer.exe),也可以只打开已存在的共享空间。除了一些其他API调用之外,前者还有分配堆空间和调用NTMapViewOfSection的开销,因此后一种方法更常用。在恶意软件将其shellcode写入共享部分后,它使用GetWindowLong和SetWindowLong来访问和修改“Shell_TrayWnd”的额外窗口内存。GetWindowLong是一个API,用于将指定偏移量的32位值检索到窗口类对象的额外窗口内存中,SetWindowLong用于更改指定偏移量的值。这样一来,恶意软件可以简单地更改窗口类中的函数指针的偏移量,并将其指向写入共享部分的shellcode。

与上面提到的大多数其他技术一样,恶意软件需要触发它特制的代码。在先前讨论的技术中,恶意软件通过调用诸如CreateRemoteThread,QueueUserAPC或SetThreadContext之类的API来实现此目的。使用此方法,恶意软件会通过调用SendNotifyMessage来触发注入的代码。执行SendNotifyMessage后,Shell_TrayWnd接收控制并将控制转移到之前由SetWindowLong设置的值指向的地址。在图9中,名为PowerLoader的恶意软件使用此技术。

EWMI

九、SHIMS注入

Microsoft向开发人员提供SHIMS主要是为了向后兼容。SHIMS允许开发人员将修补程序应用于他们的程序,而无需重写代码。通过利用SHIMS,开发人员可以告诉操作系统如何处理应用程序。SHIMS本质上是一种挂钩API并定位特定可执行文件的方法。恶意软件可以利用SHIMS来定位持久性和注入的可执行文件。Windows在加载二进制文件时运行Shim Engine以检查SHIMS数据库以应用适当的修复程序。

现在有许多方法应用修复程序,但恶意软件的最爱是与安全相关的(例如,DisableNX,DisableSEH,InjectDLL等)。要安装填充数据库,恶意软件可以部署各种方法。例如,一种常见的方法是简单地执行sdbinst.exe,并将其指向恶意sdb文件。在图10中,广告软件“按导管搜索保护”使用垫片进行持久性和注入。它在Google Chrome中执行“InjectDLL”填充程序以加载vc32loader.dll。有一些用于分析sdb文件的现有工具,但是为了分析下面列出的sdb,我使用了python-sdb。

SHIMS注入

十、IAT HOOKING和INLINE HOOKING (或者叫应用层ROOTKITS)

IAT hooking和inline hooking通常称为userland rootkit。IAT hooking是恶意软件用于更改导入地址表的技术。当合法应用程序调用位于DLL中的API时,其会执行替换的函数,而不是原始函数。相反,使用inline hooking,恶意软件则会修改API函数本身。在图11中,恶意软件FinFisher通过修改CreateWindowEx指向的位置来执行IAT hooking。

ROOTKITS

总结

在这篇文章中,我介绍了恶意软件用于在另一个进程中隐藏其活动的十种不同技术。通常,恶意软件会直接将其shellcode注入另一个进程,或者强制另一个进程加载其恶意库。在表1中,我对各种技术进行了分类,并提供了样本作为阅读本文所涵盖的每种注入技术的参考。

注入技术的参考

【编辑推荐】

  1. 洞悉安全新趋势!CSS2018安全领袖峰会首发十大网络安全议题
  2. 卡巴斯基:2018上半年物联网威胁新趋势
  3. 2018上半年勒索病毒趋势分析
  4. 暗网已成为网络犯罪分子的避风港,揭秘暗网6大领域定价趋势
  5. Gartner:2018/2019 六大安全趋势
【责任编辑:武晓燕 TEL:(010)68476606】

点赞 0
分享:
大家都在看
猜你喜欢

读 书 +更多

鸟哥的Linux私房菜 基础学习篇(第二版)

本书全面而详细地介绍了Linux操作系统。全书分为5个部分:第一部分着重说明Linux的起源及功能,如何规划和安装Linux主机;第二部分介绍Linu...

订阅51CTO邮刊

点击这里查看样刊

订阅51CTO邮刊