Hackito Ergo Sum


Telecommunications Infrastructure Security – Getting in the SS7 kingdom: hard technology and disturbingly easy hacks to get entry points in the walled garden

Conférencier : Philippe Langlois, P1 Security Inc.

Date : jeudi 8 avril 2010

Cette conférence a pour sujet le réseau SS7, qui est utilisé dans les télécoms. Le conférencier a abordé le côté sécurité de cette infrastructure, et plus particulièrement les drapeaux (flags) positionnés sur les signaux transmis au sein de ce réseau. Il a bien insisté sur le fait que les opérateurs télécoms privilégient la disponibilité de leur infrastructure, et non la sécurité.

SS7 est apparu grâce aux « hackers », via BlueBox. Celle-ci permettait de se faire passer pour un switch (MSC = Mobile Switching Center), et donc de re-router les appels sans les payer, mais également d’être invisible car les appels ne pouvaient pas être tracés facilement.

Il existe plusieurs façons d’entrer dans ce réseau :

  • Au niveau des terminaux mobiles, avec l’exploitation de vulnérabilités ;
  • OpenBTS, qui permet de casser le chiffrement ;
  • OpenBSC, qui peut permettre des attaques de type « homme du milieu » ;
  • FemtoCell hacking. Les FemtoCell (cellules 3G) permettent de donner un accès aux personnes n’étant pas couverts par les réseaux. Donc, via l’équipement donné par l’opérateur, la personne aura un accès tunnel direct vers son infrastructure et pourrait tenter de l’exploiter ;
  • L’injection de SMS.

 

Il est possible de scanner puis de hacker le réseau SS7. Tout d’abord, le périmètre de SS7 n’est pas facile à contrôler, car de nombreux nouveaux acteurs se connectent au réseau : pays qui se développent, nouveaux fournisseurs d’accès pas bien sécurisés, etc. Ces acteurs peuvent se connecter à d’autres acteurs déjà connectés au réseau SS7, et donc exploiter cette relation de confiance.

 

Voici les détails des attaques :

  • Globalement, le Message Signal Unit (MSU) est utilisé pour positionner des signaux. On peut scanner les adresses IP du réseau, injecter des données et donc exploiter une vulnérabilité potentielle.
  • Via l’utilisation de SCTP, il est possible de mener un « stealth scan ». Deux résultats différents à l’envoi d’une requête INIT sont exploitables :
    • Si le serveur répond par un ABORT c’est qu’il est en cours d’exécution (machine « up ») ;
    • Si aucun signal n’est renvoyé par le serveur, il peut être conclu que quelqu’un est déjà connecté à ce port.
  • Via ISUP, il est possible de :
    • Mener une attaque de type Déni de Service, en envoyant de multiples requêtes de « provisionning » ;
    • Déconnecter des appels en cours : ISUP Call Release Flow.
  • Il est possible de géo-localiser les clients connectés au réseau via des messages MAP, qui renvoient le point d’accès utilisé ;
  • On peut re-localiser les matériels en modifiant leur « roaming number ». Tous les appels, SMS, MMS, etc., seront redirigés vers le matériel gérant ces « roaming numbers ». En prenant le contrôle de ce matériel, il est alors possible de récupérer les informations transmises par les clients.

 

Le réseau SS7 peut être protégé par trois moyens. Premièrement, il est possible d’auditer le réseau et de réaliser des tests d’intrusion, mais cela prend du temps et est complexe à réaliser. Deuxièmement, il est possible d’utiliser le Reverse Engineering pour auditer les binaires. Troisièmement, on peut scanner automatiquement les réseaux SS7 pour mesurer leur niveau de sécurité.

 

Pour conclure, le réseau SS7 n’est pas protégé actuellement. De nombreuses solutions de sécurité sont en cours d’industrialisation afin d’y remédier. De plus, la mentalité des télécoms à propos de la sécurité commence à changer, et le gouvernement intervient pour les forcer à sécuriser les infrastructures nationales.


Hacking the Belgacom Box 2

Conférencier : Benjamin Henrion (FFII.org, HackerSpace Brussels).

Date : jeudi 8 avril 2010

Ressource : une page Web encore plus complète que la présentation Hackito est accessible : http://www.zoobab.com/bbox2

 

La Belgacom Box 2 (BBOX2) est une box ADSL fournie par le fournisseur d’accès Belgacom, en Belgique. Elle est basée sur Linux et est très répandue en Belgique. En France, la LiveBox 2 d’Orange est très similaire.

 

Il existe divers moyens d’exploiter les failles de sécurité de la BBOX2. En introduction, on nous précise qu’il est facile de s’authentifier en tant qu’utilisateur « root » avec les identifiants par défaut. Cela s’effectue via WIFI, en passant par le protocole Telnet activé par défaut. De plus, si les identifiants ne sont pas ceux par défaut, il était possible avant correction par Belgacom, de les récupérer par une simple requête POST sur les paramètres « login » et « password ». Les identifiants étaient même en clair dans la page Web d’accès à l’espace d’administration de la Box.

Pour aller plus loin, du code personnalisé peut être chargé sur la BBOX2 :

  • Par clé USB, mais cela requiert un accès physique à la box ;
  • Par le protocole Telnet, et le protocole TFTP ;
  • Via un connecteur JTAG disponible sur la BBOX2 (requiert également un accès physique). C’est un connecteur JTAG Philips standard, il peut donc être exploité très facilement :
    • Découverte des registres (très long à effectuer) ;
    • Possibilité de se connecter via le port parallèle d’un PC, pour le commander à partir de celui-ci, et sans carte externe.

 

Les exemples d’exploitation sont multiples. La transformation en Box Torrent est aisée, puisqu’un qu’un port USB permet de brancher un disque dur externe. De plus, comme il est possible de compiler de nombreux programmes, comme tcpdump ou airodump-ng, cette Box peut servir de plateforme autonome de hack.

 

Néanmoins, quelques problèmes sont présents :

  • Certains modules comme tr69 et tr98 prennent beaucoup trop de ressources, et font redémarrer la BBOX2 inopinément ;
  • Le matériel de la Box est vieux (2005) ;
  • Les sources du logiciel embarqué ne sont pas disponibles ;
  • Des drivers VSDL2 manquent sur certaines autres Box, comme la Fritz!Box.

 

Il reste donc beaucoup de travail sur la BBOX2. Benjamin lance un appel à toute personne travaillant sur cette Box, et également sur la LiveBox2 d’Orange pour les français.


Using AI Techniques to improve Pentesting Automation

Conférencier : Carlos Sarraute, Core Security.

Date : jeudi 8 avril 2010

 

Carlos Sarraute est un chercheur travaillant notamment sur les techniques d’Intelligence Artificielle (IA) pour tenter de résoudre les problèmes inhérents à la sécurité. Le but initial de son travail était de faciliter la vie des auditeurs, mais également de rendre l’analyse de la sécurité des réseaux plus accessible. Il explique que le test d’intrusion évolue, de part sa complexité (de plus en plus d’exploits), les nouveaux vecteurs comme le WIFI ou les applis Web, et de part l’évolution de l’organisation technologique / infrastructure : il faut automatiser.

 

Un outil d’automatisation du test d’intrusion a donc été développé. Il utilise d’une part un Framework (par exemple Metasploit), et d’autre part un langage de définition des plans d’attaque. Celui-ci est élaboré à partir du langage PDDL (Planning Domain Definition Language). Ce langage permet d’utiliser des objets typés (network, host, port, …), ce qui réduit le temps de recherche et la mémoire utilisée.

Le plan/planning d’attaque se construit à partir des étapes générales du test d’intrusion : le but de l’attaque (e.g. : données clients), les moyens mis en œuvre (e.g. : connexion TCP), les outils (e.g. : exploit), etc. Certaines techniques sont optimisées, comme le scan de port : l’outil ne scanne que les ports pour lesquels des exploitations sont possibles, ce qui en réduit le temps d’exécution.

La construction du plan d’attaque est le sujet principal de sa recherche. Comme la construction du graphe complet d’attaque peut s’avérer très longue, des variantes de l’algorithme A* sont utilisées. Pour information, les « planners » utilisés sont :

  • FF (Fast-Forward) (Hoffmann 2000) ;
  • Metric-FF (Hoffmann 2002) ;
  • SGPlan (Chen, Hsu et al. 2006).

 

Carlos a ensuite réalisé une démonstration de l’outil. Celui-ci recense beaucoup d’exploits et d’outils de découverte. Il avait déjà réalisé la phase de découverte du réseau, et nous a donc montré la phase d’attaque : le plan d’attaque se construit, puis l’attaque s’exécute. Le logiciel émet un son dès qu’un « agent » est déployé sur un des postes audités ; il est ensuite possible d’explorer les dossiers distants ou d’accéder à divers « shells » via l’agent. Ce comportement est typique des produits Core Security.

 

Pour conclure, ce modèle est réaliste par rapport au point de vue de l’attaquant, car il représente des scénarios d’attaque réels. Il peut s’intégrer avec divers Framework, et la représentation PDDL pourrait être reprise pour d’autres projets.

Il pourrait être possible de récupérer les descriptions PDDL du projet, mais le produit est destiné à une utilisation commerciale.


Internet Explorer turns your personal computer into a public File Server

Conférencier : Jorge Luis Alvarez Medina, Core Security.

Date : vendredi 9 avril 2010

 

Le conférencier expose différents types d’attaques qui permettent d’accéder, par exemple, aux fichiers de l’historique d’Internet Explorer, aux documents récents ou aux sauvegardes. Comme Internet Explorer partage certaines fonctions de Windows Explorer, il est possible d’accéder aux fichiers locaux de la cible.

Les mécanismes de sécurité d’Internet Explorer qui sont attaqués sont les trois suivants :

  • Les zones de sécurité ;
  • L’élévation de zone ;
  • La détection du type MIME.

 

Un des principes est d’utiliser les chemins UNC de type : \\@IP, en lieu et place des noms de domaine classiques. Par exemple :

  • L’utilisateur tente d’accéder à « http://test.com/index.html », mais ce site est dans la zone restreinte ;
  • Il lui suffit de remplacer le nom de domaine par l’adresse IP du serveur en chemin UNC, par exemple : « \\10.1.1.1\index.html », pour pouvoir sortir de la zone restreinte et donc accéder au site.

 

De manière plus complexe, il explique comment inclure du contenu directement sur le poste ciblé par l’attaque. Cela peut être fait, par exemple, dans les fichiers de cookies. Le problème de ces fichiers est que le contenu est très peu filtré avant d’être écrit : le simple fait de positionner le paramètre « Set-Cookie » sur un contenu personnalisé permet de stocker ce contenu dans le fichier cookie. Ensuite, ces fichiers peuvent être exécutés en forçant l’utilisateur à naviguer sur un site malveillant (« social engineering »), qui inclura un lien HTML dans la page Web redirigeant vers le cookie. L’avantage de ce type d’attaque est que le code personnalisé sera exécuté dans le contexte « loopback » du poste, et donc avec des droits plus élevés qu’une attaque standard.

 

Il est à noter qu’il utilise BeEF, un Framework d’exploitation de navigateurs, ce qui rend ses attaques plus aisées à monter.


Mac OS X Physical Memory Analysis

Conférencier : Matthieu Suiche, (MoonSols, Sandman, win32dd).

Date : vendredi 9 avril 2010

 

Le but de cette conférence est d’exploiter le contenu de la mémoire vive (RAM), afin de récupérer une multitude d’informations. Ces informations peuvent être :

  • La liste des processus en cours d’exécution sur la machine ;
  • Les fichiers utilisés par ces processus ;
  • Des mots de passe entrés sur les navigateurs Web (Hotmail, banque en ligne, etc) ;
  • Les mots de passe TrueCrypt ;

 

Quatre étapes sont nécessaires :

  • Récupération des symboles « kernel » ;
  • Utilisation de ces symboles pour initialiser le « memory kernel manager » ;
  • Parcours de l’adressage de la mémoire ;
  • Récupération des informations.

 

Pour l’instant, aucun outil permettant de parcourir l’adressage automatiquement n’est disponible. Il faut donc écrire ses propres fonctions, sous condition d’avoir bien identifié l’espace mémoire concerné.

 

En ce qui concerne les autres systèmes d’exploitation, il existe de nombreux outils pour exploiter la mémoire RAM sous les systèmes Windows ; une publication d’Arnaud Malard en traitant est présente sur le blog de Devoteam.


Fuzzing- the SMB case

Conférencier : Laurent Gaffié, Stratsec.

Date : vendredi 9 avril 2010

 

Le principe exposé lors de la conférence est de « fuzzer » le protocole SMB, c’est-à-dire lui envoyer pleins d’informations construites aléatoirement ou non, afin de découvrir des bogues dans ce protocole.

Les intérêts de s’attaquer au SMB sont multiples. Tout d’abord, il est implémenté dans toutes les versions de Windows, ce qui rend le périmètre d’exploitation très large. De plus, le client et le serveur s’exécutent avec les droits du kernel : le code exécuté peut quasiment effectuer n’importe quelle action sur la machine cible. Enfin, la rapidité du protocole SMB permet de rendre les attaques très rapides.

 

En conclusion, de nombreux bogues ont été trouvés, et certains ont été signalés à Microsoft. Les dernières mises à jour de sécurité pour le protocole SMB sont liées à ce travail (CVE-2010-0270). Il est à noter que lors des premiers tests du « fuzzer », des bogues sont apparus en moins de deux minutes.


Turbot – Next Generation Botnet

Conférencier : Itzik Kotler, Radware.

Date : samedi 10 avril 2010

Ressource : le code source du projet est disponible sur Google Code : http://code.google.com/p/turbot/

 

Turbot est un projet de recherche sur les botnets. En ce moment, il existe surtout des botnets fonctionnant sur HTTP & P2P. Par exemple, Conficker fonctionne sur HTTP pour la variante A.E.C., mais une autre variante D.E. fonctionne sur P2P.

Le problème des botnets classiques via HTTP est que s’ils fonctionnent sur un seul site, il suffit de fermer ce site pour arrêter le botnet. C’est pour cela que Conficker créé de multiples noms de domaines. Les chercheurs en sécurité ont décortiqué le malware et ont découvert l’algorithme utilisé pour générer les noms de domaines, ce qui leur a permis de prédire à l’avance les noms de domaines qui allaient être créés.

Le Single Point Of Failure (SPOF) est le point en communication qui, s’il est fermé, rendra tout le service ineffectif. Le principe des botnets serait donc de ne pas avoir de SPOF. C’est pour cela que le P2P est utilisé, car cette technologie est connue pour ne pas avoir de SPOF.

 

Turbot utilise HTML et HTTP. Il exploite des ressources publiquement disponibles. Voici des exemples :

  • « Internet Clipboards » (e.g. pastebin) ;
  • Emails jetables ;
  • Contenu généré par les utilisateurs (e.g. des commentaires sur une news de site Web) ;
  • Des raccourcis d’URL (e.g. Tinyurl).

 

Chaque ressource est divisée en plusieurs “room”, qui peuvent être privés, c’est-à-dire connus uniquement d’un bot et du master bot. De ce fait, si un bot est compromis, comme il ne connaît pas les autres bots il n’est pas possible de couper tout le service. Ces « rooms » peuvent être de deux types :

  • Espace privé : canal privé de communication entre le bot et le master bot ;
  • Lobby : canal public utilisé pour réserver l’espace privé auprès du master bot.

 

Par exemple, le bot va déposer un message sur un espace privé, chiffré avec la clé publique du master bot, afin de réserver l’espace pour lui-même. Ensuite, il envoie de la même manière un message contenant l’identifiant de l’espace privé, sur le lobby. Le master bot, qui scanne régulièrement les « lobby », va découvrir le message, ce qui aura pour effet d’enregistrer le bot auprès du master bot.

 

En conclusion, ce type de botnet est compliqué à désactiver puisque que les bots ne se connaissent pas entre eux. De plus, il est difficile de bloquer les communications de ces bots, puisqu’ils utilisent des ressources publiques (calculer l’entropie des messages chiffrés envoyés par ces bots peut néanmoins être effectué avant la publication desdits messages). Le seul moyen d’empêcher Turbot d’utiliser les ressources publiques est d’utiliser systématiquement des CAPTCHAS ou de l’authentification.


Fingerprinting hardware devices using clock-skewing

Conférencier : Renaud Lifchitz.

Date : samedi 10 avril 2010

Ressource : le code source du projet sera disponible sur Google Code.

 

Le « fingerprinting », ou prise d’empreinte, permet par exemple de différencier des machines. Les prises d’empreintes utilisées sont souvent basés sur des requêtes TCP/IP. Ici, le conférencier propose de différencier les composants en se basant sur les variations d’horloge.

 

Le principe est de mesurer la différence entre un référentiel de temps, et le temps de la machine dont on doit prendre l’empreinte. En effet, les variations d’horloge sont courantes à différents niveaux, et peuvent être dues à :

  • L’implémentation logicielle des horloges ;
  • L’imperfection matérielle des quartzs ;
  • La longueur des câbles ;
  • Etc.

 

La prise d’empreinte peut s’effectuer à distance ou localement. On doit alors faire face à deux problèmes majeurs : le choix d’un bon référentiel de temps (e.g. horloge atomique via un serveur NTP), et la prise en compte des temps de latence du réseau (latence du LAN par exemple). Il est à noter que l’utilisation de Linux est recommandée pour prendre l’empreinte, puisque les NTP Linux garantissent 10 à 30 ms de précision comparé à 1 ou 2 secondes sous Windows.

Du point de vue pratique, la mesure peut être « active », par « ICMP timestamp ». Cela donne le nombre de ms écoulées depuis minuit sur l’horloge du système distant, et fonctionne particulièrement bien sur les systèmes Windows, qui répondent à ces requêtes s’ils n’ont pas de pare-feu. La mesure “semi-active” se fait via les « TCP timestamps ». Elle fonctionne mieux sur les systèmes Linux, est plus précise que l’ICMP, et est calculée à partir du compteur de « tick » d’horloge. Cette mesure est proportionnelle au temps de dernier redémarrage système : il n’y a pas besoin de connaître l’heure de la machine pour calculer la variation.

 

Les faiblesses de ce type de prise d’empreintes sont les suivants :

  • On peut distinguer approximativement 512 machines, ce qui se révèle trop peu pour identifier des composants sur de grands réseaux ;
  • Il y a une sensibilité à la température, à l’altitude, et à une activité haute de l’ordinateur.

Ce système pourrait néanmoins être utilisé pour identifier des machines volées, ou pour détecter des machines virtuelles hébergées sur un même hôte.

 

Il est possible de se protéger en effectuant des synchronisations NTP fréquentes. De plus, la désactivation des « TCP/ICMP timestamps » et des services délivrant l’heure – comme le temps contenu dans l’en-tête HTTP d’Apache – peut être utile. Enfin, pour les plus paranoïaques, la température de la pièce peut être modifiée, l’altitude du composant ainsi son processeur ou sa carte mère…

1 Star2 Stars3 Stars4 Stars5 Stars (9 votes)
Loading ... Loading ...
  1. No comments yet.
(will not be published)
  1. No trackbacks yet.

Le Groupe Devoteam | Devoteam International | Devoteam Jobs | Devoteam Consulting
| Devoteam Opérations | Devoteam Solutions | Devoteam Blog | Devoteam Finance

Devoteam Blog, specialist talk point : Welcome !

Authorize

Lost Password

Register

Please contact the administrator.