Résumé

Dans cette vidéo pas à pas, nous avons démontré l'obtention d'un accès root à un conteneur Docker exécutant un serveur Web avec une base de données SQL. Nous avons commencé par exploiter une vulnérabilité XSS reflétée dans le site Web qui gère une place de marché de commerce électronique. Cela nous a permis de procéder et d'obtenir un accès administratif au compte administrateur où nous avons découvert une injection SQL qui nous a permis d'aller plus loin et de révéler les enregistrements de la base de données. Nous avons utilisé les enregistrements pour nous connecter en tant que SSH et effectuer une élévation de privilèges en exploitant le caractère générique de l'outil d'archivage tar, ce qui nous a finalement conduit dans un conteneur Docker. En montant le système de fichiers racine sur un conteneur de notre choix, nous avons pu extraire l'indicateur racine.

Cet article couvre les réponses pour La place du marché salle dans TryHackMe.

Qu'est-ce que la conteneurisation

En termes informatiques, la conteneurisation est le processus de regroupement d'une application et des ressources nécessaires (telles que des bibliothèques et des packages) dans un seul package appelé conteneur. Le processus de regroupement des applications rend les applications considérablement portables et faciles à exécuter.

Les applications modernes sont souvent complexes et dépendent généralement de frameworks et de bibliothèques installés sur un appareil avant que l'application puisse s'exécuter. Ces dépendances peuvent :

  • Être difficile à installer en fonction de l'environnement dans lequel l'application est exécutée (certains systèmes d'exploitation peuvent même ne pas les prendre en charge !)
  • Cela crée des difficultés pour les développeurs à diagnostiquer et à reproduire les erreurs, car il pourrait s'agir d'un problème avec l'environnement de l'application – et non avec l'application elle-même !
  • Peut souvent entrer en conflit les uns avec les autres. Par exemple, disposer de plusieurs versions de Python pour exécuter différentes applications est un casse-tête pour l'utilisateur, et une application peut fonctionner avec une version de Python et pas une autre.

Obtenir les notes du certificat OSCP

Que sont les conteneurs Docker ?

Docker est une plate-forme de conteneurisation relativement simple, étendue et open source. L'écosystème Docker permet aux applications (images – nous y reviendrons dans une prochaine salle) d'être déployées, gérées et partagées en toute simplicité.

Travaille sur Linux, Windows et MacOS, Docker est un choix judicieux pour exécuter des applications. Les applications peuvent être publiées sous forme d’« images » et partagées avec d’autres. Il suffit d'extraire (télécharger) l'image et de l'exécuter avec Docker.

Docker utilise la même technologie que celle utilisée dans la conteneurisation pour isoler les applications dans des conteneurs appelés Docker Engine. Le Docker Engine est essentiellement une API qui s'exécute sur le système d'exploitation hôte, qui communique entre le système d'exploitation et les conteneurs pour accéder au matériel du système (tel que le processeur, la RAM, le réseau et le disque).

Pour cette raison, le moteur Docker est complet et vous permet de faire des choses comme :

  1. Connecter des conteneurs ensemble (par exemple, un conteneur exécutant une application Web et un autre conteneur exécutant une base de données)
  2. Applications d’exportation et d’importation (images)
  3. Transférer des fichiers entre le système d'exploitation et le conteneur

Docker utilise la syntaxe de programmation YAML pour permettre aux développeurs d'indiquer comment un conteneur doit être construit et ce qui est exécuté. C'est une raison importante pour laquelle Docker est si portable et facile à déboguer ; partagez les instructions, et il les construira et les exécutera sur tout appareil prenant en charge le moteur Docker.

Réponses aux défis

Qu'est-ce que le drapeau 1 ?

Qu'est-ce que le drapeau 2 ? (Utilisateur.txt)

Qu'est-ce que le drapeau 3 ? (Racine.txt)

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