hacktricks/generic-methodologies-and-resources/pentesting-methodology.md

173 lines
11 KiB
Markdown

# Metodologia di Pentesting
{% 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)
<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 %}
<figure><img src="../.gitbook/assets/image (1) (1) (1) (1) (1).png" alt=""><figcaption></figcaption></figure>
Se sei interessato a una **carriera nel hacking** e a hackare l'inhackabile - **stiamo assumendo!** (_richiesta di polacco fluente scritto e parlato_).
{% embed url="https://www.stmcyber.com/careers" %}
## Metodologia di Pentesting
<figure><img src="../.gitbook/assets/HACKTRICKS-logo.svg" alt=""><figcaption></figcaption></figure>
_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/#discovering-hosts)/ [Scoprire le risorse dell'azienda](external-recon-methodology/)
**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).
{% hint style="info" %}
Nota che se stai eseguendo un test esterno, una volta che riesci a ottenere accesso alla rete interna dell'azienda, dovresti riavviare questa guida.
{% endhint %}
### **2-** [**Divertirsi con la rete**](pentesting-network/) **(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/#sniffing).
### 3- [Scansione delle porte - Scoperta dei servizi](pentesting-network/#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/#scanning-hosts).
### **4-** [Cercare exploit di versioni di servizio](search-exploits.md)
Una volta che sai quali servizi sono in esecuzione, e forse la loro versione, devi **cercare vulnerabilità note**. Potresti avere fortuna e ci sia un exploit per darti una shell...
### **5-** Servizi di Pentesting
Se non c'è alcun exploit interessante per alcun 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/) **parte (poiché è la più estesa).**\
Inoltre, una piccola guida su come [**trovare vulnerabilità note nel software**](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 di brute forcing**](brute-force.md)**.**
### 6- [Phishing](phishing-methodology/)
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/):
### **7-** [**Ottenere Shell**](shells/)
In qualche modo dovresti aver trovato **un modo per eseguire codice** nella vittima. Quindi, [un elenco di possibili strumenti all'interno del sistema che puoi usare per ottenere una reverse shell sarebbe molto utile](shells/).
Specialmente in Windows potresti aver bisogno di aiuto per **evitare gli antivirus**: [**Controlla questa pagina**](../windows-hardening/av-bypass.md)**.**\\
### 8- Dentro
Se hai problemi con la shell, puoi trovare qui 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/)
### **9 -** [**Esfiltrazione**](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**](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/) **e in** [**Windows**](../windows-hardening/windows-local-privilege-escalation/)**.**\
Dovresti anche controllare queste pagine su come funziona **Windows**:
* [**Autenticazione, Credenziali, Privilegi dei Token e UAC**](../windows-hardening/authentication-credentials-uac-and-efs/)
* Come funziona [**NTLM**](../windows-hardening/ntlm/)
* 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/)
**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/). 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 più **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/#persistence)**.**
TODO: Completare la persistenza Post in Windows e Linux
### 12 - Pivoting
Con le **credenziali raccolte** potresti avere accesso ad altre macchine, o forse devi **scoprire e scansionare nuovi host** (inizia di nuovo la Metodologia di Pentesting) all'interno di nuove reti a cui la tua vittima è connessa.\
In questo caso, il tunneling potrebbe essere necessario. Qui puoi trovare [**un post che parla di tunneling**](tunneling-and-port-forwarding.md).\
Dovresti anche controllare il post sulla [metodologia di pentesting di Active Directory](../windows-hardening/active-directory-methodology/). Lì troverai trucchi interessanti per muoverti lateralmente, escalare privilegi e dumpare credenziali.\
Controlla anche la pagina su [**NTLM**](../windows-hardening/ntlm/), potrebbe essere molto utile per pivotare in ambienti Windows.
### ALTRO
#### [Applicazioni Android](../mobile-pentesting/android-app-pentesting/)
#### **Sfruttamento**
* [**Sfruttamento di base in Linux**](broken-reference)
* [**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/)
#### [**Python di base**](python/)
#### **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)
<figure><img src="../.gitbook/assets/image (1) (1) (1) (1) (1).png" alt=""><figcaption></figcaption></figure>
Se sei interessato a una **carriera nel hacking** e a hackare l'inhackabile - **stiamo assumendo!** (_richiesta di polacco fluente scritto e parlato_).
{% embed url="https://www.stmcyber.com/careers" %}
{% 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)
<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 %}