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 Web
  • Port knocking
  • Joomla
  • Exploitation
  • Injection SQL
  • Élévation de privilèges
  • Conclusion
  1. Walkthroughs
  2. Deliberately Vulnerable
  3. VulnHub

Hackademic: RTB2

PrécédentHackademic: RTB1SuivantHolynix: v1

Dernière mise à jour il y a 2 ans

Détails de la machine

Nom : Hackademic: RTB2 Date de sortie : 6 Septembre 2011 Lien de téléchargement : Niveau : Facile Objectif(s) : obtenir un accès "root" et lire le flag situé dans le fichier /root/Key.txt Description : This is the second realistic hackademic challenge (root this box) by mr.pr0n Download the target and get root. After all, try to read the contents of the file 'key.txt' in the root directory. Enjoy!

Reconnaissance

Je récupère l'adresse IP de la cible grâce à netdiscover :

Je continue en scannant la cible à l'adresse 192.168.56.68 via nmap :

Il y a donc un service web de disponible ainsi qu'un service sur le port 666 mais filtré par le pare-feu.

Serveur Web

Une analyse avec nikto va me permettre d'en savoir un peu plus :

Le serveur web propose un phpMyAdmin. Je tente de connaitre sa version :

Tout en lançons un dirb :

Rien de spécifique pour le dirb. Il est temps de naviguer sur le site proposé par la machine :

Malheureusement aucune des tentatives de weak credentials ne fonctionnent et pas grand chose d'autres d'intéressant à exploiter.

Port knocking

Etant donné que le serveur web du port 80 ne semble pas très intéressant, je me concentre sur le port 666 qui semble être filtré. Ici un peu par chance (beaucoup de chance en fait), le port 666 est devenu ouvert :

Mais qu'elle est cette sorcellerie ? En effet, j'ai dit par chance car j'avais nettoyé mon terminal et donc dû relancer un nmap (ce qui a ouvert le port protégé par du port knocking). Le second scan n'indique pas que le port est ouvert (l'impression écran est le troisième scan), mais en essayant via le navigateur d'accéder à ce port filtré la page suivante s'est affichée :

Ce second site utilise le CMS Joomla en 1.5, il faudra sans doute creuser par là. Je commence tout d'abord par une petite reconnaissance avec nikto :

Une page d'administration est disponible mais il semble que ce n'est pas la bonne direction :

Et le phpMyAdmin présent sur ce port est également en version 3.3.2.

Joomla

J'attaque la reconnaissance du CMS Joomla qui semble être en version 1.5. metsaploit me donne quelques détails supplémentaires :

Il s'agit donc plus précisément de la version 1.5.15. Qu'en est t'il des plugins utilisés :

Le plugin com_abc (ABC Joomla Extension) semble être vulnérable aux injections SQL, sans doute notre porte d'entrée.

Exploitation

Injection SQL

metasploit indique que le paramètre vulnérable est le paramètre "sectionid" (http://192.168.56.68:666/index.php?option=com_abc&view=abc&letter=AS&sectionid=').

En cherchant un peu j'identifie cette vulnérabilité comme étant la CVE-2010-1656 :

Ici je ne m'embête pas et je sors l'artillerie sqlmap pour l'exploitation. Je récupère deux mots de passe d'utilisateurs lambda mais pas celui de l'administrateur :

Les comptes de JSmith et BTallor ne donnent rien et ne permettent pas d'aller plus loin. Selon les droits que possède le compte se connectant à la base il est peut être possible d'écrire des fichiers et ainsi de récupérer un shell.

Pour cela, il faut utiliser l'option --os-shell :

Je possède donc maintenant un shell sur la machine mais limité en droits puisque il s'agit du compte www-data.

Élévation de privilèges

J'identifie la version du système d'exploitation :

Il s'agit d'un exploit en C à compiler :

Pour son exécution, il faut retrouver un shell un peu plus classique, je suis donc passé par l'option --os-pwn de sqlmap (le chemin du serveur web fait partie des "common location(s)") :

L'exécution de l'exploit me donne un accès root :

Je récupère le flag présent dans le fichier à l'emplacement /root/Key.txt (le fichier étant très long, la sortie est tronquée) :

Le texte est encodé en base64, son décodage nous donne une image :

Conclusion

J'ai eu beaucoup de chance concernant le port knocking puisque un double nmap suffit à déclencher l'ouverture du port. Par curiosité, je suis allé voir la configuration de knockd que voici :

Il s'agit donc de la séquence par défaut, à savoir 7000, 8000 puis 9000 pour provoquer l'ouverture.

Pour cette version, propose l'exploit suivant :

Machine sympathique que j'ai mis un certain temps à finir. La raison était que le shell récupéré était très instable et la connexion se fermait au bout de quelques secondes. Un peu de persévérance a finit par payer .

😉
Linux-suggester
https://download.vulnhub.com/hackademic/Hackademic.RTB2.zip