
本文我们来学习在渗透测试中常用的横向测试工具。喜欢就收藏吧!
所谓横向移动是指,攻击者获取内网环境中从一台后,利用此主机扩展到其他主机,最终可能获取域控制器的权限。

示意图
01
evil-winrm
Evil-winrm用 ruby 语言编写的开源工具使后期利用变得尽可能容易。该工具具有许多很酷的功能,包括使用纯文本密码远程登录、SSL 加密登录、使用 NTLM 哈希登录、使用密钥登录、文件传输、日志存储等。该工具的作者不断更新此工具并添加许多新功能,使内部评估更容易。使用 evil-winrm,我们获得远程主机的 PowerShell 会话。

在使用之前,我们可以先利用nmap扫描目标主机是否开启 Winrm 服务。
nmap -p 5985,5986 192.168.50.4
如果已检索有效凭据,可以利用下面命令开启远程 PowerShell 会话:
evil-winrm -i 192.168.50.4 -u administrator -p xiaoyaozi
通过 SSL 安全登录:
evil-winrm -i 192.168.50.4 -u administrator -p xiaoyaozi -S
02
impacket-scripts
当前工具Impacket 是一款集攻击为一体的后期利用工具。是基于 Python 脚本的集合。

运行后,我们可以看到有很多脚本。在使用时,直接调用相关脚本即可。
工具名称 | 描述 |
|---|---|
psexec.py | 使用 RemComSvc 实现类似 PSEXEC 的功能,在远程系统上执行命令。 |
smbexec.py | 通过 SMB 执行命令,实例化本地 smbserver 接收输出. |
atexec.py | 通过任务计划程序服务在目标计算机上执行命令并返回输出。 |
wmiexec.py | 通过 WMI 实现的半交互式 shell,无需安装服务,高度隐蔽。 |
GetTGT.py | 请求 Kerberos TGT 并保存为 ccache 文件。 |
GetST.py | 请求服务单并保存为 ccache,支持模拟用户(如有约束委派权限)。 |
GetPac.py | 获取指定用户的 PAC 结构,使用 S4USelf 和用户到用户 Kerberos 认证。 |
GetUserSPNs.py | 查找并提取与用户帐户关联的服务主体名称,输出兼容 JtR 和 HashCat。 |
GetNPUsers.py | 获取设置了“不需要预身份验证”属性的用户的 TGT,输出兼容 JtR。 |
raiseChild.py | 通过 Golden Tickets 和 ExtraSids 实现子域到林的权限提升。 |
ticketConverter.py | 在 kirbi 和 ccache 票证文件格式之间转换。 |
secretsdump.py | 从远程计算机转储机密(如 SAM、LSA、NTDS.dit),无需安装代理。 |
mimikatz.py | 控制远程 mimikatz RPC 服务器的迷你 shell。 |
ntlmrelayx.py | 执行 NTLM 中继攻击,支持多协议(SMB、HTTP、LDAP 等)和 SOCKS 模式。 |
smbclient.py | 通用 SMB 客户端,支持文件操作、共享浏览等,使用凭据或哈希。 |
addcomputer.py | 通过 LDAP 或 SAMR 将计算机添加到域。 |
getArch.py | 收集远程主机的操作系统架构类型。 |
exchanger.py | 通过 RPC over HTTP v2 连接 MS Exchange。 |
lookupsid.py | 通过 MSRPC 暴力破解 Windows SID,枚举用户和组。 |
netview.py | 获取远程主机会话列表,并跟踪登录/注销状态。 |
reg.py | 远程注册表操作工具,类似 REG.EXE 功能。 |
rpcdump.py | 转储目标上注册的 RPC 端点和字符串绑定列表。 |
rpcmap.py | 扫描侦听的 DCE/RPC 接口,绑定到 UUID 列表。 |
samrdump.py | 通过 SAMR 接口通信,列出用户帐户、共享和其他敏感信息。 |
services.py | 通过 MSRPC 操作 Windows 服务(启动、停止、配置等)。 |
smbpasswd.py | 通过 SMB 远程更改过期密码。 |
mssqlinstance.py | 从目标主机检索 MSSQL 实例名称。 |
esentutl.py | 转储 ESE 数据库(如 NTDS.dit)的目录、页面和表。 |
registry-read.py | 解析离线注册表配置单元。 |
GetADUsers.py | 收集域用户信息(如电子邮件、最后登录时间)。 |
Get-GPPPassword.py | 从组策略首选项文件提取和解密密码。 |
mqtt_check.py | MQTT 客户端示例,测试登录选项,可用于暴力破解。 |
rdp_check.py | 通过 RDP 测试帐户在目标主机上的有效性。 |
sniff.py | 使用 pcapy 库的简单数据包嗅探器。 |
sniffer.py | 使用原始套接字的简单数据包嗅探器。 |
03
Passing-the-Hash
Passing-the-Hash是一种攻击者用于捕获Hash(哈希)的技术。使用这种技术,攻击者无需解密哈希即可获取纯文本密码。因为每个会话的密码哈希值都保持静态,直到密码轮换。攻击者可以通过抓取系统的活动内存以及其他技术来获取哈希值。

如抓取smb客户端相关客户端哈希。
pth-smbclient --help

04
SMBMap
SMBMap 允许用户枚举整个域中的 samba 共享驱动器。 列出共享驱动器、驱动器权限、共享内容、上传/下载功能,文件名自动下载模式匹配,甚至执 远程命令。该工具的设计考虑到了笔测试,并且旨在简化对大型数据中潜在敏感数据的搜索网络。
扫描局域网开启smb共享的设备和目录。
smbmap -H 192.168.50.48

扫描文件
smbmap -H 192.168.50.48 -r

配置扫描深度 --depth 遍历目录树到特定深度。默认值为 1(根节点)。
smbmap -H 192.168.50.48 -r --depth 3

从远程系统下载文件
smbmap -H 192.168.50.48 --download './逍遥子//拉布拉多/卖玩具的神秘人.mp4'

05
Rdesktop
Rdesktop用于在 Linux 系统中连接 Windows 的远程桌面协议 (RDP)。它支持多种参数配置,能够提供高效、灵活的远程桌面连接体验。
rdesktop 192.168.50.48

更多精彩文章 欢迎关注我们