Comment trouvez-vous et utilisez-vous sans risque un exploit public contre une cible ?
Réponse courte
Identifiez le service et la version exacts, cherchez sur Exploit-DB ou searchsploit un PoC correspondant, puis lisez le code ligne par ligne avant de l'exécuter — corrigez l'IP cible, le port et l'adresse du reverse shell, régénérez tout shellcode, et comprenez ce qu'il fait pour qu'il ne se retourne pas contre vous.
Une fois que l'énumération vous donne un nom de logiciel et une version précis, l'étape d'exploitation revient souvent à « trouver le PoC correspondant et le faire fonctionner ». La compétence testée n'est pas de trouver l'exploit — c'est de le lire et de l'adapter de façon responsable.
Trouver le bon
Utilisez searchsploit <produit> <version> en local ou parcourez Exploit-DB. La précision de la version compte : un exploit de dépassement de tampon conçu pour la v1.2 échouera généralement ou fera planter le service en v1.3, car les offsets diffèrent. Si rien ne correspond exactement, élargissez à la CVE et examinez les PoC sur GitHub.
Lire avant d'exécuter
N'exécutez jamais un exploit téléchargé à l'aveugle. Lisez-le de bout en bout et confirmez :
- Ce qu'il fait réellement — certains « exploits » sont des trolls ou des backdoors qui vous attaquent, en appelant l'extérieur ou en effaçant votre machine.
- La charge utile — beaucoup de PoC embarquent un shellcode codé en dur pour un connect-back pointant vers l'ancienne IP de l'auteur, ou un bind shell sur un port fixe. Régénérez le shellcode (p. ex. avec
msfvenom) pour votre écouteur. - Les valeurs codées en dur — IP cible, port cible, IP/port du reverse shell, adresses de retour et offsets doivent tous correspondre à votre environnement.
Adapter et tester
Pour les exploits de corruption mémoire, vérifiez l'architecture, les bad characters et les offsets par rapport à la version réelle de la cible. Pour les PoC web ou de scripting, réglez correctement l'URL et les paramètres. Mettez votre écouteur en place (nc -lvnp) avant de tirer.
Pourquoi tant de précautions
Un exploit imprudent peut faire planter le service (vous privant, vous et d'autres, d'accès), exécuter du code contrôlé par l'attaquant sur votre propre machine, ou simplement gaspiller du temps d'examen à courir après une charge utile qui ne se connecte nulle part.
Ce que recherchent les recruteurs
La phrase qu'ils veulent entendre est « je lis l'exploit avant de l'exécuter ». Mentionner la correspondance de version, le remplacement par votre propre shellcode et la correction des IP codées en dur montre que vous traitez le code téléchargé comme non fiable, ce qui est exactement la maturité que récompense l'OSCP.
Questions de suivi probables
- Quels signaux d'alerte vous feraient ne pas exécuter un exploit téléchargé ?
- Comment remplacez-vous le shellcode dans un PoC de dépassement de tampon ?