Sunday, May 22, 2011

Deuxième jour dans la hackbox

Le deuxième jour de la hackbox a commencé par un débat très intéressant sur « THE ECONOMICS OF VULNERABILITIES » avec Chris Evans (Google), Aaron Portnoy (ZDI), Lucas Adamski (Mozilla) et des responsables sécu de MS, Adobe et RIM. Grâce aux questions du public et surtout celles de Don Bailey, le débat a essentiellement tourné autour des marchés noirs où des *exploits* sont achetés bien plus cher que sur le marché "légal" mis en place par les « vulnerability reward programs » de Google, Mozilla ou encore ZDI... mais comme ils l'ont bien mentionné c'est pas le même type de vente, sur le marché noir, on veut un exploit stable qui fonctionne sur le maximum de platformes tandis que chez Google, Mozilla et ZDI on veut une *bonne* description de la vulnérabilité et de son impact. Ils ont aussi dis une chose importante est que pour la plupart des chasseurs de vulns, le prestige et la reconnaissance comptent autant voir plus que les sous. Aaron a également parler de ZDI où seulement 30% des soumissions sont acceptées et que pour la plupart de celles qui sont refusées sont des « hey regardez XXX segfault quand on ouvre fuzz.html ». Une question sur VUPEN et leur « politique » de revente/buzz de 0day a aussi été posée mais Chris n'a pas répondu. :-(

La première présentation de la journée était sur les nouvelles générations d'attaques ouaib du Founder de blueinfy. L'auteur a montré tous les nouveaux vecteurs d'attaques introduits par l'arrivée de HTML5 et ses amis. Ainsi il a montré les nouveaux endroits (balise video) où on pouvait introduire du JS, les nouveaux endroits où on pouvait retrouver des données intéressantes (LocalWebStorage, WebSQL) qu'on peut récupérer en JS... Ses outils sont disponibles sur le site de sa société.

Ensuite j'ai assisté a deux présentations undergrounds sur le piratage des satellites et des réseaux 3G/4G et « ça fait peur ». Au niveau du piratage des satellites, la sécurité mise en place est une sécurité par l'obscurité essentiellement et beaucoup de points d'entrées (employés, machines de commandes) peuvent être attaqués et c'est ce qu'ils ont démontrés en montrant qu'il était possible de « pirater » un distributeur de billets qui communique par satellite. La présentation sur les réseaux 3G/4G a essentiellement tourné autour des protocoles GTP (GPRS Tunnelling Protocol) où les deux monsieurs ont montré que les devices (CISCO) qui supportent ces protocoles ne sont pas infaillibles (DoS avec un simple flood, crash après fuzzing). De plus ils ont scanné le nain ternet et ont trouvé que beaucoup beaucoup de devices (parfois méga-vieille) répondaient aux pings GTP (et même en version GTP-C, variante utilisée pour le transport de données sensibles) et que c'est mal.

Ensuite j'ai assisté au début de la présentation de l'italiano Rosario Valotta qui nous a présenté son 0day qu'il a trouvé dans toutes les versions d'IE sauf la 9. Le 0day en question est qu'un site web, en combinant différentes techniques, peut accéder au contenu des cookies stockés sur le disque dur dans Documents and Settings/user/Cookies/user@google[1].txt. Les techniques employées pour arriver à ses fins sont le fait de masquer l'iframe contenant le contenu du cookie, de faire du drag and drop jacking, l'utilisateur est deviné grâce à l'accès à un SMB share à distance (img src=\\coincoin.com\) où le nom de l'utilisateur est dévoillé dans la négociation NBT. La dernière chose à savoir pour que son exploit marche est la version du windows utilisé par la victime mais pour cela il suffit de regarder l'user-agent qu'IE annonce... Bref, un talk intéressant qui décrit de A à Z bien comment on peut arriver à ces fins avec une simple vulnérabilité à la con. Il reste encore à gérer le problème de localisation de l'OS parce que chez les frenchies les cookies sont dans C:\Utilisateurs il me semble.

Pour finir la journée et avant la keynote de fin, je suis allé voir la fin de la présentation de Guillaume Delugre sur le pwnage du firmware des NIC broadcom et ça rocks. Il a montré ce qui se passe à l'intérieur de la carte (processeur pseudoMIPS, aux mémoires auxquelles la carte a accès) , ensuite il a présenté ses 2 débuggeurs (InVivoDbg et InVitroDbg) qui utilisent Metasm (ruby). InVitro est un firmware dans QEMU qui dialogue en live avec la carte. Ensuite il a fini sa présentation par montrer ce qu'on peut faire avec tout ça comme son firmware rookité qui doit tenir en moins de 48KB de mémoire (text, stack, packet buffers). Son rookit intègre un client DHCP et un moyen d'écrire dans la mémoire du système hôte (à travers DMA). Ainsi il a montré une démo où son rootkit patche un jmp pour accéder au système avec NIC rootkité (un Windows XP) sans mot de passe. Impressive! Il est aussi en train de développer un memory dumper qui dump la mémoire du système hôte sur le réseau. On pourrait foutre un firewall la dedans, il a dit qu'il avait déjà la stack IP/UDP. ;-)

Le CTF a été remporté, haut la main, par la team française C.o.P, jéjé. ;-)

Voilà, pour ceux qui veullent plus d'info, xme a fait des meilleurs résumés que les miennes.

Labels: ,

Thursday, May 19, 2011

Premier jour dans la hackbox :)

[grosses fautes d'orthographe and co inside]

Le premier jour de la hack in the box est déjà over, j'ai pas vu la journée passer (même si elle est pas encore terminée). Premièrement l'organisation est parfaite et l'hôtel (cadre, bouffe) rocks des ours. :)

La conférence a commencé par une keynote du chief security officer de Fessebooks. Le grand monsieur a présenté une à une toutes les features « secures » qui ont été implémentées dans FB comme l'HTTPS et son forcage, question privée au hasard au login... Il a présenté les Self XSS (je ne connaissais pas le nom mais c'est bien trouvé) et comment il compte les éviter/réduire (prévention chez l'utilisateur, propagation des tips)... etc...

Ensuite j'ai décidé d'assister à la présentation sur les botnets d'un gars de FOX-IT. Elle était très bien. En gros elle ressemble à celle que j'ai faite mais en beaucoup mieux et avec surtout des vrais exemples bien plus poilus (bcp de $$$) que les miens. J'ai noté quelques noms de « botnets/threats » que je connaissais pas comme le fake site TrafficConverter.biz, le botnet Artro qui cache ses commandes dans des commentaires d'image GIF. Un truc que jamais vu aussi... un exploit kit (bomba dans son exemple) qui check presque en live si les payloads utilisés sont détectés par les AV. Funny!

Après ça, j'ai bougé mes fesses pour aller voir le talk de Claudio Criscione qui nous présente son outil nommé MetaXSSploit. Au début, beaucoup beaucoup de blabla pour raconter l'histoire de la naissance de son outil... un peu de blabla sur les XSS du genre « In a real world, XSS is a real gift for pentesters. Not just an alert() » ... puis il nous présente son outil^Wmodule metasploit qui:

- possède une base d'appli. ouaib vulnérables à des XSS (remplie grâce au parsing de bugtraq@)
- le pentester choisi l'appli. qu'il veut attaquer (gestion des GET/POST)
- il choisi le payload (un bon gros beef)
- metaxssploit génère une page de redirection automatique (forward) ou un bouton clikaconvi (enrobé de phising)
- la victime navigue sur la page et sbam, elle se fait beefer

Pas super mega sexy mais bien pratique pour les pentesters. Pas encore releasé mais ça va venir...

Ensuite après le repas de oufz0r, le gros loutrage aux stands Google, Fox-it, Qualys et zieutage du CTF (allez les C.o.P :-D)...

Présentation de « webshellng » de la devoteam... Les 2 frenchies nous ont décortiqué en long, en large et en travers les webshells écrits en PHP, JSP ou ASP... comme vous pouvez en trouver ou (thanks to my old and crappy honeypots). Ensuite ils nous ont montré leur framework qui intègre les meilleurs fonctionnalités des webshells qu'ils ont étudié. Ce framework permet de générer le shell.{php,jsp,asp} (source chiffrée avec password, ip du serveur et ip du client pour être utiliser qu'une seule fois) à balancer sur le serveur web à pwner. Une fois déployé le serveur est contrôlable à travers une interface Java (hum ça swing) par l'intermédiaire du webshell. La présentation se termine sur les possibilités d'évasion que propose leur framework. En gros ils disent que tout est chiffré pour pas se faire pwned par une signature qui match sur des patterns bien précis (cmd.exe, /etc/passwd) mais me semble avoir vu un POST avec login=crypted&cmd=crypted&bla=crypted et un User-Agent bien spécifique dans leur démo. Apparement ils sont pas près de releaser leur outil tel quel... dommage. :-(

La deuxième présentation auquelle j'ai assisté est celle d'une étudiante qui présente HOOOOWAAAAAAARDDDDDDD, un outil pour retrouver des structures dans un binaire... stripé (et oui on est à Amsterdam hein ;-)). Elle explique comment elle traque les pointeurs pour trouver des structures et les champs de ces dernières. Elle s'est beaucoup beaucoup attardée sur la méthode utilisée pour différencier une structure d'un tableau... Les résultats ont l'air pas mal mais malheureusement la démo n'a pas marché à 100% et l'outil ne sera pas releasé (décidément) #@!#@#^#!#@!

La journée s'est terminée par the talk de Monsieur HardenedP^WHardenedIOS où il a montré comment il a rajouté l'ASLR dans l'iOS < 4.3 grâce à son outil antid0te. Même si je ne toucherais probablement jamais à ça, j'ai appris pas mal de chose sur iOS. Par exemple je ne savais pas que les librairies dynamiques étaient shippés dans un gros package (dyld_shared_cache) partagé par toutes les applications. Il a ensuite montré comment son antid0te poutrait sa maman par rapport à l'ASLR implémenté par Apple dans iOS 4.3. En gros, antid0te réordonne les libs dans le package dyld_shared_cache alors qu'Apple ne le fait pas donc avec un memory leak là dedans, le pirate peut faire du matching binaire et deviner l'adresse de base où a été placés ce gros package et faire rouler son ROP trankilosse (et oui on est à Amsterdam hein). Bref, un très très bon talk même s'il a fait pleurer toute l'audience à la fin en disant que son ELEVATOR iPad2 jailbreak0r était un fake... ;-)

Next tomorrow,