今天,我们来讲一下内核安全!
本文章仅提供学习,切勿将其用于不法手段!
目前,在渗透测试领域,主要分为了两个发展方向,分别为Web攻防领域和PWN(二进制安全)攻防领域。在PWN的二进制领域,免杀技术,一直是后渗透利用阶段的重要安全技术之一。
想要免杀,需要了解的安全技术知识包括软件加壳、代码混淆(例如,使用花指令)、隐匿技术(例如,Rootkit技术)、动态加密等内容。
今天,我们主要讲一下,Rootkit 技术 !
Rootkit 是一种隐匿网络攻击的新技术!
Rootkit 通过修改 操作系统内核 或 更改指令执行路径 ,来隐藏系统对象(包括文件、进程、驱动、注册表项、开放端口、网络连接等),以逃避(或者说是,规避)标准系统机制的程序。
Rootkit 也是一种软件,只不过,是一种比较特殊的软件!
利用 Rootkit 技术,编写而成的 Rootkit 程序,一般情况下,都可以被称之为是 Rootkit 软件。
Rootkit 软件的开发者,可以借助于 Rookit 隐遁技术,在 渗透测试行为 的 后渗透阶段,对已被渗透的目标网络系统 进行 更深一层的 渗透测试行为!
由于 Rootkit 技术的 高隐匿特性,一般的 安全防护手段,可能难以对其进行有效防御和行为拦截!
很多能力较强的渗透测试工程师,会使用 Rootkit 隐匿攻击技术,去逃避安全检测和渗透行为取证!
由于 Windows 系列操作系统,在一些地区的拥有较高的市场份额占有率,因此,我们也主要来讨论 Rootkit 技术 在 Windows 系统环境中的技术实现,以及与之相对应的安全检测手段1
Rootkit 的 中文翻译为 : 恶意获取管理员特权的工具!
利用 Rootkit 技术,渗透测试工程师,往往可以在 靶机系统管理员 毫不知情的情况下,悄悄获取目标靶机的控制权!
Rootkit 的 核心特性,即为 高隐匿特性 !使用 Rootkit 技术编写的远程控制程序,可以避开大部分 安全软件 或 杀毒软件 的安全检测,有效突破靶机的防御环境!
Rootkit 技术,为什么强大呢?
Rootkit 软件,一般工作在 R0 层 !
注意,很多安全软件,也是运行于 R0 层!
所以,这意味着,Rootkit 软件 和 安全软件 工作于同一层次!它们,对于操作系统内核而言,具备同等的操作权限!无论是 Rootkit 软件,还是 其它 杀毒软件,想要驻留在内核层!就必须要注册成为 驱动程序!什么是驱动程序呢?简单点说,在Windows 系列的操作系统环境中,就是文件扩展名以 .sys 结尾的那些文件!
想要编写 Rootkit 软件,想要开发针对 Rootkit 软件的检测程序,我们就必须要学会编写驱动程序!也就是说,我们必须要学会内核编程!
想要进行内核编程!我们需要知道,什么是特权指令!
注意,内核级的软件程序,是可以访问所有内存地址空间的!
这意味着,内核级的软件,可以读写任意地址空间中的数据内容!
这才是内核编程的巨大魅力所在!
我们来科普一下,比较重要的操作系统内核级编程,需要用到的相关知识!
我们要知道 物理内存分段 和 编址机制 !
学习操作系统内核编程,我们一定要首先学会 汇编语言!
如果你接触过 汇编语言 ,你会知道,汇编语言中,存在 段 和 物理内存地址的概念!
在 汇编语言 的程序设计领域中,存在