首页/新闻资讯/正文详情

Sliver 凭据管理模块解析:哈希嗅探、类型识别与 `creds` 命令实战

发布时间:2026/9/23 12:35:02 来源:云帆数科 栏目:资讯中心
Sliver 凭据管理模块解析:哈希嗅探、类型识别与 `creds` 命令实战
Sliver 凭据管理模块解析哈希嗅探、类型识别与creds命令实战【免费下载链接】sliverAdversary Emulation Framework项目地址: https://gitcode.com/gh_mirrors/sl/sliverclient/credentials是 SliverAdversary Emulation Framework客户端中的凭据管理工具包为操作人员提供哈希嗅探hash sniffing、凭据导入辅助、存储与输出格式化能力。本文基于 client/credentials/README.md 展开结合 sniff.go、credentials.go 及上层creds命令源码讲解哈希类型识别的工作原理、凭据数据库的增删查操作以及如何将捕获的散列快速整理为可交付给 Hashcat 的格式。读完本文你将掌握 Sliver 中捕获凭据 → 识别哈希类型 → 入库 → 导出破解的完整链路。一、包结构与职责定位按照 client/credentials/README.md 的说明该包是面向操作人员operators的凭据管理工具集合核心逻辑core logic聚焦于 credentials 包内的sniff能力。包内包含三个 Go 文件文件职责credentials.go实现客户端侧的凭据存储、查找与格式化辅助哈希类型名称映射、Hashcat 模式号参考表sniff.go提供凭据嗅探例程把捕获到的输出解析为结构化记录通过前缀特征识别哈希类型sniff_test.go测试文件使用样例凭据数据验证嗅探/解析辅助函数需要指出的是该包本身并不负责凭据的持久化存储——真正落地存储与命令行交互的是client/command/creds命令模块见下文第三节本包为其提供哈希类型的枚举与识别基础设施。二、哈希类型识别从字符串嗅探到 Hashcat 模式2.1SniffHashType基于前缀特征的快速识别sniiff.go 中定义的SniffHashType(unknownHash string) clientpb.HashType是整个嗅探逻辑的核心。它采用摘低垂果实low hanging fruit的策略——先通过strings.HasPrefix检查常见的特征前缀命中即返回对应的clientpb.HashType枚举全部未命中则返回clientpb.HashType_INVALID。func SniffHashType(unknownHash string) clientpb.HashType { // $DCC2$10240#tom#e4e938d12fe5974dc4... if strings.HasPrefix(unknownHash, $DCC2$) { return clientpb.HashType_DCC2 } // $krb5pa$23$*user$realm$hash if strings.HasPrefix(unknownHash, $krb5pa$23$) { return clientpb.HashType_KERBEROS_23_SA_REQ_PREAUTH } // $krb5tgs$23$ if strings.HasPrefix(unknownHash, $krb5tgs$23$) { return clientpb.HashType_KERBEROS_23_TGS_REP } // ... if strings.HasPrefix(unknownHash, $2a$) { return clientpb.HashType_BCRYPT_UNIX } // $6$ if strings.HasPrefix(unknownHash, $6$) { return clientpb.HashType_SHA512_CRYPT_UNIX } // SCRYPT:... if strings.HasPrefix(unknownHash, SCRYPT:) { return clientpb.HashType_SCRYPT } return clientpb.HashType_INVALID }当前版本支持的前缀与哈希类型对应关系如下特征前缀识别出的哈希类型典型场景$DCC2$DCC2Windows 域缓存凭据MS Cache 2$krb5pa$23$KERBEROS_23_SA_REQ_PREAUTHKerberos 5 etype 23 预认证AS-REQ$krb5tgs$23$KERBEROS_23_TGS_REPKerberos 5 etype 23 TGS-REP服务票据$krb5asrep$23$KERBEROS_23_AS_REPKerberos 5 etype 23 AS-REPAS-REP roasting$krb5tgs$17$KERBEROS_17_TGS_REPKerberos AES128 TGS-REP$krb5pa$17$KERBEROS_17_PREAUTHKerberos AES128 预认证$krb5tgs$18$KERBEROS_18_TGS_REPKerberos AES256 TGS-REP$krb5pa$18$KERBEROS_18_PREAUTHKerberos AES256 预认证$2a$BCRYPT_UNIXbcryptUnix/Blowfish$6$SHA512_CRYPT_UNIXLinux sha512crypt/etc/shadowSCRYPT:SCRYPTscrypt KDF源码注释sniff.go明确写道目前我们只摘低垂的果实之后可以加入长度检查、正则表达式等——这意味着该实现有意保持轻量靠代价极低的前缀比较换取快速判断后续可扩展为更精确的启发式。2.2 测试用例验证sniff_test.go 使用表驱动table-driven测试覆盖了全部 11 个正向分支和 1 个负向分支包括{ name: DCC2 hash, input: $DCC2$10240#tom#e4e938d12fe5974dc4..., expected: clientpb.HashType_DCC2, }, { name: Invalid hash, input: invalid_hash, expected: clientpb.HashType_INVALID, },值得注意的是测试数据直接沿用了 Hashcat 官方示例哈希的格式如$DCC2$10240#tom#...对应 EXAMPLES.md 中 Hash-Mode 2100 的样例说明嗅探逻辑的设计目标就是识别出的哈希可直接喂给 Hashcat。2.3 哈希类型名称映射credentials.go 中维护了两张映射表AllHashTypes完整映射clientpb.HashType枚举 → 人类可读名称覆盖 MD4/MD5/SHA 系列、Keccak、GOSTStreebog、Kerberos 各 etype、NetNTLMv1/v2、LM/NTLM、DCC/DCC2、macOS PBKDF2-SHA512 等CommonHashTypesWindows 域渗透中最常用的子集包括 LM、NTLM、DCC、DCC2、Kerberos 17/18/23 系列、NetNTLMv1/v2以及 MD5、SHA1、SHA2-256、SHA2-512。辅助函数HashNameFromHashType(hashType clientpb.HashType) string提供反向查询——给定枚举返回名称未命中返回Unknown。这层映射正是上层creds命令在表格输出Hash Type列时的人类可读来源。此外credentials.go 还内嵌了一份 Hashcat hash-mode 参考表# | Name | Category涵盖 Raw Hash、salted、authenticated、网络协议WPA、Kerberos、NetNTLM、SNMPv3、操作系统LM/NTLM、DPAPI、各种 Unix crypt、数据库服务器、全盘加密BitLocker、FileVault、VeraCrypt、LUKS、文档、密码管理器KeePass、1Password、LastPass、加密货币钱包等类别为操作人员离线核对模式号提供了便利。三、上层命令creds凭据数据库管理3.1 命令树结构client/command/creds/commands.go 注册了creds命令及其子命令通过 RPC 与 Sliver 服务端交互creds # 列出凭据数据库中的全部凭据 ├── creds add # 添加单条凭据 │ └── creds add file # 从文件批量导入凭据 └── creds rm # 删除凭据3.2 查看凭据credscreds.go 中的CredsCmd调用con.Rpc.Creds()拉取全部凭据无数据时输出No credentials有数据时由PrintCreds按Collection凭据集合分组每个集合渲染一张表表头为ID | Username | Plaintext | Hash | Hash Type | Cracked其中 ID 只显示 UUID 前缀Hash Type直接使用枚举的字符串值Cracked以布尔形式标识是否已破解。3.3 添加凭据creds add与creds add fileadd.go 定义了两种添加途径单条添加creds add支持以下参数见 commands.go参数简写含义--collection-c凭据所属集合名称--username-u用户名--plaintext-p明文口令--hash-P哈希值--hash-type-H哈希类型枚举名约束逻辑plaintext与hash至少提供一个否则报错hash-type非法解析为HashType_INVALID时报错。哈希类型解析走parseHashTypeString即通过clientpb.HashType_value[raw]反查枚举add.go。命令还通过CredsHashTypeCompleter提供 carapace 自动补全--hash-type会列出 hash-types.go 中数百种枚举名及其描述。文件批量导入creds add file支持三种--file-format默认hash格式常量文件内容解析方式user:hash每行username:hash按:拆分严格要求恰好 2 段hash每行一个哈希整行作为 Hashcsv每行username,hash跳过表头按,拆分取前两列解析函数parseUserColonHashNewline/parseHashNewline/parseCSV均在 add.go 中实现导入成功后回显Adding N credential(s) ...并重新打印凭据表。3.4 删除凭据creds rmcreds rm接受凭据 ID 作为位置参数并通过CredsCredentialIDCompleter提供补全——补全描述中会附带主机 UUID 摘要、哈希类型、破解标记[C]/[ ]与用户名creds.go方便精确定位要删除的记录。四、从嗅探到破解的实战链路结合以上源码一条典型的实战路径是捕获哈希从内存转储、网络流量、/etc/shadow等渠道获得原始哈希字符串嗅探识别将字符串交给SniffHashType或以HashNameFromHashType反向查名判断其属于 DCC2、Kerberos17/18/23、bcrypt、sha512crypt、scrypt 等已知类型入库通过creds add --hash hash --hash-type 类型或creds add file -F 格式 文件批量导入必要时用--collection按目标主机或渗透阶段分组导出破解凭据库中的哈希格式与 Hashcat 模式号对齐参考 credentials.go 内嵌的 mode 表可导出后交由 Hashcat 离线破解结果回填破解出的明文通过creds add的--plaintext字段回填Cracked标记随之更新形成可审计的凭据台账。五、局限与扩展方向从源码可以明确看到两个设计取舍嗅探覆盖面有限SniffHashType目前只覆盖约 12 种带强特征前缀的哈希。源码注释表明这是有意为之先摘低垂果实纯 hex 的 MD5/SHA 等无前缀哈希、需要长度判断的类型均返回INVALID需要人工指定类型识别依赖前缀实现依赖 Hashcat 生态的魔数前缀约定如$DCC2$、$krb5tgs$、$2a$、SCRYPT:这意味着与 Hashcat 的格式兼容性是第一优先级的扩展新类型时也需遵循同样的前缀约定。从代码结构推断后续扩展点在于为SniffHashType增加长度检查与正则匹配从而覆盖更多无特征前缀但结构可辨的哈希类型。六、相关文件索引包说明client/credentials/README.md哈希类型映射与 Hashcat mode 表client/credentials/credentials.go嗅探实现client/credentials/sniff.go嗅探测试client/credentials/sniff_test.go命令注册client/command/creds/commands.go列表/输出client/command/creds/creds.go添加/文件导入client/command/creds/add.go哈希类型枚举描述表client/command/creds/hash-types.goHashcat 示例哈希参考client/credentials/EXAMPLES.md【免费下载链接】sliverAdversary Emulation Framework项目地址: https://gitcode.com/gh_mirrors/sl/sliver创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

相关推荐

Python舆情分析可视化:从数据采集到洞察呈现实战
Python舆情分析可视化:从数据采集到洞察呈现实战

1. 舆情分析可视化实战:从数据采集到洞察呈现社交媒体时代,每天都有海量观点在各类平台涌现。作为数据分析师,我经常需要从这些看似杂乱的数据中提取有价值的舆情洞察。今天,我将分享一套经过多个项目验证的舆情分析可视化实战方法… · 2026/9/23 12:34:56

Bert+CRF三元组识别:从序列标注到关系抽取的实践指南
Bert+CRF三元组识别:从序列标注到关系抽取的实践指南

简介:这份资源是一个基于Python的NLP实战项目,面向自然语言处理学习者和知识图谱开发者,核心是利用Bert模型与CRF条件随机场进行三元组识别,从非结构化文本中抽取主体、谓词、客体信息,适用于信息抽取、知识图谱构建等… · 2026/9/23 12:34:56

如何高效利用python123.io后端答案资源包?价值、边界与实践
如何高效利用python123.io后端答案资源包?价值、边界与实践

简介:这套资源整理自python123.io平台后端Python部分的作业题目答案,面向正在平台刷题的Python初学者,能帮助他们解决练习题没思路、缺参考实现的问题。压缩包内共有32个.py文件,总体积仅14KB,文件全部为Python源码&am… · 2026/9/23 12:34:49

监控 500 节点后 Prometheus 内存去哪了:沿数据链路拆解调优路径
监控 500 节点后 Prometheus 内存去哪了:沿数据链路拆解调优路径

监控 500 节点后 Prometheus 内存去哪了:沿数据链路拆解调优路径 【免费下载链接】prometheus The Prometheus monitoring system and time series database. 项目地址: https://gitcode.com/GitHub_Trending/pr/prometheus 监控节点数突破 500 台后&#xf… · 2026/9/23 14:09:55

vdbench存储压测实战:从配置到分布式校验的完整指南
vdbench存储压测实战:从配置到分布式校验的完整指南

简介:面向存储性能测试人员与运维工程师的 Vdbench 工具资源包,用于模拟随机读写、顺序读写、混合读写等场景,帮助快速评估硬盘、SSD 及存储阵列的极限 I/O 性能,适合从基础调优到生产环境压力验证的各阶段使用者。压缩包共 61 个… · 2026/9/23 14:09:48

搞定下载阅读器性能优化:3步解决版本升级后的API报错
搞定下载阅读器性能优化:3步解决版本升级后的API报错

搞定下载阅读器性能优化:3步解决版本升级后的API报错 刚把项目里的下载模块从 v2.0 升级到 v3.0,运行测试用例直接报红,满屏都是 AttributeError 和 DeprecationWarning 。更坑的是,新版本的… · 2026/9/23 14:09:48

中国气功大师排名源码解析:保姆级教程助你从零搭项目
中国气功大师排名源码解析:保姆级教程助你从零搭项目

中国气功大师排名源码解析:保姆级教程助你从零搭项目 刚写完Hello World,脑子还热乎,一打开编辑器想做个真项目,脑子就一片空白。 这种“学会语法却不知怎么搭项目”的断层,坑了太多初学者。… · 2026/9/23 14:09:48

安全帽数据集person_hat.rar实战:从VOC转YOLO到YOLOv8训练与难例挖掘
安全帽数据集person_hat.rar实战:从VOC转YOLO到YOLOv8训练与难例挖掘

简介:这份安全帽数据集面向从事工业安全监控、智慧工地与计算机视觉方向的开发者及算法学习者,用于训练和验证YOLO目标检测模型,解决施工现场、矿山等场景下工人是否规范佩戴安全帽的识别问题。压缩包共约2000个文件,以6057张jpg图… · 2026/9/23 14:09:42

项目启动|运匠科技 × 恒立液压,共建一体化智能物流平台
项目启动|运匠科技 × 恒立液压,共建一体化智能物流平台

一、关于恒立液压恒立液压是中国液压行业的龙头企业、上交所上市公司,总市值超千亿元,总部位于中国常州。 经过30多年的专注与创新,恒立液压已发展成为集液压元件、精密铸件、液压系统等产业于一体的大型综合性企业,在全球各地分别… · 2026/9/23 14:09:42

3招搞定手机怎么下载微信面试难题实战项目解析
3招搞定手机怎么下载微信面试难题实战项目解析

3招搞定手机怎么下载微信面试难题实战项目解析 面试被问“手机怎么下载微信”背后的原理,90%的人答不上来。别笑,这看似弱智的问题,实则是考察你对移动应用分发机制、安全校验及网络协议理解的试金石。我带过不少校招新人,他们背了八股文,却连一个A… · 2026/9/23 0:00:03

你有新短消息请注意查收:3个新手避坑指南搞定消息系统选型
你有新短消息请注意查收:3个新手避坑指南搞定消息系统选型

你有新短消息请注意查收:3个新手避坑指南搞定消息系统选型 面试被问“高并发下如何保证消息不丢失”,你张口就是“用Redis”,结果面试官追问“如果Redis宕机了怎么办”,你瞬间卡壳。这种场景太常见了,很多新手在背八股文时,只记住了技术名词… · 2026/9/23 0:00:29

Win7无线热点配置工具源码解析:解决API失效的3个实战技巧
Win7无线热点配置工具源码解析:解决API失效的3个实战技巧

Win7无线热点配置工具源码解析:解决API失效的3个实战技巧 Win7无线热点配置工具在Win10/11上跑不动?不是你的问题,是版本升级后 API 全变了。很多老项目里的 netsh wlan… · 2026/9/23 0:00:36

了解更多?预约专属演示

我们的顾问将为您一对一讲解产品与方案

企业微信二维码