Nous avons couvert le défi boot2root Athéna de TryHackMe. Nous avons analysé la machine avec Nmap et découvert le serveur SMB à partir duquel nous avons extrait une note qui nous dirigeait vers un répertoire du serveur Web où nous avons découvert un outil ping en cours d'exécution. Nous avons utilisé la substitution de commandes pour injecter un shell de liaison et prendre le premier pied. Nous avons découvert un script de sauvegarde s'exécutant périodiquement en tant qu'autre utilisateur. Nous avons modifié le script pour exécuter le reverse shell et ouvert une autre session en tant qu'utilisateur Athena. Lors de l'énumération, nous avons constaté que l'utilisateur Athena peut charger les modules du noyau en tant que sudo en utilisant insmod sans avoir besoin d'un mot de passe root. Nous avons téléchargé le module noyau « venom.ko » et utilisé Ghidra pour procéder à l'ingénierie inverse du binaire. Nous avons découvert qu'il s'agissait d'un rootkit et après analyse du code, nous avons pu interagir avec le module pour appeler une fonction qui élève les privilèges d'Athena à Root.
Nous pouvons évidemment nous connecter sans mot de passe. Entrez sans mot de passe ni espace, vous pourrez vous connecter en tant qu'utilisateur anonyme.
Nous voyons deux actions publiques et IPC. Evidemment, celle qui intéresse le plus est la part du public. Et nous fournissons le nom du partage. Nous fournissons un mot de passe vide et nous nous connectons avec succès au partage.
Et c'est la note ici administrateur.
Je voudrais informer qu'un nouveau système de ping est en cours de développement et j'ai quitté l'application correspondante.
Dans un chemin spécifique, accessible via l'adresse suivante.
Si tu reviens. et essayez quelques méthodes d'injection de commandes comme le chaînage de commandes afin que les analystes en point-virgule envoient et que la tentative soit bloquée, tentative de piratage, alors voici le
on dirait que le personnage est filtré si nous essayons avec l'esperluette et renvoyons une tentative de piratage donc il y a un filtre.
Quelle est la solution ici ? La solution consiste à utiliser la substitution de commandes. J'ai expliqué les substitutions courantes dans les vidéos précédentes, les gars. Vous pouvez y revenir spécifiquement cette vidéo.
Contourner les filtres SQL à l'aide de la substitution de commandes
C'était une manifestation le overthewire jeux CTF Natas niveau 16. Très bien, nous allons donc utiliser la substitution de commandes ici.
Comme vous pouvez voir ce que j'ai fait. J'ai utilisé l'adresse IP. Il s'agit de l'entrée que l'application attend de l'adresse IP pour envoyer un ping. C'est celui-là car -C1 est une option. Nous pouvons utiliser dans la commande ping. Donc ici, nous envoyons un paquet et la substitution de commentaires commence. Ainsi, la substitution par virgule commence par le signe $. Et entre deux parenthèses, nous fournissons dans la commande que nous souhaitons exécuter puisque les caractères tels que l'esperluette, la barre verticale et le point-virgule sont bloqués ou filtrés, nous devons utiliser quelque chose de différent.
Dans bind shell, nous nous connectons à la machine, ce qui signifie que la machine jouera désormais le rôle d'écouteur. Donc NC – LP quatre cinq quatre cinq le port et je veux que la machine écoute et une fois la connexion reçue. Je vais exécuter /bin/bash. nous faisons donc cela comme vous pouvez le voir maintenant, il tourne, indiquant que l'écouteur est en cours d'exécution, alors allez sur ma machine, c'est le shell de la machine.
Et comme vous pouvez le voir, je me connecte à la machine en utilisant cette commande. C'est ainsi que fonctionne le shell de liaison.
Nous remarquons un modèle avec un script de sauvegarde. Ce script de sauvegarde est donc exécuté à intervalles réguliers par l'utilisateur UID 1001.
Athena est donc l'utilisateur dont l'UID est 1001. Cela signifie donc que le script est exécuté périodiquement par l'utilisateur Athena. Nous naviguons vers le répertoire stockant la sauvegarde du partage utilisateur du script.
plus -la sauvegarde du partage utilisateur et ici nous voyons le script de sauvegarde. Étonnamment, l'utilisateur actuel www-data est le propriétaire du script, ce qui signifie que nous pouvons le modifier. Quel est le but de modifier le script puisque ce script est exécuté régulièrement par Athena et comme nous possédons toujours un utilisateur www-data peu privilégié, nous aimerions déplacer les privilèges vers le haut, ce qui signifie que nous voulons passer de www -données à Athéna.
Puisque le script s'exécute sous Athena. Cela signifie que si nous pouvons modifier le contenu du script et mettre un shell inversé lorsque le script s'exécute à nouveau. Il va exécuter le shell inverse. L'utilisateur Athena peut exécuter la commande insmod en tant que sudo sans avoir besoin de fournir un mot de passe root. Nous avons donc téléchargé le module venom.ko sur ma machine pour une ingénierie inverse à l'aide de Ghidra.
Voici donc la page principale de diamorphine. Selon la description, il s'agit d'un rootkit LKM pour les noyaux Linux. Et voici les instructions pour l'installer et le déverrouiller, comme vous pouvez le voir ici, le modèle commence de manière invisible. Pour le supprimer, vous devez le rendre visible.
C'est donc l'idée d'un rootkit qui est un malware ou un malware qui se cache des processus ou des modules. Ainsi, même si vous énumérez les processus ou si nous essayons de trouver les modules en cours d’exécution, le rootkit n’apparaîtra pas. D'accord, parce que c'est un rootkit. Et les rootkits utilisent le creusement de processus et l’injection de processus pour se cacher des yeux des enquêteurs. Cette commande est donc très importante car cette commande révélera le module.
Vidéo pas à pas