Bebzounette
Rechercher…
⌃K

SMBExec

Il faut obligatoirement disposer de droit d'administrateur sur la machine cible.
SMBExec fait partie de la collection Impacket. Il exécute des commandes sur un système distant en :
  • Il ne télécharge pas de binaire de service vers la cible (plus furtif que psexec)
  • Par défaut, il crée un service avec le nom "BTOBTO". Le nom peut être changé dans smbexec.py sous la variable SERVICE_NAME=..., ou peut être entré comme paramètre en ligne de commande à smbexec.py.
  • Pour chaque commande donnée : smbexec transfre les commandes de la machine de l'attaquant à la machine cible via SMB sous forme de fichier bat dans %TEMP%/execute.bat.
  • Un nouveau service nommé "BTOBO" est créé, copie la commande à exécuter dans un script bat, et redirige la sortie vers stdout et stderror vers un fichier Temp. Il exécute ensuite le script .bat et le supprime.
  • Le script Python extrait ensuite le fichier de sortie via SMB et affiche son contenu dans notre "pseudo-shell".
Pour chaque commande que nous tapons dans ce shell, un nouveau service est créé et le processus est répété. C'est pourquoi il n'est pas nécessaire de déposer un binaire sur le disque de la machine victime.
Le service est lancé avec les privilèges maximaux possible donc avec les privilèges NT\SYSTEM c'est pourquoi ce "pseudo-shell" est ouvert en tant que NT\SYSTEM.
python3 smbexec.py <DOMAIN>/<USERNAME:<PASSWORD>@<IP>

Réferences

Dernière mise à jour 4mo ago