Uno DDoS Tres

Arthur Palusci,Elsa François,François Lefez,Joey Giraudeau,Julie Durandeau,Raphaël Gonon

← Uno DDoS Tres · 1-Le déni / 2-Des branches et des feuilles / 3- Le dragon à l'envers / 4- La racine

3- Le dragon à l'envers

L'accès initial ayant été trouvé, Sparklez vous demande de vous pencher sur une autre attaque subie en interne.

L’entreprise vous annonce ainsi avoir détecté une attaque de type rançongiciel sur leur serveur applicatif. L’entièreté des données sensibles sur le serveur ont été chiffrées, les sauvegardes supprimées, et les attaquants réclament une rançon de 123 CryptoCoins.

Votre mission est de parvenir à comprendre le fonctionnement du virus et voir s’il est possible de déchiffrer les données, sans avoir payé la rançon.

Grâce au binaire fourni, il est attendu de vous d'analyser celui-ci.

Votre objectif est de parvenir à comprendre le fonctionnement du virus et voir s’il est possible de déchiffrer les données.

Cote 47 pts

Indices

Utilisez des logiciels tels que Ghidra, GDB, IDA...
Un packer a été utilisé pour obfusquer ce binaire

Faire son rapport

Résolution

1 — Découverte des fichiers

Est d'abord fournie des journaux d'un proxy Squid du parc.

Il va nous falloir l'analyser pour déterminer la vulnérabilité utilisée par
l'attaquant pour se latéraliser.

2 - Identifier la vulnérabilité

Les journaux contiennent de nombreux sites visités, ainsi que de nombreux
endpoints pour chacun de ses sites.

Il apparaît également que parmi ces sites visités se trouve ce qu'il semble
être un Sharepoint étant donné le nom de domaine et les endpoints utilisés.

endpoints d'un Sharepoint

En les inspectant de plus près, on peut remarquer que seule une combinaison
endpoint/referrer est unique. On peut le remarquer avec un script Python par
exemple.

$ python find_unique.py access.log
Analyzing Squid log file: access.log
Total unique URL associations: 219
Total requests with referrers: 2709155

================================================================================

Count: 76820
  Requested: https://www.google.com/search?
  Referrer:  https://www.google.com/

Count: 30832
  Requested: https://www.youtube.com/watch?
  Referrer:  https://www.google.com/

Count: 17917
  Requested: https://mail.google.com/mail/u/0/#sent
  Referrer:  https://mail.google.com/mail/u/0/

[...]

Count: 3506
  Requested: https://intra.iaa.local/
  Referrer:  https://intra.iaa.local/

Count: 1174
  Requested: https://intra.iaa.local/
  Referrer:  https://intra.iaa.local/_layouts/SignOut.aspx

Count: 1
  Requested: https://intra.iaa.local/_layouts/15/ToolPane.aspx?
  Referrer:  https://intra.iaa.local/_layouts/SignOut.aspx

Avec les bons mots-clés, il est alors aisé de trouver la CVE utilisée.

CVE identifiée

3 - Identifier le type de connexion

Une fois la vulnérabilité sur le Sharepoint identifiée, nous obtenons les
journaux d'événements Windows de deux machines du parc.

On peut facilement convertir les EVTX dans un format plus simple à lire, comme
XML, avec des outils comme celui
d'Eric Zimmerman.

En creusant dans ces journaux, notamment au sein des journaux opérationnels
PowerShell de la machine notée WS02, qui semble être la machine hébergeant le
service Sharepoint, on peut trouver une commande suspecte ayant lieu au même
moment que la requête malveillante précédemment identifiée.

Commande suspecte

Cette commande suspecte peut être reconnue comme la charge utile
meterpreter_reverse_tcp pour PowerShell de la suite Metasploit. Il s'agit
donc d'un simple shell inversé.

4 - Identifier le programme lancé

En analysant les journaux d'événements Windows plus en profondeur, notamment
les techniques communes de persistance, on peut remarquer qu'un service a été
créé bien après les autres services avec un nom étrange dans le journal
System du serveur hébergeant le Sharepoint.

Ajout suspect

Avec une simple recherche, on peut déduire du nom du binaire sa fonction.

Fonction du binaire identifiée