# Le Cluster de Madame Bovary

**Catégorie:** Cloud - **Difficulté:** Facile

Fichier : [Google Drive - ](https://drive.google.com/drive/folders/1WOU7b58-nxiUyv5AEPDkcKifNnuQk6Vm?usp=share_link)[Le Cluster de Madame Bovary](https://drive.google.com/drive/folders/1YD944ooqmz2J8wGfADQnwzGBF1TmIQcW?usp=sharing)

**Description:**

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

**Solution:**

Pour ce challenge, il faut utiliser une machine virtuelle VirtualBox fournie. Un cluster Kubernetes y est installé. N'y connaissant pas grand chose, j'ai utilisé [cette cheatsheet](https://kubernetes.io/docs/reference/kubectl/cheatsheet/).

On va commencer à lister les différents pods sur la machine en utilisant kubectl :&#x20;

<figure><img src="/files/1BzehOPs6BCNLF7Vmrwr" alt="" width="313"><figcaption></figcaption></figure>

Il y a donc un pod nommé *agent*. Nous allons récupérer des infos sur ce dernier : <br>

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

Nous voyons que l'image [404ctf/agent](https://hub.docker.com/r/404ctf/agent) disponible sur le Docker Hub a été utilisée.\
En regardant l'entrypoint, nous voyons que pour lancer le pod, il suffit d'exécuter la commande `/opt/agent` une fois connecté au shell du pod.

Pour se connecter au shell, il faut utiliser cette commande :&#x20;

<figure><img src="/files/mSs9Ka3moXJyZnofs7IQ" alt="" width="446"><figcaption></figcaption></figure>

Maintenant que nous sommes connecté au pod, nous allons pouvoir exécuter la commande pour déployer le container :&#x20;

<figure><img src="/files/25Oz4fmWaUQMSNwGYn45" alt="" width="302"><figcaption></figcaption></figure>

Il va donc falloir enlever cette erreur. Pour cela, il suffit de faire ce qui nous est demandé, c'est à dire deployer le container 404ctf/the-container en suivant plusieurs étapes :&#x20;

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

Une fois cela fait, nous pouvons nous y connecter au shell de nouveau pod. Maintenant nous allons tenter de relancer le container agent : <br>

<figure><img src="/files/AYTBiCJhzT3r60f8QGli" alt="" width="269"><figcaption></figcaption></figure>

Maintenant nous allons devoir régler tous les petits soucis pour pouvoir tout lancer correctement :&#x20;

<figure><img src="/files/vwdlQggpDLTOW4EK7cOh" alt="" width="405"><figcaption></figcaption></figure>

Une fois toutes les phases nécessaires terminées, nous pouvons récupérer la première partie du flag.\
Maintenant nous allons refaire exactement les même étapes avec le nouveau container web-server&#x20;

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

Maintenant que nous sommes connecté au shell du container, nous allons pouvoir l'explorer :&#x20;

<figure><img src="/files/IifDHq9BXab3sTeKoCtF" alt="" width="392"><figcaption></figcaption></figure>

Nous avons plusieurs fichiers à exploiter mais le plus intéressant est le fichier *web-server.go* :&#x20;

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

Nous avons donc toutes les parties nécessaires pour valider ce challenge.

<details>

<summary>🚩 FLAG</summary>

```
404CTF{A_la_decouverte_de_k8s}
```

</details>


---

# Agent Instructions: 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:

```
GET https://writeups.ayweth20.com/2023/404ctf-2023/cloud/le-cluster-de-madame-bovary.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
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.
