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

NetBios est un incontournable dans la 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 à  un pirate d’avoir accés au fichier même si il ne fait pas partit du groupe de travail (WORKGROUP).  Comment ? Avec une simple attaque brute force permet de trouver le mot de passe.

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 c’est bruyant comme attaque, mais imaginer que vous tapiez une fois tous à les 15 secondes à  une porte . Va-t-on vous entendre ou la personne vous se demander si on a frappée.

Maintenant que vous comprenez l’enjeu de NetBios et SMB, vous comprenez sans doute que si vous aviez une heure pour hacker ou sécuriser un réseau, l’importance de prendre 40 minutes pour analyser et trouver les informations.

Trouver les partages réseau avec Kali Linux

Comment un pirate pourrait connaitre 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 une scanne 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 ordonner à  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>. Comment le savez vous avec cette simple commande ? MARJORIE-PC et WORKGROUP ont tous les deux <00>. C’est 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. Si cela vous parait compliquer et nécessiter pas à  relire les explication.

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, pouvait penser ce que vous voulez de mon exemple mais c’est vraiment dans le but de vous faire peur.

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
Email this to someoneShare on FacebookTweet about this on TwitterShare on Google+Share on LinkedIn

Laisser un commentaire

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

*