欢迎光临
我们一直在努力

内网渗透“兵器谱”:Impacket 脚本全家桶深度鉴赏

在上一部分,我们概览了 Impacket 的核心功能。这一篇,我们将把镜头拉近,深入每个脚本的“内心世界”。我们不仅讲它“能干啥”,还讲它“为啥牛”,以及“什么时候该用它”。

💡 阅读建议:这篇文章适合作为你的实战速查表。


一、信息收集篇:上帝之眼 👁️

在内网中,盲目扫描等于自杀。Impacket 的收集脚本像外科医生一样精准。

1️⃣ GetADUsers.py—— 域内的“花名册”

深度解析:

很多人以为它只是列用户名,其实它能导出 description、lastLogon、pwdLastSet。

  • 实战技巧:重点关注 Description字段,经常有人写“Backup account pass: xxx”。

  • 命令:

GetADUsers.py -all corp.local/user:Pass123@dc01.corp.local

2️⃣ GetNPUsers.py—— 钓出“无预认证”用户

深度解析:

这是 ASREPRoasting 攻击的实现。如果一个用户设置了 “不需要 Kerberos 预认证”,你可以直接请求其 Hash 并离线爆破。

  • 实战场景:低权限域用户,尝试拉取所有无预认证账户的 Hash。

GetNPUsers.py corp.local/user:Pass123 -dc-ip 192.168.1.10 -format hashcat

3️⃣ rpcdump.py& lookupsid.py—— 老牌侦察兵

  • rpcdump.py:枚举 RPC 接口。有些老旧应用暴露了危险的 RPC 接口,可以直接用来提权。

  • lookupsid.py:经典的 SID 枚举。用于暴力枚举域内所有用户和组 SID,即使你没有有效凭证有时也能跑(取决于补丁)。


二、凭证与哈希篇:打开保险箱 🔐

这是 Impacket 最让人“闻风丧胆”的部分。

4️⃣ secretsdump.py—— 终极掠夺者

原理深度:

它通过 DCSync(模拟域控复制)或直接读取注册表/SAM 文件,导出所有凭证。

  • 三种模式:

  • Dumping NTDS.dit(远程):secretsdump.py user:pass@dc_ip(需要 DA 权限)

  • Local Dumping:在机器上执行,导出本地 SAM。

  • Pass-the-Hash:直接用 Hash 去抓 Hash。

实战参数:

# 使用 Hash 而非密码(避免锁定账户)
secretsdump.py -hashes aad3b435b51404eeaad3b435b51404ee:31d6cfe0d16ae931b73c59d7e0c089c0 Administrator@192.168.1.10

5️⃣ GetNTHashes.pyvs Registry.py

  • GetNTHashes.py:专门用于从离线注册表文件(SYSTEM + SAM)中提取 Hash。当你已经拿到 shell 并下载了注册表文件时使用。

  • Registry.py:远程操作注册表的工具,可以用来开启 RDP 或修改键值。


三、横向移动篇:瞬移的艺术 🏃‍♂️

拿到 Hash 后,怎么动起来?这里讲究的是隐蔽性。

脚本

原理

隐蔽性

适用场景

psexec.py​

上传 exe 为服务

⭐⭐

快速拿权,不在意日志

smbexec.py​

通过服务执行 cmd

⭐⭐⭐

绕过某些 EDR 对 exe 的检测

wmiexec.py​

WMI 标准查询

⭐⭐⭐⭐

无文件,最难检测

atexec.py​

计划任务

⭐⭐⭐

目标禁止 SMB 执行时

dcomexec.py​

DCOM 对象

⭐⭐⭐⭐

绕过 PowerShell 限制

6️⃣ wmiexec.py—— 红队首选

为什么是它?

它不往磁盘写文件,利用 WMI 的 Win32_Process类创建进程。流量看起来像正常的 WMI 管理流量。

wmiexec.py -hashes :<NTLM> corp.local/admin@192.168.1.20 "whoami /priv"

7️⃣ smbclient.py—— 不只是拷贝

深度玩法:

除了传文件,它还能用来查看共享权限、查找备份文件(.bak, .old)。

smbclient.py Administrator@192.168.1.10
smbclient.py Administrator@192.168.1.10 -k # 使用 Kerberos


四、Kerberos 攻击篇:票据魔术 🎫

这是 AD 域的高级玩法,Impacket 是目前实现最完美的工具集。

8️⃣ getTGT.py& getST.py

  • getTGT.py:获取黄金门票(Ticket Granting Ticket)。只要你有用户 Hash,就能申请 TGT。

  • getST.py:获取白银门票(Service Ticket)。伪造访问特定服务(如 CIFS、HTTP)的权限。

9️⃣ ticketer.py—— 伪造大师

实战场景:黄金票据

当你拿到了 krbtgt账户的 NTLM Hash(来自 secretsdump),你可以伪造任意用户的任意票据。

# 生成黄金票据
ticketer.py -nthash <krbtgt_ntlm> -domain-sid <domain_sid> -domain corp.local administrator

🔟 raiseChild.py—— 跨域信任利用

深度解析:

如果你攻陷了一个子域的域控,这个脚本可以利用域信任关系(Inter-Realm Key)去攻击父域。这是企业内网渗透的“升维打击”。


五、协议利用篇:针对特定端口 🎯

Impacket 的强大在于它对协议底层的控制。

11️⃣ mssqlclient.py—— SQL 服务器的噩梦

实战链:

  • 使用域用户连接 MSSQL。

  • 开启 xp_cmdshell。

  • 拿到数据库服务器权限。

  • mssqlclient.py corp.local/user:pass@sqlserver.corp.local -windows-auth
    SQL> enable_xp_cmdshell
    SQL> xp_cmdshell whoami

    12️⃣ ldapattack.py(原 ntlmrelayx 配套)

    虽然主要是 Relay,但结合 LDAP 可以实现:

    • 将计算机加入域(利用 Resource-Based Constrained Delegation)。

    • 修改 ACL 赋予自己 DCSync 权限。

    13️⃣ sniffer.py& packet_parser.py

    • sniffer.py:简单的数据包捕获。

    • packet_parser.py:解析 Impacket 捕获的数据包结构,适合搞协议研究的人。


    六、脚本使用“骚操作”合集 🌟

    这里有一些文档里不写,但实战中必用的技巧:

    1. 命令行下的“管道”艺术

    Impacket 支持从 stdin 读取密码,这在批量扫描时很有用:

    cat users.txt | while read line; do GetADUsers.py corp.local/$line@dc01 -no-pass; done

    2. 强制使用 SMBv1(老设备必备)

    有些古董设备只支持 SMBv1:

    psexec.py user:pass@ip -smb1

    3. 使用 AES Key 代替 Hash

    在 Kerberos 环境中,有时你需要 AES Key(来自 Key List):

    getTGT.py -aesKey <AES_KEY> corp.local/user


    七、防御者视角的“脚印” 👣

    了解工具,也要了解它们留下的痕迹,这对蓝队很重要:

    工具

    留下的痕迹

    psexec.py​

    创建 PSEXESVC.exe,Windows 日志 7045

    smbexec.py​

    创建随机命名的 bat 文件和 stderr/stdout 重定向

    wmiexec.py​

    WMI-Activity 日志,Event ID 5857/5861

    secretsdump​

    大量的 4662(目录服务访问)事件


    八、最后的安全警示 ⚠️

    “手握利刃,心怀敬畏。”

    Impacket 是安全研究的巅峰之作,也是法律红线的高压线。

    🔴 严禁:

    • 在未获书面授权的生产环境中测试。

    • 使用本文技术进行勒索、破坏或数据窃取。

    • 绕过企业的安全防护进行恶意活动。

    🟢 鼓励:

    • 在 Hack The Box、TryHackMe、本地虚拟机​ 中学习。

    • 帮助企业修复漏洞,成为守护者而非破坏者。

    网络安全是一场攻防的博弈,知识应当用于构筑防线,而非撕开缺口。

    赞(0)
    未经允许不得转载:171主机测评 » 内网渗透“兵器谱”:Impacket 脚本全家桶深度鉴赏
    分享到: 更多 (0)

    评论 抢沙发

    • 昵称 (必填)
    • 邮箱 (必填)
    • 网址