WPAD是如何工作的 客户端想用访问wpad.dat配置代理,在DHCP服务器没有配置wpad的情况下,回去查找以wpad命名的服务器然后寻找对应的文件,然后进行以下步骤: 1 如果DHCP服务器配置了 wpad,那么直接从DHCP服务器获取wpad.dat文件然后跳到第4步,否者执行下一步 2 向dns服务器发送请求查找wpad.test.local,然后获取代理配置文件,如果成功跳到第4步,否则执行下一步 3 发送LLMNR查询wpad.test.local,如果成功跳到第4步,不成功代理设置失败 4 下载wpad.dat并且配置 在第一步中使用dns污染攻击到第二步,第二步也可以使用dns污染攻击,这种攻击模式是可以通过配置网络设备去预防的 在这一点上,攻击者可以像wpad服务器那样将他的wpad.dat文件发送给客户端。 重要的是WPAD协议内置于Windows操作系统中。 然后提供假的wpad.dat下载。Responder创建一个身份验证程序,并要求客户端填写域中的账户密码。这样就可以获取到员工的帐号密码。 下面是一个wpad中间人攻击的拓扑图: ?
服务器返回DHCP ACK数据包,包含PAC文件位置 DNS查询方式:Web浏览器向DNS服务器发起WPAD+X的查询,DNS服务器返回提供WPAD主机的IP地址,Web浏览器通过该IP的80端口下载wpad.dat Link-Local Multicast Name Resolution),则首先发起广播LLMNR查询,如果没有响应再发起广播NBNS查询,如果有主机回应PAC文件位置,Web浏览器通过该IP的80端口下载wpad.dat
-WPADAuth Default=Enabled: (Y/N) authentication type for wpad.dat requests. (Anonymous/Basic/NTLM) -WPADResponse Default=Autogenerated: Contents of wpad.dat responses.
第二种是目前使用最广泛的方式,通过DNS方式实现WPAD的原理是:先由Web浏览器向DNS服务器发起WPAD+X查询,DNS服务器接收到查询请求后返回提供WPAD主机的IP地址,Web浏览器通过该IP的80端口下载wpad.dat
由于历史原因,PAC文件经常被称作proxy.pac,在DNS lookup中,此配置文件为wpad.dat,且WPAD DNS查询会忽略proxy.pac的文件名。 在以往的WPAD功能中,提供wpad.dat文件的服务器地址一般会由DNS解析,如果没有记录返回,则会使用无加密的广播协议(如LLMNR)来解析。
PAC的位置可以通过DHCP响应“site-local”选项252(即auto-proxy-config)与“ http://example.com/wpad.dat”值提供给用户。
历史上,提供wpad.dat文件的服务器地址(提供这些信息)将使用DNS解析,如果没有条目返回,地址将通过不安全的广播协议解析,如链路本地多播名称解析 (LLMNR)。
IE浏览器默认是自动检测设置 用户在访问网页时,由于IE浏览器默认是自动检测设置,所以首先会查询PAC文件的位置,查询的地址是WPAD/wpad.dat。 受害者通过LLMNR询问WPAD主机的ip,Responder通过LLMNR投毒将WPAD的ip指向Responder所在的服务器 受害者访问 /wpad.dat(Responder此时就能获得目标机器的