Tuesday, April 28, 2009

MOSDEF over Direct3D

Des fois, je fais des trucs a la con.

Un example est quelque chose sur lequel je bosse un peu en ce moment: MOSDEF Over Direct3D. C'est le genre de trucs qui va m'etre utile une seule fois, mais dont le concept est intellectuellement stimulant. Le seul interet de MOSDEF Over Direct3D: le bug VMware. Ou comment s'assurer du maintient d'un canal de communication entre l'Hote et l'Invite sans se fier a des fonctionalites pouvant etre absentes (reseau) ou desactivees (vmrpc, vmci, etc).

La solution: etablir un canal de communication via le Frame Buffer de l'Invite. Dans la mesure ou le Frame Buffer est sense etre 'abstrait' par les multiples couches graphiques de Windows, il n'est pas evident de pouvoir y acceder directement en Ring 3. Sauf via DirectX/Direct3D.

Le jeu est donc d'ecrire un proxy TCP (MOSDEF se fonde sur du TCP de base) vers Direct3D pour l'Invite, puis du cote de l'Hote: lecture et execution du code et reecriture du resultats dans le Frame Buffer (facile).

C'est bien de se faire plaisir de temps en temps. Le tout devrait faire l'objet d'une presentation si je suis accepte a Vegas.

Tuesday, April 14, 2009

Sans le SANS ...

... que ferait-on? Ils ont decide de se reveiller ce matin pour une raison que j'ignore:
VMware exploits - just how bad is it ?

Pas mal les mecs. Il leur a fallu 2 semaines pour realiser ce qui se passait. Et dire qu'ils sont senses representer une sorte d'elite de la securite, toujours au courant de ce qui se passe, etc.

Edit: Au passage, un CVSS de 10! (NIST)

La bonne nouvelle c'est qu'Ulduar, la nouvelle instance de Raid de WotLK sort aujourd'hui. On va enfin pouvoir faire autre chose!

Saturday, April 11, 2009

HP NetTop

Page Wikipedia:
http://en.wikipedia.org/wiki/NetTop

Le document "technique":
http://h71028.www7.hp.com/enterprise/downloads/HP_NetTop_Whitepaper2.pdf

Le "Virtual Air Gap" (c) HP:

Allez, pour bien commencer le Samedi

Tire du Blog de VMware Fusion:
http://blogs.vmware.com/teamfusion/2009/04/vmware-fusion-204-update-now-available.html

"2.0.4 already?", you ask. That's right, we are releasing VMware Fusion 2.0.4 today to address a critical security issue. At VMware, we take security very seriously and always stay vigilant to provide the safest products and solutions possible.
Maintenant, on sait que CLOUDBURST a ete fixe en silence avec VMSA-2009-0005 (dans Workstation du moins), puis annonce avec VMSA-2009-0006. Question: quel produit est specifie non affecte dans 0005, et patche une semaine plus tard avec 0006?

Quelque part ca suit la politique de l'OS sur lequel ca tourne.

Friday, April 10, 2009

CVE-2009-1244

Il semblerait qu'apres une tentative de patch silencieux de la part de vous-savez-qui, CLOUDBURST se soit vu assigner un CVE:

http://lists.vmware.com/pipermail/security-announce/2009/000055.html
"A critical vulnerability in the virtual machine display function might allow a guest operating system to run code on the host."
J'aime bien le "might". Heureusement qu'on est Vendredi.

Wednesday, April 8, 2009

Mais bordel de merde

EL OH EL du jour:
http://www.reuters.com/article/topNews/idUSTRE53729120090408

Google translating this blog

There seems to be a lot of non French people trying to read this blog lately, and most of them are using Google Translate to get something they can understand. You have to be aware that Google Translate is doing a terrible job at it. I think the main reason is that I am typing everything on Qwerty keyboards, and thus not bothering with accents and some other special characters involved in the French language. I am also using a bit of slang. The resulting is often something that doesn't have at all the meaning it has in French.

Having a look at the previous post translated, the last paragraph turns out to be funny: [Google-EN] "At this time there, I have done evil, and I am furious." for [FR] "Sur ce coup la, je me suis fait avoir mechamment, et je suis furieux." which means more something like [EN] "On this one, I got badly owned and I am furious". I am not sure where the "I have done evil" comes from.

I think Google is trying to make it look worse than it is. OMG CONSPIRACY.

I would add that the reason I maintain this blog in French, is that it's mostly the only place where I can still use my mother tongue. And when you realize that sometimes you struggle to find a word in your first language while it comes fairly easily in English, it means that every exercise is good.

Tuesday, April 7, 2009

Vulnerability Disclosure en 2009

Il semblerait que personne n'apprenne quoi que ce soit. Jamais. Ca serait con de tirer des lecons des erreurs des autres hein?

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

Et dire que je pensais que la 3D et le hacking, c'etait bon pour Hackers et les fantasmes du genre. J'avais tort (une fois du plus diront certaines mauvaises langues). Il n'est pas necessairement connu de tout le monde que les produits VMware implementent un certain support 3D depuis un long moment. Et oui, on peut jouer a WoW dans une VMware...

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.
  1. 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.
  2. 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

Bon Xvidcap me chie dessus mechamment et ne capture que 10% des frames. Si quelqu'un connait un moyen alternatif de capturer une video de son bureau sous Ubuntu je suis preneur.

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

http://lists.vmware.com/pipermail/security-announce/2009/000054.html

"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

A la suite du deces (confirme) de mon protege, je vais m'efforcer de publier le papier pour le moment confidentiel couvrant le sujet, les implications. Je suis furieux. On ne tue pas quelque chose de ce potentiel.

Side note: j'uploade les photos de Ultra 2009 sous peu.