Pentesting Methodology
Last updated
Last updated
Si vous êtes intéressé par une carrière en piratage et pirater l'impossible - nous recrutons ! (polonais écrit et parlé couramment requis).
Logos Hacktricks conçus par @ppiernacho.
Avez-vous un accès physique à la machine que vous souhaitez attaquer ? Vous devriez lire quelques astuces sur les attaques physiques et d'autres sur l'évasion des applications GUI.
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).
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.
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.
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 balayer les ports des hôtes.
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...
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 (car c'est la plus étendue). Également, un petit guide sur la façon de trouver des vulnérabilités connues dans les logiciels peut être trouvé ici.
Si votre service ne figure pas dans l'index, recherchez 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).
Il existe également plusieurs outils qui peuvent effectuer des évaluations automatiques des vulnérabilités. Je vous recommande d'essayer 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.
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 de services.
Si à ce stade vous n'avez trouvé aucune vulnérabilité intéressante, vous pourriez avoir besoin d'essayer un phishing pour pénétrer dans le réseau. Vous pouvez lire ma méthodologie de phishing ici:
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.
Surtout sous Windows, vous pourriez avoir besoin d'aide pour éviter les antivirus : Consultez cette page.\
Si vous rencontrez des problèmes avec le shell, vous pouvez trouver ici une petite compilation des commandes les plus utiles pour les pentesters :
Vous devrez probablement extraire des données de la victime ou même introduire quelque chose (comme des scripts d'escalade de privilèges). Ici, vous avez un article sur les outils courants que vous pouvez utiliser à ces fins.
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 dans Linux et dans Windows. Vous devriez également consulter ces pages sur le fonctionnement de Windows :
Comment fonctionne NTLM](../windows-hardening/ntlm/)
Comment voler des identifiants dans Windows
Quelques astuces sur Active Directory
N'oubliez pas de consulter les meilleurs outils pour énumérer les chemins d'élévation de privilèges locaux Windows et Linux : Suite PEAS
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. 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.
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 les mots de passe dans Windows.
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.
TODO: Compléter la persistance Post dans Windows & Linux
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. Vous devriez également consulter l'article sur la Méthodologie de pentesting Active Directory. 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, cela pourrait être très utile pour pivoter dans les environnements Windows.
Si vous êtes intéressé par une carrière en hacking et pirater l'impiratable - nous recrutons ! (polonais écrit et parlé couramment requis).