1.mimikatz源码分析-lsadump模块(注册表)
2.数据存储扫盲:hbase,码分cassandra,clickhouse,pg,neo4j...
3.hbase特性有哪些
mimikatz源码分析-lsadump模块(注册表)
mimikatz是一款内网渗透中的强大工具,本文将深入分析其lsadump模块中的书籍sam部分,探索如何从注册表获取用户哈希。码分
首先,书籍简要了解一下Windows注册表hive文件的码分结构。hive文件结构类似于PE文件,书籍国产冷冻食品溯源码查询包括文件头和多个节区,码分每个节区又有节区头和巢室。书籍其中,码分巢箱由HBASE_BLOCK表示,书籍巢室由BIN和CELL表示,码分整体结构被称为“储巢”。书籍通过分析hive文件的码分结构图,可以更直观地理解其内部组织。书籍
在解析过程中,码分需要关注的关键部分包括块的签名(regf)和节区的签名(hbin)。这些签名对于定位和解析注册表中的数据至关重要。
接下来,.cgi 源码深入解析mimikatz的解析流程。在具备sam文件和system文件的情况下,主要分为以下步骤:获取注册表system的句柄、读取计算机名和解密密钥、获取注册表sam的句柄以及读取用户名和用户哈希。若无sam文件和system文件,mimikatz将直接通过官方API读取本地机器的注册表。
在mimikatz中,会定义几个关键结构体,包括用于标识操作的注册表对象和内容的结构体(PKULL_M_REGISTRY_HANDLE)以及注册表文件句柄结构体(HKULL_M_REGISTRY_HANDLE)。这些结构体包含了文件映射句柄、映射到调用进程地址空间的位置、巢箱的起始位置以及用于查找子键和子键值的键巢室。
在获取注册表“句柄”后,接下来的任务是获取计算机名和解密密钥。密钥位于HKLM\SYSTEM\ControlSet\Current\Control\LSA,通过查找键值,pil 源码将其转换为四个字节的密钥数据。利用这个密钥数据,mimikatz能够解析出最终的密钥。
对于sam文件和system文件的操作,主要涉及文件映射到内存的过程,通过Windows API(CreateFileMapping和MapViewOfFile)实现。这些API使得mimikatz能够在不占用大量系统资源的情况下,方便地处理大文件。
在获取了注册表系统和sam的句柄后,mimikatz会进一步解析注册表以获取计算机名和密钥。对于密钥的获取,mimikatz通过遍历注册表项,定位到特定的键值,并通过转换宽字符为字节序列,最终组装出密钥数据。
接着,解析过程继续进行,kong源码获取用户名和用户哈希。在解析sam键时,mimikatz首先会获取SID,然后遍历HKLM\SAM\Domains\Account\Users,解析获取用户名及其对应的哈希。解析流程涉及多个步骤,包括定位samKey、获取用户名和用户哈希,以及使用samKey解密哈希数据。
对于samKey的获取,mimikatz需要解密加密的数据,使用syskey作为解密密钥。解密过程根据加密算法(rc4或aes)有所不同,但在最终阶段,mimikatz会调用系统函数对数据进行解密,从而获取用户哈希。
在完成用户哈希的源码焦点解析后,mimikatz还提供了一个额外的功能:获取SupplementalCreds。这个功能可以解析并解密获取对应用户的SupplementalCredentials属性,包括明文密码及哈希值,为用户提供更全面的哈希信息。
综上所述,mimikatz通过解析注册表,实现了从系统中获取用户哈希的高效功能,为内网渗透提供了强大的工具支持。通过深入理解其解析流程和关键结构体的定义,可以更好地掌握如何利用mimikatz进行深入的安全分析和取证工作。
数据存储扫盲:hbase,cassandra,clickhouse,pg,neo4j...
本文分享了关于数据存储系统HBase、Cassandra、ClickHouse、PostgreSQL和Neo4j的基本知识,适合数据存储初学者参考。HBase
作为列族数据库,HBase基于Hadoop HDFS,由Apache项目支持,Google和Bigtable的灵感之作。它使用JAVA实现,支持分布式、KV存储,可处理稀疏表和高并发写入。SQL操作需配合Phoenix,强调CP一致性,且支持单行ACID。相关资源包括官方文档、中文教程和源码。Cassandra
Cassandra是Apache项目,Facebook开发,适合大数据写入和实时查询,尤其在欺诈检测和位置服务领域。它采用Dynamo和Bigtable技术,无主架构,提供CQL查询,主副本设计。与HBase相比,Cassandra更偏向OLTP场景,且对写多读少的需求更友好。ClickHouse
ClickHouse是列式关系型数据库,专为OLAP设计,由Yandex研发,支持SQL和高性能读取。它不提供ACID特性,但适合日志分析和时间序列数据。ClickHouse的数据结构和部署特点使其在特定场景下表现出色。PostgreSQL
PostgreSQL作为行式RDBMS,对SQL标准支持好,支持索引和全文检索,可用于OLTP和OLAP。相比MySQL,提供更灵活的复制选项。索引结构丰富,适应多种查询需求。Neo4j
Neo4j是图数据库,专长于存储和查询复杂的图数据,适合知识图谱和社交网络应用。它支持弱模式设计,但不支持碎片处理和复杂的图算法。 在选择时,需要根据具体应用场景和性能需求来决定,比如HBase适合大量写入和简单查询,而ClickHouse则在分析性能上更胜一筹。hbase特性有哪些
HBase的特性包括以下几个方面:高性能的数据写入
HBase具有非常强的数据写入性能。其基于LSM树结构,数据被随机地分布在整个集群的多个节点上,这使得数据写入时能够并行处理,大大提高了写入性能。同时,HBase支持大量的并发写入操作,使得它在大数据环境下表现优异。
灵活的表结构设计
HBase是一个非关系型的数据库,它的表结构非常灵活。每个表可以拥有多个列族,每个列族下的数据可以有不同的存储特性。这种灵活性使得HBase能够适应各种类型的数据存储需求,同时也方便了对数据的扩展和管理。
强大的可扩展性
HBase是基于Hadoop的分布式文件系统HDFS构建的,具有天然的分布式特性。通过增加节点的方式,HBase可以很容易地扩展其存储能力和处理能力。这使得HBase能够在处理海量数据的同时保持高性能。
快速的数据检索
虽然HBase是一个面向列的数据库,但它的查询性能同样出色。HBase支持高效的范围查询和基于列属性的查询,可以快速定位到特定的数据行。同时,由于数据的分布式存储和处理,即使在大量数据中查询,也能保持较高的效率。
高可用性
HBase支持集群部署,数据可以在多个节点上进行备份和复制。即使部分节点出现故障,也能保证数据的可用性和系统的稳定运行。这种高可用性使得HBase在大数据处理中非常可靠。而且由于其开放源代码的特性,任何开发者都可以对HBase进行开发和优化,使其更加适应各种应用场景的需求。