Blog

Akerva

Faites l’expérience de la sécurité active & réactive

WonkaChall

WonkaChall Akerva NDH 2018 – Write Up Part 1

WonkaChall | 05/07/2018 Cet article est le premier d’une série de 5 détaillant la résolution du challenge « Wonka Challenge » proposé par Akerva lors de la Nuit du Hack 2018 - #ndh16

Cet article est le premier d’une série de 5 détaillant la résolution du challenge « Wonka Challenge » proposé par Akerva lors de la Nuit du Hack 2018 – #ndh16

Part 1 – Willywonka.shop

Le challenge débute par un mail reçu d’un ami BH.

 

Il nous indique qu’un golden ticket pour « pramafil » filiale de « pramacorp » a été mis en vente sur le célèbre blackmarket de goldenticket : willywonka.shop.

 

Nous découvrons le site, et en particulier la présence d’un formulaire d’upload pour la mise en vente de ticket. Une archive d’exemple est par ailleurs présentée.

 

Il s’agit d’une archive example.gold au format zip contenant un fichier .kirbi ainsi qu’un MANIFEST.xml :

 

Les données contenues dans le manifeste sont affichées sur la plateforme après l’upload du fichier. Il est donc compréhensible que le XML est parsé.

 

Le plus basique payload permet de vérifier l’hypothèse d’une XXE (cf Owasp) :

 

 

 

On peut ainsi récupérer le premier flag à la racine du serveur :

 

Il faut ensuite récupérer le golden ticket pour « pramafil ».

 

Nous remarquons dans le code source de la réponse du serveur lors d’une tentative d’upload, la présence d’un commentaire nous mettant sur la piste du chemin du ticket recherché :

 

Plusieurs choses peuvent être tentées à la place de « filename ». On trouvera « pramafil » assez facilement dans la mesure où il s’agit du nom de l’entreprise concernées.

Les fichiers convoités étant composés de caractères spéciaux cassant la structure XML, il n’est pas possible de les récupérer aussi facilement que le flag.

 

Interviennent alors les « php wrappers » :

 

Nous pouvons alors récupérer notre ticket encodé en base64 que nous pourrons décoder sur notre machine :

 

Il est également possible de récupérer le fichier MANIFEST.xml qui contient les informations nécessaires pour recréer un ticket kerberos.

 

LIRE LE WRITE-UP PART 2

 

Ressources :

https://www.owasp.org/index.php/XML_External_Entity_(XXE)_Processing

Actualités & blog

Restez informé des dernières actualités

RESTEZ INFORMÉ DES ACTUALITÉS AKERVA

ABONNEZ-VOUS À NOTRE NEWSLETTER