Privilege Escalation with Autoruns
Last updated
Last updated
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Bug bounty tip: prijavite se za Intigriti, premium bug bounty platformu koju su kreirali hakeri, za hakere! Pridružite nam se na https://go.intigriti.com/hacktricks danas, i počnite da zarađujete nagrade do $100,000!
Wmic se može koristiti za pokretanje programa pri pokretanju. Pogledajte koji su binarni programi podešeni da se pokrenu pri pokretanju sa:
Zadaci mogu biti zakazani da se izvršavaju sa određenom frekvencijom. Pogledajte koji su binarni fajlovi zakazani za izvršavanje sa:
Svi binarni fajlovi smešteni u Startup folderima će biti izvršeni prilikom pokretanja. Uobičajeni startup folderi su oni navedeni u nastavku, ali je startup folder označen u registru. Pročitajte ovo da saznate gde.
Напомена од овде: Wow6432Node регистарски унос указује да користите 64-битну верзију Windows-a. Оперативни систем користи овај кључ да прикаже одвојену верзију HKEY_LOCAL_MACHINE\SOFTWARE за 32-битне апликације које раде на 64-битним верзијама Windows-a.
Обично познати AutoRun регистар:
HKLM\Software\Microsoft\Windows\CurrentVersion\Run
HKLM\Software\Microsoft\Windows\CurrentVersion\RunOnce
HKLM\Software\Wow6432Node\Microsoft\Windows\CurrentVersion\Run
HKLM\Software\Wow6432Node\Microsoft\Windows\CurrentVersion\RunOnce
HKCU\Software\Microsoft\Windows\CurrentVersion\Run
HKCU\Software\Microsoft\Windows\CurrentVersion\RunOnce
HKCU\Software\Wow6432Node\Microsoft\Windows\CurrentVersion\Run
HKCU\Software\Wow6432Npde\Microsoft\Windows\CurrentVersion\RunOnce
HKLM\Software\Microsoft\Windows NT\CurrentVersion\Terminal Server\Install\Software\Microsoft\Windows\CurrentVersion\Run
HKLM\Software\Microsoft\Windows NT\CurrentVersion\Terminal Server\Install\Software\Microsoft\Windows\CurrentVersion\Runonce
HKLM\Software\Microsoft\Windows NT\CurrentVersion\Terminal Server\Install\Software\Microsoft\Windows\CurrentVersion\RunonceEx
Регистарски кључеви познати као Run и RunOnce су дизајнирани да аутоматски извршавају програме сваки пут када се корисник пријави у систем. Командна линија додељена као вредност кључа је ограничена на 260 знакова или мање.
Service runs (могу контролисати аутоматско покретање услуга током покретања):
HKLM\Software\Microsoft\Windows\CurrentVersion\RunServicesOnce
HKCU\Software\Microsoft\Windows\CurrentVersion\RunServicesOnce
HKLM\Software\Microsoft\Windows\CurrentVersion\RunServices
HKCU\Software\Microsoft\Windows\CurrentVersion\RunServices
HKLM\Software\Wow6432Node\Microsoft\Windows\CurrentVersion\RunServicesOnce
HKCU\Software\Wow6432Node\Microsoft\Windows\CurrentVersion\RunServicesOnce
HKLM\Software\Wow6432Node\Microsoft\Windows\CurrentVersion\RunServices
HKCU\Software\Wow6432Node\Microsoft\Windows\CurrentVersion\RunServices
RunOnceEx:
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\RunOnceEx
HKEY_LOCAL_MACHINE\Software\Wow6432Node\Microsoft\Windows\CurrentVersion\RunOnceEx
На Windows Vista и новијим верзијама, Run и RunOnce регистарски кључеви се не генеришу аутоматски. Уноси у овим кључевима могу или директно покренути програме или их одредити као зависности. На пример, да би се учитао DLL фајл при пријави, могло би се користити RunOnceEx регистарски кључ заједно са "Depend" кључем. Ово се демонстрира додавањем регистарског уноса за извршавање "C:\temp\evil.dll" током покретања система:
Eksploit 1: Ako možete da pišete unutar bilo kog od pomenutih registra unutar HKLM, možete da eskalirate privilegije kada se drugi korisnik prijavi.
Eksploit 2: Ako možete da prepišete bilo koji od binarnih fajlova navedenih u bilo kom od registara unutar HKLM, možete da modifikujete taj binarni fajl sa backdoor-om kada se drugi korisnik prijavi i eskalirate privilegije.
HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders
HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders
HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders
HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders
Prečice postavljene u Startup fasciklu automatski će pokrenuti usluge ili aplikacije tokom prijavljivanja korisnika ili ponovnog pokretanja sistema. Lokacija Startup fascikle je definisana u registru za Local Machine i Current User opsege. To znači da će svaka prečica dodata ovim određenim Startup lokacijama osigurati da se povezana usluga ili program pokrene nakon procesa prijavljivanja ili ponovnog pokretanja, što ga čini jednostavnom metodom za zakazivanje programa da se automatski pokreću.
Ako možete prepisati bilo koju [User] Shell Folder pod HKLM, moći ćete da je usmerite na fasciklu koju kontrolišete i postavite backdoor koji će se izvršiti svaki put kada se korisnik prijavi u sistem, povećavajući privilegije.
HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon
Obično je Userinit ključ postavljen na userinit.exe. Međutim, ako se ovaj ključ izmeni, navedeni izvršni fajl će takođe biti pokrenut od strane Winlogon prilikom prijavljivanja korisnika. Slično tome, Shell ključ je namenjen da upućuje na explorer.exe, koji je podrazumevani shell za Windows.
Ako možete da prepišete vrednost registra ili binarni fajl, moći ćete da eskalirate privilegije.
HKLM\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer
HKCU\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer
Proverite ključ Run.
U Windows registru pod HKLM\SYSTEM\CurrentControlSet\Control\SafeBoot
, postoji AlternateShell
vrednost koja je podrazumevano postavljena na cmd.exe
. To znači da kada izaberete "Siguran režim sa komandnom linijom" tokom pokretanja (pritiskom na F8), koristi se cmd.exe
. Međutim, moguće je postaviti vaš računar da se automatski pokreće u ovom režimu bez potrebe da pritisnete F8 i ručno ga izaberete.
Koraci za kreiranje opcije za pokretanje u "Sigurnom režimu sa komandnom linijom":
Promenite atribute boot.ini
datoteke da uklonite read-only, system i hidden oznake: attrib c:\boot.ini -r -s -h
Otvorite boot.ini
za uređivanje.
Umetnite liniju kao što je: multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Microsoft Windows XP Professional" /fastdetect /SAFEBOOT:MINIMAL(ALTERNATESHELL)
Sačuvajte promene u boot.ini
.
Ponovo primenite originalne atribute datoteke: attrib c:\boot.ini +r +s +h
Eksploit 1: Promena AlternateShell registracijske ključe omogućava prilagođenu postavku komandne ljuske, potencijalno za neovlašćen pristup.
Eksploit 2 (PATH Write Permissions): Imati dozvole za pisanje u bilo koji deo sistema PATH promenljive, posebno pre C:\Windows\system32
, omogućava vam da izvršite prilagođeni cmd.exe
, koji bi mogao biti backdoor ako se sistem pokrene u sigurnom režimu.
Eksploit 3 (PATH i boot.ini Write Permissions): Pristup za pisanje u boot.ini
omogućava automatsko pokretanje u sigurnom režimu, olakšavajući neovlašćen pristup prilikom sledećeg ponovnog pokretanja.
Da proverite trenutnu AlternateShell postavku, koristite ove komande:
Active Setup je funkcija u Windows-u koja pokreće pre nego što se radno okruženje potpuno učita. Prioritizuje izvršavanje određenih komandi, koje moraju biti završene pre nego što se prijavljivanje korisnika nastavi. Ovaj proces se dešava čak i pre nego što se aktiviraju drugi startni unosi, kao što su oni u Run ili RunOnce registrima.
Active Setup se upravlja kroz sledeće registre:
HKLM\SOFTWARE\Microsoft\Active Setup\Installed Components
HKLM\SOFTWARE\Wow6432Node\Microsoft\Active Setup\Installed Components
HKCU\SOFTWARE\Microsoft\Active Setup\Installed Components
HKCU\SOFTWARE\Wow6432Node\Microsoft\Active Setup\Installed Components
Unutar ovih ključeva postoje različiti podključevi, od kojih svaki odgovara određenom komponentu. Ključne vrednosti od posebnog interesa uključuju:
IsInstalled:
0
označava da komanda komponente neće biti izvršena.
1
znači da će se komanda izvršiti jednom za svakog korisnika, što je podrazumevano ponašanje ako vrednost IsInstalled
nedostaje.
StubPath: Definiše komandu koja će biti izvršena od strane Active Setup-a. Može biti bilo koja validna komandna linija, kao što je pokretanje notepad
.
Security Insights:
Modifikovanje ili pisanje u ključ gde je IsInstalled
postavljen na "1"
sa specifičnim StubPath
može dovesti do neovlašćenog izvršavanja komandi, potencijalno za eskalaciju privilegija.
Menjanje binarnog fajla na koji se poziva u bilo kojoj StubPath
vrednosti takođe može postići eskalaciju privilegija, uz dovoljno dozvola.
Da biste pregledali StubPath
konfiguracije širom Active Setup komponenti, mogu se koristiti sledeće komande:
Browser Helper Objects (BHOs) su DLL moduli koji dodaju dodatne funkcije Microsoftovom Internet Exploreru. Učitavaju se u Internet Explorer i Windows Explorer pri svakom pokretanju. Ipak, njihovo izvršavanje može biti blokirano postavljanjem NoExplorer ključa na 1, sprečavajući ih da se učitavaju sa instancama Windows Explorera.
BHOs su kompatibilni sa Windows 10 putem Internet Explorer 11, ali nisu podržani u Microsoft Edge, podrazumevanom pretraživaču u novijim verzijama Windows-a.
Da biste istražili BHOs registrovane na sistemu, možete pregledati sledeće registre:
HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Browser Helper Objects
HKLM\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Explorer\Browser Helper Objects
Svaki BHO je predstavljen svojim CLSID u registru, koji služi kao jedinstveni identifikator. Detaljne informacije o svakom CLSID-u mogu se naći pod HKLM\SOFTWARE\Classes\CLSID\{<CLSID>}
.
Za upit BHOs u registru, mogu se koristiti sledeće komande:
HKLM\Software\Microsoft\Internet Explorer\Extensions
HKLM\Software\Wow6432Node\Microsoft\Internet Explorer\Extensions
Napomena da će registar sadržati 1 novi unos registra za svaku dll i biće predstavljen sa CLSID. Informacije o CLSID-u možete pronaći u HKLM\SOFTWARE\Classes\CLSID\{<CLSID>}
HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Font Drivers
HKLM\SOFTWARE\WOW6432Node\Microsoft\Windows NT\CurrentVersion\Font Drivers
HKLM\SOFTWARE\Classes\htmlfile\shell\open\command
HKLM\SOFTWARE\Wow6432Node\Classes\htmlfile\shell\open\command
Napomena da su sve lokacije gde možete pronaći autorune već pretražene od strane winpeas.exe. Međutim, za opsežniju listu automatski izvršenih fajlova možete koristiti autoruns iz sysinternals:
Pronađite više Autorun-a poput registrija na https://www.microsoftpressstore.com/articles/article.aspx?p=2762082&seqNum=2
Bug bounty savet: prijavite se za Intigriti, premium bug bounty platformu koju su kreirali hakeri, za hakere! Pridružite nam se na https://go.intigriti.com/hacktricks danas, i počnite da zarađujete nagrade do $100,000!
Učite i vežbajte AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Učite i vežbajte GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)