SSAT - Cybersecurity Business Convention 2023 - 200 pts

Énoncé

Nous suspectons que cette “entreprise” dissimule un lourd secret…

Solution

Page d’index

Le site web présente l’entreprise Satellite Security Corp.

Nous remarquons la présence d’une page de connexion dans la barre de navigation.

La page de connexion expose un script JavaScript obfusqué :

Code JavaScript obfusqué

Il est possible de le déobfusquer de différentes manières, la plus simple étant de se rendre sur le site : https://obf-io.deobfuscate.io/

Déobfuscation du code JavaScript

Une fois le code JavaScript déobfusqué, il suffit d’exécuter la fonction decodeString.

Déobfuscation du code JavaScript

La fonction nous retourne les identifiants de l’interface de connexion admin:s&tellite.

Page d’administration

Lorsque nous saisissons une commande, nous remarquons que l’input est directement retourné dans la réponse. En essayant une charge utile de SSTI, nous constatons que le template {{7+7}} est bien exécuté :

SSTI Test Heuristique

Nous pouvons donc essayer d’exécuter des commandes à l’aide du payload suivant :

{{ self._TemplateReference__context.cycler.__init__.__globals__.os.popen('id').read() }}

SSTI Exécution de code

Le fichier flag se trouve à la racine du serveur /flag.txt :

Flag

FLAG : CBC{f*******}*