### 继上题,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 迅速回应,将受害者引向你,而不是它想找的真正服务器