crowd42's blog

char nick[7] = "crowd42";

printf("https://github.com/%s\n",nick);

printf("https://infosec.exchange/%s\n",nick);

printf("https://keybase.io/%s\n",nick);

printf("https:///%s\n",nick);

printf("%s\x40riseup\x2e\\\bnet\n",nick);

puts("0xdc 5a6d b445 976d 60");

PTF : The penetration tester framework

Nov 7, 2017 • ptf,pentest,penetration testing,infosec,debian,ubuntu,arch linux

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

screenshot 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.

#!/usr/bin/env python
#####################################
# Installation module for XSStrike
#####################################

# AUTHOR OF MODULE NAME
AUTHOR="crowd42"

# DESCRIPTION OF THE MODULE
DESCRIPTION="This module will install/update XSStrike, a python script designed to detect and exploit XSS vulnerabilities"

# INSTALL TYPE GIT, SVN, FILE DOWNLOAD
# OPTIONS = GIT, SVN, FILE
INSTALL_TYPE="GIT"

# LOCATION OF THE FILE OR GIT/SVN REPOSITORY
REPOSITORY_LOCATION="https://github.com/UltimateHackers/XSStrike/"

# DEPENDS FOR DEBIAN INSTALLS
DEBIAN="git python-mechanize python-pip""

# DEPENDS FOR FEDORA INSTALLS
FEDORA="git python-mechanize python-pip""

# WHERE DO YOU WANT TO INSTALL IT
INSTALL_LOCATION="xsstrike"

# COMMANDS TO RUN AFTER
AFTER_COMMANDS="cd {INSTALL_LOCATION}, pip2 install -r requirements.txt, chmod +x xsstrike"

# THIS WILL CREATE AN AUTOMATIC LAUNCHER FOR THE TOOL
LAUNCHER="xsstrike"

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

screenshot 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

Si vous avez aimé ce billet, vous pouvez vous inscrire au flux RSS !