继上题,Responder 应该开在哪台机器上,为什么
为什么必须开在攻击者的机器上?
要理解 Responder 的工作原理,你需要知道它在整个攻击链中扮演的角色:
1. 监听和嗅探
Responder 的第一步是监听本地网络接口上的流量。它会嗅探那些没有找到对应服务器的协议请求,例如:
- LLMNR:Windows 机器默认的域名解析协议,用于在局域网内解析主机名。当 DNS 解析失败时,它会向所有机器广播查询
- **NBT-NS:另一个 Windows 机器常用的广播协议
- MDNS:多播 DNS
2. 欺骗和响应
当 Responder 嗅探到这些广播查询时,它会立即伪造一个响应,声称自己就是客户端正在寻找的目标服务器。例如,如果客户端正在寻找 FILESERVER
,Responder 会立即响应:“我就是 FILESERVER
,请连接我。”
3. 拦截和重放
一旦客户端被欺骗,它会尝试向 Responder 伪造的“服务器”发起连接,并发送自己的 NTLMv2 哈希进行身份验证
Responder 会拦截这个哈希,并将其保存下来。攻击者可以稍后对这个哈希进行离线破解,获取明文密码,或者直接进行 NTLM Relay 攻击
4. 攻击链中的位置
想象一下,你在一场对话中扮演一个冒名顶替者
- 你的机器:Responder 就是你的冒名顶替者。它坐在你的电脑上,等待有人大声询问“
FILESERVER
在哪儿?” - 受害者机器:受害者就是那个大声询问的人。它没有找到
FILESERVER
,所以向整个网络广播求助 - 真正的服务器:
FILESERVER
可能根本就不在线,或者 DNS 配置有问题 - 攻击过程:你的 Responder 迅速回应,将受害者引向你,而不是它想找的真正服务器