Kali-linux distribution GNU/Linux spécialisée dans l'audit et le pentest.
Kali-linux.fr Communauté française de kali-linux

Trouver PC ,utilisateurs et partages sur un réseau avec Netbios et smb

NetBios est un incontournable en sécurité informatique et une bénédiction pour les pirates. Standard de communication, ce service est souvent mal sécurisé voir pas du tout par les utilisateurs novices. NetBios offre la possibilité d’explorer tous un réseau. Nous pouvons ainsi avoir la liste des PC, des groupes de travail. Nous pouvons aussi avec un peu d’astuce trouver l’utilisateur d’un PC.

C’est quoi NetBios et SMB ?

NetBios en lui-même n’est pas vraiment un protocole, c’est un système de transfert de fichiers présents principalement sur les environnements Microsoft qui utilise les ports 135 (service de localisation à  distance), 137 (netbios-ns – NETBIOS Name Service), 139 (netbios-dgm – NETBIOS Datagram Service), et 445 (smb) .

C’est une interface logicielle (située au niveau 7 OSI) qui permet d’établir des sessions entre différents ordinateurs d’un réseau avec un système de nommage et une interface graphique.

Ce système a ouvert la porte à  des exploits qui sont encore d’actualité en 2015 quand ils ne sont pas patchées sur Windows 7 et window 2008 avec les vulnérabilités comme MS09-050, MS10-061 et etc.

Il est aussi possible pour un pirate d’avoir accès aux fichiers même si il ne fait pas partit du groupe de travail (WORKGROUP).  Comment ? Par une simple attaque brute force.

Impossible ? Les mots de passe des sessions locales sont simples, ou personne n’arrivera à  les retenir ( je veux dire entre 8 et 10 caractéres). Bien sur, ce type d’attaque est plutôt bruyant.

Trouver les partages réseau avec Kali Linux

Comment un pirate pourrait connaître le groupe de travail et les PC sur un réseau réseau local ? Simplement avec des outils comme nbtscan.

Manuel de nbtscan

-f  fichier de sauvegarder :
Prend les adresses IP a scannaient à partir d'un nom de fichier ou à partir de stdin -f-.
Peut être soit seule IP comme 192.168.1.1 ou plage d'adresses dans l'une des deux formes:
xxx.xxx.xxx.xxx/xx ou xxx.xxx.xxx.xxx-xxx.
-v :
sortie verbeuse. Imprimer tous les noms résultat
à  partir de chaque hôte
-r :
Utiliser le port local 137 pour les scans. Normalement, le programme choisit est un numéro de port éphémére et  aléatoire, c' est tout à  fait suffisant dans la plupart des cas.
Mais certains machines  Windows 95  envoient leurs réponses au port 137, peu importe d'où est venue de la requéte  (ceci est considéré comme un bug), donc utiliser -r forcera nbtscan se lier à  ce port à  la place du port l'aléatoire. Mais notez que vous ne pouvez pas lier à un port qui est déjà  utilisé, et sur Windows, cela signifie généralement que le port 137 n' est pas disponible pour vous. Vous devez êre root pour utiliser cette option sur Linux.

-m : Nombre de retransmissions. Par défaut 0.

-t timeout. Par défaut = 1000 :
Délai d'attente pour une réponse en millisecondes

Nous allons maintenant faire une recherche d’informations grâce à SMB et NetBios.  Pour commencer on va faire un scan avec nbtscan pour trouver les partages sur le réseau.

nbtscan 192.168.0.0/24 Doing NBT name scan for addresses from 192.168.0.0/24 IP address NetBIOS Name Server User MAC address
 ------------------------------------------------- 
192.168.0.0 Sendto failed: Permission denied 
192.168.0.102 MARJORIE-PC <server> <unknown> 08:00:27:e4:13:d4 192.168.0.255 Sendto failed: Permission denied

Nous allons nous intéresser à  MARJORIE-PC car le résultat du scan nous renvoie une adresse MAC. Nous allons maintenant demander à nbtscan de scanner l’adresse IP 192.168.0.102 avec l’option -v pour avoir plus d’informations.

 nbtscan -v 192.168.0.102

Doing NBT name scan for addresses from 192.168.0.102

NetBIOS Name Table for Host 192.168.0.102:

Incomplete packet, 209 bytes long.
Name Service Type
----------------------------------------
MARJORIE-PC <00> UNIQUE
WORKGROUP <00> GROUP
MARJORIE-PC <20> UNIQUE
WORKGROUP <1e> GROUP
WORKGROUP <1d> UNIQUE
__MSBROWSE__ <01> GROUP

Adapter address: 08:00:27:e4:13:d4
----------------------------------------

On sait donc maintenant que l’ordinateur MARJORIE-PC a annoncé aux autres machines qu’elle s’appelle MARJORIE-PC, et qu’elle est dans le groupe d’ordinateur WORKGROUP.  On sait aussi MARJORIE-PC exécute le service serveur <20>.

Nous le savons car MARJORIE-PC et WORKGROUP ont tous les deux <00>. Il s’agit de l’identification de l’ordinateur sur le réseau. On remarque aussi que WORKGROUP à  la fois les caractères <00>, et <1e>. En fait, 1e> est l’identifiant d’un groupe d’ordinateurs.

Pour le redire autrement, <00> définit qu’il s’agit « du » nom NetBios (nom de la machine ou du groupe d’ordinateurs), et tous les autres définissent la ou les fonctions exactes de ce nom NetBios (groupe d’ordinateurs, serveur d’impression, service messagerie…).

Comment sais t-on qui est le chef du réseau comme un serveur ?
Hé bien tout bêtement, s’il existe un nom NetBios se finissant par <1C>. Par exemple la commande nbtstat donne systématiquement une impression de type:

WORKGROUP <1C> Groupe Inscrit

Cela indique que la machine renvoyant le <1C> est un contrôleur de domaine sur le domaine WORKGROUP.

Quelques commandes utiles

Pour windows :

D: \ > net view 
Nom de serveur Remarque
-------------------------------------------------
\\COMPTA
\\PROJET_DEV
La commande s'est terminée correctement.

Même commande sur COMPTA

D: \ > net view \\COMPTA
Nom de serveur Remarque
-------------------------------------------\\MSG_GESTION Serveur messagerie interne \\HP_SOPHIE 
Sophie Delporte 
\\SECRETARIAT 
Mélanie Dupin
  • nbtstat -a nomNetBios : affiche la table de noms NetBios d’un ordinateur distant correspondant à  ce nom NetBios.
  • nbtstat -A adresse_ip : affiche la table de noms NetBios correspondant à  cette adresse IP  d’un ordinateur distant.
  • nbtstat -n : Affiche la table de noms NetBios de l’ordinateur local. Le statut Registered indique que le nom est enregistré par diffusion ou avec un serveur WINS.
  • nbtstat -r : affiche la table des noms résolus par le WINS et broadcast.

Pour Linux :

  • nmblookup  -A adresse_ip : Recherche d’un nom pour une adresse précise.
  • nmblookup -S adresse_ip : Recherche du détail des services pour une adresse précise.
  • nmblookup -S ‘*’   : Recherche du détail des services pour tous les netbios du réseau.
  • nmblookup ‘*’ : Recherche de tous les noms NetBios sur le réseau
    nmblookup  : Pour savoir plus  avec la commende nmblookup –help
Leave a Comment

Time limit is exhausted. Please reload CAPTCHA.