写在前面
近期的windows漏洞Localpotato,影响范围广,适用于很多不同windows版本。我自己正在使用的win10,也可以提权。Localpotato刚出来的时候复现失败了,记录一下这里成功利用的过程。
目录
0x01 漏洞原理
0x02 影响版本
0x03 利用步骤
0x04 工具获取
0x05 参考
漏洞原理
LocalPotato攻击是一种针对本地认证的NTLM反射攻击。Windows NTLM 在进行身份验证时存在漏洞,允许拥有低权限的本地攻 击者通过运行特制程序将权限提升至 SYSTEM。
服务器将为特权连接实例化一个安全上下文 A,但不立即将其发回。
攻击者再启动一个恶意客户端,该客户端同时使用其当前的非特权凭据启动与本地 SMB 服务器(Windows 文件共享)的连接。客户端将发送 Type1 消息以启动连接,服务器将通过发送带有新安全上下文 B 的 ID 的Type2 消息来回复。
攻击者将交换来自两个连接的上下文 ID,以便特权进程接收 SMB 服务器连接的上下文而不是它自己的上下文。因此,特权客户端会将其用户 (SYSTEM) 与攻击者创建的 SMB 连接的安全上下文 B 相关联。
通过与 SMB 共享的特权连接,攻击者可以在任何位置读取或写入文件到目标机器。
总结一下,简单来说攻击者可以通过这个漏洞实现任意文件读写,把恶意dll比如反弹shell写到system32,再触发dll即可实现获得一个system权限的命令行。实现提权。
影响版本
Windows Server 2012 R2
Windows RT 8.1
Windows 8.1 for x64-based systems
Windows 8.1 for 32-bit systems
Windows 7 for x64-based Systems Service Pack 1
Windows 7 for 32-bit Systems Service Pack 1
Windows Server 2016 (Server Core installation)
Windows Server 2016
Windows Server 2022 (Server Core installation)
Windows Server 2022
Windows Server 2012 (Server Core installation)
Windows Server 2012
Windows Server 2008 R2 for x64-based Systems Service Pack
1 (Server Core installation)
Windows Server 2008 R2 for x64-based Systems Service Pack
Windows Server 2012 R2 (Server Core installation)
Windows 10 Version 1607 for x64-based Systems
Windows 10 Version 1607 for 32-bit Systems
Windows 10 for x64-based Systems
Windows 10 for 32-bit Systems
Windows 10 Version 22H2 for 32-bit Systems
Windows 10 Version 22H2 for ARM64-based Systems
Windows 10 Version 22H2 for x64-based Systems
Windows 11 Version 22H2 for x64-based Systems
Windows 11 Version 22H2 for ARM64-based Systems
Windows 10 Version 21H2 for x64-based Systems
Windows 10 Version 21H2 for ARM64-based Systems
Windows 10 Version 21H2 for 32-bit Systems
Windows 11 version 21H2 for ARM64-based Systems
Windows 11 version 21H2 for x64-based Systems
Windows 10 Version 20H2 for ARM64-based Systems
Windows 10 Version 20H2 for 32-bit Systems
Windows 10 Version 20H2 for x64-based Systems
Windows Server 2019 (Server Core installation)
Windows Server 2019
Windows 10 Version 1809 for ARM64-based Systems
Windows 10 Version 1809 for x64-based Systems
Windows 10 Version 1809 for 32-bit Systems
利用步骤
准备阶段,生成一个反弹shell恶意dll,改名为SprintCSP.dll
利用LocalPotato,将其上传到system32
LocalPotato.exe -i SprintCSP.dll -o \Windows\System32\SprintCSP.dll
成功上传,Localpotato完成他的任务。接下来使用其他工具RpcClient触发dll
RpcClient,目前只支持WIN10/11/2019/2022。
命令行systeminfo查看系统版本,修改storsvc_c.c文件对应的头
修改后生成EXE,再运行
运行之前使用nc监听8088端口
运行如果出现如下报错,启动services.msc,重启StorSvc服务
再次运行
成功接收到反弹shell,获取system权限。考虑到nc可能被杀,可以把dll换成把当前用户添加到管理员组。
工具获取
公众号回复"CVE-2023-21746",获取工具。
参考
https://infosecwriteups.com/localpotato-tryhackme-writeup-walkthrough-by-md-amiruddin-a2d93747d5ad
https://www.localpotato.com/
写在最后
本人坚决反对利用文章内容进行恶意攻击行为,一切错误行为必将受到惩罚,绿色网络需要靠我们共同维护,推荐大家在了解技术原理的前提下,更好的维护个人信息安全、企业安全、国家安全。
未经授权请勿利用文章中的技术资料对任何计算机系统进行入侵操作。利用此文所提供的信息而造成的直接或间接后果和损失,均由使用者本人负责。