Skip to main content
  1. Writeups/

BreizhCTF 2023 - Rapport d'audit

3 mins· 0 · 0 ·
crypto BreizhCTF 2023
Table of Contents
BreizhCTF 2023 - This article is part of a series.
Part 1: This Article
Enoncé>

Enoncé #

L’entreprise Cybeur-salé a transmis au BreizhCTF un rapport d’audit concernant son infrastructure. Suite a un incident chez Cybeur-salé, l’archive a fuité sur le célèbre site Braidzh-Forum. L’ESN affirme cependant que la confidentialité du rapport reste garantie, puisque l’archive est protégée par un mot de passe fort. Dans la continuité de l’incident, vous avez été mandaté par le BreizhCTF pour confirmer de manière impartiale les dires de Cybeur-salé.

Auteur: Zeecka

Fichiers>

Fichiers #

  1. Rapport_Audit_BreizhCTF.zip (md5sum: c1903432eb7532d82c7f5a3c4e80a04c)
Solution>

Solution #

Le challenge fournit une archive ZIP chiffrée, on retrouve dedans 3 fichiers :

  • 20211216_OWASP-MSP_OWASP_Top_Ten_2021.pdf
  • Rapport_Audit_BreizhCTF.docx
  • cvss-v31-specification_r1.pdf

Le fichier d’intérêt pour le challenge est Rapport_Audit_BreizhCTF.docx. Les deux autres fichiers sont des fichiers publics et accessible, on peut donc réaliser une attaque par clair connu sur l’archive ZIP. Pour vérifier si cette attaque est possible, il faut vérifier le type de chiffrement de l’archive ZIP, celui ci doit être ZipCrypto sans quoi l’attaque ne sera pas forcément possible.

Pour vérifier ces informations on peut utiliser la commande 7z l et

[user@work ~]$ 7z l /tmp/Rapport_Audit_BreizhCTF.zip 

--
Path = /tmp/Rapport_Audit_BreizhCTF.zip
Type = zip
Physical Size = 1357917

   Date      Time    Attr         Size   Compressed  Name
------------------- ----- ------------ ------------  ------------------------
2022-11-28 15:09:11 .....       430627       430639  20211216_OWASP-MSP_OWASP_Top_Ten_2021.pdf
2022-11-28 15:05:39 .....       688733       688745  cvss-v31-specification_r1.pdf
2022-11-28 15:08:14 .....       237871       237883  Rapport_Audit_BreizhCTF.docx
------------------- ----- ------------ ------------  ------------------------
2022-11-28 15:09:11            1357231      1357267  3 files

On retrouve bien nos trois fichiers.

[user@personal-standalone ~]$ 7z l -slt /tmp/Rapport_Audit_BreizhCTF.zip 

--
Path = /tmp/Rapport_Audit_BreizhCTF.zip
Type = zip
Physical Size = 1357917

----------
Path = 20211216_OWASP-MSP_OWASP_Top_Ten_2021.pdf
Folder = -
Size = 430627
Packed Size = 430639
Modified = 2022-11-28 15:09:11
Created = 
Accessed = 
Attributes = _ -rw-r--r--
Encrypted = +
Comment = 
CRC = 435B5F61
Method = ZipCrypto Store
Host OS = Unix
Version = 10
Volume Index = 0

Path = cvss-v31-specification_r1.pdf
Folder = -
Size = 688733
Packed Size = 688745
Modified = 2022-11-28 15:05:39
Created = 
Accessed = 
Attributes = _ -rw-r--r--
Encrypted = +
Comment = 
CRC = B239DAF7
Method = ZipCrypto Store
Host OS = Unix
Version = 10
Volume Index = 0

Path = Rapport_Audit_BreizhCTF.docx
Folder = -
Size = 237871
Packed Size = 237883
Modified = 2022-11-28 15:08:14
Created = 
Accessed = 
Attributes = _ -rw-r--r--
Encrypted = +
Comment = 
CRC = 3023FA81
Method = ZipCrypto Store
Host OS = Unix
Version = 10
Volume Index = 0

La méthode de chiffrement utilisées pour nos trois fichiers est bien ZipCrypto Store. Maintenant ces informations confirmée, il ne reste qu’à récupérer un des fichiers pour pouvoir réaliser l’attaque par clair connu, ici j’ai choisi de télécharger 20211216_OWASP-MSP_OWASP_Top_Ten_2021.pdf car facilement trouvable en ligne.

Recherche du document de l’OWASP

Enfin, on peut réaliser l’attaque par clair connu, pour cela on peut utiliser l’outil bkcrack.

bkcrack -C Rapport_Audit_BreizhCTF.zip -c 20211216_OWASP-MSP_OWASP_Top_Ten_2021.pdf -P Rapport_Audit_BreizhCTF.zip -p 20211216_OWASP-MSP_OWASP_Top_Ten_2021.pdf -e
bkcrack 1.5.0 - 2022-09-25
[21:15:45] Z reduction using 688726 bytes of known plaintext
0.7 % (4952 / 688726)
[21:15:46] Attack on 166 Z values at index 684443
Keys: 2cec9bbe 8410cf1b 74078a50
100.0 % (166 / 166)
[21:15:46] Keys
2cec9bbe 8410cf1b 74078a50

Maintenant que les clés sont extraites, on peut extraire le Rapport d’audit chiffré.

bkcrack -C Rapport_Audit_BreizhCTF.zip -c Rapport_Audit_BreizhCTF.docx -k 2cec9bbe 8410cf1b 74078a50 -d Rapport_Audit_BreizhCTF.docx

N’ayant pas libreoffice ni Word sous la main pour ouvrir le fichier .docx j’ai personnellement extrait le flag du fichier en le dézippant et en accédant au fichier /word/document.xml.

[...]
<w:p w:rsidR="12C86AB6" w:rsidP="12C86AB6" w:rsidRDefault="12C86AB6"
    w14:paraId="6EC48FF3" w14:textId="72517AB1">
    <w:pPr>
        <w:pStyle w:val="Normal" />
        <w:spacing w:line="480" w:lineRule="auto" />
    </w:pPr>
    <w:r w:rsidR="12C86AB6">
        <w:rPr />
        <w:t>BZHCTF{</w:t>
    </w:r>
    <w:proofErr w:type="spellStart" />
    <w:r w:rsidR="12C86AB6">
        <w:rPr />
        <w:t>CryptoKnownFiles</w:t>
    </w:r>
    <w:proofErr w:type="spellEnd" />
    <w:r w:rsidR="12C86AB6">
        <w:rPr />
        <w:t>!}</w:t>
    </w:r>
</w:p>
[...]
Flag>

Flag #

BZHCTF{CryptoKnownFiles!}



BreizhCTF 2023 - This article is part of a series.
Part 1: This Article