什么是内核级木马?(1)老男孩IT网络安全培训班面授教程

    /    2019-08-13

一、什么是内核级木马

内核级木马一个无进程、无DLL、无启动项的、集多种Rootkit技术特征的独立功能远程控制后门程序。其利用线程注射DLL到系统进程,解除DLL映射并删除自身文件和启动项,关机时恢复。它是内核级的木马程序,主要部分工作在Ring0,因此有很强的隐蔽性和杀伤力。

二、内核级木马产生的意义

目前,传统应用层木马由于当下一些主动防御软件,杀毒的免费使用,各类反病毒工具对其技俩了如指掌,而木马能带来巨大危害的主要原因在其隐蔽性,各类反病毒工具的快速发展就导致木马谋取利益的成本大幅度提高,其带来的利益以及威胁程度呈现逐年下降的趋势。由于传统应用层木马的隐蔽性大幅度下降,黑客为了提升带来的效益以及获得被控主机更加持久的控制权,因而提升木马的隐藏技术就显得更加迫在眉睫。

内核级木马的隐藏主要使用内核Rootkit技术,内核Rootkit程序在使得远程黑客能够更长期的享有目标机器的底层系统控制权的同时在很大程度上不被杀毒软件发现,从而对被控主机造成更加严重的安全威胁,此外内核Rootkit不仅仅存在于Windows系统中,同样存在于LINUX等其他系统中。

而对于信息安全工作者,找出防御内核级木马的最有效途径自然是要深入了解内核木马的工作机制,内核Rootkit攻击技术,内核Rootkit隐藏技术,掌握其规律和特性,才能更好的找到应对此类木马的措施,以及对未来可能出现的安全隐患做好一些提前的防备。

三、内核木马于传统应用层木马隐藏技术对比

内核级木马隐藏主要有进程隐藏,文件隐藏,自启动隐藏,通信隐藏等,主要于木马的架构有关,那么对于一些主从型内核级木马,木马涉及到的功能模块越多自然对应涉及的隐藏项也就越多,甚至有时候还要做注册表隐藏,服务隐藏等。

3.1.进程隐藏

进程隐藏最初技术体系为最简单的混淆字符隐藏,如系统进程名为svchost.exe,木马进程名改为svch0st.exe隐藏,紧接着到注册服务隐藏,dll注入隐藏。现在内核级木马大部分通过进程控制块中的活动进程链表(ActiveProcessLinks)中摘除自身来达到隐藏,或通过从PspCidTable表中摘除自身等方法来达到隐藏目的。

3.2.文件隐藏

文件隐藏最初是通过存放于敏感目录(系统目录)并混淆文件名来实现,后来有些人通过挂钩应用层上的FindFirstFile,FindNextFile等API来实现该目的,现在在内核层隐藏文件方法一般试用FSDHook或FSD Inline Hook来实现。

3.3.自启动隐藏

自启动隐藏先后经历了添加注册表Run值,修改系统启动文件,注册为服务,修改定时程序,感染系统文件技术来实现,现在黑客开始关注于在硬盘固件,bios等地方做手脚来实现自启动隐藏。

3.4.通讯隐藏

对于通信隐藏来说,现在有些研究者已经实现了NDIS小端口驱动层的隐藏,不过主流的木马仍然在TDI层面上通信或者在NDIS中间层上通信。


*本文作者:丝路安全团队,转载请注明来自FreeBuf.COM


(4)

分享至