> For the complete documentation index, see [llms.txt](https://writeups.ayweth20.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://writeups.ayweth20.com/2023/404ctf-2023/analyse-forensique/le-mystere-du-roman-damour.md).

# Le Mystère du roman d'amour

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

{% file src="/files/jSVQdd9JhlzHHkq6TBf1" %}

**Description:**

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

**Solution:**

Pour ce challenge, ne connaissant pas les fichiers .swp (car je n'utilise que *nano*), j'ai donc fait un `file fichier-etrange.swp` dessus (comme je fais à chaque fois que je ne connais pas un type de fichier) :&#x20;

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

Grâce à cette commande, nous récupérons déjà 4 éléments sur les 5 attendus : \
\- Le PID : *168*\
\- L'utilisateur : *jaqueline*\
\- Le nom de la machine : *aime\_ecrire*\
\- Le chemin relatif du fichier : *\~jaqueline/Documents/Livres/404 Histoires d'Amour pour les bibliophiles au coeur d'artichaut/brouillon.txt*

Maintenant il faut récupérer le contenu du fichier. Pour ce faire nous allons utiliser l'outil vim directement avec cette commande `vim -r fichier-etrange.swp` :&#x20;

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

En regardant très vite le contenu du fichier, nous comprenons qu'il s'agit d'une image .png. Nous allons donc enregistrer directement le contenu dans une image pour pourvoir l'utiliser après :&#x20;

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

Une fois enregistré, nous avons une image PNG prête à l'emploi :&#x20;

<figure><img src="/files/PiYSfXp1xJoIeiRBPpWJ" alt="" width="188"><figcaption></figcaption></figure>

Ici il n'y a pas de flag visible donc nous allons devoir faire un peu de stegano dessus avec [Aperisolve](https://www.aperisolve.com/).

Quand nous l'envoyons sur ce site, nous voyons qu'il y a un QR Code masqué dans l'image :&#x20;

<figure><img src="/files/eER3f1jnaYj3Qf6GpVPs" alt="" width="188"><figcaption></figcaption></figure>

Une fois ce QR Code en main, nous allons essayer d'en extraire son contenu.\
Pour ce faire, nous utilisons simplement notre smartphone ou bien [ce site](https://products.aspose.app/barcode/recognize/qr#/recognized).\
Une fois fait, nous récupérons ce message qui contient la dernière partie du flag que nous cherchions :&#x20;

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

Maintenant avec les 5 parties en main, nous allons pouvoir reconstituer le flag.

Pour rappel :&#x20;

\- Le PID : *168*\
\- L'utilisateur : *jaqueline*\
\- Le nom de la machine : *aime\_ecrire*\
\- Le chemin relatif du fichier : *\~jaqueline/Documents/Livres/404 Histoires d'Amour pour les bibliophiles au coeur d'artichaut/brouillon.txt*\
*-* Contenu du fichier : *3n\_V01L4\_Un\_Dr0l3\_D3\_R0m4N*

<details>

<summary>🚩 FLAG</summary>

```
404CTF{168-~jaqueline/Documents/Livres/404 Histoires d'Amour pour les bibliophiles au coeur d'artichaut/brouillon.txt-jaqueline-aime_ecrire-3n_V01L4_Un_Dr0l3_D3_R0m4N}
```

</details>


---

# 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://writeups.ayweth20.com/2023/404ctf-2023/analyse-forensique/le-mystere-du-roman-damour.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.
