Les IDS comme des nul(l)s

Pirater ses voisins, c’est bien marrant un moment. Mais lorsqu’on en a marre de voir les photos de vacances de la mère Michou, on peut vouloir relever des défis plus grands !

Comme je vous l’ai dit de nombreuses fois au fil de mes articles, certains outils tels que meterpreter ne doivent pas être utilisés pour pirater un réseau d’entreprise.

Nous verrons pourquoi en nous familiarisant avec un système de détection d’intrusion (IDS) de niveau professionnel : Snort.

J’adore l’humour de cette application !

Cet article n’est pas un tutoriel pour installer Snort. Les documentations présentes sur le site officiel ont beau être en anglais, elles sont très complètes et compréhensibles.

Note pour les utilisateurs de Backtrack 5R3 : vous avez beau utiliser la dernière version de backtrack, la version de snort installée par défaut date de 2008 et plus aucune mise à jour de règles pour cette version n’est disponible. Vous devrez réinstaller l’intégralité de Snort pour disposer d’une version actuelle.

Jouons avec notre IDS comme des nul(l)s

Tout d’abord, démarrons snort avec le service que nous avons dû créer en suivant les documentations officielles :

service mysql start
service apache2 start
service snortbarn start

Et connectons-nous à l’interface WEB (base) afin de suivre les détections d’intrusions sur notre réseau tel un responsable sécurité réseau.

Jusque là, tout est normal, rien n’est détecté.

L’empoisonnement ARP

Voyons ce qui se passe si je lance un empoisonnement ARP avec Caïn :

On a beau empoisonner l’ordinateur sur lequel tourne Snort (192.168.56.101), aucune intrusion n’est détectée :

Meterpreter

Qu’à cela ne tienne, passons à l’étape supérieure et exécutons meterpreter (non SSL) sur le réseau !

Et snort nous donne …

Rien… La fenêtre reste désespérément vide…

A cette étape, je vérifie tout de même ma configuration de Snort parce que ça me semble étrange qu’il ne détecte rien… Il s’avère que snort ne détecte pas le trafic malveillant qu’émet l’ordinateur sur lequel il tourne. Je lance alors un second backtrack qui fera office de machine pirate et je tente à nouveau d’exécuter meterpreter, et là :

Snort remonte deux alertes lorsque la machine pirate a établi la connexion avec meterpreter. Voyons ces alertes plus en détail :

On remarque déjà que plus le temps passe, plus le nombre d’alertes augmente. Meterpreter envoie des messages détectés comme « stream5: Reset outside window » afin de conserver la connexion avec sa victime.

De plus, et c’est sans doute le plus intéressant, on a un message particulier nommé « ET SHELLCODE Possible Call with No Offset TCP Shellcode ». Il s’agit du message caractéristique de l’établissement de la connexion par meterpreter qui envoie le programme permettant d’entrer des lignes de commandes.

Si on affiche le détail de ce message en particulier, on obtient des informations complémentaires, ainsi que la possibilité de télécharger ce qu’a envoyé meterpreter pour une analyse approfondie :

Si nous avions utilisé meterpreter dans une entreprise, le responsable sécurité réseau aurait obtenu notre adresse IP et aurait pu déterminer le logiciel que nous utilisions pour nous introduire sur son réseau. Un système de prévention d’intrusion (IPS) aurait également pu nous bannir du réseau dès la détection d’un tel message.

Scan Nmap

Pour plus de lisibilité, j’ai supprimé les données que nous avons générées auparavant.

Énumération des hôtes actifs

Exécutons une simple énumération des hôtes actifs sur le réseau, sans scanner leurs ports :

nmap -sn 192.168.56.1-254

Snort ne détecte rien. Nmap ne fait ici que « pinguer » les ordinateurs. Il n’y a rien d’alarmant.

Notez néanmoins que certains responsables de la sécurité réseau désactivent le « ping » sur leur réseau, au niveau des routeurs qui bloqueront toute requête ping, afin d’éviter une telle énumération.

Scan d’un ordinateur du réseau par méthode SYN

nmap -sS 192.168.56.101

Là encore, snort ne détecte rien. Nmap utilise des processus réseau « normaux » pour procéder aux énumération de ports.

Notez encore ici qu’on peut ajouter des règles à Snort afin de détecter ce genre de scan.

Comment fonctionne un IDS ?

Snort, comme les autres systèmes de détection d’intrusions,  doit être vu comme l’antivirus du réseau.

Lors de l’installation de Snort, vous avez dû récupérer des « règles de détection ». Ces règles contiennent la signature de messages malveillants.

La règle qui a détecté meterpreter

Une petite recherche dans notre fichier /etc/snort/rules/snort.rules nous donne facilement la règle ayant amené à la détection de meterpreter :

alert tcp $EXTERNAL_NET any -> $HOME_NET any (msg: »ET SHELLCODE Possible Call with No Offset TCP Shellcode »; flow:established; content: »|E8 00 00 00 00 8F| »; fast_pattern:only; reference:url,www.networkforensics.com/2010/05/16/network-detection-of-x86-buffer-overflow-shellcode/; classtype:shellcode-detect; sid:2012088; rev:1;)

Cette règle spécifie que, si un message contenant la séquence d’octets « e8 00 00 00 00 8f » est détecté sur une connection établie entre deux ordinateurs, il peut s’agir d’une application permettant de prendre la main sur un ordinateur distant. Une alerte est remontée par Snort.

De plus, si on veut en savoir plus, la règle contient la documentation de cette détection: http://www.networkforensics.com/2010/05/16/network-detection-of-x86-buffer-overflow-shellcode/

Parcourir ce genre de documentation peut s’avérer très intéressant pour l’apprentissage du fonctionnement d’un logiciel malveillant, mais également des moyens de contourner les détections.

Comment contourner un IDS (théorie)

Dans le cas de meterpreter, il suffira de détecter quelle portion de code génère cette séquence d’octets et de la modifier afin de changer sa signature. On pourra par exemple ajouter du code assembleur sans aucune répercussion sur le fonctionnement normal de l’application.

Notons que, tout comme pour les antivirus, de nouvelles règles de détection apparaissent chaque jour ! Si l’on veut contourner un IDS, il faut garder secrète la manière de faire.

Doit-on complètement oublier les méthodes de scan ?

Il est vrai qu’un système de détection d’intrusion bien paramétré lèvera, sans aucun doute, une alerte dès qu’un ordinateur du réseau est scanné (via nmap par exemple).

Il ne faut néanmoins pas proscrire cet outil incontournable du piratage. Pour pirater un réseau d’entreprise, un pirate devra tout d’abord réduire le nombre d’ordinateurs à scanner à une petite poignée (4 ou 5 maximum) en utilisant par exemple des méthodes d’ingénierie sociale (voyez le livre, même un peu daté, « L’art de la supercherie » de Kevin Mitnick).

En effet, si un scan systématique de 100 ordinateur paraîtra suspect dans un système de détection d’intrusion, il n’est pas rare que ce genre de pratique soit légitime si elle est effectuée par des administrateurs réseaux. Un scan de 4 ou 5 ordinateurs pourra lever une alerte dans l’IDS sans pour autant attirer l’attention du responsable sécurité qui pourra alors prendre cette pratique comme légitime.

De plus, un scan utilisant la méthode idle (vu précédemment)  masquera votre adresse IP aux yeux du système de détection d’intrusion. On pourra alors détecter qu’un scan est en cours, mais sans connaître sa provenance.

Conclusion

Du point de vue du pirate

Lorsqu’on cherche à pirater une entreprise, les risques sont gros. Contrairement à la mère Michou, si l’entreprise se rend compte que vous la piratez, elle risque de porter plainte, et vous, de vous retrouver derrière les barreaux et de payer une forte amende !

Comme l’écrit si bien la page d’accueil de Backtrack : « Plus vous êtes discret, plus vous serez en mesure d’entendre. » La règle d’or d’un bon pirate est de ne pas se faire détecter. On peut dire qu’un piratage est réussi quand la personne ou l’entreprise ciblée n’est pas au courant qu’elle vient d’être piratée. Il faut savoir contourner tous les systèmes de détection en place, et donc, les connaître…

Du point de vue de l’entreprise

Installer un système de détection d’intrusion, c’est bien. Néanmoins, si une intrusion est détectée, cela veut dire qu’elle a eu lieu et qu’il est bien souvent trop tard. Il faut alors coupler l’IDS à un système de prévention d’intrusion (IPS) afin de déconnecter le pirate du réseau automatiquement en cas d’alerte trop importante.

Tous ces outils, tout comme les antivirus, sont complètement inutiles s’il ne sont pas à jour ou mal configurés. De nouvelles règles étant publiées régulièrement, une mise à jour quotidienne des systèmes est nécessaire.

Notons également, qu’aucune attaque en provenance de l’ordinateur hébergeant l’IDS ne sera détectée. De ce fait, il est indispensable que cette machine soit la plus sécurisée du réseau ! Si un pirate parvient à en prendre le contrôle, il sera alors invisible sur le réseau et capable de supprimer toute trace de son passage.

Du point de vue de l’humour

Prêtez attention aux messages et aux logs de Snort, ils sont parfois assez drôles 🙂

  • Oinkcode = Code Grouïiik (cris du cochon)
  • Let the pig fly = Faites voler le cochon

Et bien d’autres, ça met un peu de gaieté dans ce monde de brutes ! 😉

Quelques sources pour installer snort

Publicités
À propos

Un informaticien, qui tente de faire comprendre au public que l'informatique n'est pas si compliquée, malgré des acronymes et autres termes obscurs pour faire croire que c'est difficile (et que c'est de votre faute si "ça ne marche pas")

Tagged with: , , , , , , , , , , , , , , ,
Publié dans Informatique, Intrusion, Piratage

Laisser un commentaire

Entrez vos coordonnées ci-dessous ou cliquez sur une icône pour vous connecter:

Logo WordPress.com

Vous commentez à l'aide de votre compte WordPress.com. Déconnexion / Changer )

Image Twitter

Vous commentez à l'aide de votre compte Twitter. Déconnexion / Changer )

Photo Facebook

Vous commentez à l'aide de votre compte Facebook. Déconnexion / Changer )

Photo Google+

Vous commentez à l'aide de votre compte Google+. Déconnexion / Changer )

Connexion à %s

MystCaster
octobre 2012
L M M J V S D
« Sep   Nov »
1234567
891011121314
15161718192021
22232425262728
293031  
Catégories
Archives
%d blogueurs aiment cette page :