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
  • Service FTP
  • Service SSH
  • Service Telnet
  • Service HTTP (port 80)
  • Samba
  • Compilateur (Distccd)
  • PostgreSQL
  • Serveur HTTP (8180)
  • Exploitation
  • Tikiwiki (CVE-2006-5702)
  • Tikiwiki (CVE-2007-5423)
  • Samba (CVE-2007-2447)
  • Distcc (CVE-2004-2687)
  • Autres exploitations
  • Élévation de privilèges
  • Conclusion
  1. Walkthroughs
  2. Deliberately Vulnerable
  3. VulnHub

Metasploitable: 1

PrécédentLAMPSecurity: CTF6SuivantpWnOS 1.0

Dernière mise à jour il y a 2 ans

Détails de la machine

Nom : Metasploitable: 1 Date de sortie : 19 Mai 2010 Lien de téléchargement : Niveau : Facile Objectif(s) : obtenir un accès "root" Description :One of the questions that we often hear is "What systems can i use to test against?" Based on this, we thought it would be a good idea throw together an exploitable VM that you can use for testing purposes. Metasploitable is an Ubuntu 8.04 server install on a VMWare 6.5 image. A number of vulnerable packages are included, including an install of tomcat 5.5 (with weak credentials), distcc, tikiwiki, twiki, and an older mysql. You can use most VMware products to run it, and you'll want to make sure it's configured for Host-only networking unless it's in your lab - no need to throw another vulnerable machine on the corporate network. It's configured in non-persistent-disk mode, so you can simply reset it if you accidentally 'rm -rf' it. Source:

Reconnaissance

Un netdiscover suivi d'un nmap afin d'en savoir plus sur la cible :

La machine "Metasploit: 1" possède donc l'adresse IP 192.168.1.12. Voici le résultat du nmap :

Service FTP

La machine dispose d'un service FTP sur le port 21 et nmap indique qu'il s'agit d'un ProFTPd 1.3.1. Il semble qu'une exécution de code distant soit possible pour les version < 1.3.3g, mais l'exploit nécessite un compte valide (que nous n'avons pas à l'heure actuelle), et surtout aucun exploit semble disponible.

Service SSH

Le service SSH est un OpenSSH 4.7p1. Il me sera possible d'énumérer les utilisateurs du système en fournissant au préalable un dictionnaire de noms d'utilisateur. Je n'ai rien trouvé d'autre de particulier sur cette version.

Service Telnet

Un service Telnet ouvert, un login/mot de passe est demandé à la connexion :

Au passage je note la version du système d'exploitation de la cible : Ubuntu 8.04.

Service HTTP (port 80)

Ici je commence avec un nikto et un dirb que je laisse tourner pendant ma phase de reconnaissance manuelle. Rien à noter puisqu'une seule page est disponible, celle par défaut du serveur Apache :

Je passe à l'analyse du résultat de niko et dirb :

nikto remonte les version du serveur Apache (soit 2.2.8) et la version de PHP (5.2.4). Il identifie également une page nommée "phpinfo.php" qui exécute la méthode PHP phpinfo() :

Tikiwiki

Une URL "/tikiwiki" est également détectée, il s'agit d'une application web de type CMS et de travail collaboratif :

L'outil installé est en version 1.9.5. Cette version semble vulnérable à une fuite d'information avec la CVE-2006-5702 (la CVE-2006-5703 concerne aussi cet outil pour cette version, mais il s'agit d'une vulnérabilité de type XSS) :

Une petite recherche sur la documentation m'apprends aussi que les credentials par défaut sont admin/admin. En effet, cela fonctionne :

Et pour terminer, la version 1.9.5 de ce logiciel est également vulnérable à une injection de code avec la CVE-2007-5423 que voici :

J'analyse maintenant les résultats de dirb :

Twiki

Une autre URL intéressante apparaît ici, celle d'un wiki d'entreprise. Ce wiki, nommé "Twiki" est disponible à l'URL "/twiki" :

En bas de la page du wiki, je récupère sa version :

Cette version est vulnérable à exécution de code à distant avec la CVE-2005-2877 :

Ou encore à la CVE-2004-1037 :

Samba

Une authentification anonyme est possible et certains répertoires partagés ne nécessite pas de droits spécifiques :

Il est également possible d'énumérer les comptes présents sur la cible :

La version 3.0.20 est vulnérable à une exécution de code distant. Cette vulnérabilité est décrite par la CVE-2007-2447 :

Compilateur (Distccd)

Il s'agit du serveur du compilateur Distccd en version 4.2.4 qui est vulnérable à une exécution de code distant. Le petit nom de la CVE en question est la CVE-2004-2687 :

PostgreSQL

nmap indique une version de PostgreSQL comprise entre 8.3.0 et 8.3.7. Metasploit me permet d'affiner le numéro de version :

Il s'agit donc de la version 8.3.1. Je vois également l'info "Post-Auth" indiquant que Metasploit a réussi à se connecter avec les credentials présents dans les options (cela lui permet d'affiner la détection de version), à savoir postgres/postgres. Je tente de m'y connecter afin de confirmer :

Serveur HTTP (8180)

Il s'agit ici d'un serveur Apache Tomcat en version 5.5. La page d'accueil est la page par défaut, ce qui peut laisser penser que le serveur est encore en cours de configuration :

Il faut donc penser ici à tester les credentials par défaut (tomcat/tomcat) :

J'obtiens un accès à l'interface d'administration de Tomcat. Cela peut être utile afin d'uploader un .war file malicieux.

Exploitation

Tikiwiki (CVE-2006-5702)

Un module Metasploit existe afin d'exploiter la vulnérabilité de Tikiwiki :

Connaissant les credentials de la base de données mysql il est possible maintenant de s'y connecter (port 3306) :

Tikiwiki (CVE-2007-5423)

Il existe également un module Metasploit pour cette autre vulnérabilité de Tikiwiki :

Je possède donc actuellement un compte à privilèges limités.

Samba (CVE-2007-2447)

Cette vulnérabilité de Samba est plus intéressante dans le sens ou aucune élévation de privilèges n'est nécessaire : je suis déjà "root".

Distcc (CVE-2004-2687)

Un compte limité "daemon" pour cette vulnérabilité sur Distcc.

Autres exploitations

Il y a encore d'autres exploitations à effectuer, que cela soit sur Twiki, PostgreSQL ou encore le serveur Apache Tomcat (chargement d'une application malicieuse, par exemple un reverse shell généré avec msfvenom) : tout cela peut se faire avec Metasploit.

Élévation de privilèges

Dans le cas d'un accès avec un compte limité il me faut trouver un moyen de devenir calife à la place du calife. Un uname -a donne :

Les versions 2.6 de Linux sont vulnérables à la faille "udev". J'effectue le tout grâce à Metasploit en exploitation la CVE-2007-5423 déjà vu pour obtenir un shell limité :

La vulnérabilité de Tikiwiki est exploitée et j'obtiens un shell limité. Afin d'effectuer l'élévation de privilèges il me faut connaitre le PID du process "udev" :

Avec la technique du "ps" il ne faut pas oublier d'ôter "1" au PID affiché pour le processus "udev". J'indique à Metasploit d'utiliser l'exploit Udev :

Travail terminé, je deviens "root".

Conclusion

La machine en soi n'est pas difficile, mais il y a tellement de services et de vulnérabilités à exploiter que cela en devient long.

J'ai identifié d'autres petites choses comme des weak credentials avec l'utilisateur user/user (donc disponible pour du telnet, SSH etc). Une vulnérabilité sur le PostgreSQL qui a les droits en écritures sur le "/tmp" et qui permet de récupérer un shell (module Metasploit disponible). Il doit y avoir encore pas mal de choses encore mais je pense avoir fait un bon petit tour déjà.

J'ai également tenté d'exploiter les vulnérabilités sur le wiki d'entreprise Twiki grâce aux modules de Metasploit mais cela n'a pas fonctionné, je n'ai pas cherché plus loin que ça mais il me semble bien que le wiki soit vulnérable pourtant.

Beaucoup de services disponibles sur cette machine, la reconnaissance va sans doute être un peu plus long que d'habitude

🙂
https://download.vulnhub.com/metasploitable/Metasploitable.zip
http://web.archive.org/web/20100525233058/http://blog.metasploit.com/2010/05/introducing-metasploitable.html