rootkit学习笔记

本文详细介绍了Rootkit的概念、功能以及与病毒的区别。通过分析rootkit的工作方式,包括修改二进制代码、隐藏进程和文件等,揭示了其在系统安全中的独特地位。文章重点探讨了Windows驱动程序编程,利用DDK进行驱动开发,并展示了如何通过钩子技术(如SSDT、IDT和IRP钩子)实现内核级隐蔽。同时,提到了运行时补丁技术在修改代码逻辑中的应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.销声匿迹——认识rootkit
定义:rootkit是一组工具包,能够将一组无法检测的程序或代码长久且可靠的安装于目标主机上。
功能:远程命令、控制和软件窃听(嗅探)。
rootkit本身并不邪恶,甚至可以用来做计算机取证。
工作方式:修改二进制代码(exe文件等等),程序本身内置的后门(所谓的复活节彩蛋),间谍软件对其他软件的修改(劫持浏览器),对源代码的修改(开源)。
另外,rootkit和软件的exploitation不同,更不是病毒。
攻击型rootkit技术:绕过防火墙和IDS(HIPS、NIDS)。
a.主动攻击 对系统硬件和内核进行修改。
b.被动攻击 对数据的储存和传输模糊化(数据加密,将解密密钥放在非易挥发硬件存储器中,BIOS、闪存、EEPROM)。

2.破坏内核——小试牛刀
内核组件:
a.进程管理 内存中的数据结构记录了所有的进程和线程,通过修改数据结构可以隐藏他们。
b.文件访问 修改这些文件访问接口攻击者便可隐藏文件和目录。
c.安全性 修改操作系统安全性约束的部分代码可以改变所有安全机制。
d.内存管理 了解内存管理的映射机理有利与对调试器和取证软件的数据瘾写。
提示:为了便于管理和开发,rootkit的功能应该尽量的模块化。另外,类似于一夫一妻,一个系统只装一个rootkit(否则会出现冲突)。

windows驱动程序编程:
DDK足矣,现在用WDK,除了兼容性更强外,貌似没什么太大的区别。
值得一提的是,我们开发时用checked编译环境,而最终完成时用free环境。

实践:
建立文件SOURCES,内容如下:

TARGETNAME=TESTDRIVER
TARGETPATH=OBJ
TARGETTYPE=DRIVER
SOURCES=test.c

TARGETNAME变量应该起一些不易被发现的名字,使之看上去想一个真正的设备驱动,看看系统的设备驱动相信就能获得很多灵感。
TARGETPATH通常设置为OBJ。
TARGETTYPE通常设置为DRIVER
SOUR

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值