
PetitPotam के माध्यम से स्थानीय विशेषाधिकार वृद्धि (impersonate विशेषाधिकारों का दुरुपयोग)।
PetitPotam के माध्यम से स्थानीय विशेषाधिकार वृद्धि (impersonate विशेषाधिकारों का दुरुपयोग)।
PetitPotam MS-EFSR (Encrypting File System Remote) का उपयोग करता है, जो एक प्रोटोकॉल है जिसका उपयोग नेटवर्क पर दूरस्थ रूप से संग्रहीत और एक्सेस किए गए एन्क्रिप्टेड डेटा पर रखरखाव और प्रबंधन कार्यों को करने के लिए किया जाता है। MS-EFSR में EfsRpcOpenFileRaw के समान APIs की एक श्रृंखला है। EfsRpcOpenFileRaw API का सिंटैक्स नीचे दिखाया गया है।
long EfsRpcOpenFileRaw(
[in] handle_t binding_h,
[out] PEXIMPORT_CONTEXT_HANDLE* hContext,
[in, string] wchar_t* FileName,
[in] long Flags
);
ऐसे APIs बैकअप या पुनर्स्थापना के लिए सर्वर पर एन्क्रिप्टेड ऑब्जेक्ट खोलने हेतु FileName पैरामीटर के माध्यम से एक UNC पथ निर्दिष्ट कर सकते हैं। जब \\IP\C$ प्रारूप में पथ निर्दिष्ट किया जाता है, तो lsass.exe सेवा NT AUTHORITY SYSTEM खाता विशेषाधिकारों के साथ \\IP\pipe\srvsvc तक पहुंचेगी।
यदि हम स्थानीय कंप्यूटर को हमारे द्वारा बनाए गए दुर्भावनापूर्ण named pipe से कनेक्ट करने के लिए बाध्य करने हेतु EfsRpcOpenFileRaw API को कॉल कर सकते हैं, तो हम named pipe क्लाइंट प्रक्रिया का प्रतिरूपण कर सकते हैं और अंततः SYSTEKM विशेषाधिकार प्राप्त कर सकते हैं।
लेकिन पुराना PetitPotam संबंधित पैच की सीमाओं के कारण Windows के नए संस्करणों पर काम नहीं करता है। हालाँकि, EFS को कॉल करने से पहले RpcBindingSetAuthInfoW के माध्यम से AuthnLevel को RPC_C_AUTHN_LEVEL_PKT_PRIVACY पर सेट करना नवीनतम सिस्टम पर काम करता है।
दिसंबर 2021 में, Microsoft ने एक अलग EFSRPC भेद्यता: CVE-2021-43217 के लिए एक पैच जारी किया। उस समस्या के उपचार के भाग के रूप में, Microsoft ने EFSRPC संचार पर कुछ सख्त उपाय लागू किए। विशेष रूप से, EFSRPC क्लाइंट्स को EFSRPC का उपयोग करते समय RPC_C_AUTHN_LEVEL_PKT_PRIVACY का उपयोग करना आवश्यक होगा। यदि क्लाइंट ऐसा करने में विफल रहता है, तो क्लाइंट को अस्वीकार कर दिया जाता है और एक Windows एप्लिकेशन इवेंट उत्पन्न होता है।
वर्तमान में, यह प्रोजेक्ट Windows के सभी संस्करणों पर पूरी तरह से SYSTEM तक विशेषाधिकार बढ़ा सकता है (Windows 21H2 10.0.20348.1547 पर परीक्षण किया गया)।
PetitPotato.exe [EfsID] [Command]
EfsID: उपयोग करने के लिए MS-EFSR API संख्याCommand: निष्पादित करने के लिए कमांडC:\Users\Administrator\Desktop>PetitPotato.exe 3 cmd
[+] Malicious named pipe running on \\.\pipe\petit\pipe\srvsvc.
[+] Invoking EfsRpcQueryUsersOnFile with target path: \\localhost/pipe/petit\C$\wh0nqs.txt.
[+] The connection is successful.
[+] ImpersonateNamedPipeClient OK.
[+] OpenThreadToken OK.
[+] DuplicateTokenEx OK.
[+] CreateProcessAsUser OK.
Microsoft Windows [Version 10.0.20348.1547]
(c) Microsoft Corporation. All rights reserved.
C:\Windows\system32>whoami
nt authority\system
C:\Windows\system32>
