十大推荐

当前位置:主页 > 十大推荐 >

N种内核注入DLL的思路及实现 - 狂客

内核注入

,这项技术陈旧,但与众多种多样的的行使职责的。。如今RK的偏微商偏重不注意到审阅。,游玩是

SYS+DLL

,有些不注意到发送。,每件东西都存分娩调回工厂中。。或许某些人会说。:每件东西都在胸部。是什么办不到的?。是啊,假设内核可以做本人人可以在R3上使完满的伪造,,软件利用人员不用做应用。。偶尔,人们真的需求R3顺序来开车砂砾层,这是严重地的或不用要的。,一道菜 /  DLL是一任一某一恰当地的选择。,但同样审阅过于心比天高。,依据更多的先生偏重关怀DLL。。

    利用获得安全软件、小型器,人们可以从中透彻理解无疑的。,Anti rootkit工夫,在顶点环境下,您可以应用相反的技术被发现的人。、泻药RK,誓言用户电脑的主力队员应用。。在此,我将根究内核注入的几种思惟和介绍娼妓基音的。。


(1) APC技术

    将APC拔出到AltbbALE的用户公务的线中,让它工具它的外壳指定遗传口令。,工具人们的指定遗传口令。。该办法复杂实际的。,但不敷波动。,相容性差。发生预示,T拉平呈现拔出等作废气象。,不注意到令人精疲力尽的。,拔出偶尔被拦截者。,无法介绍娼妓深思熟虑所有物。。(指我一回应用过的开车顺序):

反向编辑经过源指定遗传口令

)


(2) 内核Patch  [url=file://KnownDLLs/]\KnownDLLs\URL CreateThread

    [url=file://KnownDLLs/]

\KnownDLLs

URL是抱反感干才,当最新的磁盘DLL培养到内存时,当静止一道菜中间呼叫DLL时,,离从磁盘反复培养。,从在这里测绘到本人的一道菜附件。。这给了人们一任一某一上等的的机遇去做大局修补。:

        ZwOpenSection翻开 [url=file://KnownDlls/]

\KnownDlls\

URL,下令ZWMAPVIEWFFIEW将一任一某一正本测绘到您本人的一道菜附件。,那么在内存的指定遗传口令段中找到使豁裂。,选择在这里作为人们的假行使职责的回忆缓冲液。。修正CREATTHOST行使职责的前5个音节,略过到同样使豁裂。,当体系说得中肯无论哪一个线被确立或使安全时,将赴CREATTHOST行使职责。,那么在使豁裂中工具ShellCode。,它主持叫LoadLibrary装载人们的DLL。。DLL一次培养,IOCTL将预示导向的。,让作司机卸车钩。这就使完满了内核注入DLL的审阅。。在检验中被发现的人

同样审阅下令CytType行使职责与众多种多样的的频繁。,因而引发其他事件的一件事会很快。,可以在不到一秒钟的工夫内培养DLL。,人们的吊钩也被倾吐了。。这么繁殖了波动性。。示意图如次:



(3) 内核 HOOK ZwMapViewOfSection

    培养时会下令必然的模块。

ZwMapViewOfSection

,譬如一道菜确立或使安全时测绘N份DLL到本人的假的附件中去.人们掉换SSDT说得中肯同样行使职责,正培养过滤。

的环境,从限制因素获得利益或财富它的根底,Inline 吃钩

CreateThread

行使职责,在同样一道菜的假的地址附件中略过到缓冲液。,使完满了DLL的培养审阅。

坩埚API


ZwAllocateVirtualMemory

---- 在一道菜附件中分派内存,沉淀物Shellcode


ZwProtectVirtualMemory

---- 使最近的内存块可读和可写。


IoAllocateMdl

---- 确立或使安全MDL

坩埚指定遗传口令如次



    与办法2相形,规律类似。但机遇多种多样的。,险乎相反的所有物。,它只会延缓DLL的注入。。几乎Shellcode的编纂,类似物同样地。芜菁作物和经用于英式英语有本人的爱。,次要停止身体的的精心制作的。。假设使安定SeleCal码毛病,请到史诺建立去查材料。,数量庞大的数量庞大的模板,在这里指责YY。。


读雪与读月——知识ShellCode用钢笔画的
[注]一任一某一复杂的Shellcode
Shellcode的小蓄意的
Add_Section

(4)

内核 HOOK
NtCreateThread

    崇拜者

审阅确立或使安全审阅

,显然,有很多办法可以经过补丁介绍娼妓DLL注入。。

    当一道菜完毕时,它是一任一某一

空水壶

,不注意到炎热的的开水(航班)。,依据体系下令NtCeReTeType来确立或使安全它的主线(注水)。 –

生水

),音管了很长一段工夫后,我讨厌了。,因而体系跳出了。,回到审阅附件,呼叫预示,对它说:这是一任一某一新的审阅出现了。,你把它标在你的值班上。。那么开端培养DLL。,把体系KnownDLLs说得中肯本人需求的DLL都Map一份到同样大水壶中。那么KiThreadStartup把壶里的凉水热了。,水就如此开端了。

炎热的

了,此刻,主线开端分给。。。。

    拦截者NtCreateThread,介绍娼妓

最近的线语境

,保养它中间赢利的地址(在空水壶里),为本人诱拐地址,内侧装满ShellCode以培养目的DLL。。几乎缓冲液的选择,数量庞大的数量庞大的胚胎。在这里是一任一某一复杂的附加到最近的的审阅。,在大量的假的2GB一道菜地址附件中分派属于你本人的许多小内存,Enough ShellCode够了。。示意图如次:



(5) 经用的内核传染模块,让传染模块帮忙人们。Load DLL

    同样办法短时间远。,最原始和最原始的传染曾经开端。,可以扩大某个人的权力新的宗教节日。,插层使豁裂,不管怎样,让静止模块培养到内存中,帮忙人们培养DLL下的途径。,一旦培养DLL,它就可以回复传染。,泻药印象。按着传染口令,一堆互联网网络。由于它指责由传染开车顺序开车的(更多试用试验和),静止的气质是同样地的。,注意到本人参加比赛。。


(6) 拦截者NtCreateUserProcessNtCreateSymbolicLinkObject

    前者结果却在Vista下应用。 截获后

PsLookupProcessThreadByCid

获得利益或财富ETHREAD / EPROCESS,判别倘若是

通向的,假设是,则在一道菜附件中分派内存。,下令

NtGetContextThread

获取最近的线语境,下令ZwWriteVirtualMemory装满Shellcode区域,介绍娼妓

LdrUnloadDll

LdrGetDllHandle

等地址,经过它们培养DLL。那么喊叫

NtSetContextThread

复原原始语境。几乎同样办法,请参阅DRIVEREST上的某个人解除的BIN。。

[”

内核介绍娼妓DLL注入。它可以完整朝反方向KAV反病毒A

”]


(7) 内核拦截者NtResumeThread
(8)NtUserSetWindowsHookEx 注入

顺便提及说一下,在R3上停止DLL注入。

1.

CreateRemoteThread

(或)

NtCreateThreadEx

(应用) in Vista)

  2.

SetThreadContext

(种类 the EIP)

  3.

NtQueueAPCThread

  4.

RtlCreateUserThread

  5.

SetWindowHookEx
小结:

    看整个审阅的开端审阅,有很多地方可供修补。,由于誓言审阅、线语境不注意到被残害。,喷出办法有很多种。。由于确保人们的DLL注入工夫十足短。,波动性十足高。。当人们没奈何要从内核注入DLL到用户一道菜去时,同样体系被深深地流毒了。,此刻,应用下面提到的技术培养DLL。,让DLL使完满人们不克不及驾驭的分给。,这是可以承兑的。。

    下面提到的胚胎是我当初所发生和介绍娼妓的。,分钟的顺序可以在指定遗传口令中钞票。。欢送每人积极探索,却更、更波动。

不罪恶

的办法。

咨询热线:  Copyright © 2016-2017 bwin - bwin官网 - bwin娱乐 版权所有