0x01 NBNS和WDAP

NBNS:

在 Windows 系统中的另外一种名称就是 NetBIOS 名称,准确的说 NetBIOS 名称并非是一种名字系统,而是 Windows 操作系统网络的一个编程接口,允许主机之间使用 NetBIOS 名称进行通信,通信过程是建立在 NetBIOS 协议之上的。在安装完 Windows 系统后系统会默认使用计算机的名字做为当前主机的 NetBIOS 名称。它的最大长度为 16 个字符,其中最后一位是不可配置的,用于指定 NetBIOS 的服务类型。如果计算机名称不足 15 位则使用空格补全到 15 位,反之,如果计算机名称超过 15 位 则会截取前 15 位。常见的 NetBIOS 后缀有 0x20(文件和打印服务)、0x00(工作站服务)、0x03(报信者服务)等。

使用nbtstat -n命令查看本机的 NetBIOS 名称。

使用nbtstat -A ipaddress命令查看指定 IP 主机的 NetBIOS 名称。

Windows做DNS解析时有如下步骤:

1.local hosts file - C:\Windows\System32\drivers\etc\hosts

2.DNS

3.NBNS

那么当访问者输入一个不存在的域名,而LOCAL HOST FILE、DNS服务器均无法给出解析时,我们可爱又人性化的Windows就会发送NBNS请求进行查询。

如图所示,我们可以看到NBNS请求的地址是172.16.0.255,是一个广播包。

即任何人可以回复并重定向流量。

WPAD:

WPAD(Web Proxy Auto-Discovery Protocol) 是 Web 代理自动发现协议的简称,该协议的功能是可以使局域网中用户的浏览器可以自动发现内网中的代理服务器,并使用已发现的代理服务器连接互联网或者企业内网。WPAD 支持所有主流的浏览器,从 IE 5.0 开始就已经支持了代理服务器自动发现/切换的功能,不过苹果公司考虑到 WPAD 的安全风险,在包括 OSX 10.10 及之后版本的操作系统中的 Safari 浏览器将不再支持 PAC 文件的解析。

WPAD 工作原理

当系统开启了代理自动发现功能后,用户使用浏览器上网时,浏览器就会在当前局域网中自动查找代理服务器,如果找到了代理服务器,则会从代理服务器中下载一个名为 PAC(Proxy Auto-Config) 的配置文件。该文件中定义了用户在访问一个 URL 时所应该使用的代理服务器。浏览器会下载并解析该文件,并将相应的代理服务器设置到用户的浏览器中。

讲到现在大家一定思路清晰了:当下我们的目的是回复NBNS响应,从而转移流量进行欺骗。

0x02 攻击准备

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

同时,我们在127.0.0.1上运行一个HTTP服务器本地。当它接收到一个请求”HTTP://wpad/wpad.dat“,它类似如下回应:

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

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更新。

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

比较好使

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

当然msf中也内置了nbns攻击的模块

Nbns应答模块:

设置相关参数,运行 这里的ip为你响应恶意nbns请求的ip,这里为我的kali的ip。

SMB中继模块:

HTTP模块:

此时目标访问一个不存在域名或者一个不存在的smb通信主机名时,会向NBNS请求解析名称

我们就可以捕获到hash凭据, 此演示中密码为空。

相关拓展地址

https://github.com/foxglovesec/Potato

https://github.com/foxglovesec/RottenPotato

https://github.com/breenmachine/RottenPotatoNG

Potato土豆win综合提权的更多相关文章

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

    工作原理: Potato利用已知的Windows中的问题,以获得本地权限提升,即NTLM中继(特别是基于HTTP > SMB中继)和NBNS欺骗.使用下面介绍的技术,它有可能为一个非特权用户获得 ...

  2. Potato家族本地提权分析

    原文来自SecIN社区-作者:Zeva 0x00 前言 在实际渗透中,我们用到最多的就是Potato家族的提权.本文着重研究Potato家族的提权原理以及本地提权细节 0x01 原理讲解 1.利用Po ...

  3. win环境下使用sqlmap写shell + MYSQL提权(默认就是system权限)

    今天在来一个mysql提权 (也可以说是默认system权限提的) 在被黑站点找到一个站   先教拿shell是有注入漏洞的 有可能是root权限的注入点 可以确定是有注入漏洞的 也得到了 物理路径 ...

  4. Win提权思路,方法,工具(小总结)[转]

    Win提权思路,方法,工具(小总结)[转] 看到这个文章,感觉整理的不错,就收藏下了. 介绍 windows提权总是被归结为适当的枚举.但要完成适当的枚举,你需要知道要检查和查找的内容.这通常需要伴随 ...

  5. 记一次WindowsServer2012提权 - 烂土豆

    此次主题:烂土豆 shell咋拿的 我也忘了 好像是添加友情链接那里还是啥 不重要了 直接获取shell后 先用systeminfo > 1.txt了一下 然后放到了 windows-explo ...

  6. WIN DLL劫持提权

    WIN DLL劫持提权 原理: Windows程序启动的时候需要DLL.如果这些DLL 不存在,则可以通过在应用程序要查找的位置放置恶意DLL来提权.通常,Windows应用程序有其预定义好的搜索DL ...

  7. win内核漏洞提权

    WIN系统溢出漏洞提权 漏洞筛选 在整个提权项目中,前提是拿到webshell. 关于系统的溢出漏洞,我推荐两个项目: https://github.com/chroblert/WindowsVuln ...

  8. WIN提权总结【本地存档-转载】

    [ web提权 ] 1.能不能执行cmd就看这个命令:net user,net不行就用net1,再不行就上传一个net到可写可读目录,执行/c c:\windows\temp\cookies\net1 ...

  9. Meterpreter提权详解

      0x01 Meterpreter自动提权 1.生成后门程序 我们在kali的命令行下直接执行以下命令获得一个针对windows的反弹型木马: msfvenom -p windows/meterpr ...

随机推荐

  1. 今天遇到 Request failed: method not allowed (405)。 错误,特此在网上翻了翻

    Q1: 遇到405请求错误.提示:NSLocalizedDescription=Request failed: method not allowed (405).解决方案:405请求方法不被允许.这时 ...

  2. 从网页跳转到自己的app

    展开该数据并点击 Item 0.你将在这里定义自定义 URL scheme 的名字.只需要名字,不要在后面追加 :// — 比如,如果你输入 iOSDevApp,你的自定义 url 就是 iOSDev ...

  3. 喜大普奔,两个开源的 Spring Boot + Vue 前后端分离项目可以在线体验了

    折腾了一周的域名备案昨天终于搞定了. 松哥第一时间想到赶紧把微人事和 V 部落部署上去,我知道很多小伙伴已经等不及了. 1. 也曾经上过线 其实这两个项目当时刚做好的时候,我就把它们部署到服务器上了, ...

  4. CentOS7.2搭建LAMP环境

    所谓的Lamp就是:Linux+Apache+mysql+php.这里的Linux使用CentOS7.2. 0x00 开始我们可以先更新一下yum: # 升级所有包同时也升级软件和系统内核 yum - ...

  5. 右键没有新建word选项

    两类解决办法 一. 1. 新建一个txt文本,并插入如下内容: Windows Registry Editor Version 5.00 [HKEY_CLASSES_ROOT\.doc] @=&quo ...

  6. python+selenium一:对浏览器的常规操作

    # 1.打开Firefox浏览器 from selenium import webdriverdriver = webdriver.Firefox()driver.get("https:// ...

  7. XStream实现javabean和xml、json转化

    xStream转换XML.Json数据 xStream可以轻易的将javaBean对象和xml相互转换,修改某个特定的属性和节点名称,而且也支持json的转换. maven依赖: 1 <depe ...

  8. gitbook 入门教程之还在搞公众号互推涨粉?gitbook 集成导流工具,轻轻松松躺增粉丝!

    相信大多数博客作者都或多或少有过这样想法: 现在各种平台这么多,想要实现全平台发布就要到处复制粘贴,等我有空一定做统一平台一次性全部解决! 不知道正在阅读文章的你,有没有这样的想法? 反正我确实这么想 ...

  9. 在Debian上用FVWM做自己的桌面

    用FVWM做自己的桌面 Table of Contents 1. 前言 2. 学习步骤 3. 准备 3.1. 软件包 3.2. 字体 3.3. 图片 3.4. 参考资料 4. 环境 5. 布局 6. ...

  10. 面试并发volatile关键字时,我们应该具备哪些谈资?

    提前发现更多精彩内容,请访问 个人博客 提前发现更多精彩内容,请访问 个人博客 提前发现更多精彩内容,请访问 个人博客 写在前面 在 可见性有序性,Happens-before来搞定 文章中,happ ...