Nuit Du Hack 2009 : Et les vainqueurs sont…

14 juin 2009 – 22:17

Tant attendue, la NDH 2009 s’est terminée ce matin même. La péniche sur laquelle se déroulait l’événement battait son plein ; nous étions quasiment 200 à bord. Pour la première fois, le challenge était un Capture The Flag  au cours duquel se sont affrontés une demi douzaine d’équipes. Mais cette année, la team de Ghosts In The Stack n’était pas au complet car il manquait Heurs, contraint de ne pas participer au challenge vu qu’il fait désormais partie du staff. Ma team, répondant au nom de Trollkore (un trip IRC…) était donc composée d’Ivanlef0u, sh4ka, Pierz et Kal0n. Et c’est notre équipe qui a remporté le challenge ! Voici, rien que pour vous, un petit résumé de cette super nuit organisée par Sysdream. [EDIT 15/16/09 : slides et sources mis en ligne]

Conférences

Le programme était aussi riche qu’intense : une douzaine de conférences se déroulant sur deux plateformes ; il y avait donc toujours deux confs en simultané. L’inconvénient était toutefois qu’on ne pouvait assister qu’à la moitié des confs… Pour ma part, j’ai alterné entre les deux plateformes, et j’ai en plus du finaliser quelques slides donc je n’ai pas pu en profiter pleinement. Au final, voila ce à quoi j’ai assisté :

  • SCOW – ShellCoding On Windows : Heurs présente son nouvel outil permettant de générer un shellcode générique sous Wndows à partir d’un simple programme C. Un outil permettant de gagner un temps fou lors de la conception d’un exploit, avec en prime une polymorphisation du shellcode en question.
  • GoRing0 : Présentée par moi-même. Cette conférence se veut accessible à tous ceux qui s’intéressent de près ou de loin au noyau et au fonctionnement des processeurs x86, en particulier le système de privilèges (ring). J’y présente dans un premier temps toutes les bases nécessaire pour comprendre le coeur de la conférence : un rootkit que j’ai développé et qui permet de passer un thread en ring 0, le contexte étant préservé.
  • Drive by Pharming : Abc528 présente une faille XSRF des routeurs de type box (Alicebox, Livebox…) permettant de modifier leur configuration depuis une page HTML hébergée sur un site quelconque.
  • XeeK : Ma deuxième conf de la soirée. Je présente XeeK, un projet dont j’ai déjà parlé ici, mais que je n’ai pas encore eu le temps de finir. Il s’agit d’un framework visant à exploiter les failles XSS très rapidement et simplement.
  • Lockpicking : Cocolitos et Mr Jack nous démontrent qu’aucun verrou n’est vraiment sûre, en crochetant différents types de serrures, les unes à la suite des autres. On y apprend entre autres qu’on peut crocheter certaines serrures avec un bout d’essuie glace, et ouvrir un cadenas avec une canette. Même certaines serrures réputées haute sécurité y passent.

Dommage, j’ai loupé la conférences de Virtualabs sur les framework Web next gen, qui pourraient fortement m’intéresser pour poursuivre XeeK.

Sinon, si je devais donner mon opinion sur les 3 confs que j’ai vues, je dirai qu’elles étaient à la hauteur de mes attentes et qu’elles valaient vraiment le coup d’oeil, sauf une : le Drive By Pharming. Soyons clairs : je respecte tous les conférenciers ainsi que les présentations qu’ils ont données. Mais je pense que cette conférence, bien que s’adressant à des débutants, manquait de préparation, de contenu (elle a duré 10 min) et contenait des erreurs assez flagrantes. Je reste enthousiaste à l’idée d’accueillir des confs de tous les niveaux, mais je pense toutefois que les conférenciers ne devraient pas hésiter à approfondir un peu plus leurs sujets. Enfin, pour ce qui est de la conférence sur le lockpicking, bien que je n’ai aucune expérience en la matière, j’ai vraiment adoré.

Slides

Voici les slides de mes conférences ainsi que les sources/binaires que je publie :

Pour les autres, allez sur le site officiel ou contacter directement les conférenciers.

Challenge

Grosse nouveauté de cette année : le challenge principal est un Capture The Flag. Le principe est simple : chaque équipe possède quelques serveurs, leur but étant de les protéger et d’attaquer ceux des autres. En gros :

  • Règle n°1 : pas d’attaques physiques.
  • Règle n°2 : pas d’attaques sur le serveur du staff.
  • Règle n°3 : tout le reste est permis. Même  le déni de service.

Pour pimenter l’affaire, aucune information n’est donnée au préalable, pas même les IP de nos propres machines. Pas de DHCP. Il nous faut alors sniffer le traffic pour nous apercevoir qu’une machine emmet en broadcast. Nous nous attribuons donc des IP statiques sur la même plage, et configurons la machine qui broadcast comme passerelle. A partir de là, nous découvrons le serveur de monitoring qui contient les résultats en temps réel su challenge avec le classement des équipes, ainsi que la liste de toutes les machines. Autant dire que Nmap a bien tourné…

On nous fait parvenir les logins/pass de notre machine Windows, mais pas ceux de celle sous Linux. Prétexte:  ils sont facile à trouver. Je m’acharne donc à bruteforcer avec Hydra (en l’ayant recompilé au passage avec le support pour SSH), mais rien n’y fait. Pierz se penche sur Windows, fait tourner Metasploit, et découvre que les machines sont vulnérables au MS08_067. En quelques secondes, il roote une machine adverse et récupère les hashs à valider. Le score décolle enfin ! Décidé à faire baisser le score des autres équipes, j’exploite la vuln à mon tour et en profite supprimer le contenu de c:\Windows\system32 ainsi que boot.ini et autoexec.bat, puis je lance un reboot. Cependant, je n’avais pas prévu que Windows restaurerai ces 2 fichiers et que la machine booterait toujours. Dommage…

Pendant ce temps, sh4ka et Ivan s’acharnent sur notre Windows en remote desktop. Ivan se fait plaisir sur les crackmes fournis et les reverse rapidement. Kal0n est quant à lui sur un exploit PhpMyAdmin. Avec Sh4ka, je me penche sur le Web. Cependant, il y a un imprévu : le challenge Web prévu est inaccessible car mal configuré. Nous allons alors sur le serveur commun que HZV a laissé pour que même les non participants puissent s’entraîner. Nous trouvons rapidement une include locale, une injection SQL, une faille par authentification faible via cookies et une XSS qui n’a d’ailleurs pas été validé (non prévue à la base). Pendant ce temps, Ivan se penche sur un crackme en kernel, qui lui donne du fil à retordre mais qui fini par tomber.

Aux environs de 5h, on finit par nous donner les accès Linux. Dépités, nous constatons que le login/pass n’était en effet pas bien dur à trouver (freeman:team2). En supposant que la combinaison soit similaire sur les autres machines, nous parvenons à nous connecter chez les autres équipes. Mais nous voyons que tout a été chrooté dans tous les sens, et qu’au final n’avons accès qu’à cat, ls, cs, mv, mkdir et python. Nous découvrons plusieurs binaires suid root, dont un vulnérable à un buffer overflow. L’ASLR étant activé, l’exploitation via  ret onto ret est toujours faisable mais comme nous n’avons pas gdb sur la machine distante, et qu’il commence à se faire tard (ou tôt, question de point de vue), nous préférons nous arrêter là. En plus, nous sommes une des seules équipes restantes…

Remise des prix

Vers 6h, Crashfr annonce les résultats. Nous sommes premiers ! Jamais nous n’aurions pensé gagner, car nous nous attendions à affronter Dvrasp, Fozzy et Artyc… Mais en fait, il étaient trop occupés au bar :)

Crashfr remet les prix aux équipes : des certifications CEH pour les 1ers, et des livres pour les deuxièmes et troisièmes. Sans oublier bien sûr les super trophées en verres, réalisés pour l’occasion. Pour ma part, comme je serai bientôt consultant chez Sysdream, je pense plutôt convertir ce CEH en LPT (Licensed Penetration Tester), une autre certification d’EC-Council. En tout cas, si j’ai particupé à cette nuit, c’était uniquement pour le fun. Comme d’habitude, la NDH est de mieux en mieux, et son ampleur augmente au fil du temps. A quand une NDH rivalisant avec le Black Hat et le Defcon ? En plus, c’était ma dernière NDH en tant que challenger, vu que l’année prochaine je ferai partie du staff et je pourrai à mon tour goûter aux joies de voir tout le monde s’arracher les cheveux sur un challenge dont je suis l’auteur ;)

See you next year !

  1. 13 réponses à “Nuit Du Hack 2009 : Et les vainqueurs sont…”

  2. Good job!

    Par JoE le 14 juin 2009

  3. Sympa la soirée ;)

    Trollkore > *

    Par Sh4ka le 14 juin 2009

  4. Bravo!

    Comme l’annee derniere, tu es l’un des premiers a rediger un article sur le deroulement de la soiree. Dommage pour les conferences alternes…

    Quelles etaient les autres equipes a la suite du classement ?

    ps: Et felicitation pour sysdream ;)

    Par ipv le 15 juin 2009

  5. Encore bien joué et super CTF même si on a galérer et perdu du temps avec le « dhcp server ». J’espère que quelque Ghostsinthestack resteront et que Dvrasp, Fozzy et Artyc viendrons et nous bien plus préparé (surtout une team stable =P).

    En tout cas dommage pour la team 6, qui à pas pu faire le challenge avec la carte eth cramée…

    Mais on prie pour avoir un CTF plus puissant l’année prochaine.

    En tout cas cela ma motivé de faire des serveurs GameWar comme astalavista et j’accueillerais quelques personnes pour venir si affronter en attendant la prochaine NDH :)

    Encore bravo et merci à Cocolitos ainsi Mr Jack pour la demo de Lockpicking en 5 seconde… cela me force de plus en plus à acheter des serrures à plus de 4 étoiles (Ouvrable quant même mais ça prend plus de temps …).

    Par FlUxIuS le 15 juin 2009

  6. Yes, super soirée, malheureusement je n’ai pas pu en profiter autant que souhaité (je déployais les windows du CTF). Félicitations à vous tous, vous avez bien géré ;-)

    Par Heurs le 15 juin 2009

  7. C’est bizarre, mais il me semble qu’Heurs et moi on l’avait prédite cette victoire ^^. Encore une fois, bien joué les mecs ! On va essayer de faire encore mieux la prochaine fois …

    Par virtualabs le 15 juin 2009

  8. Ah ouais ? C’est grâce à vous que l’équipe de Dvrasp s’est faite rootée par le bar ? ;)

    Par Emilien Girault le 15 juin 2009

  9. C’est vrai que c’était super sympa cette soirée.
    Merci à tous les conférenciers, sysdream – hzv pour l’organisation, etc…

    Sinon c’est clair que la conf sur le lockpicking, était hallucinante.

    Merci Emilien pour tes 2 présentations !

    Par Nickname le 15 juin 2009

  10. Non non, on y est pour rien si l’équipe de Dvrasp s’est faite owned par la binouze.

    Par virtualabs le 15 juin 2009

  11. Yop les barbus,

    Effectivement bien joué à nos gagnants :D

    Beaucoup d’épreuve sur la vm linux sont rester inviolée. Rendez-vous l’année prochaine : p

    Par Corbier le 15 juin 2009

  12. En même temps, on n’a eu les accès que tard dans la nuit et on n’était plus très motivés… Je pense qu’il y a moyen de réutiliser ces épreuves pour l’année prochaine ;)

    Par Emilien Girault le 15 juin 2009

  13. Merci pour la présentation.
    J’aurais tant aimé être là mais bon…
    Etud et surtout rien foutu en info cette année, j’aurais servi à rien
    Merci encore et ++

    Par Tryks le 16 juin 2009

  14. Bon, mettons qu’on vient de desaouler (veille web improbable sur nos pseudos a l’irish de nation) – sachez que nous sommes prêts à affronter à nouveau le bar cette année (ainsi que les autres équipes concurrentes peut-être si vous osez relever ce défi – en échange on veut bien participer au challenge) !

    Par Fozzy - dvrasp le 16 février 2010

Désolé, les commentaires sont fermés pour le moment.