Exostats/Exoscan |
Nombre de tests inclus
|
29046
|
|
Tests ajoutés |
Aujourd'hui |
Ce
mois |
17 |
36 |
|
|
Apprendre à parler Skype pour mieux le faire taire !
Par Xavier Poli,
secuobs.com
Le 13/03/2006
Résumé : Skype a sans aucun doute été créé par une équipe de développeur ayant un minimum de compétences en matière de sécurité ; on imagine facilement qu'ils se sont donné du mal et du temps vu la qualité par exemple de l'implémentation des opérations de cryptographie. Est-ce pour autant bien suffisant ? - Lire l'article
Le logiciel gratuit Skype a sans aucun doute été créé par une équipe de développeurs ayant un minimum de compétences en matière de sécurité informatique ; on imagine facilement qu'ils se sont donnés du mal et du temps vu la qualité par exemple de l'implémentation globale des opérations de cryptographie. Est-ce pour autant bien suffisant ?
Le principal problème de l'utilisation d'une solution comme Skype réside justement dans ces nombreuses protections qui en font un protocole difficilement dissécable et « impossible » à analyser en l'état pour les Systèmes de Détections et de Préventions d'intrusions (I[D|P]S) notamment.
Le code source n'étant pas disponible, Skype peut être comparé à une boîte noire, peu voir pas de transparence, il est difficile de savoir par exemple si la rumeur sur la présence éventuelle d'une porte dérobée (Backdoor) est véridique ou non (Hoax) ; le flot de trafic nocturne encrypté (algorithme RC4) depuis des ports étranges, alors même que vous ne l'utilisez pas, contribue à celle-ci.
Il serait tout aussi ardu de repérer une attaque utilisant Skype comme vecteur de propagation ou d'initialisation, voir à ce sujet notre brève sur la mise en garde de Jon Crowcroft lors d'une conférence du MIT.
lien
Skype, une forteresse inviolable alors ? Les apparences pourraient être trompeuses mais c'était sans compter sur deux brillants chercheurs français du CCR EADS France (Corporate Research Center European Aeronautic Defense and Space) qui se sont évertués à démontrer le contraire lors des briefings de la conférence Blackhat Europe 2006 qui s'est déroulée du 2 au 3 mars à Amsterdam.
Philippe Biondi et Fabrice Desclaux ont présenté plusieurs outils et techniques permettant d'outrepasser la sécurité inhérente à ce logiciel de VoIP dont la mise en relation des clients fonctionne pour rappel de la même manière que les logiciels d'échange de fichiers caractéristiques des techniques dites de « Peer to Peer » (P2P).
L'une de ces méthodes présentant un réseau virtuel privé Skype (SPN) utilisé dans une attaque à la Man in The Middle a déjà été abordée dans un précédent article sur la présentation de Frédéric Raynal (EADS) lors de la conférence EuSecWest 2006, technique sur laquelle a également travaillé Fabrice Desclaux.
lien
Parmi les nombreuses protections en présence, on retrouve des techniques d'obfuscation bien connues comme les anti-debbuger (génériques et chargement du driver Softice), les anti-dumps pour l'exécution en mémoire du code décrypté, le cryptage préalable du code se faisant sur plusieurs couches.
Ces techniques d'obfuscation usuelles sont renforcées par l'effacement de parties du code et notamment par l'écrasement partiel de la table d'import originelle via le chargement de la table d'import de Skype.
A noter que l'outil de debbugage de Fabrice Desclaux, le Rasta Ring 0 Debbuger (RR0D) déjà évoqué dans nos colonnes, n'est pas détecté par Skype. Ce debbuger pour rappel est le premier outil de ce genre qui soit indépendant du système d'exploitation et qui fonctionne uniquement pour les plate-formes x86. lien
Plus de 300 processus polymorphiques (opérateurs différents, valeurs internes à la boucle, longueur des codes, computation de l'initialisation des pointeurs) chaînés sont également présents afin d'assurer la vérification de l'intégrité (checksum) du code en de multiples points, ces processus sont lancés aléatoirement pour compliquer le tout.
Un premier outil a été développé à cet effet, il permet d'attacher l'exécution de deux processus à un même debbuger. La technique utilisée consiste à poser un point d'arrêt sur chaque checksum logiciel et reporter un breakpoint matériel avant et après chacun d'entre eux sur le processus de jumelage.
L'utilisation de ce dernier permet de « deviner » la valeur de retour du checksum afin de le « contourner ». L'outil qui permet d'effectuer cette opération se nomme Pytstop. lien
Le second outil, Skypy, est un module additionnel pour le générateur de paquets Scapy, il permet à ce dernier de parler le langage « Skype » en vous offrant la possibilité de forger vos propres paquets « Skype ». Skypy est capable de réassembler les datagrammes et de décoder les flux TCP, en résultant, ayant subi une obfuscation. lien
Pour cela, il utilise le shellcode Oracle Revelator (projet Shellforge - lien ) injecté dans un relais TCP <--> Unix afin de déchiffrer l'algorithme RC4 utilisé pour générer la clé (128 octets – 2^32 possibilités différentes), conjointement à des paramètres d'environnement propres aux datagrammes (adresse IP source et destination, vecteur d'initialisation IV des couches d'obfuscation Skype).
L'ensemble du trafic n'est pas crypté, notamment les échanges UDP qui permettent à Skype de recouvrir son/votre adresse IP publique ; et cela dans le même temps où ceux basés sur TCP utilisent le même flux RC4 plusieurs fois.
Plusieurs commandes ont été identifiées grâce à l'analyse de ce trafic, 27L correspond par exemple à une démarrage, 28L une requête de connexion, il est possible grâce à certaines de ces commandes de se servir de Skype comme d'un scanner de port.
Parmi ces commandes, on notera celle dont la valeur de l'identifiant est positionnée à 6 et qui permet de retrouver l'ensemble des noeuds Skype pour un range donnée, 2050 ranges ont ainsi été répertoriées soit l'équivalent d'environ 20 000 serveurs (supernodes) dans le monde.
Vous pouvez aisément imaginer les effets désastreux d'une faille potentielle autorisant la mise en oeuvre d'une attaque par Déni de Service Distribué via Skype qui profiterait des capacités d'obfuscation du protocole (cf. Jon Crowcroft).
Pour les administrateurs systèmes et réseaux qui souhaitent bloquer Skype, il n'est pas uniquement nécessaire de bloquer le trafic UDP. Le premier paquet reçu lors d'une session Skype est un Nack qui 'est pas crypté et dont l'objectif consiste à préparer l'initialisation des couches d'obfuscation. Ce Nack contient l'adresse IP publique affectée à mettre à jour pour le client Skype qui utilise la valeur 0.0.0.0 par défaut pour celle-ci.
Un Nack est un paquet définissant une réponse négative à la bonne réception d'un précédent paquet. En ce qui concerne Skype, ce paquet est d'une longueur de 39 bits, incluant une fonction (&0x8f=7), dont les bits situés entre la trente et unième et la trente quatrième place correspondent à l'adresse ip publique du réseau. La règle IPTABLES permettant de bloquer ces paquets étant la suivante :
iptables -l forward -p udp -m lenght –lenght 39 -m u32 -u32 '27&0x8f=7' –u32 '0x527c4833' -j DROP
Skype peut travailler sans UDP, mais pas sans TCP. Pour bloquer TCP au niveau de Skype, une technique plutôt originale et exotique mais drôlement efficace, une faille de type Déni de Service a été identifiée par les auteurs de la présentation dans Skype.
Le principe consiste alors à capturer tous les paquets Nack UDP (option « -j QUEUE » dans la règle IPTABLES précédente au lieu de « -j DROP ») pour les remplacer par un paquet malicieux provoquant ce DoS afin de rendre muette l'application Skype cliente sans pour autant la terminer et cela furtivement vis à vis de l'utilisateur ; c'est un disfonctionnement au niveau du processus en charge du parsage des paquets qui en est responsable. Cette dernière étape est effectuée à l'aide de IPQUEUE lien . A noter que cette faille a été silencieusement fixée.
Un Heap Overflow, également découvert par Fabrice Desclaux et Philippe Biondi, a été fixé. Ce dépassement de tampon au niveau de la zone d'allocation dynamique de la mémoire permet notamment l'exécution de code arbitraire comme le lancement d'une application tierce.
La calculatrice Windows lancée lors de la présentation par ce biais pouvant être remplacée par un cheval de troie ou tout autre shellcode. L'exploitation de cette faille est tout à fait réalisable sur un Windows XP installé avec le Service Pack 2.
Toutes proportions paranoïaques bien gardées, les universités françaises ont depuis maintenant un certain temps déjà éradiqué Skype de leur infrastructure avec plus ou moins de succès. Toujours partant pour un « petit Skype entre amis » ?
La présentation originale peut être consultée sur lien
- Article suivant : L'art du fingerprinting web ou comment contourner Nmap.
- Article précédent : De nombreuses failles sur les téléphones VOIP
- Article suivant dans la catégorie Failles : Les bonnes pratiques pour protéger les systèmes Blackberry
- Article précédent dans la catégorie Failles : De nombreuses failles sur les téléphones VOIP
| Mini-Tagwall des articles publiés sur SecuObs : | | | | sécurité, windows, exploit, microsoft, réseau, attaque, vulnérabilité, système, audit, outil, virus, internet, données, linux, présentation, bluetooth, vista, metasploit, protocol, shell, scanner, réseaux, trames, téléphone, paquet, wishmaster, rootkit, engineering, sysun, https, black, mobile, noyau, téléphones, conférence, mémoire, source, scapy, google, reverse, détection, malveillant, snort, sécurise, patch |
| Mini-Tagwall de l'annuaire video : | | | | virus, spyware, vmware, firmware, security, malware, lockpicking, biometric, kernel, iphone, windows, adware, password, wimax, botnet, tutorial, phish, linux, symantec, rootkit, knoppix, metasploit, network, attack, server, virtual, internet, jailbreak, notacon, conference, exploit, google, wireshark, defcon, hacker, backtrack, openbsd, intel, ettercap, firewall, source, samsung, reprap, wireless, norton |
| Mini-Tagwall des articles de la revue de presse : | | | | security, microsoft, vulnérabilité, windows, vulnerability, network, attack, google, hacker, exploit, inject, internet, remote, server, mobile, malware, apple, iphone, black, patch, sécurité, virus, linux, ebook, conficker, crypt, source, intel, virtual, facebook, access, trojan, twitter, research, firefox, overflow, pirate, phish, vista, cisco, obama, office, local, opera, adobe |
| Mini-Tagwall des Tweets de la revue Twitter : | | | | security, cisco, linux, defcon, firewall, vmware, metasploit, attack, server, phish, network, twitter, windows, exploit, nessus, botnet, backtrack, inject, crypt, wireshark, vulnerabi, python, acking, iphone, black, source, engineering, google, conficker, social, clouds, podcast, patch, vulnerability, virus, pentest, juniper, hacker, apple, client, proxy, virtual, apache, complianc, javascript |
Poster un commentaire sur cet article:
|
|
|
|
|