mirror of
https://github.com/HackTricks-wiki/hacktricks.git
synced 2025-10-10 18:36:50 +00:00
135 lines
9.6 KiB
Markdown
135 lines
9.6 KiB
Markdown
# Méthodologie de Pentesting
|
|
|
|
{{#include ../banners/hacktricks-training.md}}
|
|
|
|
## Méthodologie de Pentesting
|
|
|
|
<figure><img src="../images/HACKTRICKS-logo.svg" alt=""><figcaption></figcaption></figure>
|
|
|
|
_Logo Hacktricks conçu par_ [_@ppiernacho_](https://www.instagram.com/ppieranacho/)_._
|
|
|
|
### 0- Attaques Physiques
|
|
|
|
Avez-vous **un accès physique** à la machine que vous souhaitez attaquer ? Vous devriez lire quelques [**astuces sur les attaques physiques**](../hardware-physical-access/physical-attacks.md) et d'autres sur [**l'évasion des applications GUI**](../hardware-physical-access/escaping-from-gui-applications.md).
|
|
|
|
### 1 - [Découverte des hôtes à l'intérieur du réseau](pentesting-network/index.html#discovering-hosts)/ [Découverte des actifs de l'entreprise](external-recon-methodology/)
|
|
|
|
**Selon** si le **test** que vous effectuez est un **test interne ou externe**, vous pourriez être intéressé à trouver **des hôtes à l'intérieur du réseau de l'entreprise** (test interne) ou **à trouver des actifs de l'entreprise sur Internet** (test externe).
|
|
|
|
> [!NOTE]
|
|
> Notez que si vous effectuez un test externe, une fois que vous parvenez à obtenir l'accès au réseau interne de l'entreprise, vous devez redémarrer ce guide.
|
|
|
|
### **2-** [**S'amuser avec le réseau**](pentesting-network/) **(Interne)**
|
|
|
|
**Cette section ne s'applique que si vous effectuez un test interne.**\
|
|
Avant d'attaquer un hôte, vous préférez peut-être **voler des identifiants** **du réseau** ou **sniffer** des **données** pour apprendre **passivement/activement (MitM)** ce que vous pouvez trouver à l'intérieur du réseau. Vous pouvez lire [**Pentesting Network**](pentesting-network/index.html#sniffing).
|
|
|
|
### 3- [Scan de Ports - Découverte de services](pentesting-network/index.html#scanning-hosts)
|
|
|
|
La première chose à faire lorsque vous **cherchez des vulnérabilités dans un hôte** est de savoir quels **services sont en cours d'exécution** sur quels ports. Voyons les [**outils de base pour scanner les ports des hôtes**](pentesting-network/index.html#scanning-hosts).
|
|
|
|
### **4-** [Recherche d'exploits de version de service](../generic-hacking/search-exploits.md)
|
|
|
|
Une fois que vous savez quels services sont en cours d'exécution, et peut-être leur version, vous devez **chercher des vulnérabilités connues**. Peut-être aurez-vous de la chance et il existe un exploit pour vous donner un shell...
|
|
|
|
### **5-** Services de Pentesting
|
|
|
|
S'il n'y a pas d'exploit intéressant pour un service en cours d'exécution, vous devriez chercher des **mauvais configurations courantes dans chaque service en cours d'exécution.**
|
|
|
|
**Dans ce livre, vous trouverez un guide pour pentester les services les plus courants** (et d'autres qui ne le sont pas tant)**. Veuillez chercher dans l'index de gauche la section** _**PENTESTING**_ **(les services sont classés par leurs ports par défaut).**
|
|
|
|
**Je tiens à faire une mention spéciale de la** [**Pentesting Web**](../network-services-pentesting/pentesting-web/) **partie (car c'est la plus étendue).**\
|
|
De plus, un petit guide sur la façon de [**trouver des vulnérabilités connues dans les logiciels**](../generic-hacking/search-exploits.md) peut être trouvé ici.
|
|
|
|
**Si votre service n'est pas dans l'index, cherchez sur Google** d'autres tutoriels et **faites-moi savoir si vous souhaitez que je l'ajoute.** Si vous **ne trouvez rien** sur Google, effectuez votre **propre pentesting à l'aveugle**, vous pourriez commencer par **vous connecter au service, le fuzzing et lire les réponses** (s'il y en a).
|
|
|
|
#### 5.1 Outils Automatiques
|
|
|
|
Il existe également plusieurs outils qui peuvent effectuer des **évaluations automatiques des vulnérabilités**. **Je vous recommande d'essayer** [**Legion**](https://github.com/carlospolop/legion)**, qui est l'outil que j'ai créé et qui est basé sur les notes concernant le pentesting des services que vous pouvez trouver dans ce livre.**
|
|
|
|
#### **5.2 Brute-Forcing des services**
|
|
|
|
Dans certains scénarios, un **Brute-Force** pourrait être utile pour **compromettre** un **service**. [**Trouvez ici une CheatSheet de différents services de brute forcing**](../generic-hacking/brute-force.md)**.**
|
|
|
|
### 6- [Phishing](phishing-methodology/)
|
|
|
|
Si à ce stade vous n'avez trouvé aucune vulnérabilité intéressante, vous **pourriez avoir besoin d'essayer un phishing** afin d'entrer dans le réseau. Vous pouvez lire ma méthodologie de phishing [ici](phishing-methodology/):
|
|
|
|
### **7-** [**Obtenir un Shell**](../generic-hacking/reverse-shells/)
|
|
|
|
D'une manière ou d'une autre, vous devriez avoir trouvé **un moyen d'exécuter du code** sur la victime. Ensuite, [une liste d'outils possibles à l'intérieur du système que vous pouvez utiliser pour obtenir un reverse shell serait très utile](../generic-hacking/reverse-shells/).
|
|
|
|
Surtout sous Windows, vous pourriez avoir besoin d'aide pour **éviter les antivirus** : [**Vérifiez cette page**](../windows-hardening/av-bypass.md)**.**\\
|
|
|
|
### 8- À l'intérieur
|
|
|
|
Si vous avez des problèmes avec le shell, vous pouvez trouver ici une petite **compilation des commandes les plus utiles** pour les pentesters :
|
|
|
|
- [**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 -** [**Exfiltration**](../generic-hacking/exfiltration.md)
|
|
|
|
Vous aurez probablement besoin d'**extraire des données de la victime** ou même **d'introduire quelque chose** (comme des scripts d'escalade de privilèges). **Ici, vous avez un** [**post sur les outils courants que vous pouvez utiliser à ces fins**](../generic-hacking/exfiltration.md)**.**
|
|
|
|
### **10- Escalade de Privilèges**
|
|
|
|
#### **10.1- Privesc Local**
|
|
|
|
Si vous **n'êtes pas root/Administrateur** à l'intérieur de la machine, vous devriez trouver un moyen d'**escalader les privilèges.**\
|
|
Ici, vous pouvez trouver un **guide pour escalader les privilèges localement dans** [**Linux**](../linux-hardening/privilege-escalation/) **et dans** [**Windows**](../windows-hardening/windows-local-privilege-escalation/)**.**\
|
|
Vous devriez également consulter ces pages sur le fonctionnement de **Windows** :
|
|
|
|
- [**Authentification, Identifiants, Privilèges de jeton et UAC**](../windows-hardening/authentication-credentials-uac-and-efs/)
|
|
- Comment fonctionne [**NTLM**](../windows-hardening/ntlm/)
|
|
- Comment [**voler des identifiants**](https://github.com/carlospolop/hacktricks/blob/master/generic-methodologies-and-resources/broken-reference/README.md) sous Windows
|
|
- Quelques astuces sur [_**Active Directory**_](../windows-hardening/active-directory-methodology/)
|
|
|
|
**N'oubliez pas de consulter les meilleurs outils pour énumérer les chemins d'escalade de privilèges locaux Windows et Linux :** [**Suite PEAS**](https://github.com/carlospolop/privilege-escalation-awesome-scripts-suite)
|
|
|
|
#### **10.2- Privesc de Domaine**
|
|
|
|
Ici, vous pouvez trouver une [**méthodologie expliquant les actions les plus courantes pour énumérer, escalader les privilèges et persister sur un Active Directory**](../windows-hardening/active-directory-methodology/). Même si cela n'est qu'une sous-section d'une section, ce processus pourrait être **extrêmement délicat** lors d'une mission de Pentesting/Red Team.
|
|
|
|
### 11 - POST
|
|
|
|
#### **11**.1 - Pillage
|
|
|
|
Vérifiez si vous pouvez trouver plus de **mots de passe** à l'intérieur de l'hôte ou si vous avez **accès à d'autres machines** avec les **privilèges** de votre **utilisateur**.\
|
|
Trouvez ici différentes façons de [**dump des mots de passe sous Windows**](https://github.com/carlospolop/hacktricks/blob/master/generic-methodologies-and-resources/broken-reference/README.md).
|
|
|
|
#### 11.2 - Persistance
|
|
|
|
**Utilisez 2 ou 3 types différents de mécanismes de persistance afin de ne pas avoir besoin d'exploiter à nouveau le système.**\
|
|
**Ici, vous pouvez trouver quelques** [**astuces de persistance sur Active Directory**](../windows-hardening/active-directory-methodology/index.html#persistence)**.**
|
|
|
|
TODO: Compléter la persistance Post sous Windows & Linux
|
|
|
|
### 12 - Pivoting
|
|
|
|
Avec les **identifiants recueillis**, vous pourriez avoir accès à d'autres machines, ou peut-être devez-vous **découvrir et scanner de nouveaux hôtes** (redémarrer la méthodologie de Pentesting) à l'intérieur de nouveaux réseaux où votre victime est connectée.\
|
|
Dans ce cas, le tunneling pourrait être nécessaire. Ici, vous pouvez trouver [**un post parlant de tunneling**](../generic-hacking/tunneling-and-port-forwarding.md).\
|
|
Vous devriez également consulter le post sur la [méthodologie de pentesting Active Directory](../windows-hardening/active-directory-methodology/). Là, vous trouverez des astuces intéressantes pour se déplacer latéralement, escalader les privilèges et dump des identifiants.\
|
|
Vérifiez également la page sur [**NTLM**](../windows-hardening/ntlm/), cela pourrait être très utile pour pivoter dans des environnements Windows.
|
|
|
|
### PLUS
|
|
|
|
#### [Applications Android](../mobile-pentesting/android-app-pentesting/)
|
|
|
|
#### **Exploitation**
|
|
|
|
- [**Exploitation de base sous Linux**](broken-reference/)
|
|
- [**Exploitation de base sous Windows**](../binary-exploitation/windows-exploiting-basic-guide-oscp-lvl.md)
|
|
- [**Outils d'exploitation de base**](../binary-exploitation/basic-stack-binary-exploitation-methodology/tools/)
|
|
|
|
#### [**Python de base**](python/)
|
|
|
|
#### **Astuces Crypto**
|
|
|
|
- [**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}}
|