转载

Potato(邪恶土豆)–windows全版本猥琐提权

工作原理:

Potato利用已知的Windows中的问题,以获得本地权限提升,即NTLM中继(特别是基于HTTP > SMB中继)和NBNS欺骗。

使用下面介绍的技术,它有可能为一个非特权用户获得对Windows主机的默认配置”NT AUTHORITY / SYSYTEM”级别的访问。

该漏洞是由3个主要部分,所有这些都有些配置通过命令行执行:

0x01 本地NBNS欺骗器

NBNS是一个广播UDP协议,可在Windows环境中常用的名称解析。在渗透测试中,我们经常嗅探网络流量和响应NBNS在本地网络上观察到的查询。在提权之前,我们不能想当然地认为我们能够嗅探网络流量,那么如何才能做到NBNS欺骗?

如果能够提前获知哪个目标主机(在这种情况下,我们的目标是127.0.0.1)将发送NBNS查询,就可以制作一个信号并使其淹没在目标主机与NBNS响应(因为它是一个UDP协议)。一个挑战是,NBNS分组中的2字节字段–TXID,必须在请求和响应相匹配。我们可以通过迅速遍历所有可能的65536间的值克服这一点。

如果我们试图欺骗主机有一个DNS记录了吗?好了,我们可以强制DNS查找以一种有趣的方式失败。使用一个名为”端口耗尽”,我们结合每一个UDP端口技术。当您尝试进行DNS查询将失败,因为将没有可用的源端口为DNS应答来。

在测试中,这已被证明是100%成功。

0x02 伪造WPAD代理服务器

凭借欺骗NBNS响应的能力,我们可以针对我们的NBNS欺骗攻击的127.0.0.1。我们淹没在目标机器(我们自己的机器)与NBNS响应数据包的主机”WPAD”,或”WPAD.DOMAIN.TLD”间,我们设定WPAD主机的IP地址为127.0.0.1。默认配置如下

Potato(邪恶土豆)–windows全版本猥琐提权

同时,我们在127.0.0.1上运行一个HTTP服务器本地。当它接收到一个请求”

HTTP://wpad/wpad.dat

“,它类似如下回应:

FindProxyForURL(url,host){  if (dnsDomainIs(host, "localhost")) return "DIRECT";  return "PROXY 127.0.0.1:80";} 

这将导致目标上的所有HTTP流量将通过我们的服务器上运行127.0.0.1重定向。有趣的是,当即使是低权限的用户进行这种攻击也会影响到所有用户。这包括管理员和系统帐户。见截图”egoldstein_spoofing.png”和”dade_spoofed.png”的例子。

0x03 HTTP – > SMB NTLM中继

与所有的HTTP流量,现在流经我们控制的服务器上,我们可以用来要求NTLM身份验证!

在Potato的exploit中,所有的请求都以302重定向到的” http://localhost/GETHASHESxxxxx “,其中xxxxx是一些独特的标识符。请求” http://localhost/GETHASHESxxxxx “会401响应要求NTLM身份验证。

在NTLM凭据传递到本地的SMB监听器,会创建一个新的系统服务,运行你定义的命令,此命令将以”NT AUTHORITY / SYSTEM”权限运行。

0x04 使用漏洞–取决于使用的操作系统版本

1.Windows 7

https://www.youtube.com/watch?v=Nd6f5P3LSNM

Potato.exe-ip<local ip> -cmd<command to run> -disable_exhaust true 

这将执行NBNS欺骗攻击,欺骗”WPAD”解析到127.0.0.1,然后检查Windows Defender更新。

Potato(邪恶土豆)–windows全版本猥琐提权

2.Windows Server 2008

https://www.youtube.com/watch?v=z_IGPWgL5SY

Potato.exe-ip<local ip> -cmd<command to run> -disable_exhaust true -disable_defender true --spoof_host WPAD.EMC.LOCAL 

比较好使

Potato(邪恶土豆)–windows全版本猥琐提权

3.Windows 8/10, Server 201

https://www.youtube.com/watch?v=Kan58VeYpb8

Potato.exe-ip<local ip> -cmd<cmd to run> -disable_exhaust true -disable_defender true 

Potato(邪恶土豆)–windows全版本猥琐提权

比较蛋疼,需要等待24小时。视频中为了快点出结果,更改了系统时间。

0x05 缓解措施

在Windows中启用”身份验证扩展保护”以防护NTLM中继攻击。SMB签名也可以减轻这种类型的攻击,然而这将需要对我而言更多的研究来证实。

0x06 关闭广播NBNS欺骗

使用同样的NBNS欺骗技术来使用Potato攻击,我们可以对任何主机执行NBNS欺骗,只要可以在UDP 137端口上成功通信。我们只需要发送UDP数据包的速度不够快,在NBNS请求超时之前进行回复。

这方面的一个演示视频可以看出,在 https://www.youtube.com/watch?v=Mzn7ozkyG5g

演示实验室具有以下设置:

PFSense防火墙10.0.0.0/24 – >企业网络10.0.1.0 / 24 – >服务器网络

从企业网络,我们将在服务器网络上的攻击机。

Potato(邪恶土豆)–windows全版本猥琐提权
Usage:python Responder.py–I eth0–spoof<target>:<spoof address>:<spoof host> 

0x07 延伸与参考

https://github.com/foxglovesec/Potato

http://drops.wooyun.org/pentesting/11799 【利用 NetBIOS 协议名称解析及 WPAD 进行内网渗透】

http://drops.wooyun.org/tips/11107 【基于WPAD的中间人攻击】

http://drops.wooyun.org/papers/10887 【Windows 名称解析机制探究及缺陷利用】

http://www.freebuf.com/articles/5238.html 【使用NetBios Spoofing技术渗透内网】

https://www.owasp.org/images/1/1d/NTLM_Relay_Attacks.pdf https://en.wikipedia.org/wiki/SMBRelay
原文  http://tools.pwn.ren/2016/01/17/potato-windows.html
正文到此结束
Loading...