谈谈注册表项信息隐藏

Windows注册表隐藏磁盘分区技巧 Windows操作系统中的注册表是一个多层次的数据库,它存储了系统配置信息、用户设置、安装软件的状态以及硬件设备信息等。它几乎涉及到Windows系统的所有配置和设置,因此是系统维护和优化中不可或缺的一部分。 阅读详情

理论:
注册表是Windows系统存储关于计算机配置信息的数据库,包括了系统运行时需要调用的运行方式的设置,是系统的核心。操作系统是用特殊的文件(Hive文件)来存储注册表的内容,并提供给用户相关的编程接口(APIs)来进行注册表的操作,例如Advapi32.dll中的Registry Functions(如:RegEnumKey)。在Windows操作系统中,函数的调用有着极其规范的层次结构,如下图所示是系统实现RegEnumKey函数的调用体系。

正常情况下,函数调用返回的结果应该是操作系统提供的实际信息,但是随着间谍软件和Rootkit等恶意代码技术的发展,越来越多的恶意程序都具备了隐藏自身存在信息的功能,这其中最重要就是对注册表项信息的隐藏。注册表隐藏就是将系统呈现给用户的注册表信息进行修改,使得用户或检测工具无法直观地发现事实上存在的注册表内容。目前的注册表隐藏,大都采用的是Hook技术。根据它们不同的运行环境和模式,把常见的注册表隐藏技术称为用户态下注册表隐藏技术和核心态下注册表隐藏技术。它们通常是利用IAT Hook, Inline Hook、远程线程注入、SSDT Hook、中断调度表挂钩、IRP函数表挂钩、原始内核代码修改和特殊指针修改等方式来实现。网上比较多见的核心态隐藏技术是ssdt hook NtEnumerateKey 和inline hook CmEnumerateKey。然而这些方法已经很容易被防御体系发现。

本文是通过修改hive内存结构中的特殊指针hook实现注册表项的隐藏。关于hive文件结构,论坛中曾经有两人写过相关的文章,一篇是炉子大牛写的《HIVE格式解析》,另一篇是HSQ大牛写的《注册表监控弱点演示程序 v0.2 逆向ASM源码及相关资料》,另外,Petter Nordahl-Hagen写过一个hive文件存取库,我整理了下,也附在本篇文章之后,方便大家查阅。

相信看过网上这几篇的朋友一定还有些疑虑,到底注册表的工作原理是怎样的呢?我们今天通过一个驱动代码来揭开它神秘的面纱。

1. 在磁盘上,注册表并不是简单的一个大文件,而是一组称为hive的单独文件。每个hive文件包含了一颗注册表树。有一个键作为该树的根。子键和他们的值存储在根的下面。

当配置管理器(注册表的执行体子系统)加载hive的时候,会在HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Control/hivelist子键下的注册表值中记录下每个hive的路径。下面是本机注册表hivelist子键导出的信息:

 

[HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Control/hivelist]

"//REGISTRY//MACHINE//HARDWARE"=""

"//REGISTRY//MACHINE//SECURITY"="//Device//HarddiskVolume1//WINDOWS//system32//config//SECURITY"

"//REGISTRY//MACHINE//SOFTWARE"="//Device//HarddiskVolume1//WINDOWS//system32//config//SOFTWARE"

"//REGISTRY//MACHINE//SYSTEM"="//Device//HarddiskVolume1//WINDOWS//system32//config//SYSTEM"

"//REGISTRY//USER//.DEFAULT"="//Device//HarddiskVolume1//WINDOWS//system32//config//DEFAULT"

"//REGISTRY//MACHINE//SAM"="//Device//HarddiskVolume1//WINDOWS//system32//config//SAM"

"//REGISTRY//USER//S-1-5-20"="//Device//HarddiskVolume1//Documents and Settings//NetworkService//NTUSER.DAT"

"//REGISTRY//USER//S-1-5-20_Classes"="//Device//HarddiskVolume1//Documents and Settings//NetworkService//Local Settings//Application Data//Microsoft//Windows//UsrClass.dat"

"//REGISTRY//USER//S-1-5-19"="//Device//HarddiskVolume1//Documents and Settings//LocalService//NTUSER.DAT"

"//REGISTRY//USER//S-1-5-19_Classes"="//Device//HarddiskVolume1//Documents and Settings//LocalService//Local Settings//Application Data//Microsoft//Windows//UsrClass.dat"

"//REGISTRY//USER//S-1-5-21-1550111154-316279633-4274931122-1006"="//Device//HarddiskVolume1//Documents and Settings//Jason//NTUSER.DAT"

"//REGISTRY//USER//S-1-5-21-1550111154-316279633-4274931122-1006_Classes"="//Device//HarddiskVolume1//Documents and Settings//Jason//Local Settings//Application Data//Microsoft//Windows//UsrClass.dat"

 

通过这个信息我们看到,在C:/WINDOWS/system32/config目录中存储着HKLM所有项的hive文件以及一个HKU的DEFAULT hive文件,其他的HKU下的hive文件存储在c:/Documents and Settings等子目录下。在hivelist记录的这些信息中,我们看到hive文件只能加载到HKLM和HKU下。如图:

 

也就是HKEY_LOCAL_MACHINE和HKEY_USERS外的注册表项没有HIVE文件对应。

配置管理器从逻辑上将一个hive分成一些称为block的分配单元。如图:

 


其方式类似于文件系统将一个磁盘分成簇。根据定义,注册表block的大小为4096字节(4kb)。当新的数据要扩展一个hive时,该hive总是按照block的粒度来增加。hive的第一个block称为base block. 里面包含了一些全局信息,包括一个特征签名regf、更新的序列号,时间戳,hive格式版本号、校验和以及该hive的内部文件名(如:/Device/HarddiskVolume1/WINDOWS/system32/config/SECURITY)。

结构如下:

lkd> dt _hbase_block

nt!_HBASE_BLOCK

ring0驱动内核级的ROOTKIT实现隐藏文件,隐藏注册表项,隐藏端口.zip 立即下载

相关推荐

更多 LSTM 变种——应用于 CMAPSS 数据集

本文并模型介绍,只是把一些比较火的技术,像双向注意力机制,自注意力机制这样的比较火的内容,简单的和LSTM堆叠,结果发现效果都不如最基础的,这里作者将本人代码及实现结果,进行展示,给各位想更改LSTM的朋友一些。

2301_77491330的博客 1765

UG NX 12.0零基础实战:从草图绘制到三维建模全流程解析

本文详细解析UG NX 12.0从草图绘制到三维建模的全流程,适合零基础用户快速掌握这款工业设计软件。内容涵盖界面设置、基础操作、草图技巧、拉伸旋转建模、布尔运算等核心功能,并通过机械零件实战案例演示完整设计流程,帮助读者系统学习UG NX 12.0的工业设计应用。

weixin_29261711的博客 1170

安信可TB蓝牙模组系列 实战Ble Mesh智能照明系统搭建

本文详细介绍了如何使用安信可TB蓝牙模组系列搭建Ble Mesh智能照明系统。从硬件准备、固件烧录到手机APP组网全流程,提供了实战步骤和优化建议,特别适合智能家居开发者入门。Ble Mesh的自组网能力解决了蓝牙传输距离限制,实现全屋灯光智能控制。

weixin_30856725的博客 352

黑猫带你学eMMC协议第2篇:eMMC部分相关名词释义

1 前言 1.1 声明 本文依据eMMC JEDEC5.1、网络资料及个人工作经验整理而成,如有错误请留言。 本文结合eMMC JEDEC5.1协议手册查看效果更佳。 1.2 本文背景 本文关键词不包括emmc jedec5.1协议第3章节:《Terms and definitions》内容。关于emmc协议层的关键词,直接查阅spec相关章节即可,清晰明了,此处没必要再列出。 本文为本人工作学习中常听到或常用到关乎于emmc/flash的一些关键词合集,没有固定分类,不需要强行记忆,供查询使用。 1.

黑猫奥利奥的博客 7432

1、CUDA 编程基础

GPU计算的发展历程与重要性。首先回顾了计算机技术的发展,特别是摩尔定律的影响,强调了计算能力的快速提升。然而,随着晶体管尺寸的缩小和频率的停滞,单线程性能增长放缓。为了继续提升性能,多核处理器开始普及,促使软件开发者开始考虑并行计算。介绍了延迟导向设计和吞吐量导向设计的概念,CPU和GPU分别代表了这两种设计方法。GPU是吞吐量导向的,拥有众多弱小的ALU,通过流水线处理提高算术吞吐量。GPU的成功在于其高并行性和高吞吐量,以及能够分摊高昂的固定成本的大量销售额。

Justinyh的博客 579

【BUG已解决】RuntimeError: CUDA error: no kernel image is available for execution on the device 解决方案

方案适用场景推荐指数精确匹配官方版本绝大多数场景(大众消费卡+主流数据中心卡)⭐⭐⭐⭐⭐安装历史旧版本Pascal/Maxwell等老显卡⭐⭐⭐⭐安装Nightly版本刚发布的最新架构显卡⭐⭐⭐⭐源码编译官方各版本均不支持的特殊硬件⭐⭐Docker官方镜像追求省心、避免版本排查⭐⭐⭐⭐⭐的核心是PyTorch 预编译包不包含你显卡对应的计算能力架构先确认显卡真实计算能力),而不是盲目重装驱动对比 PyTorch 支持的架构列表),定位是否真的不匹配精确匹配官方版本。

博客 1万+

⭐️VMwareWorkstation17.0虚拟机安装搭建Windows 7虚拟机(完整图文详细步骤含配置VMware Tools教程)

本教程为大家提供了从安装VMware Workstation 17.0开始,到在虚拟机上成功搭建Windows 7专业版系统的完整步骤。我们详细介绍了准备阶段所需的软件和硬件要求,以及在VMware中配置和安装Windows 7系统的每一步操作。此外,我们还特别提到了如何在虚拟机上配置VMware Tools,以便更好地与宿主机进行交互。 通过本教程的学习,读者不仅能够掌握在VMware Workstation 17.0上安装Windows 7虚拟机的技能,还能了解到如何配置虚拟机的硬件以及安装VMwar

Python老吕的博客 2万+

破局KS滑块验证码:从参数加密到轨迹生成,Python逆向全流程避坑实录

快手滑块验证码破解实战:从逆向分析到自动化实现 摘要:本文详细记录了破解快手滑块验证码(KS滑块)的完整过程。通过48小时的逆向分析,揭示了KS滑块的双重校验机制:不仅需要精准定位滑块缺口位置,还需满足参数加密和轨迹特征校验。文章从反爬逻辑分析入手,介绍了工具选型与环境配置的避坑要点,重点讲解了滑块缺口距离计算方法和核心加密参数slide_sign的逆向过程。通过OpenCV边缘检测和Frida动态调试技术,成功实现了滑块验证的自动化,准确率提升至99%。文中附有Python实现代码和实际操作踩坑记录,为开

专注于Python爬虫开发,分享爬虫技巧、项目实战与反爬经验,使用Scrapy、BeautifulSoup等工具,解决数据抓取难题。 1662

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

上一篇: Kill进程的简单办法
下一篇: 一种绕过全局钩子安装拦截的思路
levellee
博客等级 码龄20年 9粉丝 20原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值