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é.
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
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
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.
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.