Privilege Escalation with Autoruns
Last updated
Last updated
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)
Savjet za bug bounty: 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 programirani da se pokrenu pri pokretanju sa:
Radnje mogu biti zakazane da se izvršavaju sa određenom frekvencijom. Pogledajte koje su binarne datoteke zakazane za izvršavanje sa:
Sve binarne datoteke smeštene u Startup folderima će biti izvršene 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.
Note from here: Wow6432Node registracija ukazuje na to da koristite 64-bitnu verziju Windows-a. Operativni sistem koristi ovu ključ za prikazivanje odvojene verzije HKEY_LOCAL_MACHINE\SOFTWARE za 32-bitne aplikacije koje se pokreću na 64-bitnim verzijama Windows-a.
Uobičajeno poznati AutoRun registry:
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
Registry ključevi poznati kao Run i RunOnce su dizajnirani da automatski izvršavaju programe svaki put kada se korisnik prijavi u sistem. Komandna linija dodeljena kao podatkovna vrednost ključa je ograničena na 260 karaktera ili manje.
Service runs (mogu kontrolisati automatsko pokretanje servisa tokom podizanja sistema):
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
Na Windows Vista i novijim verzijama, Run i RunOnce registry ključevi se ne generišu automatski. Unosi u ovim ključevima mogu ili direktno pokrenuti programe ili ih odrediti kao zavisnosti. Na primer, da bi se učitao DLL fajl prilikom prijavljivanja, može se koristiti RunOnceEx registry ključ zajedno sa "Depend" ključem. Ovo se demonstrira dodavanjem registracijske stavke za izvršavanje "C:\temp\evil.dll" tokom pokretanja sistema:
Eksploit 1: Ako možete da pišete unutar bilo kog od pomenutih registra unutar HKLM, možete da eskalirate privilegije kada se prijavi drugi korisnik.
Eksploit 2: Ako možete da prepišete bilo koji od binarnih fajlova navedenih u bilo kom od registra unutar HKLM, možete da modifikujete taj binarni fajl sa backdoor-om kada se prijavi drugi korisnik 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, čime se povećavaju 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 "Safe Mode with Command Prompt" tokom pokretanja (pritiskom na F8), koristi se cmd.exe
. Međutim, moguće je postaviti vaš računar da automatski startuje u ovom režimu bez potrebe da pritisnete F8 i ručno ga izaberete.
Koraci za kreiranje opcije za pokretanje koja automatski startuje u "Safe Mode with Command Prompt":
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 registry ključa 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
, što bi mogla biti zadnja vrata ako se sistem pokrene u bezbednom režimu.
Eksploit 3 (PATH i boot.ini Write Permissions): Pristup za pisanje u boot.ini
omogućava automatsko pokretanje u bezbednom 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đenoj komponenti. 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 za svaki 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 Autoruns kao što su registri u 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)