PTF : The penetration tester framework
Pendant de nombreuses années, j’ai utilisé Backbox Linux [0] sur mon laptop, pour ceux qui ne la connaissent pas, c’est une distribution GNU/Linux basée sur XUbuntu et orientée sécurité informatique (tests d’intrusion [1], forensics [2]…). C’est un peu comme kali Linux [3] mais avec beaucoup moins de logiciels, ses développeurs ont choisi d’empaqueter que l’essentiel des outils et d’éviter d’avoir plus d’un logiciel dans la même catégorie, et je dois avouer que je n’ai jamais été déçu par cette distro.
Cependant, il y avait un seul souci : je ne pouvais plus utilisé Arch Linux comme OS principal. Bien évidemment, je pouvais l’installer en dual boot mais je déteste devoir redémarrer juste pour changer de distribution. J’avais le choix entre toutes les distros basées sur Arch Linux et destinées au penetration testing (Arch Assault, Blackarch pour ne citer qu’elles) mais je n’ai jamais été satisfait par elles, trop usine à gaz à mon gout. Jusqu’à ce que Dave Kennedy [4] résout mon problème en publiant The penetration tester framework [5] ou PTF pour les intimes.
PTF est un script python qui permet d’installer facilement tout les logiciels dont vous aurez besoin pendant vos missions de test d’intrusion. Si vous avez utilisé par le passé backtrack, vous vous souvenez sans doute qu’on pouvait accéder à nos outils depuis le répertoire /pentest, c’était très agréable et bien utile d’avoir accès à eux de cette façon. PTF nous permet de retrouver ce fonctionnement. Les logiciels sont organisés selon le Penetration Testing Execution Standard (PTES) [5] (en gros, les logiciels sont organisés dans des catégories selon les phases d’un test d’intrusion).
Mais ce n’est pas tout ! PTF a deux autres avantages non négligeables, la façon dont sont organisés les logiciels permet de les mettre à jours tous en une seule commande. Le deuxième avantage c’est qu’un outil dont vous avez vous vous servez souvent ne se trouve pas parmi dans PTF, l’ajouter aux modules ne devrait pas vous prendre plus de deux minutes, on verra par la suite comment vous pouvez le faire.
PTF fonctionne avec Ubuntu, Archlinux, et Debian. Cependant, pour cette dernière il vaut mieux que vous utilisez la branche testing, certains logiciels, comme metasploit par exemple, exige des versions très récentes de leurs dépendances.
D’abord commencez par cloner le répertoire du projet depuis Github :
$ git clone https://github.com/turstedsec/ptf
Déplacez vous dans le dossier que vous vous venez de cloner et lancer ptf avcec les droits root :
$ cd ptf && sudo python ptf
Pour afficher tout les modules disponible, exécutez la commande show modules
ptf> show modules
Pour installer tout les modules (outils):
ptf> use modules/install_update_all
[*] You are about to install/update everything. Proceed? [yes/no]:no
[*] Alright boss. Not installing right now. Tell me when. I want that shiny. I want it n
Cette commande comme vous l’aurez deviner, ne sert pas seulement à installer les logiciels, mais elle permet aussi de les mettre à jour quand vous le souhaitez.
Si vous ne voulez installer les modules que d’une catégorie en particulier :
ptf> use modules/intelligence-gathering/install_update_all
vous pouvez aussi n’installer qu’un seul logiciel :
ptf> search beef
[*] Search results below:
modules/exploitation/beef
ptf> use module/exploitation/beef
ptf:(modules/exploitation/beef)>install
Une fois que vos outils sont installés, vous pouvez les lancer depuis n’importe où dans un terminal. Pour voir et listez tout les logiciels installés, allez dans le répertoire /pentest.
Pour mettre à jour vos outils sans passer par le module install_update_all
:
ptf> use module/update_installed
Maintenant supposons qu’un des outils que vous utilisez ne figure pas parmi ceux embarqués par défaut dans PTF, ce n’est pas grave, car en ajouter un est vraiment à la porte de n’importe qui. Tout ce que vous avez à faire c’est de copier un des module depuis $PATH/ptf/modules/
et de le modifier selon les besoins de votre outils. Le fichier de configuration est très bien commenté et documenté sur le README [6], vous n’aurez aucun mal à le comprendre.
Pour vous illustrer à quel point c’est simple, on va ajouter XSStrike [7]. C’est un programme que j’ai choisi au hasard, j’aurai pu choisir n’importe quel autre outil, ça n’aurait rien changé. XSStrike permet de faire d’auditer un site à la recherche de failles XSS, on va donc le sauvegarder dans $PATH/ptf/modules/vulnerability-analysis/xsstrike.py
.
Dans un premier temps nous indiquons le nom/pseudo de l’auteur du module (la constante AUTHOR), ensuite on donne une courte description du module et ainsi de suite. Une fois que vous avez fini de configurer votre module, vous l’exécuter depuis ptf.
ptf> use module/vulnerability-analysis/xsstrike
ptf:(modules/vulnerability-analysis/xsstrike)> install
Maintenant vous pouvez lancer WSStrile depuis votre terminal :-)
Liens
[0]: https://backbox.org
[1]: https://fr.wikipedia.org/wiki/Test_d'intrusion
[2]: https://fr.wikipedia.org/wiki/Science_forensique
[3]: https://kali.org
[4]: https://twitter.com/hackingdave
[5]: http://www.pentest-standard.org/index.php/Main_Page
[6]: http://github.com/trustedsec/ptf
[7]: https://github.com/UltimateHackers/XSStrike
Sur le même sujet
- Microsoft et les mots de passe, toute une histoire
- Un petit script pour récupérer les URLs des sites web hébergés sur la même adresse IP
- Windows Credential Guard et Mimikatz
- Deux points qui me tracassent à propos de meltdown et spectre
- Full Disclosure : Des emails et mots de passe de la compagnie aérienne Etihad Airways dans l'air
- Comment j'ai pu gagner un accès administrateur sur un serveur Windows 2012 grâce à Google
Si vous avez aimé ce billet, vous pouvez vous inscrire au flux RSS !