# Metodologia di Pentesting {{#include ../banners/hacktricks-training.md}} ## Metodologia di Pentesting
_I loghi di Hacktricks sono stati progettati da_ [_@ppiernacho_](https://www.instagram.com/ppieranacho/)_._ ### **0- Attacchi Fisici** Hai **accesso fisico** alla macchina che vuoi attaccare? Dovresti leggere alcuni [**trucchi sugli attacchi fisici**](../hardware-physical-access/physical-attacks.md) e altri su [**come sfuggire dalle applicazioni GUI**](../hardware-physical-access/escaping-from-gui-applications.md). ### 1- [Scoprire host all'interno della rete](pentesting-network/index.html#discovering-hosts)/ [Scoprire le risorse dell'azienda](external-recon-methodology/index.html) **A seconda** se il **test** che stai eseguendo è un **test interno o esterno**, potresti essere interessato a trovare **host all'interno della rete aziendale** (test interno) o **trovare risorse dell'azienda su internet** (test esterno). > [!NOTE] > Nota che se stai eseguendo un test esterno, una volta che riesci a ottenere accesso alla rete interna dell'azienda, dovresti riavviare questa guida. ### **2-** [**Divertirsi con la rete**](pentesting-network/index.html) **(Interno)** **Questa sezione si applica solo se stai eseguendo un test interno.**\ Prima di attaccare un host, forse preferisci **rubare alcune credenziali** **dalla rete** o **sniffare** alcuni **dati** per apprendere **passivamente/attivamente (MitM)** cosa puoi trovare all'interno della rete. Puoi leggere [**Pentesting Network**](pentesting-network/index.html#sniffing). ### **3-** [**Scansione delle porte - Scoperta dei servizi**](pentesting-network/index.html#scanning-hosts) La prima cosa da fare quando **cerchi vulnerabilità in un host** è sapere quali **servizi sono in esecuzione** su quali porte. Vediamo i [**strumenti di base per scansionare le porte degli host**](pentesting-network/index.html#scanning-hosts). ### **4-** [Cercare exploit di versioni di servizio](../generic-hacking/search-exploits.md) Una volta che sai quali servizi sono in esecuzione, e forse la loro versione, devi **cercare vulnerabilità note**. Forse hai fortuna e c'è un exploit che ti dà una shell... ### **5-** Servizi di Pentesting Se non c'è alcun exploit interessante per un servizio in esecuzione, dovresti cercare **comuni misconfigurazioni in ciascun servizio in esecuzione.** **All'interno di questo libro troverai una guida per pentestare i servizi più comuni** (e altri che non sono così comuni)**. Per favore, cerca nell'indice a sinistra la** _**SEZIONE PENTESTING**_ **(i servizi sono ordinati per le loro porte predefinite).** **Voglio fare una menzione speciale della** [**Pentesting Web**](../network-services-pentesting/pentesting-web/index.html) **parte (poiché è la più estesa).**\ Inoltre, una piccola guida su come [**trovare vulnerabilità note nel software**](../generic-hacking/search-exploits.md) può essere trovata qui. **Se il tuo servizio non è nell'indice, cerca su Google** altri tutorial e **fammi sapere se vuoi che lo aggiunga.** Se non **riesci a trovare nulla** su Google, esegui il tuo **blind pentesting**, potresti iniziare **collegandoti al servizio, fuzzandolo e leggendo le risposte** (se ci sono). #### 5.1 Strumenti Automatici Ci sono anche diversi strumenti che possono eseguire **valutazioni automatiche delle vulnerabilità**. **Ti consiglio di provare** [**Legion**](https://github.com/carlospolop/legion)**, che è lo strumento che ho creato ed è basato sulle note sui servizi di pentesting che puoi trovare in questo libro.** #### **5.2 Forzatura dei servizi** In alcuni scenari una **Brute-Force** potrebbe essere utile per **compromettere** un **servizio**. [**Trova qui un CheatSheet di diversi servizi da forzare**](../generic-hacking/brute-force.md)**.** ### 6- [Phishing](phishing-methodology/index.html) Se a questo punto non hai trovato alcuna vulnerabilità interessante, **potresti dover provare un po' di phishing** per entrare nella rete. Puoi leggere la mia metodologia di phishing [qui](phishing-methodology/index.html): ### **7-** [**Ottenere Shell**](../generic-hacking/reverse-shells/index.html) In qualche modo dovresti aver trovato **un modo per eseguire codice** nella vittima. Poi, [una lista di possibili strumenti all'interno del sistema che puoi usare per ottenere una reverse shell sarebbe molto utile](../generic-hacking/reverse-shells/index.html). Specialmente in Windows potresti aver bisogno di aiuto per **evitare gli antivirus**: [**Controlla questa pagina**](../windows-hardening/av-bypass.md)**.** ### 8- Interno Se hai problemi con la shell, qui puoi trovare una piccola **compilazione dei comandi più utili** per i pentester: - [**Linux**](../linux-hardening/useful-linux-commands.md) - [**Windows (CMD)**](../windows-hardening/basic-cmd-for-pentesters.md) - [**Windows (PS)**](../windows-hardening/basic-powershell-for-pentesters/index.html) ### **9-** [**Esfiltrazione**](../generic-hacking/exfiltration.md) Probabilmente avrai bisogno di **estrarre alcuni dati dalla vittima** o anche **introdurre qualcosa** (come script di escalation dei privilegi). **Qui hai un** [**post sui comuni strumenti che puoi usare a questi scopi**](../generic-hacking/exfiltration.md)**.** ### **10- Escalation dei Privilegi** #### **10.1- Privesc Locale** Se non sei **root/Amministratore** all'interno della macchina, dovresti trovare un modo per **escalare i privilegi.**\ Qui puoi trovare una **guida per escalare i privilegi localmente in** [**Linux**](../linux-hardening/privilege-escalation/index.html) **e in** [**Windows**](../windows-hardening/windows-local-privilege-escalation/index.html)**.**\ Dovresti anche controllare queste pagine su come funziona **Windows**: - [**Autenticazione, Credenziali, Privilegi dei Token e UAC**](../windows-hardening/authentication-credentials-uac-and-efs/index.html) - Come funziona [**NTLM**](../windows-hardening/ntlm/index.html) - Come [**rubare credenziali**](https://github.com/carlospolop/hacktricks/blob/master/generic-methodologies-and-resources/broken-reference/README.md) in Windows - Alcuni trucchi su [_**Active Directory**_](../windows-hardening/active-directory-methodology/index.html) **Non dimenticare di controllare i migliori strumenti per enumerare i percorsi di Escalation dei Privilegi locali in Windows e Linux:** [**Suite PEAS**](https://github.com/carlospolop/privilege-escalation-awesome-scripts-suite) #### **10.2- Privesc di Dominio** Qui puoi trovare una [**metodologia che spiega le azioni più comuni per enumerare, escalare privilegi e persistere in un Active Directory**](../windows-hardening/active-directory-methodology/index.html). Anche se questa è solo una sottosezione di una sezione, questo processo potrebbe essere **estremamente delicato** in un incarico di Pentesting/Red Team. ### 11 - POST #### **11**.1 - Saccheggio Controlla se puoi trovare altre **password** all'interno dell'host o se hai **accesso ad altre macchine** con i **privilegi** del tuo **utente**.\ Trova qui diversi modi per [**dumpare password in Windows**](https://github.com/carlospolop/hacktricks/blob/master/generic-methodologies-and-resources/broken-reference/README.md). #### 11.2 - Persistenza **Usa 2 o 3 diversi tipi di meccanismi di persistenza in modo da non dover sfruttare di nuovo il sistema.**\ **Qui puoi trovare alcuni** [**trucchi di persistenza su active directory**](../windows-hardening/active-directory-methodology/index.html#persistence)**.** TODO: Completare la persistenza Post in Windows & Linux ### 12 - Pivoting Con le **credenziali raccolte** potresti avere accesso ad altre macchine, o forse devi **scoprire e scansionare nuovi host** (iniziare di nuovo la Metodologia di Pentesting) all'interno di nuove reti a cui è connessa la tua vittima.\ In questo caso il tunneling potrebbe essere necessario. Qui puoi trovare [**un post che parla di tunneling**](../generic-hacking/tunneling-and-port-forwarding.md).\ Dovresti anche controllare il post sulla [Metodologia di pentesting di Active Directory](../windows-hardening/active-directory-methodology/index.html). Lì troverai trucchi interessanti per muoverti lateralmente, escalare privilegi e dumpare credenziali.\ Controlla anche la pagina su [**NTLM**](../windows-hardening/ntlm/index.html), potrebbe essere molto utile per pivotare in ambienti Windows. ### ALTRO #### [Applicazioni Android](../mobile-pentesting/android-app-pentesting/index.html) #### **Sfruttamento** - [**Sfruttamento di base in Linux**](broken-reference/index.html) - [**Sfruttamento di base in Windows**](../binary-exploitation/windows-exploiting-basic-guide-oscp-lvl.md) - [**Strumenti di sfruttamento di base**](../binary-exploitation/basic-stack-binary-exploitation-methodology/tools/index.html) #### [**Python di base**](python/index.html) #### **Trucchi di crittografia** - [**ECB**](../crypto-and-stego/electronic-code-book-ecb.md) - [**CBC-MAC**](../crypto-and-stego/cipher-block-chaining-cbc-mac-priv.md) - [**Padding Oracle**](../crypto-and-stego/padding-oracle-priv.md) {{#include ../banners/hacktricks-training.md}}