Tuesday, April 7, 2009
Vulnerability Disclosure en 2009
Curieusement, le seul editeur a avoir regulierement progresse dans le domaine du "on-va-eviter-de-tenter-de-cacher-des-trucs-et-se-faire-refaire-le-trou-du-cul-deux-jours-plus-tard" est Microsoft. Bravo a eux. Ils ont appris ca en 2004, et depuis ils ne le refont plus. Quelques hoquets ici et la, mais globalement OK.
Nous voici en 2009. Certaines compagnies que je vais eviter de citer (en fait j'en ai une seule en tete), pensent toujours en 2009 que ce genre de comportement est non seulement acceptable, mais va leur eviter d'avoir a annoncer que leur produit (certifie EAL 4 machin-truc) n'est pas si solide que ca (comprenez "a-chier-EL-OH-EL").
Sur ce coup la, je me suis fait avoir mechamment, et je suis furieux. Non seulement ce bug n'aurait jamais du etre "disclosed". Mais la gestion qui en est faite en ce moment est pitoyable. C'est ridicule. Je ne peux malheureusement pas controler ce que les "hautes autorites" decident. Et je n'ai qu'a executer. Super. Maintenant on me demande de la fermer. Ce n'est plus ce que c'etait.
Edit: Quelques lignes de Burn After Reading
CIA Superior: What did we learn, Palmer?
CIA Officer: I don't know, sir.
CIA Superior: I don't fuckin' know either. I guess we learned not to do it again.
CIA Officer: Yes, sir.
CIA Superior: I'm fucked if I know what we did.
CIA Officer: Yes, sir, it's, uh, hard to say
CIA Superior: Jesus Fucking Christ.
Monday, April 6, 2009
CLOUDBURST: Hacking 3D
Les fonctionalites 3D etaient tout d'abord presentes et desactivees par defaut. Puis les dernieres versions de Workstation (6.5) et ESX (4.0) ont passe ces fonctions en configuration par defaut. Si vous creez une nouvelle VM, vous aurez le support 3D. Si vous ouvrez une vieille VM, la case sera decochee par defaut mais le code tout de meme execute, resultant en un message d'erreur.
Ces differentes fonctions 3D correspondent en gros aux fonctions de coeur de Direct3D et OpenGL (je n'y connais pas grand chose, j'ai juste Google quelques noms). Les fonctions 3D executees par un programme dans le Guest sont transmises via le driver video a l'Hote qui les "parse" et affiche le resultat. Ce qui est extremement cocace dans le cas de ESX 4.0, c'est que l'Hote parse tout de meme les commandes video, meme si la "console" du Guest est soit un VNC ou un TS . Aucun interet de mon point de vue, mais passons. Le driver video des VMware Tools simplifie le travail, mais n'est pas necessaire a l'exploitation de l'Escape.
L'avantage (pour les partisans du Chaos du moins) est que le traitement de ces commandes 3D implique une quantite impressionante d'operations de copie de buffers. Generalement depuis le Frame Buffer vers le Frame Buffer, ou du Heap vers le Frame Buffer et vice versa. Bien entendu, le Frame Buffer est partage entre le Guest et l'Hote.
La ou ca devient drole, c'est lorsque l'Hote ne verifie pas trop ce qu'il doit copier et ou il doit le copier. Le resultat: deux types de bugs.
- Le premier est un leak de la memoire l'Hote dans le Guest. L'Hote copie une portion de la memoire dans le Frame Buffer, le Guest lit le Frame Buffer. Bingo part 1.
- Le second est un write arbitraire (je simplifie la). Le Guest ecrit dans le Frame Buffer. L'Hote copie une portion du Frame Buffer vers sa memoire, et Bingo part 2.
En couplant les deux types de vulnerabilites, on peut tout faire. Fingerprinting de l'Hote, leak des pointeurs necessaires aux etapes suivantes de l'exploitation (l'ASLR n'est donc pas un problem), desactivation du DEP. J'entrerai davantage dans les details dans un prochain post.
VMware + Ubuntu = <3
Resultat, ca passe beaucoup plus vite que pour Windows, je vous conseille de faire du frame par frame avec mplayer pour y voir quelque chose:
http://immunityinc.com/documentation/cloudburst-ubuntu.html
Le gros avantage de Ubuntu par rapport a Vista, c'est qu'il y a 0 protection, et que vmware-vmx est suid 0, ie: votre cher xcalc est root. C'est beau.
Saturday, April 4, 2009
VMware Escape
"a. Denial of service guest to host vulnerability in a virtual device
A vulnerability in a guest virtual device driver, could allow a guest operating system to crash the host and consequently any virtual machines on that host."
Edit: Suite a discussion avec VMware, il semblerait que le bug soumis par Andrew Honig soit bel et bien un DoS, dans un peripherique virtuel. Neanmoins la serie de bugs necessaire a l'execution de l'"escape" est corrigee (non creditee). Comprenez ce que vous voulez de cela. Ca commence a devenir complique ces conneries.
Et non, encore une fois, tout faux. Avec VMware 6.5.2 vient de mourir un des bugs Guest -> Host les plus fiables qui ait existe (a ma connaissance). Il s'agissait en fait de la combinaison de 3 a 4 bugs presents dans le code d'emulation d'un peripherique (execute sur l'hote):- un memory leak
- un write relatif
- un write absolu
- et quelques goodies supplementaire pour desactiver DEP
L'avantage est qu'il est possible de rooter tout hote. Windows Vista SP1 avec son ASLR et DEP AlwaysOn, Ubuntu 8.04 LTS et son ... euh rien, ESX 4.0 (RC) et ses protections. Player, Workstation, tout.
Le code etait plus ou moins present depuis un long moment, et n'a ete active par defaut que dans la branche 6.5 de Workstation, et 4.0 de ESX.
J'attendais avec impatience la sortie de la finale de ESX 4.0, et le chaos que ca aurait engendre. Malheureusement la derniere version affectee aura ete le ESX 4.0 RC Hard Freeze.
Je me rejouis cependant de quelques details. Certaines organisations gouvernementales utilisent une solution fondee sur VMware pour le cloisenement du traitement des donnees secretes ou non. Fail. Je ne peux que sourire aussi en pensant a tous les honeypoteurs et autres analystes de malware qui font tourner des binaires dans leur VMware sans trop se soucier de quoi que ce soit.
Mais ne vous inquietez pas, personne n'a utilise un outil de la sorte dans le "wild". Ca se saurait, hein?
Sur ce, malgre un Samedi matin ensoleile, une semi gueule de bois, et une rage intense, je vais au taf pour faire une video Flash et mettre a jour CANVAS Early Updates avec une version de ce que j'avais prepare.
Edit: lien vers la video http://immunityinc.com/documentation/cloudburst-vista.html
Friday, April 3, 2009
Dead Bug continued
Side note: j'uploade les photos de Ultra 2009 sous peu.
Friday, February 13, 2009
Apparemment Skype ca rapporte
http://www.theregister.co.uk/2009/02/12/nsa_offers_billions_for_skype_pwnage/
Dire que certains faisaient ca pour le fun, et que d'autres essayaient d'en tirer des profits gratuitement. Vivement que les mentalites francaises (et leur portefeuille) changent.
Ou sinon c'est un gros piege de la NSA pour faire croire que les terroristes peuvent utiliser Skype en securite. Que ce soit l'un ou l'autre, chapeau.
Friday, February 6, 2009
Dead Bug
Aujourd'hui est un jour grave. Et non seulement parce que je suis plus vieux d'un an. Mais parcequ'un des plus beaux bugs sur lequel j'ai pu travailler vient d'etre condamne a la peine capitale. Une perle de technique et de fiabilite. Alors que certains vivent dans un monde ignorant totalement ce qui se trame dans leur dos, d'autres travaillent a faire de l'offensif un art aux ramifications insoupconnees. Plus jeune j'envoyais regulierement mes trouvailles aux editeurs divers et varies, fier d'avoir participe a la securisation des internets. Mon point de vue sur le sujet a evolue. J'aime les bugs vivants, j'aime savoir qu'ils peuvent servir a quelque chose, et parfois aider. Malheureusement je ne controle pas toujours l'avenir de mes creations. Peut-etre une intervention divine sauvera-t-elle celui ci, mais je n'y crois pas trop. Tristesse.
