Le Timonier Fantôme d'EXE

Bilal-Rayane M., Nolan D., Louca G., Rayan C., Gabin R., Robin V.

← Le Timonier Fantôme d'EXE · Arrête-moi si tu peux / Import-ant Binaire suspect / Souvenirs Suspects / Orchestration Diabolique

Arrête-moi si tu peux

Nous savons que des actions inhabituelles ont été réalisées sur le compte de l’employé, et nous cherchons à déterminer leur origine.

À cette fin, les logs Active Directory collectés via Windows Event Collector sur les deux dernières semaines ont été transmis pour analyse, afin d’identifier les événements suspects ou inhabituels sur le poste de travail.

Suite aux incidents, vous effectuez une première analyse des logs fournis, afin de détecter l’origine des activités inhabituelles observées sur le poste de travail de l’employé.

Cote 11 pts

Indices

Toc, toc…, c'est moi j'ai oublié mes clés.

Faire son rapport

Résolution

Étape 1 — Ouverture et compréhension du fichier

Format XML depuis EventViewer.

La première étape correspond à lire le fichier XML fourni et remarquer que:

Il s'agit d'une multitude d'événements ('Event')

Il y a plusieurs champs notamment:

EventID et potentiellement la date de création TimeCreated SystemTime

Étape 2 — Compréhension du format evtx/EventViewer

Dans le format Microsoft evtx, chaque EventID correspond à un événement en particulier.

On se rend sur la documentation pour trouver à quoi correspond l'événement 64 16.

Il s'agit de: Un nouveau périphérique externe a été reconnu par le système.

Ainsi on regarde dans le fichier les événements correspondant à cet EventID.

Ils sont du format:

<Event xmlns="http://schemas.microsoft.com/win/2004/08/events/event">^M
     <System>^M
        <Provider Name="AuditReport" />^M
        <EventID Qualifiers="0">64 16</EventID>^M
        <Version>0</Version>^M
        <Level>4</Level>^M
        <Task>1</Task>^M
        <Opcode>0</Opcode>^M
        <Keywords>0x80000000000000</Keywords>^M
        <TimeCreated SystemTime="2025-02-07T15:28:29.0000000Z" />^M
        <EventRecordID>4880</EventRecordID>^M
        <Correlation />^M
        <Execution ProcessID="6020" ThreadID="0" />^M
        <Channel>Application</Channel>^M
        <Security />
    </System>^M
    <EventData>^M
        <Data>External device detected: VendorID=0x1781 ProductID=0x5567 DeviceName=SanDisk usb Drive</Data>^M
    </EventData>^M
</Event>^M

Ainsi le joueur reconnait que pour les périphériques usb ont trois informations identifiables:
- VendorID
- ProductID
- DeviceName

Étape 3 — Trouver l'évènement suspect.

Ainsi par réflexe le joueur regardera surement si le DeviceName est un indicateur pour trouver la réponse via par exemple:

grep 'DeviceName=' EXE_logs.xml | sed -n 's/.*DeviceName=\(.*\)<\/Data>.*/\1/p' | sort | uniq

Ensuite idem pour le VendorID par exemple:

grep 'VendorID=' EXE_logs.xml | sed -n 's/.*VendorID=\(0x[0-9A-Fa-f]*\).*/\1/p' | sort | uniq

Et finalement sur le ProductID:

grep 'ProductID=' EXE_logs.xml | sed -n 's/.*ProductID=\(0x[0-9A-Fa-f]*\).*/\1/p' | sort | uniq

Où on distingue 4 ids différents:

0x0129
0x5567
0x5967888
0xC534

Mais en comptant les différents avec l'option -c:

grep 'ProductID=' EXE_logs.xml | sed -n 's/.*ProductID=\(0x[0-9A-Fa-f]*\).*/\1/p' | sort | uniq -c

On obtient:

    302 0x0129
    351 0x5567
      1 0x5967888
    308 0xC534

Ainsi, on ouvre le fichier à nouveau et on récupère la ligne DATA dans le fichier correspondant au ProductID utilisé 1 seul fois.

Indice

Toc, toc…, c'est moi j'ai oublié mes clés.

Cela fait référence à une clé pour orienter le joueur vers la clé USB.