Compte rendu : Hack in The box Malaysia (HITB)

Hack In The Box Secconf 2012 Malaysia

HITB est l’une des conférences avec la meilleure réputation. Basée en Malaisie, c’est une très bonne occasion de faire un saut en Asie.
Pour le dixième anniversaire, toutes les stars ont fait le déplacement et la proximité avec les speakers a permis de nombreux échanges très productifs.
Les conférences étaient séparées en trois tracks dans le fabuleux “Intercontinental Hotel”.

Jour 1

Practical Exploitation of Embedded Systems – Andrea Barisani & Daniele Bianco
La première conférence portait, comme son nom l’indique, sur l’exploitation des systèmes embarqués.
La première étape consiste à découvrir l’interface console afin de pouvoir ensuite débuguer le firmware.
Pour cela, les pins sont “scannés” à l’aide d’un microcontrôleur afin de déterminer le type de connecteur.
Ensuite l’analyse du firmware peut commencer.
Ils ont alors montré comment découvrir rapidement le type de checksum qui peut être mis en place sur le firmware. Par exemple, la présence de la constante 0x04C11DB7 indique du CRC-32 (qui est le plus courant). Différentes implémentations sont par contre rencontrées, nécessitant une analyse plus profonde.
Finalement pour étudier le kernel, ils ont proposé une méthode intéressante : patcher directement les fonctions dans /dev/mem avec des wrappers. Ces wrappers permettent par exemple d’afficher les paramètres passés à la fonction avant de rediriger l’exécution vers la fonction initiale.
Ils ont terminé par une démonstration sur le protocole SMC d’Apple. Ce protocole est par exemple utilisé pour communiquer l’appui sur le bouton power, le capteur de lumière et autres détails hardware.
Ils ont alors patché ce firmware SMC d’apple.
Une talk plutôt technique et très bas niveau pour bien commencer la journée.

Don’t Stand So Close to Me: An Analysis of the NFC Attack Surface – Charlie Miller
Charlie Miller n’ayant pas pu faire le déplacement, ils ont entrepris de faire la présentation via Skype.
Malheureusement, cette conférence a juste servi à montrer que Skype n’est vraiment pas adapté.
La communication était très mauvaise gachant complétement la présentation.
Juste via les slides, on a pu comprendre qu’il a entrepris un fuzzing massif du NFC sur son téléphone Android.
Résultat : des exceptions Java, et des 0days permettant de l’execution de code via simple scan.

OPSEC: Because Jail is for wuftpd – The Grugq
Un talk non technique cette fois, expliquant toutes les précautions à prendre si l’on décide de mener une activité de “freedom fighter”.
The Grugq est un très bon speaker, sa présentation était très intéressante car ponctuée d’extraits du dossier Lulzsec sur les erreurs qu’ils ont commises menant à leur arrestation.
Conclusion, il faut vraiment avoir une double personnalité pour pouvoir mener ce genre de vie, être parano et tout prévoir longtemps à l’avance.
D’après lui, il faut six mois et environ 2000 $ pour monter une fausse identité.
Il a terminé sa conférence par l’annonce de son projet PORTAL https://github.com/grugq/portal Personal Onion Router To Avoid LEO, un petit routeur encapsulant automatiquement les connections vers le réseau TOR. A suivre…

A Historical Look at The Personal Computer and The Phreaking Scene – John ‘Captain Crunch’ Draper
La légende Captain Crunch donnait un talk sur les débuts du hacking et plus particulièrement du Phreaking. Il a expliqué comment fonctionnait la BlueBox, comment à son époque, les gens s’étaient réunis dans le Home Brew Computer Group pour partager leurs découvertes et a terminé son talk en parlant de ses projets futurs (écriture d’un livre et production d’un film…).

Pwn@Home: An Attack Path to “Jailbreaking” Your Home Router – Fred Raynal
Malgré la conférence sur iOS 6 security ayant lieu en même temps dans un autre track, ce talk semblait mériter un coup d’oeil.
Un ISP français a proposé un audit blackbox du routeur de Monsieur tout le monde.
Ils ont décrit toutes les étapes de leur pentest.
L’exploitation de nombreuses vulnérabilités leur a permis de prendre la main sur leur routeur, mais malheureusement pas de faire de remote code executions assez intéressants pour remonter chez les routeurs voisins.
Beaucoup de choses dans ce talk qui s’est pourtant terminé 20 minutes avant la fin, me permettant de sauter vite dans le track iOS 6 bondé à coté. Un petit bémol, le cheminement des slides/vulns était un peu chaotique, ce qui me laisse quelques incompréhensions.

iOS 6 Security – Mark Dowd
J’ai juste pu assister aux 15 dernières minutes. Le talk avait l’air vraiment très technique. Ils ont expliqué tous les mécanismes de sécurité présents dans cette nouvelle version (ASLR NX…) et comment ils ont tout de même réussi un partial jailbreak avec des heap overflow niveau kernel. Le seul souci de ce jailbreak est qu’il nécessite d’installer une application signée.

IPv6 Insecurity Revolutions Marc ‘VAN HAUSER’ Heuse
Un talk de Van hauser qui est également un très bon speaker.
Il travaille sur l’IPv6 depuis bien longtemps, ce qui lui permet d’amener dans sa présentation des statistiques intéressantes.
Mais rien de nouveau : plus d’IPv4, de plus en plus de CVE mettant en cause les mauvaises implémentations du protocole, plein de techniques de flooding, la fragmentation pour bypasser certains firewalls…
Il a ensuite expliqué comment trouver des hosts dans la multitude d’IP qu’apporte l’IPv6.
D’après ses stats, la plupart des ::1 ou ::2 sont utilisées.
Questionner RIPE permet de retouver des IPv6.
Et bien sûr, le reverse dns leak aussi les adresses IPv6.

Jour 2

Pour des raisons personnelles, la présentation tant attendue de PEDA-GDB a été annulée, remplacée par une “openbottle” rassemblant tous les trolleurs, bref, du master trolling à la place de Thanh ‘RED DRAGON’ Nguyen.

Innovative Approaches to Exploit Delivery – Saumil Shah
Ayant suivi le training de Saumil, je ne pouvais manquer son talk.
Une des meilleures présentations, pleine de lol et d’originalité.
Saumil nous a montré comment rendre vraiment plus sexy les exploits de navigateurs.
Il intègre désormais tous ses exploits dans des images.
En effet, à l’aide des fonctionnalités du canvas HTML 5, il cache son payload à l’intérieur des données alpha d’un PNG.
Il lui suffit alors de charger l’image, puis d’en extraire son payload via un bout de Javascript.
Mais ce n’est pas tout ! Il inclut également le Javascript dans un GIF ou un BMP qu’il charge d’abord en tant qu’image puis en tant que script.
Les images sont bien affichées par le navigateur, en gérant bien le cache, on peut imaginer charger l’image contenant le payload depuis Facebook par exemple, puis une semaine après, loader l’image depuis le cache pour en extraire le payload rendant l’analyse forensique bien plus complexe.

Finding the Weak Link in Binaries – Ollie Whitehouse
Présentation ici de toutes les mitigations mises en place par Windows contre les corruptions de mémoire.
Ollie Whiehouse a ensuite présenté son outil qui permet de rapidement rassembler des informations sur les protections présentent dans un binaire.
Recx binary assurance (son outil) a la particularité de ne pas nécessiter la présence des symboles mais il n’est pas open source… Décevant donc.

Ce talk s’étant terminé rapidement, j’ai pu sauter dans le track de Mikko Hypponen intitulé Behind Enemy Lines.
Mikko est vraiment impressionnant, il présentait ici l’évolution des menaces et s’excusait au nom de l’industrie de l’antivirus de ne pas pouvoir arrêter les James Bond du malware (stuxnet, duqu, flame et gauss) qui sont bien trop ciblés et qui ont bien trop de moyens.

Hacking Huawei VRP – Felix ‘FX’ Linder
FX, roi du troll et du reverse de routeur, a présenté ici sa dernière dissection : les routeurs Huawei.
Rien ne vaut ses slides http://conference.hitb.org/hitbsecconf2012kul/materials/D2T3%20-%20Felix%20FX%20Lindner%20-%20Hacking%20Huawei%20VRP.pdf, la conclusion est simple, total pwnage !

Element 1337 in the Periodic Table: Pwnium – Chris Evans
Chris Evans, le big boss de la team security de Chrome, est venu retracer l’histoire des security reward programs.
Jusqu’à présent, Google a dépensé 650K $ dans son programme pour 489 bugs reportés dans Chrome.
Il est ensuite revenu sur les événements marquants des 0days Chrome. Par exemple, la vidéo que VUPEN avait publié sur YouTube prouvant l’exécution de code, mais sans publier d’informations supplémentaires. Par la simple analyse de la vidéo, la Google security team a réussi à déterminer que l’exploit était dans Flash. Leur réaction face à ça : du fuzzing de masse et l’ajout de flash dans leur sandbox.
Il a terminé par la présentation des résultats du pwnium 2.
Pinkie pie a encore frappé ! Il est cette fois le seul à avoir réussi l’exploit total de Chrome.
Après avoir trollé un peu sur l’essai raté de Nikita Tarakanov via une 0day dans le driver wifi du laptop utilisé au pwnium, Chris Evans a expliqué le fonctionnement de l’exploit de Pinkie Pie. Un use-after-free dans le moteur SVG, puis un memory leak via une mauvaise mise en place de l’aslr sous Windows 7 et enfin le sandbox escape en allant modifier des messages IPC à la volé pour dire à Chrome d’aller écrire ce qu’il veut dans le fichier qu’il veut.
Il faut noter que le record personnel de patching Chrome a été battu ! En seulement 12 h, la mise à jour était disponible au public.

Tous les slides sont disponibles ici : http://conference.hitb.org/hitbsecconf2012kul/materials/

Florian