vxk的rootkit 技术小结

Linux平台下木马rootkit的检测和防范 近些年来,在网络安全攻击中,高隐匿、高持久化的Rootkit技术成为黑客操控的主要手段,本文,我首先对Rootkit的几种类型进行介绍,主要让大家了解内核态Rootkit的高度定制化需求和Linux系统上存在的其他类型Rootkit,最后从攻防视角给出对Rootkit进行检测和防范的工具和方法。rootkit是Linux平台下最常见的一种木 马后门工具,它主要通过替换系统文件来达到攻 击和和隐蔽的目的,这种木 马比普通木 马后门更加危险和隐蔽,普通的检测工具和检查手段很难发现这种木 马。 阅读详情

by vxk

My Root Kit Note

0. What the Root kit Real Mean For?

Root Kit is a kind of tools to hide itself or other files or process from normal users' eyes or take privileges for whom could control it...

1. Live With Hooks: Hook and Anti-Hook

To Hide Some Files or Process or Even Rebuild a Root kit’s Network may use hooking.

1.1 API HOOK

It's a long time this kind of hooking existed working with IAT or EAT or some time maybe inline. But it is very easy to defeat them, only to read and map a file in correct way then do right relocations, And then you would get real API address or the right code of API’s entry point.

1.2 SSDT HOOK

Sometimes when the API hook (base on pe-file structure) failed to defeat the hook-check, and some apiz wanted is non-exported, I got to SSDT way to hook, it is also a very long time since it turned to normal. And it is easy to find and fix too. One who can only read ntos kernel file and remap the SSDT could remove or check this kind of hooks.

1.3 IRP HOOK

PDriverObject->MajorFunction [MajorFunction] =XX XX XX XX

ZZ=MajorFunction*4+0x38

C7 46 ZZ [<80] XX XX XX XX mov dword ptr [esi+50h], offset _FsdSetInformation@8

C7 86 ZZ[>=80] XX XX XX XX

C7 43 ZZ [<80] XX XX XX XX mov dword ptr [ebx+50h], offset _FsdSetInformation@8

C7 83 ZZ[>=80] XX XX XX XX

Whatever FSD, TDI or other devices and drivers, they have the same thing IRP-Dispatch-Routine, which we hook only by rewrite an address in driver object structure, And it is more powerful then filter-driver(if a root kit is a filter driver it will be easy to find out. Even easily to bypass...)But still some one can read driver files ,and from the DrvierEntry point to get the real irps' VA (just taking a look at icesword by pjf),to make every one understand how to get real irps' VA,I give some details follow:

1.4 Interrupt Hook

For an example, a key logger root kit hook keyboard interrupts. Many powerful root kits to make themselves more useful use interrupts hook. It is hard to find out an interrupt hook on the range out of KiTrapXX's range (910920 put a way to read KiTrapXX’s Address from file...), and also hard to recover. But there is a will there is a way... (I do not know how to get a real address of an ISR which is not set by ntos kernel. But keyboard driver can tell me the real keyboard interrupt, it is hardcode searching...not good way)

1.5 NDIS Open Block Hook

A powerful root kit must support network in kernel mode. For this target, it may use TDI or NDISbut TDI is easy to find or be defeated by anti-spy, so NDIS may be a good choice. Some root kit use IpFltDrv to reuse sock and do its own networkhowever, it is not nice ,many anti-spy can find the IpFltDrv changing, and IpFltDrv can only register one, it would be registered by others. As far as I see, the root kit uty_rk@winXp use protocols open block hooks to own the network. But actually it would crash when it were running with some anti-spy. So there is another way on Miniport layerit is to hook NDISWAN Miniport Open Block, but there is a problem in how to get the list of NDIS miniport , see the NDIS IM Driver register course ,we know NdisIMRegisterLayeredMiniport can return a verb which is the a pointer to the list. And we can just register a fake IM to get the list pointer and then we could hook them just like hook protocol open blocks. To find this kind of hook must using hardcode search to find some VA from ndis.sys and tcpip.sys and ndiswan.sys.

1.6 Non-exported Inline Hook

Anti-spy may use inline hook to hook some important non-exported kernel mode calls and makes root kit difficult to do its work. And root kit can also use inline hook to bypass some checks. To find or recover an inline hook must use remap files and redo relocations, then compare the mappings and memory just like SVV. The recover of an inline hook might turn to a BSOD in the end.

2. Kernel Network: TDI and NDISBlue or Goal 

Every useful root kit must support networking with kernel socket.

2.1 TDI

       Most of free versions of root kit are using TDI Client Technology to make a kernel socket. But with the time changing, it is not useful today.

2.2 NDIS

       hug_ntrootkit4.0@winNt/2k used registering NDIS Protocol to do its networking; uty_rk@winXp used NDIS Protocol Open Block Hooks to do the same thing. EVA_rk@winNt (no public version) used NDIS Miniport Open Block Hooks, and iceberg wrote a full-version tcp sock based on NDIS Miniport Open Block Hooks. But in my project bdrk and winss (no public version and still in construction), NDIS Miniport Open Block Hooks sit many blue screens…

3. KDOM: Fast to Die or A Good Way ?

       Fu_rk@winNT brings a new way to hide process and get privileges and do some things only by modifying some structures in system memory.

      Every coin has two faces, KDOM can do nearly every things but the target which will be modified is hard to get the right positions. And hardcode the offset or address may cause the system crashed. To find the KDOM modified is easy, only to use another link list or another database head…

 

4. Final

       I am Chinese, and my English is very poor.

       Contact me:

                            cvcvxk@gmail.com

                           

Rootkit攻击技术详解与防御实战 Rootkit 是一种旨在隐蔽地控制系统并维持长期访问权限的恶意技术集合。与传统病毒或蠕虫不同,Rootkit 更注重于“隐身”与“持久化控制”,通常通过修改操作系统内核或关键系统调用,隐藏其存在及关联的恶意行为。其名称源自 UNIX 系统中的“root”权限(最高权限账户)和“kit”(工具包),意味着攻击者利用这些工具获取并维持系统的最高控制权。Rootkit 通常具备以下核心特性:隐蔽性:通过劫持系统调用、修改进程和文件列表等方式,隐藏自身及相关进程、文件、网络连接。持久性。 阅读详情

相关推荐

内核安全软件仿XT,开源,支持LUA脚本

内核安全软件仿XT,开源,支持LUA脚本,可自编写脚本回复内核操作,支持内核HOOK检测,DPC,IOTIMER,ssdt,进程线程检测等。

【编写一个简单的linux kernel rootkit

转载看雪精品文章简单的linux rookit

莫慌的博客 1375

VT虚拟化驱动+内存读写+机器码修改源代码

纯c++源代码,不是.sys, 可以修改CPUID和硬盘ID,里面集成了各种钩子处理、隐藏驱动、伪装、PatchGuard、文件保护、窗口保护、拦截数据包、绕过反调试、等等...非常适合拿来做技术研究。

VT调试器 X64

想了很久还是发上来吧,烂在硬盘里面没用,共享既是进步~ 前排感谢在我学习Intel-VT技术困难的时候各位朋友的帮助 Tesla.Angela 有人吗? cvcvxk viphack sxpp Kalong 以及国外友人asamy 以上排名不分先后 这份代码在WIN7 64 打了补丁的情况下能正常工作 不打补丁需要对THREAD的结构体做个修改 才可以正常运行 代码部分: 这

落笔飞花笑百生的博客 8380

rootkit概述

这个是摘自微信公众号里面的文章; rootkit是一个复合词,由root和kit两个词组成。root是用来描述具有计算机最高权限的用户。另一方面,kit被Merrian-Webster定义为工具和实现的集合。因此,rootkit是一组能获得计算机系统root或者管理员权限对计算机进行访问的工具。但在恶意软件领域,我们将rootkit定义为一组在恶意软件中获得root访问权限、完全控...

小冰球 1万+

什么是rootkitrootkit技术

在网络安全中经常会遇到rootkit,NSA安全和入侵检测术语字典( NSA Glossary of Terms Used in Security and Intrusion Detection)对rootkit的定义如下:A hacker security tool that captures passwords and message traffic to and from a compute

唯一谣|Airs|走尽天涯路|极地阳光 1460

Vxk那家伙~~~无奈了

最近作了一个TCP的微内核片子的Firmware,被vxk给看到了,天天来观摩——没法打发他,只好给他一些spec了...郁闷阿~另外他的ACPI的Rootkit,居然想要一个PCI+SMBus的硬盘NTFS和FAT32的读写方案,看在朋友一场,找个时间给他写写算了....郁闷阿,这个东西没钱... 

atm2001的专栏 1997

ACPI BIOS RootKit 实践

头衔: 无名氏门派: 使徒十三  等级: 大天使 信息:   威望: +5 积分: 2081  现金: 5904 雷傲元 存款: 2552072 雷傲元 贷款: 没贷款 来自: 保密  发帖: 1916 篇 精华: 8 篇 在线: 54 时 10 分 45 秒 注册: 2002/08/05 08:43am 造访: 2006/02/11 08:40pm  消息 查看 搜索 好友 复制 引用 回复 只

1668

[>>蓝屏出品>>]ACPI BIOS RootKit 实践

头衔: 无名氏门派: 使徒十三  等级: 大天使 信息:   威望: +5 积分: 2081  现金: 5904 雷傲元 存款: 2552072 雷傲元 贷款: 没贷款 来自: 保密  发帖: 1916 篇 精华: 8 篇 在线: 54 时 10 分 45 秒 注册: 2002/08/05 08:43am 造访: 2006/02/11 08:40pm  消息 查看 搜索 好友 复制 引用 回复 只

生命的守望 2166

hide the files

procedure TForm3.Button3Click(Sender: TObject); var    attr:integer; begin    attr := fileGetAttr(ExtractFilePath(Application.ExeName)+'sb.tbr');    if not ((attr and faHidden) = faHidden )then

WhbtomT的专栏 314

My Root Kit Note

cite.fav_csdnstylebykimi { font-style: normal; margin: 0 0 0 5px; display: inline; text-decoration: none; padding: 0; } cite.fav_csd

大浪淘沙的专栏 1153

卡巴6安全防护机制的点滴

感谢vxk,xyzreg的文章。击败安全系统系列(1)之 Kaspersky Internet Security / Kaspersky AntiVirus 6.0         2006年 5月15日,著名的反病毒安全软件厂商KasperskyLab发布了划时代的安全软件套装Kaspersky Internet Security 6(简称KIS6)以及 Kaspersky AntiViru

2135

邪恶的RING0注射SHELLCODE

ZwCreateProcessEx 是个非常非常好的东西,虽然他是个UNDOC.但是如果你仔细阅读过WIN2K的SRC,并且非常了解PE的运行机制,你会发现一些很有趣的东西。这对目前的所有NT内核的系统来说都是致命的可以用来做什么1. 制造漏洞2. 提升权限3. 拿来写病毒4. 拿来写各种木马5. 各种ROOTKI但是这里我只想很简单的说一下原理。我只希望这样的东西只用来讨论而已,

1322

Rootkit介绍

本文主要介绍了Rootkit相关知识。

#7的博客 2290

rootkit技术

熬夜写llroot,写的头有些晕了,代码也有点乱,所以停下来歇歇;就又去逆向昨天下的那个rootkit,搞了1个多小时,头又晕了,才搞了不到一半,夜深人静的时候,孤孤单单,没有美女陪,不爽啊.想想好长时间没有在这个blog上写技术文章了,于是就转来下面一篇文章,文章比较老了,针对linux2.2内核的,但是基本的思路是没有失效的.正好这学期的操作系统课程考试也打算让研究生写一些类似的程序,所以贴在

sdulibh的专栏 6789

什么是 Rootkit

常见的rootkit定义是一种恶意软件程序,它使网络犯罪分子能够在不被检测到的情况下访问和渗透计算机中的数据。它涵盖了旨在感染计算机,为攻击者提供远程控制并长时间保持隐藏的软件工具箱。因此,Rootkit是最难发现和删除的恶意软件之一,并且经常用于窃听用户和对计算机发起攻击。Rootkit恶意软件可以包含多个恶意工具,其中通常包括用于启动分布式拒绝服务(DDoS)攻击的机器人;可以禁用安全软件,窃取银行和信用卡详细信息以及窃取密码的软件;和击键记录器。Rootkit 通常为攻击者提供进入计算机的后门,使他们

南北极之间 6810

渗透测试之内核安全系列课程:Rootkit技术初探(一)

注意,段描述符中,第 41-44 位,是 TYPE ,其 配合 段描述符 中的 第 45 位 S 位 的值,来确定 当前 段描述符 所指向的 段空间 是 数据段空间,还是 代码段空间!注意,段描述符中,第 55 位,存储着 D / B 位 ,其影响着,段的寻址方式!如果值为 0 ,意味着,这个段描述符,也会是无效的!注意,段描述符中,第17-32位,存储着 段地址 的 第1-16位 ,第33-40位,存储着 段地址 的 第17-24位,第57-64位,存储着 段地址 的 第25-32位。

fearhacker的专栏 2121
上一篇: 一些内核研究的经典电子书籍
下一篇: 今天终于找到bi跨平台病毒的源码了
iiprogram
博客等级 码龄25年 1066粉丝 1515原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值