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。默认配置如下

同时,我们在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更新。

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

比较蛋疼,需要等待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 – >服务器网络
从企业网络,我们将在服务器网络上的攻击机。

Usage: python Responder.py –I eth0 –spoof <target>:<spoof address>:<spoof host>
0x07 延伸与参考
Potato(邪恶土豆)–windows全版本猥琐提权的更多相关文章
- Windows全版本KMS激活脚本
搭建了个KMS服务器,制作了个批处理激活脚本,所有代码可以看到,让你再也不用担心系统会被有些激活工具强改主页,留有后门的风险了. 本脚本可以激活Windows全版本,安全.绿色. 1.首先你的系统必须 ...
- [EXP]windows全版本SMB溢出工具加强版
工具:k8加强版zzz 编译:python 漏洞:MS17-010 用法: zzz_exploit.exe 192.11.22.82zzz_exploit.exe 192.11.22.82 exe参数 ...
- windows中命令行窗口提权到管理员权限.windows 的 sudo
命令行环境中获取管理员权限 第一种方法 (最爽,但是被运行的命令会被当成新进程运行,运行完成后就自动关闭了.) 把以下代码复制到记事本中保存为sudo.vbs 然后移动到PATH任意目录中,如wind ...
- windows全系列激活脚本-改良版.cmd
@ECHO OFFTITLE Windows 全版本系统激活cscript //nologo %Systemroot%\system32\slmgr.vbs -skms 10.1.1.12ECHO 检 ...
- Windows提权总结
当以低权用户进去一个陌生的windows机器后,无论是提权还是后续做什么,第一步肯定要尽可能的搜集信息.知己知彼,才百战不殆. 常规信息搜集 systeminfo 查询系统信息 hostname 主机 ...
- 35.windows提权总结
本文参考自冷逸大佬的博客,源地址在这里:https://lengjibo.github.io/windows%E6%8F%90%E6%9D%83%E6%80%BB%E7%BB%93/ windows提 ...
- [EXP]IIS全版本提权工具
工具: iislpe.exe 编译: .net 3.5 全版本IIS提权工具,支持IIS应用池用户/网络服务用户/本地服务用户 原理: 通过NTLM重放将权限提升至SYSTEM权限,详情参 ...
- 偏执的iOS逆向研究员:收集全版本的macOS iOS+越狱+内核调试
Intro 虽然“只有偏执狂才能够生存”这句话已经被假药停给毁了,但是作为一只有逼格的高大上的iOS逆向分析研究员,难道如果有现成的macOS/iOS全版本镜像可以下载并且无限“漫游”,难道你就不想来 ...
- delphi之猥琐的webserver实现
http://www.birdol.com/cainiaobiancheng/238.html delphi之猥琐的webserver实现 菜鸟编程 十五楼的鸟儿 7年前 (2009-01-01) ...
随机推荐
- Linux 下使用网易的SMTP服务器 发送邮件
最近在研究服务器高可用集群 (HA)…… 尝试配置keepalived, 却发现其全局配置(global_defs )中发送邮件的SMTP服务器配置只有简单 smtp_server 一个选项. 那么, ...
- 如何使用bootstrap
前言: 前几天,本想做一个登陆界面,但自己写form表单必然很丑,所以想用下bootstarp框架,之前听别人说bootstrap很牛的样子.但我完全不会bootstrap... 下载&目录 ...
- Kubernetes日志收集
关于kubernetes的日志分好几种,针对kubernetes本身而言有三种: 1.资源运行时的event事件.比如在k8s集群中创建pod之后,可以通过 kubectl describe pod ...
- 在Android中使用am和input命令在实际使用中的注意事项以及小技巧
在Android使用到am和进行一些操作是非常方便的,比如一个重复自动的操作,具体用来实现一些什么是看个人需求了,接下来说对于am和input的使用. 本文适用于已经大概去了解了am和input的朋友 ...
- ecshop点滴记录
会员中心: 用户中心页面的内容分布在两个模板文件中: user_clips.dwt(包含:欢迎页.我的留言.我的评论.我的标签.收藏商品.缺货登记.添加缺货登 记.我的推荐.单个商品推荐) user_ ...
- 测试开发Python培训:抓取新浪微博评论提取目标数据-技术篇
测试开发Python培训:抓取新浪微博评论提取目标数据-技术篇 在前面我分享了几个新浪微博的自动化脚本的实现,下面我们继续实现新的需求,功能需求如下: 1,登陆微博 2,抓取评论页内容3,用正则表 ...
- 性能调优之MYSQL高并发优化
性能调优之MYSQL高并发优化 一.数据库结构的设计 如果不能设计一个合理的数据库模型,不仅会增加客户端和服务器段程序的编程和维护的难度,而且将会影响系统实际运行的性能.所以,在一个系统开始实施之 ...
- Selenium 2.0与Selenum 3.0介绍
什么是Selenium Selenium是一组web自动化测试工具集,它由以下几个部分构成: Selenium IDE(Integrated Development Environment)这是Fir ...
- [Linux] PHP程序员玩转Linux系列-nginx初学者引导
1.PHP程序员玩转Linux系列-怎么安装使用CentOS 2.PHP程序员玩转Linux系列-lnmp环境的搭建 3.PHP程序员玩转Linux系列-搭建FTP代码开发环境 4.PHP程序员玩转L ...
- Android安全开发之启动私有组件漏洞浅谈
0x00 私有组件浅谈 android应用中,如果某个组件对外导出,那么这个组件就是一个攻击面.很有可能就存在很多问题,因为攻击者可以以各种方式对该组件进行测试攻击.但是开发者不一定所有的安全问题都能 ...