NetBIOS entre les mains d'un pirate

Cet article contiendra une courte histoire sur ce que nous pouvons dire d'une chose aussi familière que NetBIOS . Quelles informations peut-il fournir à un attaquant / pentester potentiel?

Le domaine d'application démontré des techniques de reconnaissance concerne les réseaux internes, c'est-à-dire isolés et inaccessibles aux réseaux extérieurs. En règle générale, ces réseaux existent pour toute entreprise, même la plus petite.

NetBIOS lui-même est généralement utilisé pour obtenir un nom de réseau. Et ce sera suffisant pour faire au moins 4 choses.

Découverte d'hôte


Du fait que NetBIOS peut utiliser UDP comme transport, sa vitesse permet de détecter des hôtes dans de très grands réseaux. Ainsi, par exemple, l'outil nbtscan inclus dans le package du même nom ne peut résoudre les adresses réseau de type 192.168.0.0/16 qu'en 2 secondes (il peut mettre un réseau), tandis que l'analyse TCP traditionnelle prendra des dizaines de minutes. Cette fonctionnalité peut être utilisée comme technique de balayage d'hôte dans de très grands réseaux qui ne sont pas connus avant de démarrer nmap. Bien que le résultat ne garantisse pas une détection à 100%, puisque les hôtes Windows répondront la plupart du temps et pas tous, il vous permettra toujours de déterminer approximativement dans quelles plages se trouvent les hôtes actifs.

Identification de l'hôte


Utilisation des résultats de l'obtention de noms à partir d'adresses IP:

image

vous pouvez voir: en plus du fait que le nom révèle le propriétaire du poste de travail (bien que ce soit d'ailleurs loin d'être toujours le cas), l'une des adresses se démarque clairement des autres. Nous pouvons voir que le nom KALI a été reçu. Ce comportement est typique, en règle générale, pour l'implémentation unix de SMB / NetBIOS dans le cadre du progiciel samba ou de très vieux Windows 2000 .

Obtenir le nom KALI , tandis que sur d'autres hôtes, ce < inconnu > indique la présence de la soi-disant session nulle . Avec les paramètres par défaut, le serveur SMB sous linux y est sujet. Null-session ne vous permet d'obtenir que beaucoup d'informations supplémentaires, telles qu'une politique de mot de passe locale, une liste d'utilisateurs locaux, des groupes et une liste de ressources partagées (boule), de manière absolument anonyme (et nous n'avons pas entré de mot de passe, comme vous pouvez le voir à l'écran):

image

Souvent, sur les serveurs Linux SMB , il y a des boules accessibles au public, non seulement pour la lecture, mais même pour l'écriture. La présence des deux porte diverses menaces, dont l'utilisation dépasse le cadre de cet article.

NetBIOS vous permet également d'obtenir les noms de tous les types que la station de travail stocke:

image

dans ce cas, il vous permet de découvrir que l'hôte est également un contrôleur de domaine ARRIVA .

Il convient également de prêter une attention supplémentaire au fait que NetBIOS vous permet d'obtenir une adresse mac . De plus, contrairement aux requêtes arp, les requêtes NetBIOS peuvent aller au-delà du sous-réseau. Cela peut être utile si, par exemple, vous devez trouver un ordinateur portable ou du matériel spécifique sur le réseau, en connaissant son fabricant. Étant donné que les trois premiers octets de l'adresse mac identifient le fabricant, vous pouvez envoyer des demandes NetBIOS similaires à tous les sous-réseaux connus pour essayer de trouver le périphérique dont vous avez besoin (http://standards-oui.ieee.org/oui.txt).

Détermination de l'appartenance au domaine


Souvent, lorsque vous vous déplacez à travers des réseaux d'entreprise internes, il est nécessaire d'attaquer le poste de travail inclus dans le domaine (par exemple, pour élever les privilèges au niveau d'un administrateur de domaine) ou vice versa. Dans ce cas, NetBIOS peut à nouveau vous aider:

image

Dans ce cas, en utilisant NetBIOS , tous les noms de tous les types ont été obtenus. Parmi eux, vous pouvez voir, en plus du nom du PC (ce qui a déjà été reçu auparavant), le nom du groupe de travail. Par défaut pour Windows, il s'agit généralement de WORKGROUP ou IVAN-PC , mais si le poste de travail se trouve dans un domaine, son groupe de travail est le nom de domaine.

Ainsi, en utilisant NetBIOS, vous pouvez savoir si un poste de travail se trouve dans un domaine et, si oui, dans lequel.

Si vous souhaitez obtenir une liste d'hôtes de domaine au sein du sous-réseau, une seule demande de diffusion avec le nom du domaine dont vous avez besoin suffit:

image

en conséquence, tous les hôtes de ce domaine répondront.

Découverte d'hôtes multi-hôtes


Et enfin, une autre technique probablement très peu connue, qui est tout simplement indispensable pour trouver des moyens de sécuriser, éventuellement même des réseaux physiquement isolés. Il peut s'agir d'un réseau d'ateliers d'entreprises bourrés de contrôleurs. Pour un attaquant, l'accès à ce réseau représente une opportunité d'influencer le processus technologique, et pour une entreprise il y a un risque de pertes énormes.

Donc, l'essentiel est que même si le réseau est isolé du réseau d'entreprise, souvent certains administrateurs, soit en raison de leur paresse, soit en quelque sorte, aiment élever une autre carte réseau sur leur PC pour accéder à ce même réseau. De plus, tout cela se produit bien sûr, en contournant toutes sortes de règles des pare-feu d'entreprise. Pratique, oui, mais pas très sûr, si vous êtes piraté, vous deviendrez un pont vers ce réseau et porterez la responsabilité.
Cependant, pour l'attaquant, il y a un problème: trouver l'administrateur même qui a rejoint le réseau sécurisé d'une manière illégale similaire. De plus, ce n'est pas un problème facile pour le personnel de sécurité du réseau lui-même. Dans les grandes entreprises, c'est vraiment une tâche difficile, comme pour trouver une aiguille dans une botte de foin.

Dans cette situation, il y aurait deux options évidentes pour un attaquant:

  1. essayez d'utiliser chaque PC du sous-réseau d'entreprise comme passerelle vers le réseau souhaité. Ce serait très pratique, mais cela est rarement vu, car sur les hôtes Windows, le transfert IP est presque toujours désactivé. De plus, une telle vérification n'est possible que dans son propre sous-réseau, et elle exige également que l'attaquant connaisse exactement l'adresse cible du réseau isolé
  2. essayez de vous connecter à distance à chaque hôte et exécutez la commande banale ipconfig / ifconfig . Et ici, tout n'est pas si fluide. Même si un attaquant a obtenu les droits d'un administrateur de domaine, personne n'a annulé les pare-feu et les pare-feu locaux. Cette tâche n'est donc pas 100% automatisée. En conséquence, il reste pénible d'aller à chaque hôte, en surmontant les pare-feu (bloquant souvent exactement le port 445 / tcp), en espérant enfin voir l'interface réseau convoitée.

Cependant, tout est beaucoup plus simple. Il existe une astuce extrêmement simple qui vous permet d'obtenir une liste des interfaces réseau d'un hôte donné. Disons que nous avons un certain hôte:

image

il s'agit de l'adresse IP du résolveur inverse → nom du réseau. Si nous essayons maintenant de créer un nom de réseau de résolution directe → adresse IP:

image

alors nous découvrirons que cet hôte est également une passerelle (apparemment) dans un autre réseau. Il convient de noter que dans ce cas, la demande a été diffusée. En d'autres termes, les hôtes ne l'entendront que depuis le sous-réseau de l'attaquant.

Si l'hôte cible se trouve en dehors du sous-réseau, vous pouvez envoyer une demande ciblée:

image

Dans ce cas, on peut voir que la cible est en dehors du sous-réseau de l'attaquant. En utilisant le commutateur -B, il a été indiqué que la demande devait être envoyée à une adresse spécifique, et non à l'adresse de diffusion.

Maintenant, il ne reste plus qu'à collecter rapidement des informations à partir de l'ensemble du sous-réseau d'intérêt, et non à partir d'une seule adresse. Pour ce faire, vous pouvez utiliser un petit script python :

image

Et après quelques secondes:

image

C'était un hôte dédié, dans ce cas improvisé, qui allait devenir la première cible de l'attaquant s'il poursuivait le réseau 172.16.1 / 24.

image

Des noms en double sur différentes IP indiquent que l'hôte possède également deux cartes réseau, mais sur le même sous-réseau. Il est à noter que NetBIOS ne divulgue pas d' alias (qui peut facilement être calculé via des requêtes arp en ip avec le même mac ). Dans ce cas, les adresses IP ont différents macs .

Un autre exemple d'utilisation de cette technique est le Wi-Fi public. Parfois, il est possible de faire face à une situation où parmi les appareils invités, le personnel travaillant dans le segment fermé de l'entreprise est connecté au réseau public. Ensuite, à l'aide de cette technique de reconnaissance, un attaquant pourra très rapidement déterminer lui-même un chemin pour passer dans un réseau fermé:

image

Dans ce cas, parmi 65 clients Wi-Fi publics, il y avait deux postes de travail avec une interface supplémentaire, probablement liés au réseau d'entreprise.

Si parfois un filtrage du trafic vers le port 445 / tcp est observé entre les segments du réseau ou directement sur les postes de travail, ce qui empêche la connexion à distance au système (exécution de code à distance), alors dans ce cas, le port 137 / udp est utilisé pour résoudre les noms sur NetBIOS , qui n'est presque jamais bloqué consciemment. se produit, car l'utilisabilité du réseau en souffrira beaucoup, par exemple, l'environnement réseau peut disparaître, etc.

Comme on dit, l' énumération est la clé
Existe-t-il une protection contre cela? Ce n'est pas le cas, car ce n'est pas une vulnérabilité en tout. Ce n'est que la fonctionnalité standard du petit que Windows a par défaut (sous Linux, le comportement est légèrement différent). Et si vous, soudainement de manière incohérente, contournant les règles de routage du réseau rejoint un segment fermé, l'attaquant vous trouvera certainement et le fera très rapidement.

Source: https://habr.com/ru/post/fr445212/


All Articles