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

170 lines
12 KiB
Markdown

# Méthodologie de Pentesting
<details>
<summary><strong>Apprenez le piratage AWS de zéro à héros avec</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (Expert en équipe rouge AWS de HackTricks)</strong></a><strong>!</strong></summary>
Autres façons de soutenir HackTricks :
* Si vous souhaitez voir votre **entreprise annoncée dans HackTricks** ou **télécharger HackTricks en PDF**, consultez les [**PLANS D'ABONNEMENT**](https://github.com/sponsors/carlospolop) !
* Obtenez le [**swag officiel PEASS & HackTricks**](https://peass.creator-spring.com)
* Découvrez [**La famille PEASS**](https://opensea.io/collection/the-peass-family), notre collection exclusive de [**NFT**](https://opensea.io/collection/the-peass-family)
* **Rejoignez le** 💬 [**groupe Discord**](https://discord.gg/hRep4RUj7f) ou le [**groupe Telegram**](https://t.me/peass) ou **suivez-nous** sur **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Partagez vos astuces de piratage en soumettant des PR aux** [**HackTricks**](https://github.com/carlospolop/hacktricks) **et** [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) **dépôts GitHub.**
</details>
<figure><img src="../.gitbook/assets/image (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1).png" alt=""><figcaption></figcaption></figure>
Si vous êtes intéressé par une **carrière en piratage** et pirater l'impossible - **nous recrutons !** (_maîtrise du polonais écrit et parlé requis_).
{% embed url="https://www.stmcyber.com/careers" %}
## Méthodologie de Pentesting
<figure><img src="../.gitbook/assets/HACKTRICKS-logo.svg" alt=""><figcaption></figcaption></figure>
_Logos Hacktricks conçus 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**](../physical-attacks/physical-attacks.md) et d'autres sur [**l'évasion des applications GUI**](../physical-attacks/escaping-from-gui-applications/).
### 1 - [Découverte des hôtes à l'intérieur du réseau](pentesting-network/#discovering-hosts)/ [Découverte des actifs de l'entreprise](external-recon-methodology/)
**En fonction** du **test** que vous effectuez, qu'il s'agisse d'un **test interne ou externe**, vous pouvez être intéressé par la recherche des **hôtes à l'intérieur du réseau de l'entreprise** (test interne) ou par la recherche des **actifs de l'entreprise sur Internet** (test externe).
{% hint style="info" %}
Notez que si vous effectuez un test externe et que vous parvenez à accéder au réseau interne de l'entreprise, vous devriez recommencer ce guide.
{% endhint %}
### **2-** [**S'amuser avec le réseau**](pentesting-network/) **(Interne)**
**Cette section s'applique uniquement si vous effectuez un test interne.**\
Avant d'attaquer un hôte, vous préférerez peut-être **voler des identifiants** **du réseau** ou **sniffer** des **données** pour apprendre de manière **passive/active (MitM)** ce que vous pouvez trouver à l'intérieur du réseau. Vous pouvez lire [**Pentesting Network**](pentesting-network/#sniffing).
### 3- [Balayage de ports - Découverte de services](pentesting-network/#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/#scanning-hosts).
### **4-** [Recherche d'exploits de version de service](search-exploits.md)
Une fois que vous savez quels services sont en cours d'exécution, et peut-être leur version, vous devez **rechercher les vulnérabilités connues**. Vous pourriez avoir de la chance et trouver un exploit pour obtenir un shell...
### **5-** Pentesting des Services
S'il n'y a pas d'exploit intéressant pour un service en cours d'exécution, vous devriez rechercher les **erreurs de configuration 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 moins courants)**. Veuillez rechercher dans l'index de gauche la** _**section PENTESTING**_ **(les services sont classés par leurs ports par défaut).**
**Je tiens à mentionner spécialement la partie** [**Pentesting Web**](../network-services-pentesting/pentesting-web/) **(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**](search-exploits.md) peut être trouvé ici.
**Si votre service ne figure pas dans l'index, recherchez dans Google** d'autres tutoriels et **faites-moi savoir si vous souhaitez que je l'ajoute.** Si vous ne **trouvez rien** dans 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 sur le pentesting des services que vous pouvez trouver dans ce livre.**
#### **5.2 Brute-Force des services**
Dans certains scénarios, une **attaque par force brute** pourrait être utile pour **compromettre** un **service**. [**Trouvez ici une feuille de triche de différentes attaques par force brute sur les services**](brute-force.md)**.**
### 6- [Phishing](phishing-methodology/)
Si à ce stade vous n'avez trouvé aucune vulnérabilité intéressante, vous **devrez peut-être essayer un phishing** pour accéder au réseau. Vous pouvez consulter ma méthodologie de phishing [ici](phishing-methodology/):
### **7-** [**Obtention d'un Shell**](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 shell inversé serait très utile](shells/).
Surtout sous Windows, vous pourriez avoir besoin d'aide pour **éviter les antivirus** : [**Consultez cette page**](../windows-hardening/av-bypass.md)**.**\\
### 8- À l'intérieur
Si vous rencontrez 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/)
* [**Windows (CMD)**](../windows-hardening/basic-cmd-for-pentesters.md)
* [**Windows (PS)**](../windows-hardening/basic-powershell-for-pentesters/)
### **9 -** [**Exfiltration**](exfiltration.md)
Vous devrez probablement **extraire des données de la victime** ou même **introduire quelque chose** (comme des scripts d'escalade de privilèges). **Voici un** [**article sur les outils courants que vous pouvez utiliser à ces fins**](exfiltration.md)**.**
### **10- Élévation de privilèges**
#### **10.1- Élévation de privilèges locale**
Si vous n'êtes **pas root/Administrateur** dans la machine, vous devez trouver un moyen d'**élever les privilèges**.\
Ici, vous pouvez trouver un **guide pour élever les privilèges localement sur** [**Linux**](../linux-hardening/privilege-escalation/) **et sur** [**Windows**](../windows-hardening/windows-local-privilege-escalation/)**.**\
Vous devriez également consulter ces pages sur le fonctionnement de **Windows** :
* [**Authentification, identifiants, privilèges de jetons et UAC**](../windows-hardening/authentication-credentials-uac-and-efs.md)
* Comment fonctionne **NTLM**](../windows-hardening/ntlm/)
* Comment **voler des identifiants**](broken-reference/) sur 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'élévation de privilèges locaux sur Windows et Linux :** [**Suite PEAS**](https://github.com/carlospolop/privilege-escalation-awesome-scripts-suite)
#### **10.2- Élévation de privilèges de domaine**
Ici, vous pouvez trouver une [**méthodologie expliquant les actions les plus courantes pour énumérer, élever les privilèges et persister sur un Active Directory**](../windows-hardening/active-directory-methodology/). Même s'il ne s'agit que d'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** sur 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 les mots de passe dans Windows**](broken-reference/).
#### 11.2 - Persistance
**Utilisez 2 ou 3 types différents de mécanismes de persistance pour ne pas avoir besoin d'exploiter à nouveau le système.**\
**Ici, vous pouvez trouver quelques** [**astuces de persistance sur l'annuaire actif**](../windows-hardening/active-directory-methodology/#persistence)**.**
TODO: Compléter la persistance Post dans Windows & Linux
### 12 - Pivotage
Avec les **identifiants collectés**, vous pourriez avoir accès à d'autres machines, ou peut-être devez-vous **découvrir et scanner de nouveaux hôtes** (commencer à nouveau 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 article parlant de tunneling**](tunneling-and-port-forwarding.md).\
Vous devriez également consulter l'article sur la [Méthodologie de pentesting Active Directory](../windows-hardening/active-directory-methodology/). Vous y trouverez des astuces intéressantes pour se déplacer latéralement, élever les privilèges et dump les identifiants.\
Consultez également la page sur [**NTLM**](../windows-hardening/ntlm/), cela pourrait être très utile pour pivoter dans les environnements Windows.
### PLUS
#### [Applications Android](../mobile-pentesting/android-app-pentesting/)
#### **Exploitation**
* [**Exploitation de base sous Linux**](../exploiting/linux-exploiting-basic-esp/)
* [**Guide d'exploitation de base sous Windows**](../exploiting/windows-exploiting-basic-guide-oscp-lvl.md)
* [**Outils d'exploitation de base**](../exploiting/tools/)
#### [**Python de base**](python/)
#### **Astuces de cryptographie**
* [**ECB**](../cryptography/electronic-code-book-ecb.md)
* [**CBC-MAC**](../cryptography/cipher-block-chaining-cbc-mac-priv.md)
* [**Oracle de rembourrage**](../cryptography/padding-oracle-priv.md)
<figure><img src="../.gitbook/assets/image (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1).png" alt=""><figcaption></figcaption></figure>
Si vous êtes intéressé par une carrière en **piratage informatique** et pirater l'impiratable - **nous recrutons !** (_polonais écrit et parlé couramment requis_).
{% embed url="https://www.stmcyber.com/careers" %}
<details>
<summary><strong>Apprenez le piratage AWS de zéro à héros avec</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
Autres façons de soutenir HackTricks :
* Si vous souhaitez voir votre **entreprise annoncée dans HackTricks** ou **télécharger HackTricks en PDF**, consultez les [**PLANS D'ABONNEMENT**](https://github.com/sponsors/carlospolop)!
* Obtenez le [**swag officiel PEASS & HackTricks**](https://peass.creator-spring.com)
* Découvrez [**The PEASS Family**](https://opensea.io/collection/the-peass-family), notre collection exclusive de [**NFTs**](https://opensea.io/collection/the-peass-family)
* **Rejoignez le** 💬 [**groupe Discord**](https://discord.gg/hRep4RUj7f) ou le [**groupe Telegram**](https://t.me/peass) ou **suivez-nous** sur **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Partagez vos astuces de piratage en soumettant des PR aux** [**HackTricks**](https://github.com/carlospolop/hacktricks) et [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
</details>