mirror of
https://github.com/carlospolop/hacktricks
synced 2024-11-22 04:33:28 +00:00
Translated ['generic-methodologies-and-resources/pentesting-network/webr
This commit is contained in:
parent
6e8e91b678
commit
919934041f
5 changed files with 130 additions and 51 deletions
|
@ -21,6 +21,7 @@
|
|||
* [Network Protocols Explained (ESP)](generic-methodologies-and-resources/pentesting-network/network-protocols-explained-esp.md)
|
||||
* [Nmap Summary (ESP)](generic-methodologies-and-resources/pentesting-network/nmap-summary-esp.md)
|
||||
* [Pentesting IPv6](generic-methodologies-and-resources/pentesting-network/pentesting-ipv6.md)
|
||||
* [WebRTC DoS](generic-methodologies-and-resources/pentesting-network/webrtc-dos.md)
|
||||
* [Spoofing LLMNR, NBT-NS, mDNS/DNS and WPAD and Relay Attacks](generic-methodologies-and-resources/pentesting-network/spoofing-llmnr-nbt-ns-mdns-dns-and-wpad-and-relay-attacks.md)
|
||||
* [Spoofing SSDP and UPnP Devices with EvilSSDP](generic-methodologies-and-resources/pentesting-network/spoofing-ssdp-and-upnp-devices.md)
|
||||
* [Pentesting Wifi](generic-methodologies-and-resources/pentesting-wifi/README.md)
|
||||
|
@ -521,7 +522,7 @@
|
|||
* [Web Vulnerabilities Methodology](pentesting-web/web-vulnerabilities-methodology.md)
|
||||
* [Reflecting Techniques - PoCs and Polygloths CheatSheet](pentesting-web/pocs-and-polygloths-cheatsheet/README.md)
|
||||
* [Web Vulns List](pentesting-web/pocs-and-polygloths-cheatsheet/web-vulns-list.md)
|
||||
* [2FA/OTP Bypass](pentesting-web/2fa-bypass.md)
|
||||
* [2FA/MFA/OTP Bypass](pentesting-web/2fa-bypass.md)
|
||||
* [Account Takeover](pentesting-web/account-takeover.md)
|
||||
* [Browser Extension Pentesting Methodology](pentesting-web/browser-extension-pentesting-methodology/README.md)
|
||||
* [BrowExt - ClickJacking](pentesting-web/browser-extension-pentesting-methodology/browext-clickjacking.md)
|
||||
|
|
|
@ -0,0 +1,63 @@
|
|||
# WebRTC DoS
|
||||
|
||||
{% 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 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>
|
||||
|
||||
<summary>Supporta HackTricks</summary>
|
||||
|
||||
* 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)**.**
|
||||
* **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>
|
||||
{% endhint %}
|
||||
|
||||
**Questo problema è stato trovato in questo post del blog:** [**https://www.rtcsec.com/article/novel-dos-vulnerability-affecting-webrtc-media-servers/**](https://www.rtcsec.com/article/novel-dos-vulnerability-affecting-webrtc-media-servers/)
|
||||
|
||||
La vulnerabilità descritta nei server multimediali WebRTC deriva da una **condizione di gara** durante l'inizializzazione delle sessioni multimediali, specificamente tra la **verifica del consenso multimediale ICE** e l'**inizializzazione del traffico DTLS**. Ecco un'analisi dettagliata:
|
||||
|
||||
### Origine della Vulnerabilità
|
||||
|
||||
1. **Allocazione della Porta UDP:** Quando un utente avvia una chiamata WebRTC, il server multimediale alloca porte UDP per gestire i flussi multimediali, con l'IP e la porta comunicati tramite signaling.
|
||||
2. **Processi ICE e STUN:** Il browser dell'utente utilizza ICE per la verifica del consenso multimediale, utilizzando STUN per determinare il percorso di connessione al server multimediale.
|
||||
3. **Sessione DTLS:** Dopo una verifica STUN riuscita, inizia una sessione DTLS per stabilire le chiavi master SRTP, passando a SRTP per il flusso multimediale.
|
||||
|
||||
### Meccanismo di Sfruttamento
|
||||
|
||||
* **Sfruttamento della Condizione di Gara:** Un attaccante può sfruttare una condizione di gara inviando un messaggio DTLS ClientHello prima dell'utente legittimo, potenzialmente utilizzando una suite di cifratura non valida come `TLS_NULL_WITH_NULL_NULL`. Questo causa un errore DTLS sul server, impedendo l'instaurazione della sessione SRTP.
|
||||
|
||||
### Processo di Attacco
|
||||
|
||||
* **Scansione delle Porte:** L'attaccante deve indovinare quali porte UDP gestiscono le sessioni multimediali in arrivo, inviando messaggi ClientHello con la suite di cifratura nulla a queste porte per attivare la vulnerabilità.
|
||||
* **Diagramma dell'Attacco:** La sequenza coinvolge più messaggi ClientHello inviati dall'attaccante al server, intercalati con signaling legittimo e messaggi DTLS, portando a un fallimento del handshake a causa della suite di cifratura errata.
|
||||
|
||||
### Test e Mitigazione
|
||||
|
||||
* **Test Sicuri:** Utilizzando strumenti come Scapy, gli attaccanti riproducono messaggi DTLS ClientHello mirati a porte multimediali specifiche. Per test etici, sono state utilizzate modifiche a Chromium (ad es., `JsepTransport::AddRemoteCandidates`) per imitare il comportamento della vittima in modo sicuro.
|
||||
* **Misure di Mitigazione:** Le soluzioni prevedono il rifiuto dei pacchetti da indirizzi non verificati, come implementato nelle versioni più recenti di librerie come libnice. La soluzione principale enfatizza la fiducia nel processo di verifica ICE e l'elaborazione solo dei pacchetti provenienti da combinazioni IP e porta validate.
|
||||
|
||||
### Scenari Non Vulnerabili
|
||||
|
||||
* **Configurazioni del Server DTLS:** I casi in cui il browser funge da server DTLS o quando il server multimediale non utilizza porte effimere per le sessioni multimediali non sono suscettibili a questa vulnerabilità.
|
||||
|
||||
### Conclusione
|
||||
|
||||
Questa vulnerabilità evidenzia l'equilibrio delicato nei processi di inizializzazione delle sessioni multimediali e la necessità di meccanismi di temporizzazione e verifica precisi per prevenire sfruttamenti. Si consiglia agli sviluppatori di implementare le correzioni di sicurezza raccomandate e garantire processi di verifica robusti per mitigare tali vulnerabilità.
|
||||
|
||||
{% 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 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>
|
||||
|
||||
<summary>Supporta HackTricks</summary>
|
||||
|
||||
* 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)**.**
|
||||
* **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>
|
||||
{% endhint %}
|
|
@ -1,6 +1,8 @@
|
|||
# iOS Custom URI Handlers / Deeplinks / Custom Schemes
|
||||
|
||||
{% hint style="success" %}
|
||||
Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||
Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||
Learn & practice AWS Hacking:<img src="../../.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="../../.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||
Learn & practice GCP Hacking: <img src="../../.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="../../.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||
|
||||
<details>
|
||||
|
||||
|
@ -13,17 +15,15 @@ Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-s
|
|||
</details>
|
||||
{% endhint %}
|
||||
|
||||
This is a sumary from the related information from [https://mas.owasp.org/MASTG/tests/ios/MASVS-PLATFORM/MASTG-TEST-0075/](https://mas.owasp.org/MASTG/tests/ios/MASVS-PLATFORM/MASTG-TEST-0075/)
|
||||
|
||||
## Basic Information
|
||||
|
||||
Gli schemi URL personalizzati consentono alle app di comunicare utilizzando un protocollo personalizzato, come dettagliato nella [Documentazione per sviluppatori Apple](https://developer.apple.com/library/content/documentation/iPhone/Conceptual/iPhoneOSProgrammingGuide/Inter-AppCommunication/Inter-AppCommunication.html#//apple_ref/doc/uid/TP40007072-CH6-SW1). Questi schemi devono essere dichiarati dall'app, che gestisce quindi gli URL in arrivo seguendo tali schemi. È fondamentale **validare tutti i parametri URL** e **scartare eventuali URL malformati** per prevenire attacchi attraverso questo vettore.
|
||||
Gli schemi URL personalizzati consentono alle app di comunicare utilizzando un protocollo personalizzato, come dettagliato nella [Apple Developer Documentation](https://developer.apple.com/library/content/documentation/iPhone/Conceptual/iPhoneOSProgrammingGuide/Inter-AppCommunication/Inter-AppCommunication.html#//apple\_ref/doc/uid/TP40007072-CH6-SW1). Questi schemi devono essere dichiarati dall'app, che gestisce quindi gli URL in arrivo seguendo quegli schemi. È fondamentale **validare tutti i parametri URL** e **scartare eventuali URL malformati** per prevenire attacchi attraverso questo vettore.
|
||||
|
||||
Un esempio è fornito dove l'URI `myapp://hostname?data=123876123` invoca un'azione specifica dell'applicazione. Una vulnerabilità nota era nell'app Skype Mobile, che consentiva azioni di chiamata non autorizzate tramite il protocollo `skype://`. Gli schemi registrati possono essere trovati nel `Info.plist` dell'app sotto `CFBundleURLTypes`. Le applicazioni malevole possono sfruttare questo registrando nuovamente URI per intercettare informazioni sensibili.
|
||||
|
||||
### Application Query Schemes Registration
|
||||
|
||||
A partire da iOS 9.0, per controllare se un'app è disponibile, `canOpenURL:` richiede di dichiarare gli schemi URL nel `Info.plist` sotto `LSApplicationQueriesSchemes`. Questo limita gli schemi che un'app può interrogare a 50, migliorando la privacy prevenendo l'enumerazione delle app.
|
||||
A partire da iOS 9.0, per controllare se un'app è disponibile, `canOpenURL:` richiede di dichiarare gli schemi URL nel `Info.plist` sotto `LSApplicationQueriesSchemes`. Questo limita gli schemi che un'app può interrogare a 50, migliorando la privacy impedendo l'enumerazione delle app.
|
||||
```xml
|
||||
<key>LSApplicationQueriesSchemes</key>
|
||||
<array>
|
||||
|
@ -33,7 +33,7 @@ A partire da iOS 9.0, per controllare se un'app è disponibile, `canOpenURL:` ri
|
|||
```
|
||||
### Testing URL Handling and Validation
|
||||
|
||||
Gli sviluppatori dovrebbero ispezionare metodi specifici nel codice sorgente per comprendere la costruzione e la validazione del percorso URL, come `application:didFinishLaunchingWithOptions:` e `application:openURL:options:`. Ad esempio, Telegram utilizza vari metodi per aprire URL:
|
||||
Gli sviluppatori dovrebbero ispezionare metodi specifici nel codice sorgente per comprendere la costruzione e la validazione dei percorsi URL, come `application:didFinishLaunchingWithOptions:` e `application:openURL:options:`. Ad esempio, Telegram utilizza vari metodi per aprire URL:
|
||||
```swift
|
||||
func application(_ application: UIApplication, open url: URL, sourceApplication: String?) -> Bool {
|
||||
self.openUrl(url: url)
|
||||
|
@ -75,20 +75,29 @@ Watching for crashes from iGoat...
|
|||
No logs were moved.
|
||||
Opened URL: iGoat://?contactNumber=0&message=0
|
||||
```
|
||||
## Hijacking degli URL personalizzati
|
||||
|
||||
Secondo [**questo post**](https://evanconnelly.github.io/post/ios-oauth/), le app malevole potrebbero **registrare gli schemi personalizzati di altre app,** quindi l'app malevola può aprire un browser che ha tutti i cookie dell'app Safari con [ASWebAuthenticationSession](https://developer.apple.com/documentation/authenticationservices/aswebauthenticationsession/2990952-init#parameters). 
|
||||
|
||||
Con il browser, l'app malevola può caricare una pagina web controllata dall'attaccante e TCC chiederà all'utente mobile i permessi per aprire quell'app. Poi, la pagina web malevola potrebbe reindirizzare a una pagina vittima, ad esempio un flusso OAuth con il parametro `prompt=none`. Se l'utente era già loggato nel flusso OAuth, il flusso OAuth invierà il segreto all'applicazione vittima utilizzando lo schema personalizzato dell'app vittima.\
|
||||
Tuttavia, poiché l'app malevola ha anche registrato lo schema e poiché il browser utilizzato è all'interno dell'app malevola, lo schema personalizzato sarà gestito in questo caso dall'app malevola che sarà in grado di rubare il token OAuth.
|
||||
|
||||
## Riferimenti
|
||||
|
||||
* [https://mas.owasp.org/MASTG/tests/ios/MASVS-PLATFORM/MASTG-TEST-0075/](https://mas.owasp.org/MASTG/tests/ios/MASVS-PLATFORM/MASTG-TEST-0075/)
|
||||
* [https://evanconnelly.github.io/post/ios-oauth/](https://evanconnelly.github.io/post/ios-oauth/)
|
||||
|
||||
{% 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 GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||
Learn & practice AWS Hacking:<img src="../../.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="../../.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||
Learn & practice GCP Hacking: <img src="../../.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="../../.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||
|
||||
<details>
|
||||
|
||||
<summary>Supporta HackTricks</summary>
|
||||
<summary>Support HackTricks</summary>
|
||||
|
||||
* 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)**.**
|
||||
* **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.
|
||||
* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)!
|
||||
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
||||
* **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
|
||||
|
||||
</details>
|
||||
{% endhint %}
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
# 80,443 - Metodologia di Pentesting Web
|
||||
|
||||
{% 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 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 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)
|
||||
|
||||
<details>
|
||||
|
||||
|
@ -10,14 +10,14 @@ Impara e pratica GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-s
|
|||
|
||||
* 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)**.**
|
||||
* **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>
|
||||
{% endhint %}
|
||||
|
||||
<figure><img src="../../.gitbook/assets/image (1) (1) (1) (1) (1).png" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
Se sei interessato a una **carriera nell'hacking** e a hackare l'inhackabile - **stiamo assumendo!** (_richiesta conoscenza fluente della lingua polacca scritta e parlata_).
|
||||
Se sei interessato a una **carriera nell'hacking** e a hackare l'inhackabile - **stiamo assumendo!** (_richiesta di polacco fluente scritto e parlato_).
|
||||
|
||||
{% embed url="https://www.stmcyber.com/careers" %}
|
||||
|
||||
|
@ -58,7 +58,7 @@ openssl s_client -connect domain.com:443 # GET / HTTP/1.0
|
|||
* [ ] _Nota che ogni volta che viene scoperta una nuova directory durante il brute-forcing o lo spidering, dovrebbe essere forzata._
|
||||
* [ ] **Controllo dei Backup**: Verifica se riesci a trovare **backup** di **file scoperti** aggiungendo estensioni di backup comuni.
|
||||
* [ ] **Brute-Force dei parametri**: Prova a **trovare parametri nascosti**.
|
||||
* [ ] Una volta che hai **identificato** tutti i possibili **endpoint** che accettano **input dell'utente**, controlla tutti i tipi di **vulnerabilità** correlate.
|
||||
* [ ] Una volta che hai **identificato** tutti i possibili **endpoint** che accettano **input dell'utente**, controlla tutti i tipi di **vulnerabilità** ad essi correlate.
|
||||
* [ ] [Segui questa checklist](../../pentesting-web/web-vulnerabilities-methodology.md)
|
||||
|
||||
## Server Version (Vulnerable?)
|
||||
|
@ -129,7 +129,7 @@ Se il **codice sorgente** dell'applicazione è disponibile su **github**, oltre
|
|||
* Le **password** sono in **testo semplice**, **crittografate** o quale **algoritmo di hashing** è utilizzato?
|
||||
* Viene utilizzata qualche **chiave master** per crittografare qualcosa? Quale **algoritmo** è utilizzato?
|
||||
* Puoi **accedere a uno di questi file** sfruttando qualche vulnerabilità?
|
||||
* Ci sono informazioni **interessanti su github** (problemi risolti e non risolti)? O nella **cronologia dei commit** (forse qualche **password introdotta in un vecchio commit**)?
|
||||
* Ci sono **informazioni interessanti su github** (problemi risolti e non risolti)? O nella **cronologia dei commit** (forse qualche **password introdotta in un vecchio commit**)?
|
||||
|
||||
{% content-ref url="code-review-tools.md" %}
|
||||
[code-review-tools.md](code-review-tools.md)
|
||||
|
@ -246,8 +246,9 @@ Lanciare qualche tipo di **spider** all'interno del web. L'obiettivo dello spide
|
|||
* [**jsluice**](https://github.com/BishopFox/jsluice) (go): È un pacchetto Go e [strumento da riga di comando](https://github.com/BishopFox/jsluice/blob/main/cmd/jsluice) per estrarre URL, percorsi, segreti e altri dati interessanti dal codice sorgente JavaScript.
|
||||
* [**ParaForge**](https://github.com/Anof-cyber/ParaForge): ParaForge è una semplice **estensione di Burp Suite** per **estrarre i parametri e gli endpoint** dalla richiesta per creare una wordlist personalizzata per fuzzing ed enumerazione.
|
||||
* [**katana**](https://github.com/projectdiscovery/katana) (go): Strumento fantastico per questo.
|
||||
* [**Crawley**](https://github.com/s0rg/crawley) (go): Stampa ogni link che riesce a trovare.
|
||||
|
||||
### Brute Force directory e file
|
||||
### Brute Force directories and files
|
||||
|
||||
Inizia a **brute-forzare** dalla cartella radice e assicurati di brute-forzare **tutte** le **directory trovate** utilizzando **questo metodo** e tutte le directory **scoperte** dallo **Spidering** (puoi fare questo brute-forcing **ricorsivamente** e aggiungendo all'inizio della wordlist utilizzata i nomi delle directory trovate).\
|
||||
Strumenti:
|
||||
|
@ -258,15 +259,15 @@ Strumenti:
|
|||
* [**Feroxbuster**](https://github.com/epi052/feroxbuster) **- Veloce, supporta ricerca ricorsiva.**
|
||||
* [**wfuzz**](https://github.com/xmendez/wfuzz) `wfuzz -w /usr/share/seclists/Discovery/Web-Content/raft-medium-directories.txt https://domain.com/api/FUZZ`
|
||||
* [**ffuf** ](https://github.com/ffuf/ffuf)- Veloce: `ffuf -c -w /usr/share/wordlists/dirb/big.txt -u http://10.10.10.10/FUZZ`
|
||||
* [**uro**](https://github.com/s0md3v/uro) (python): Questo non è uno spider ma uno strumento che dato l'elenco degli URL trovati eliminerà gli URL "duplicati".
|
||||
* [**uro**](https://github.com/s0md3v/uro) (python): Questo non è uno spider ma uno strumento che dato l'elenco di URL trovati eliminerà gli URL "duplicati".
|
||||
* [**Scavenger**](https://github.com/0xDexter0us/Scavenger): Estensione Burp per creare un elenco di directory dalla cronologia burp di diverse pagine.
|
||||
* [**TrashCompactor**](https://github.com/michael1026/trashcompactor): Rimuovi URL con funzionalità duplicate (basato su importazioni js).
|
||||
* [**Chamaleon**](https://github.com/iustin24/chameleon): Utilizza wapalyzer per rilevare le tecnologie utilizzate e selezionare le wordlist da utilizzare.
|
||||
|
||||
**Dizionari consigliati:**
|
||||
**Dizionari raccomandati:**
|
||||
|
||||
* [https://github.com/carlospolop/Auto\_Wordlists/blob/main/wordlists/bf\_directories.txt](https://github.com/carlospolop/Auto\_Wordlists/blob/main/wordlists/bf\_directories.txt)
|
||||
* [**Dizionario incluso di Dirsearch**](https://github.com/maurosoria/dirsearch/blob/master/db/dicc.txt)
|
||||
* [**Dizionario incluso in Dirsearch**](https://github.com/maurosoria/dirsearch/blob/master/db/dicc.txt)
|
||||
* [http://gist.github.com/jhaddix/b80ea67d85c13206125806f0828f4d10](http://gist.github.com/jhaddix/b80ea67d85c13206125806f0828f4d10)
|
||||
* [Assetnote wordlists](https://wordlists.assetnote.io)
|
||||
* [https://github.com/danielmiessler/SecLists/tree/master/Discovery/Web-Content](https://github.com/danielmiessler/SecLists/tree/master/Discovery/Web-Content)
|
||||
|
@ -328,7 +329,7 @@ _Nota che ogni volta che viene scoperta una nuova directory durante il brute-for
|
|||
|
||||
Se qualche pagina **risponde** con quel **codice**, è probabilmente un **proxy mal configurato**. **Se invii una richiesta HTTP come: `GET https://google.com HTTP/1.1`** (con l'intestazione host e altre intestazioni comuni), il **proxy** cercherà di **accedere** _**google.com**_ **e avrai trovato un** SSRF.
|
||||
|
||||
**Autenticazione NTLM - Informazioni divulgate**
|
||||
**NTLM Authentication - Info disclosure**
|
||||
|
||||
Se il server in esecuzione richiede autenticazione è **Windows** o trovi un login che richiede le tue **credenziali** (e richiede il **nome del dominio**), puoi provocare una **divulgazione di informazioni**.\
|
||||
**Invia** l'**intestazione**: `“Authorization: NTLM TlRMTVNTUAABAAAAB4IIAAAAAAAAAAAAAAAAAAAAAAA=”` e a causa di come funziona l'**autenticazione NTLM**, il server risponderà con informazioni interne (versione IIS, versione Windows...) all'interno dell'intestazione "WWW-Authenticate".\
|
||||
|
@ -336,11 +337,11 @@ Puoi **automatizzare** questo utilizzando il **plugin nmap** "_http-ntlm-info.ns
|
|||
|
||||
**HTTP Redirect (CTF)**
|
||||
|
||||
È possibile **inserire contenuti** all'interno di una **Redirezione**. Questo contenuto **non sarà mostrato all'utente** (poiché il browser eseguirà la redirezione) ma qualcosa potrebbe essere **nascosto** lì dentro.
|
||||
È possibile **inserire contenuti** all'interno di una **Redirection**. Questo contenuto **non sarà mostrato all'utente** (poiché il browser eseguirà la redirezione) ma qualcosa potrebbe essere **nascosto** lì dentro.
|
||||
|
||||
### Controllo delle vulnerabilità web
|
||||
|
||||
Ora che è stata eseguita un'ampia enumerazione dell'applicazione web è tempo di controllare molte possibili vulnerabilità. Puoi trovare la checklist qui:
|
||||
Ora che è stata eseguita un'enumerazione completa dell'applicazione web è tempo di controllare molte possibili vulnerabilità. Puoi trovare la checklist qui:
|
||||
|
||||
{% content-ref url="../../pentesting-web/web-vulnerabilities-methodology.md" %}
|
||||
[web-vulnerabilities-methodology.md](../../pentesting-web/web-vulnerabilities-methodology.md)
|
||||
|
@ -352,7 +353,7 @@ Trova ulteriori informazioni sulle vulnerabilità web in:
|
|||
* [https://kennel209.gitbooks.io/owasp-testing-guide-v4/content/en/web\_application\_security\_testing/configuration\_and\_deployment\_management\_testing.html](https://kennel209.gitbooks.io/owasp-testing-guide-v4/content/en/web\_application\_security\_testing/configuration\_and\_deployment\_management\_testing.html)
|
||||
* [https://owasp-skf.gitbook.io/asvs-write-ups/kbid-111-client-side-template-injection](https://owasp-skf.gitbook.io/asvs-write-ups/kbid-111-client-side-template-injection)
|
||||
|
||||
### Monitorare le pagine per modifiche
|
||||
### Monitorare le pagine per le modifiche
|
||||
|
||||
Puoi utilizzare strumenti come [https://github.com/dgtlmoon/changedetection.io](https://github.com/dgtlmoon/changedetection.io) per monitorare le pagine per modifiche che potrebbero inserire vulnerabilità.
|
||||
|
||||
|
@ -433,8 +434,8 @@ Description: Simple Scan with Ffuf for discovering additional vhosts
|
|||
Command: ffuf -w {Subdomain_List}:FUZZ -u {Web_Proto}://{Domain_Name} -H "Host:FUZZ.{Domain_Name}" -c -mc all {Ffuf_Filters}
|
||||
```
|
||||
{% 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 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 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 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>
|
||||
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
# Bypass 2FA/OTP
|
||||
# Bypass 2FA/MFA/OTP
|
||||
|
||||
{% 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 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 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 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>
|
||||
|
||||
|
@ -10,7 +10,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)!
|
||||
* **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>
|
||||
{% endhint %}
|
||||
|
@ -19,7 +19,7 @@ Impara e pratica il hacking GCP: <img src="/.gitbook/assets/grte.png" alt="" dat
|
|||
|
||||
<figure><img src="../.gitbook/assets/image (1227).png" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
[**WhiteIntel**](https://whiteintel.io) è un motore di ricerca alimentato dal **dark-web** che offre funzionalità **gratuite** per verificare se un'azienda o i suoi clienti sono stati **compromessi** da **malware rubatori**.
|
||||
[**WhiteIntel**](https://whiteintel.io) è un motore di ricerca alimentato dal **dark-web** che offre funzionalità **gratuite** per controllare se un'azienda o i suoi clienti sono stati **compromessi** da **malware rubatori**.
|
||||
|
||||
Il loro obiettivo principale di WhiteIntel è combattere il takeover degli account e gli attacchi ransomware derivanti da malware che rubano informazioni.
|
||||
|
||||
|
@ -29,7 +29,7 @@ Puoi controllare il loro sito web e provare il loro motore **gratuitamente** su:
|
|||
|
||||
***
|
||||
|
||||
## **Tecniche Avanzate di Bypass dell'Autenticazione a Due Fattori**
|
||||
## **Tecniche di Bypass dell'Autenticazione a Due Fattori Migliorate**
|
||||
|
||||
### **Accesso Diretto all'Endpoint**
|
||||
|
||||
|
@ -37,7 +37,7 @@ Per bypassare il 2FA, accedi direttamente all'endpoint successivo, conoscere il
|
|||
|
||||
### **Riutilizzo del Token**
|
||||
|
||||
Riutilizzare token precedentemente usati per l'autenticazione all'interno di un account può essere efficace.
|
||||
Riutilizzare token precedentemente utilizzati per l'autenticazione all'interno di un account può essere efficace.
|
||||
|
||||
### **Utilizzo di Token Non Utilizzati**
|
||||
|
||||
|
@ -49,19 +49,19 @@ Indaga se il token è divulgato in una risposta dall'applicazione web.
|
|||
|
||||
### **Sfruttamento del Link di Verifica**
|
||||
|
||||
Utilizzare il **link di verifica email inviato al momento della creazione dell'account** può consentire l'accesso al profilo senza 2FA, come evidenziato in un dettagliato [post](https://srahulceh.medium.com/behind-the-scenes-of-a-security-bug-the-perils-of-2fa-cookie-generation-496d9519771b).
|
||||
Utilizzare il **link di verifica email inviato al momento della creazione dell'account** può consentire l'accesso al profilo senza 2FA, come evidenziato in un [post](https://srahulceh.medium.com/behind-the-scenes-of-a-security-bug-the-perils-of-2fa-cookie-generation-496d9519771b).
|
||||
|
||||
### **Manipolazione della Sessione**
|
||||
|
||||
Iniziare sessioni sia per l'account dell'utente che per quello di una vittima, e completare il 2FA per l'account dell'utente senza procedere, consente di tentare di accedere al passo successivo nel flusso dell'account della vittima, sfruttando le limitazioni della gestione delle sessioni backend.
|
||||
Iniziare sessioni sia per l'account dell'utente che per quello di una vittima, e completare il 2FA per l'account dell'utente senza procedere, consente di tentare di accedere al passaggio successivo nel flusso dell'account della vittima, sfruttando le limitazioni della gestione delle sessioni backend.
|
||||
|
||||
### **Meccanismo di Reset della Password**
|
||||
|
||||
Indagare sulla funzione di reset della password, che accede all'applicazione dopo il reset, per il suo potenziale di consentire più reset utilizzando lo stesso link è cruciale. Accedere con le credenziali appena resetate potrebbe bypassare il 2FA.
|
||||
Indagare sulla funzione di reset della password, che accede all'applicazione dopo il reset, per il suo potenziale di consentire più reset utilizzando lo stesso link è cruciale. Accedere con le credenziali appena ripristinate potrebbe bypassare il 2FA.
|
||||
|
||||
### **Compromissione della Piattaforma OAuth**
|
||||
|
||||
Compromettere l'account di un utente su una piattaforma **OAuth** fidata (ad es., Google, Facebook) può offrire una via per bypassare il 2FA.
|
||||
Compromettere l'account di un utente su una piattaforma **OAuth** fidata (ad es. Google, Facebook) può offrire un percorso per bypassare il 2FA.
|
||||
|
||||
### **Attacchi di Forza Bruta**
|
||||
|
||||
|
@ -75,7 +75,7 @@ Un attacco di forza bruta lento è praticabile dove esistono limiti di flusso se
|
|||
|
||||
#### **Ripristino del Limite di Invio del Codice**
|
||||
|
||||
Reinviare il codice ripristina il limite di frequenza, facilitando tentativi di forza bruta continuati.
|
||||
Reinviare il codice ripristina il limite di frequenza, facilitando ulteriori tentativi di forza bruta.
|
||||
|
||||
#### **Circumvenzione del Limite di Frequenza Lato Client**
|
||||
|
||||
|
@ -85,7 +85,7 @@ Un documento dettaglia tecniche per bypassare il limite di frequenza lato client
|
|||
|
||||
I limiti di frequenza possono proteggere i tentativi di accesso ma non le azioni interne dell'account.
|
||||
|
||||
#### **Costi di Reinviamento del Codice SMS**
|
||||
#### **Costi di Reinvi dei Codici SMS**
|
||||
|
||||
Il reinvio eccessivo di codici tramite SMS comporta costi per l'azienda, sebbene non bypassi il 2FA.
|
||||
|
||||
|
@ -93,9 +93,9 @@ Il reinvio eccessivo di codici tramite SMS comporta costi per l'azienda, sebbene
|
|||
|
||||
La generazione infinita di OTP con codici semplici consente la forza bruta riprovando un piccolo set di codici.
|
||||
|
||||
### **Sfruttamento delle Condizioni di Gara**
|
||||
### **Sfruttamento delle Condizioni di Corsa**
|
||||
|
||||
Sfruttare le condizioni di gara per bypassare il 2FA può essere trovato in un documento specifico.
|
||||
Sfruttare le condizioni di corsa per bypassare il 2FA può essere trovato in un documento specifico.
|
||||
|
||||
### **Vulnerabilità CSRF/Clickjacking**
|
||||
|
||||
|
@ -115,7 +115,7 @@ Impersonare l'indirizzo IP della vittima tramite l'header **X-Forwarded-For** pu
|
|||
|
||||
#### **Sottodomini**
|
||||
|
||||
Testare i sottodomini può utilizzare versioni obsolete prive di supporto 2FA o contenere implementazioni vulnerabili del 2FA.
|
||||
Testare i sottodomini può utilizzare versioni obsolete prive di supporto 2FA o contenere implementazioni 2FA vulnerabili.
|
||||
|
||||
#### **Endpoint API**
|
||||
|
||||
|
@ -131,7 +131,7 @@ La generazione immediata e il potenziale recupero non autorizzato di codici di b
|
|||
|
||||
### **Divulgazione di Informazioni sulla Pagina 2FA**
|
||||
|
||||
La divulgazione di informazioni sensibili (ad es., numero di telefono) sulla pagina di verifica 2FA è una preoccupazione.
|
||||
La divulgazione di informazioni sensibili (ad es. numero di telefono) sulla pagina di verifica 2FA è una preoccupazione.
|
||||
|
||||
### **Reset della Password Disabilitando il 2FA**
|
||||
|
||||
|
@ -141,16 +141,21 @@ Un processo che dimostra un potenziale metodo di bypass coinvolge la creazione d
|
|||
|
||||
Utilizzare richieste di diversione per offuscare i tentativi di forza bruta o fuorviare i meccanismi di limitazione della frequenza aggiunge un ulteriore livello alle strategie di bypass. Creare tali richieste richiede una comprensione sfumata delle misure di sicurezza dell'applicazione e dei comportamenti di limitazione della frequenza.
|
||||
|
||||
### Errori di Costruzione OTP
|
||||
|
||||
Nel caso in cui l'OTP venga creato in base ai dati che l'utente ha già o che vengono inviati precedentemente per creare l'OTP, è possibile per l'utente generarlo e bypassarlo.
|
||||
|
||||
## Riferimenti
|
||||
|
||||
* [https://medium.com/@iSecMax/two-factor-authentication-security-testing-and-possible-bypasses-f65650412b35](https://github.com/carlospolop/hacktricks/blob/master/pentesting-web/%22https:/medium.com/@iSecMax/two-factor-authentication-security-testing-and-possible-bypasses-f65650412b35%22/README.md)
|
||||
* [https://azwi.medium.com/2-factor-authentication-bypass-3b2bbd907718](https://azwi.medium.com/2-factor-authentication-bypass-3b2bbd907718)
|
||||
* [https://getpocket.com/read/aM7dap2bTo21bg6fRDAV2c5thng5T48b3f0Pd1geW2u186eafibdXj7aA78Ip116\_1d0f6ce59992222b0812b7cab19a4bce](https://getpocket.com/read/aM7dap2bTo21bg6fRDAV2c5thng5T48b3f0Pd1geW2u186eafibdXj7aA78Ip116\_1d0f6ce59992222b0812b7cab19a4bce)
|
||||
|
||||
### [WhiteIntel](https://whiteintel.io)
|
||||
|
||||
<figure><img src="../.gitbook/assets/image (1227).png" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
[**WhiteIntel**](https://whiteintel.io) è un motore di ricerca alimentato dal **dark-web** che offre funzionalità **gratuite** per verificare se un'azienda o i suoi clienti sono stati **compromessi** da **malware rubatori**.
|
||||
[**WhiteIntel**](https://whiteintel.io) è un motore di ricerca alimentato dal **dark-web** che offre funzionalità **gratuite** per controllare se un'azienda o i suoi clienti sono stati **compromessi** da **malware rubatori**.
|
||||
|
||||
Il loro obiettivo principale di WhiteIntel è combattere il takeover degli account e gli attacchi ransomware derivanti da malware che rubano informazioni.
|
||||
|
||||
|
@ -161,8 +166,8 @@ Puoi controllare il loro sito web e provare il loro motore **gratuitamente** su:
|
|||
P
|
||||
|
||||
{% 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 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 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 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>
|
||||
|
||||
|
@ -170,7 +175,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)!
|
||||
* **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>
|
||||
{% endhint %}
|
||||
|
|
Loading…
Reference in a new issue