【技术分享】使用Responder来掌控Windows网络
2016-11-29 09:50:46 来源:SpiderLabs 作者:hac425 阅读:8994次 点赞(1) 收藏(70)
翻译:hac425
预估稿费:130RMB(不服你也来投稿啊!)
投稿方式:发送邮件至linwei#360.cn,或登陆网页版在线投稿
安全客点评:经典的攻击手法,通过wpad欺骗+SMBRelay实现内网主机控制。
介绍
Responder是一款强大并且简单易用的内网渗透神器。
功能特性
内建smb认证服务器,支持的范围: Windows 95 到 Server 2012 RC, Samba 以及 Mac OSX Lion,该功能会默认被启用,可以用来截获hash 来用于smb relay攻击
内建mssql认证服务器.对windows版本高于windows Vista的机器使用-r选项 来重定向mssql认证到该工具,在Windows SQL Server 2005 & 2008 上成功测试.
内建http认证服务器,对windows版本高于windows Vista的机器使用-r选项来重定向http认证到该工具.成功在 IE 6 到 IE 10, Firefox, Chrome, Safari.测试
内建https认证服务器,对windows版本高于windows Vista的机器使用-r选项 来重定向https认证到该工具 certs/ 目录下有两个默认的证书.
内建LDAP认证服务器,对windows版本高于windows Vista的机器使用-r选项 来重定向LDAP认证到该工具
内建FTP, POP3, IMAP, SMTP 服务器用于收集明文的凭据.
内建DNS 服务器.用来响应 A类型查询,配合arp欺骗攻击就非常厉害了.
内建 WPAD 代理服务器.该模块会抓取网络中的数据包,然后找到开启了Auto-detect settings的ie浏览器,然后向他注入PAC脚本具体可以看Responder.conf.
Browser Listener 在隐身模式下找主域控
指纹识别模块 使用 -f 标签启用,他会自动识别使用的 LLMNR/NBT-NS查询的主机指纹.
Icmp重定向模块 python tools/Icmp-Redirect.py 在Windows XP/2003以及更早版本的域成员来进行中间人攻击,一般配合 DNS 服务器模块来使用.
Rogue DHCP Rogue DHCP
分析模式 使用这种模式你可以查看没有经过任何毒化的NBT-NS, BROWSER, LLMNR, DNS请求的真实形态.同时可以被动的映射内网的拓扑,同时可以查看是否可以进行icmp重定向攻击.
SMBRelay模块 针对特定的用户使用其凭据执行我们定义的命令
日志记录
它所有抓到的hash都会被打印到标准输出接口上同时会以下面的格式存储.
1 | (MODULE_NAME)-(HASH_TYPE)-(CLIENT_IP).txt |
日志文件位于 logs/ 目录下,所有的活动都会记录到 Responder-Session.log ,分析模式下的日志保存到 Analyze-Session.log, 毒化模式下的日志保存到 Poisoners-Session.log.同时所有抓到的hash都会存储到我们在Responder.conf中配置的sqlite数据库中.
选项
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 | --version show program's version number and exit -h, --help show this help message and exit -A, --analyze Analyze mode. This option allows you to see NBT-NS, BROWSER, LLMNR requests without responding. -I eth0, --interface=eth0 Network interface to use -b, --basic Return a Basic HTTP authentication. Default: NTLM -r, --wredir Enable answers for netbios wredir suffix queries. Answering to wredir will likely break stuff on the network. Default: False -d, --NBTNSdomain Enable answers for netbios domain suffix queries. Answering to domain suffixes will likely break stuff on the network. Default: False -f, --fingerprint This option allows you to fingerprint a host that issued an NBT-NS or LLMNR query. -w, --wpad Start the WPAD rogue proxy server. Default value is False -u UPSTREAM_PROXY, --upstream-proxy=UPSTREAM_PROXY Upstream HTTP proxy used by the rogue WPAD Proxy for outgoing requests (format: host:port) -F, --ForceWpadAuth Force NTLM/Basic authentication on wpad.dat file retrieval. This may cause a login prompt. Default: False --lm Force LM hashing downgrade for Windows XP/2003 and earlier. Default: False -v, --verbose Increase verbosity. |
示例
WPAD代理服务器
WPAD用于在windows中自动化的设置ie浏览器的代理.从Windows 2000开始该功能被默认开启. windows主机首先会向 dhcp服务器和dns服务器查询 wpad.
1 2 3 4 5 6 7 8 | function FindProxyForURL(url, host) { if ((host == "localhost") || shExpMatch(host, "localhost.*") ||(host == "127.0.0.1") || isPlainHostName(host)) return "DIRECT"; if (dnsDomainIs(host, "RespProxySrv")||shExpMatch(host, "(*.RespProxySrv|RespProxySrv)")) return "DIRECT"; return 'PROXY ISAProxySrv:3141; DIRECT'; } |
该文件的作用为:
当向localhost ,127.0.0.1 ,或者是 plain主机名(比如: http://pre-prod/service.amx),时就不使用Responder代理而直接连接到服务器
当请求*.RespProxySrv 也是直接连接
其他请求时都会使用 位于 ISAProxySrv:3141的 Responder代理服务器.
一旦浏览器收到一个我们伪造的wpad.dat文件,他就会使用我们的Responder代理服务器.
可以看到浏览器已经开始使用我们的Responder代理服务器了,他的流量已经可以被嗅探到了.使用了 -F on 选项的作用是当浏览器再次请求 wpad.dat文件时强制他使用 NTLM 认证. 该选项默认关闭.
从上面的图片可以看到现在目标主机的流量已经被 Responder所截获了.这时我们可以向他注入恶意的html代码.可以在 Responder.conf中配置需要注入的html 代码.
SMB Relay模块
SMBRelay脚本需要和Responder一起使用,在使用 SMBRelay脚本 我们需要在Responder.conf 中设置 [Responder Core]标签下的 SMB = Off,使用该脚本时还要给一个针对使用SMBRelay攻击的用户名列表,同时在使用该脚本前一般先使用 nmap smb-enum-users或 enum4linux来枚举用户权限,以便选取高权限的用户来执行我们的命令.
在上面这个例子中我们成功对 Administrator 账号实现了SMBRelay攻击,攻击的结构就是,创建了一个管理员用户.
分析模式
Responder本身就是设计成了一个隐蔽的渗透工具.通过使用使用该模式我们可以查看真正的LLMNR, NBT-NS 以及浏览器请求广播.在下面这个例子中我们比较 本机ip地址和 dns服务器的ip地址来判断是否可以使用 icmp重定向攻击
.该例子中一个最基本的输出如下
在该模块下有一个 Lanman 子模块,使用这个模块我们可以被动的映射出内网中的域控,sql server ,域成员…..
ICMP重定向攻击
目标 windows xp 2003 以下的版本.环境配置
攻击者拥有的ip 192.168.2.10
域控制器ip 192.168.3.58,同时他也是主dns服务器
目标ip 192.168.2.39
网关ip 192.168.2.1
攻击之前,路由表:
首先在本机禁用icmp出口流量
然后运行 Icmp-Redirect.py 脚本
攻击之后,路由表:
现在我们可以创建一个 NAT 防火墙规则 使得本机来响应所有从192.168.2.39 到 192.168.3.58的dns请求
1 | iptables -t nat-A PREROUTING -p udp --dst 192.168.3.58 --dport 53 -j DNAT--to-destination 192.168.2.10:53 |
之后,Responder就可以响应dns请求了.利用这个就可以做很多有趣的事情了.
指纹识别
自动识别使用的 LLMNR/NBT-NS查询的主机指纹
ftp密码抓取模块
总结
该工具又提供了几种对内网进行渗透的思路. smbrelay ,劫持wpad代理,icmp中间人……..
参考链接
https://www.trustwave.com/Resources/SpiderLabs-Blog/Responder-2-0—Owning-Windows-Networks-part-3/
http://blog.spiderlabs.com/2013/01/owning-windows-networks-with-responder-17.html
http://blog.spiderlabs.com/2013/02/owning-windows-network-with-responder-part-2.html
http://blog.spiderlabs.com/2013/11/spiderlabs-responder-updates.html
https://github.com/SpiderLabs/Responder
转自安全客 原文链接:https://github.com/SpiderLabs/Responder