Noted - Analyse d'Exfiltration de Données
Contexte du Scénario
Simon Stark, un ingénieur logiciel chez Forela, a été victime d'une attaque ciblée. Un attaquant a réussi à accéder à son système, à exfiltrer des données sensibles et à laisser une note de demande de rançon. L'objectif de ce Sherlock est d'analyser les artefacts laissés par l'attaquant pour comprendre les actions effectuées et identifier les données compromises.
Méthodologie d'Investigation
L'investigation se base sur l'analyse de fichiers XML de session (session.xml) et d'autres artefacts système pour reconstituer la chronologie de l'attaque.
Investigation des Fichiers
Question 1 : Script AWS
Q: What is the full path of the script used by Simon for AWS operations?
Recherche dans les fichiers de session :
┌──(alesio㉿Alesio)-[~/Noted/Noted]
└─$ find . -type f -exec cat {} + | grep -i "aws"
<File filename="C:\Users\Simon.stark\Documents\Dev_Ops\AWS_objects migration.pl" />
R: C:\Users\Simon.stark\Documents\Dev_Ops\AWS_objects migration.pl
Question 2 : Code Source Malveillant
Q: The attacker duplicated some program code and compiled it on the system. What is the full path of the program's source file?
En analysant les fichiers de session (session.xml), on trouve la référence au fichier source :
R: C:\Users\Simon.stark\Desktop\LootAndPurge.java
Analyse : L'attaquant a créé un programme Java personnalisé pour :
- Collecter des données sensibles
- Les compresser dans une archive
- Préparer l'exfiltration
Question 3 : Archive d'Exfiltration
Q: What's the name of the final archive file containing all the data to be exfiltrated?
En analysant le code source LootAndPurge.java, on trouve le nom de l'archive finale :
R: Forela-Dev-Data.zip
Question 4 : Horodatage de Modification
Q: What's the timestamp in UTC when attacker last modified the program source file?
Dans le fichier session.xml, on trouve deux valeurs de timestamp : -1354503710 et 31047188
Ces valeurs représentent un timestamp Windows FILETIME qu'il faut convertir. Script Python de conversion :
import datetime
timestamp_low = -1354503710
timestamp_high = 31047188
# Combiner les deux parties du timestamp (64-bit)
full_timestamp = (timestamp_high << 32) | (timestamp_low & 0xFFFFFFFF)
# Convertir en secondes depuis l'epoch Windows (1601-01-01)
timestamp_seconds = full_timestamp / 10**7
# Ajouter à la date de base Windows
timestamp = datetime.datetime(1601, 1, 1) + datetime.timedelta(seconds=timestamp_seconds)
print(timestamp)
Exécution :
┌──(alesio㉿Alesio)-[~/Noted]
└─$ python time.py
2023-07-24 09:53:23.322723
R: 2023-07-24 09:53:23
Note : Le timestamp Windows FILETIME est un entier de 64 bits représentant le nombre d'intervalles de 100 nanosecondes depuis le 1er janvier 1601.
Question 5 : Portefeuille Crypto
Q: The attacker wrote a data extortion note. What is the crypto wallet address to which attackers demanded payment?
En ouvrant le fichier YOU HAVE BEEN HACKED.txt et en consultant le Pastebin lié avec le mot de passe trouvé dans le code, on trouve :
If you are here then you know that you have no other choice than to pay us.
Your Sensitive DATA is in our hands and we WILL release it to PUBLIC By midnight if you don't pay us a ransom.
We Want 50000 $ in ETH currency by midnight. This amount is very reasonable as we know
FORELA is a multi million dollar company, but since we were able to extort small amount
of data, this is our final offer.
Ethereum Wallet : 0xca8fa8f0b631ecdb18cda619c4fc9d197c8affca
Person of contact : CyberJunkie@mail2torjgmxgexntbrmhvgluavhj7ouul5yar6ylbvjkxwqf6ixkwyd.onion
R: 0xca8fa8f0b631ecdb18cda619c4fc9d197c8affca
Question 6 : Contact de l'Attaquant
Q: What's the email address of the person to contact for support?
Même source que la question précédente :
R: CyberJunkie@mail2torjgmxgexntbrmhvgluavhj7ouul5yar6ylbvjkxwqf6ixkwyd.onion
Note : Il s'agit d'une adresse email Tor (domaine .onion), utilisée pour garantir l'anonymat de l'attaquant.
Chronologie de l'Attaque
- Accès Initial : L'attaquant accède au système de Simon Stark
- Reconnaissance : Identification des scripts AWS et des données sensibles
- Développement du Malware : Création et compilation de
LootAndPurge.java(dernière modification: 2023-07-24 09:53:23) - Exfiltration : Création de l'archive
Forela-Dev-Data.zip - Demande de Rançon : Dépôt de la note avec demande de 50 000 $ en ETH
Résumé
Ce challenge Sherlock nous a permis de :
- Analyser des artefacts Windows (fichiers de session XML)
- Reconstituer la chronologie d'une attaque d'exfiltration de données
- Comprendre les timestamps Windows FILETIME et leur conversion
- Identifier les tactiques de l'attaquant (compilation sur place pour éviter la détection)
- Analyser une demande de rançon et les méthodes de contact anonymes
Points Clés à Retenir
- Les fichiers de session Windows peuvent contenir des informations précieuses sur les activités utilisateur
- Les timestamps Windows FILETIME nécessitent une conversion spéciale depuis l'epoch du 1er janvier 1601
- Les attaquants compilent parfois leur code directement sur le système cible pour mieux se fondre dans l'environnement
- L'utilisation de portefeuilles crypto et d'adresses .onion permet aux attaquants de maintenir leur anonymat
- L'analyse forensique doit examiner non seulement les fichiers exécutables mais aussi les fichiers sources et de configuration
Outils Utilisés
findetgrep: Recherche dans les fichiers- Python : Conversion de timestamps
- Analyse manuelle de fichiers XML et texte