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

Hackademic: RTB1

PrécédentGoatseLinux: 1SuivantHackademic: RTB2

Dernière mise à jour il y a 2 ans

Détails de la machine

Nom : Hackademic: RTB1 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 first 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

La machine étant en DHCP il me faut tout d'abord récupérer son adresse IP :

Je garde les mêmes habitudes avec un scan de services grâce à nmap :

Le port 22 (service SSH) est clos, il me reste donc seulement le serveur HTTP sur le port 80.

Serveur Web

J'utilise les habituels outils, nikto :

qui m'indique l'installation d'un CMS Wordpress. Suivi de dirb :

qui lui, remonte l'URL d'un /phpMyAdmin retournant un code 403 Forbidden. Je continue la reconnaissance en accédant à la page d'accueil du site :

Le lien "target" me dirige vers une seconde page /Hackacdemic_RTB1 :

Je retente un dirb à partir de cette nouvelle URL afin de récupérer un maximum d'informations :

Il me permet la découverte des URL liées au Wordpress déjà détecté par nikto . J'identifie rapidement la mire d'authentification du CMS à l'URL /Hackademic_RTB1/wp-login.php :

Après quelques tests basiques d'injections, je repère facilement l'injection SQL sur la paramètre ?cat=de la page d'accueil index.php :

Exploitation

L'exploitation de l'injection SQL peut sans doute me permettre de récupérer des identifiants permettant de s'authentifier sur le Wordpress :

Je ne sais pas si cela venait d'une instabilité de ma VM mais les codes HTTP renvoyés par l'application étaient des codes 500. Le contenu HTML étant bien renvoyé, l'injection reste donc possible mais j'ai dû ajouter l'option --ignore-code=500 à sqlmap

L'exploitation de l'injection permet de récupérer certains logins/mots de passe (table wp_users) :

La suite de l'attaque se poursuivra sans doute avec le compte GeorgeMiller car il semble posséder le plus de permissions :

Le compte possède les droits d'édition sur certaines pages .php (par exemple ici wp-content/plugins/markdown.php) :

L'exploitation de cette fonctionnalité semble assez évidente, je vais remplacer le contenu de la page par le code d'un reverse shell. Tout d'abord je génère le code avec msfvenom :

Je modifie la page markdown.php :

Je sauvegarde les modifications puis met en place le handler sur la machine d'attaque :

J'active la payload en visitant la page malicieuse :

La connexion est maintenant établie :

Élévation de privilèges

Un petit tour de reconnaissance avec nos nouveaux droits :

Je liste les utilisateurs présents sur la machine :

Je récupère le mot de passe de connexion à la base mySQL :

Afin de l'exécuter rien de plus simple, je mets en place un serveur HTTP python côté attaque et je récupère l'exploit avec un wget :

Je le compile :

Puis l'exécute :

Afin de satisfaire la demande du créateur de la machine, je récupère le flag contenu dans le fichier /root/key.txt :

Travail terminé.

Conclusion

La machine n'est pas difficile. L'injection SQL se trouve facilement et permet d'aller à la prochaine étape en possédant des comptes Wordpress valides. Récupérer un shell ne présente pas de soucis non plus et la technique d'exécution de code via une page php forgée pour l'occasion est maintenant une habitude.

Je termine par une recherche de mots de passe hardcodé autre que celui-ci ou encore la recherche de binaire suid mais rien. Je me tourne vers les exploits possibles pour la version 2.6.31 du noyau Linux. Pour cela je me sers de ce qui liste les différentes vulnérabilités et versions vulnérables :

Ici j'ai posé mon cerveau et j'ai simplement testé un à un tous les exploits possibles pour la version 2.6.31 en version x86 (je ne dis pas que c'est la meilleure solution ). Au bout d'un moment il s'avère que l'exploit RDS passe :

Là où je suis un peu moins fier de moi c'est l'élévation de privilèges ou j'ai bêtement testé tous les exploits existants pour la version appropriée. L'excuse était que la fatigue commençait à m'envahir et je voulais terminer la machine au plus vite . Je pense qu'il est possible de faire une première analyse afin de savoir quel exploit peut convenir le mieux sans avoir à tous les exécuter mais je suis pas un grand connaisseur dans ce domaine.

🙃
😋
GitHub
https://download.vulnhub.com/hackademic/Hackademic.RTB1.zip