Windows Shortcut Files (LNK) – Forensgeek

Forensics

Bonjour à tous, ça doit bien faire une semaine qu’on a pas fait de forensics, non ? Aujourd’hui on continue la série forensgeek avec les Windows Shortcut Files (LNK) pour la forensics !

Les Windows Shortcut Files (LNK) en forensics ?

Vous allez me dire : « mais pourquoi tu nous parles des lnk ? on connait c’est les raccourcis Windows ! ». Alors oui, c’est bien de ça dont on va parler. Déjà, on va commencer par un rappel. Même si les .lnk de Windows ressemblent à des liens symboliques sous Unix, c’est pas tout à fait la même chose. un lien symbolique peut être utilisé exactement comme si vous tapiez sur le fichier réel pointé par celui ci. Alors qu’un lnk, c’est juste une extension de fichier qui défini un « format de pointeur » vers un autre fichier. Et comme vous le disiez, à peu près tout les utilisateur de Windows connaissent le principe des raccourcis.

Ce que les gens sachent beaucoup moins, c’est que l’OS de Microsoft génère aussi, en sous-marin, des raccourcis sans rien dire à personne. Assez simplement lorsqu’un fichier est ouvert dans l’explorateur Windows ou lors de l’exécution d’un programme, un raccourcis peut être créé automatiquement dans le profil de l’utilisateur. C’est ce comportement qui permet d’avoir la fonctionnalité d’historique des fichiers récent dans votre explorateur… et qui nous intéresse en analyse forensics.

C’est où ?

Assez simplement vous cherchez tous les fichiers « .lnk » dans les dossiers suivants :

  • C:\Users\$Username\AppData\Roaming\Microsoft\Windows\Recent
  • C:\Users\$Username\AppData\Roaming\Microsoft\Office\Recent
Windows Shortcut Files (lnk)

Attention sous les vieux OS (genre XP/2000) ce sera plutôt dans :

  • C:\Documents and Settings\$Username\Recent
  • C:\Documents and Settings\$Username\Application Data\Microsoft\Office\Recent

Il y a quoi dans les LNK

Les lnk c’est pas juste des fichiers bidons qui pointent vers d’autres, il y a plein d’informations dans les métadonnées et données d’un lnk :

  • le chemin complet vers le fichiers d’origine ;
  • le nom de la ressource réseau cible, le cas échéant ;
  • les informations sur le volumes source du fichier ;
  • les différents attributs du fichier (read-only, caché/système, dates de modification, d’accès et de création, taille du fichier destination) ;
  • Un SID d’objet utilisé dans la MFT et par le service « client de suivi de lien distribué » (TrkWks) ;

Tout ça c’est bien utile pour suivre l’activité d’un utilisateur en session interactive (ou de l’attaquant qui l’usurpe 🙂 ). En particulier si vous le combiné avec d’autres preuves comme le SRUM qu’on a vue la dernière fois ou des périodes connus ou vous avez confirmé la présence de votre attaquant sur le système analysé »

Comment on collecte les informations des LNK ?

Du coup, les lnk il y en a un peu partout dans le systèmes, y compris en dehors des dossiers indiqués plus haut. Donc 2 options : soit vous vous concentrez sur les deux dossiers recent en question, soit vous allez taper directement dans la MFT pour chopper tous les liens existant.

Du coup pour chopper vos lnk sur un système, vous pouvez sortir le Windows LNK Parsing Utility (lp) de TZworks (mais c’est un outil sous licence à priori) qui permet notamment de rechercher directement dans un image raw. Ou plus communautairement avec LECmd d’Eric Zimmerman (as admin si vous le faite en live, c’est mieux) :

.\LECmd.exe -d "C:\Users\" --csv "c:\C:\Users\TiTi\Downloads\"
Windows Shortcut Files (lnk) LECmd

Ce qui va vous construire un beau .csv comme ci dessous avec une grosse pelleté d’information :

Windows Shortcut Files (lnk)

Pour info, il y a d’autres outils pour faire l’analyse des lnk présent sur un système : Lnk Analyzer, ExifTool. J’en rate surement plein.

Analyse des raccourcis trouvé

Une fois votre collecte des Windows Shortcut Files (lnk) réalisée, vous devez vous intéresser à quoi devant votre csv ? Simplement, si un lnk est présent, cela signifie que le fichier qu’il pointait existe ou a existé. Cela peut donc permettre de détecter la présence d’un fichier malveillant, ou de données qui ont été supprimées par utilisateur pas trop fier ce qu’il avait sur sa machine…

Vous récupérez aussi de l’information pour votre timeline puisque :

  • La date de création du lnk vous donne la première ouverture du fichier pointé.
  • La date de modification du raccourçis indique le dernier accès à ce fichier.

Les LNK sont très intéressant dès que vous suspectez l’attaquant d’avoir eu accès à une session interactive (localement ou via un rdp par exemple). Par exemple sur frontal RDP qui n’aurait pas du être exposé à Internet et auquel un indésirable aurait eu accès pendant quelques heures. L’analyse des raccourcis générés automatiquement par Windows va vous permettre de connaitre les différents fichiers qui ont été accédés sur la période (à partir des dates de création et modification des lnk). Et ce, y compris si l’attaquant à fait son ménage. Notez que ça fonctionne également pour les fichiers téléchargés depuis le navigateur et ouvert dans la session (genre depuis un portail intranet).

Conclusion

A ce stade des TP Forensgeek, vous devriez commencez à vous dire que c’est pas si simple pour un attaquant de ne pas laisser de traces sur un OS… Et je suis plutôt d’accord avec vous, même si la plupart qu’on a vu jusqu’ici sont effaçable par un attaquant admin (virer tous les lnk, désactiver le service prefetch, etc). Néanmoins je connais peu d’attaquant qui maitrisent l’ensemble de ces éléments (ou qui s’en soucis parfois :’-) ), ce qui fait qu’on retrouve souvent un bout de truc à droite ou à gauche…^^

Et pourtant, on a fait qu’effleurer la surface du sujet avec les éléments les plus simple. Du coup je vous dis à la prochaine pour creuser encore un peu les fonctionnement de Windows. Comme d’habitude le petit lien vers le forensicswiki. Et j’espère que vous regarderez vos raccourcis un peu différemment maintenant :-), en sachant tout ce qu’ils donnent sur votre activité. Lnker Bien !

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.