注册表(英语:Registry)是Microsoft Windows用于存储系统和应用程序配置信息的重要层次数据库。
早在Windows 3.0推出OLE注册表出现在技术上。但是,从Windows 从95开始,注册表才真正成为Windows在随后的操作系统中,用户经常接触内容并继续使用。随后推出的Windows NT是第一个从系统级别广泛使用注册表的操作系统。(via 维基百科)
二、二。注册表的组成结构注册表由键(key,或称项)、子键(subkey,子项)和值项(value)构成的hive文件组成,关于Windows注册表hive格式详情请参考本文:regf/Windows registry file format specification.md at master · msuhanov/regf · GitHub
注册表的结构是树状结构和键(key,或项)是一个节点,子键(subkey)子健也是这个节点的子节点。键的属性称为一个属性value(值项),value由名称、类型、数据类型和数据组成。键的属性称为一个属性value(值项),value它由名称、类型、数据类型和数据组成。一个键可以有多个值,每个值的名称都不一样。如果值名是空的,值为键的默认值。
打开注册表编辑器查看其结构组成:
注册表的主键有五个,即主分支:
HKEY_CLASSES_ROOT:包括启动应用程序所需的所有信息,包括扩展名、应用程序与文档之间的关系、驱动程序名、DDE和OLE信息,类ID编号、应用程序和文档图标等。HKEY_CURRENT_USER:包括当前用户的配置信息,如环境变量、桌面设置等HKEY_LOCAL_MACHINE:包括安装在计算机上的硬件和软件信息HKEY_USERS:所有用户配置信息,包配置信息HKEY_CURRENT_CONFIG:当前硬件配置信息。注册表的数据类型如下:
REG_SZ:字符串类型,文本字符串类型REG_BINARY:二进制类型,长度不定的二进制值,以16进制的形式显示REG_DWORD:双字,32 位的二进制值显示为 8 十六进制值REG_MULTI_SZ:多字符串,多个文本值字符串,字符串间用 nul 分开,结束两个 nulREG_EXPAND_SZ:可扩展字符串,包括环境变量字符串注册表中的时间格式如下:
FILETIME:64位值代表100纳秒的间隔(从UTC1601年1月1日开始)
Unix Time:32位值,代表间隔多少秒(从UTC1970年1月1日开始)。
DOS Date/Time:当地时间和年月日详细记录了两个16位值。
DOS Date/Time:当地时间和年月日详细记录了两个16位值。三、存储登记表
注册表在Windows NT操作系统分为多个文件存储,称为Registry Hives,每个文件都被称为配置单元。主要配置单元有:
SYSTEM:相应的注册表分支为HKEY_LOCAL_MACHINE\\SYSTEM,相应的存储文件是\\Windows\\System32\\config\\SYSTEM,它的功能是存储计算机硬件和系统的信息。NTUSER.DAT:相应的注册表分支是HKEY_CURRENT_USER,存储在用户目录下,主要用于存储用户的配置信息。SAM:分支是HKEY_LOCAL_MACHINE\\SAM,存储在C:\\Windows\\System32\\config\\SAM用户的密码信息保存在文件中。SECURITY:对应的分支HKEY_LOCAL_MACHINE\\SECURITY,存储在C:\\Windows\\System32\\config\\SECURITY安全设置信息保存在文件中。SOFTWARE:分支是HKEY_LOCAL_MACHINE\\SOFTWARE,文件存储在C:\\Windows\\System32\\config\\SOFTWARE保存安装软件的信息。修改登记表的主要方法有:1。提供使用Windows注册表编辑器:%systemroot%\\regedit.exe;2、使用reg命令可以添加、删除和检查注册表,导入和导出注册表文件(reg导出或加载配置单元(RegHive)等待操作;3.使用reg文件,用户可以通过注册表编辑器导出注册表中的某些项目reg相反,可以导入文件reg文件还原或修改项目。
另外,为防止注册表出错和损坏,Registry hives还包括注册事务日志文件和注册表备份文件。另外,为防止注册表出错和损坏,Registry hives它还包括注册事务日志文件和注册表备份文件。事务日志文件名称与注册表文件一致,在同一路径上只有不同的后缀。事务日志文件.LOG作为后缀,将显示多个日志的后缀LOG1、LOG2这样。(如查看这些日志文件,需要打开文件夹选项,取消隐藏受保护的操作系统文件的检查)备份文件在\\Windows\\System32\\config\\RegBack\\路径中。在修改将数据写入主文件之前,Hive写入器将首先将这些数据存储在事务日志文件中。如果在写入事务日志时出现错误(如系统崩溃),则不会影响主文件。如果在写入主文件时出现错误,可以通过事务日志中包含的数据恢复主文件。
四、获取和分析Hive要获取Hive,可以通过reg save命令创建Registry Hives的副本。(执行管理员权限的命令提示符)
分析Hive可使用开源软件RegRipper,RegRipper是一个用perl编写的开源工具可以从登记表中提取和分析各种信息(Key、value、data)供取证人员分析。
RegRipper项目地址:https://github.com/keydet89/RegRipper3.0打开RegRipper软件,选择Hive设置报告存储路径,选择文件Profile,然后点Rip It它将创建两个文件,一个是日志文件,一个是报告文件打开SAM hive分析报告文件,您可以看到用户和用户组的详细信息五、取证实战
来源:Cynet应急挑战赛
题目描述:Podrick 说在2020 年 2 月 3 午餐时间(下午 12:00 左右),有恶意的。 USB 他的电脑插入了设备。他还提到他看到了他的一个同事——Theon G,手里拿着 USB设备离开了他的办公室。他还提到他看到了他的一个同事——Theon G,手里拿着 USB设备离开了他的办公室。Theon 声称他进入办公室是为了拜访他 Aria(与Podrick在同一个办公室)。见Aria不,他离开了办公室。Podrick他怀疑没有锁屏的习惯。Theon当他不在的时候,他他的数据。
提示:1、检查Podrick2.确定2020年2月3日是否有电脑。USB设备连接到Podrick的PC?;3、提交可疑 USB 设备的Serial/UID题目提供的文件有几个Hive文件除了这些文件代表什么,这些文件已经在前面的小节中介绍过了。Amcache.hve,这是Win只有更高版本的系统才有。它存储与执行程序相关的信息,当用户执行某些操作(如基于主机的应用程序、安装新应用程序或从外部设备运行便携式应用程序)时,会记录程序相关信息:如程序创建时间、修改时间、名称、描述、程序制造商和版本、程序执行路径等SHA-1哈希值等。即使程序从系统中删除,这些信息仍然存在。
回到这个话题,我们必须进行调查USB根据以前的知识,我们需要分析使用痕迹SYSTEM这个Hive文件。打开RegRipper工具,加载提供SYSTEM导出分析报告的文件。通过搜索打开报告文件USBSTOR(这个key(SYSTEM\\CurrentControlSet\\Enum\\USBSTOR)存储任何曾经连接过系统的存储器USB产品信息及设备ID),能找到相关的USB设备登记表信息。通过搜索和筛选比较,我们最终发现2020-12:12:32有一个USB电脑插入设备,Serial/UID是: 4C530000281008116284参考资料:
Registry Hives - Win32 apps | Microsoft Docs https://docs.microsoft.com/en-us/windows/win32/sysinfo/registry-hives
注册表 - 维基百科,免费百科全书 https://zh.wikipedia.org/wiki/注册表regf/Windows registry file format specification.md at master · msuhanov/regf · GitHub https://github.com/msuhanov/regf/blob/master/Windows registry file format specification.md
本文涉及相关实验:FastIRCollector:Windows取证利器https://www.hetianlab.com/expc.do?ec=ECID9d6c0ca797abec2016100814354600001&pk_campaign=toutiao-wemedia(FastIR Collector是一个Windows以下证据收集/信息收集工具包括所有你能想到的东西,不限于内存、注册表、文件信息等。介绍本实验FastIR Collector在windows 7下的使用。介绍本实验FastIR Collector在windows 使用7次。