1. ¡Hackea Windows Vista!
Ataque
Cristián David Argentero
Grado de dificultad
Queda, absolutamente, demostrado que en El Mundo de las TIC´s
(Tecnologías de la Información y Comunicaciones): El 1° puede
llegar a ser el último y el último puede lograr alcanzar la punta.
MS Windows Vista... ¿Un Candidato que se coronó Rey antes de
conseguir „Su Legado”?
C
uenta una bella historia (ya conocida www.coseinc.com/) consiguió lograr el osado
en el Mundo de las TICs) que Microsoft desafío propuesto. Joanna Rutkowska, ha sido
Corp. invitaba a los asistentes expertos la primera persona (hasta el momento) en de-
y especialistas en Seguridad Informática -véase, mostrar que es posible saltarse las medidas de
Hackers - a la prestigiosa conferencia de Black seguridad de Windows Vista. Ella explicó que:
Hat (Famoso y reconocido MegaEvento sobre es posible utilizar tecnología virtual para volver
Seguridad en las TICs (Tecnologías de la Infor- indetectables los códigos maliciosos (Malware)
mación y Comunicaciones) realizado cada año e insertarlos en el Kernel, de la misma forma
en Las Vegas. Es un acontecimiento que reúne
a los gurús más idóneos en la materia a lo largo
y lo ancho de todo El Mundo. Es una cita obligada
En este artículo aprenderás...
y majestuosa para quienes quieren degustar la • Explotar las vulnerabilidades del nuevo y „jugo-
otra cara de la moneda. Más Información: http:// so” SO de MS (Windows Vista);
www.blackhat.com/) 2006, con el motivo de • Conceptos del trabajo con técnicas/estrategias
intentar reventar los sistemas de seguridad de sobre las profundidades del Kernel del SO;
Windows Vista (su nuevo Sistema Operativo • Tecnologías de virtualización por Hardware
en el mercado, aparentemente, el más seguro y Software dedicado a la emulación del mismo;
hasta la fecha jamás creado, según El Tío Bill • Programación de Mini-Exploit personalizado
Gates). Entonces, como era de suponerse, para lograr los objetivos propuestos;
• Posibles (y futuras) soluciones a tales inconve-
pasó lo inesperado (para Microsoft Corp.)
nientes.
y lo esperado (para el público investigador y/o
seguidor de estos productos, acostumbrados Lo que deberías saber...
a ello). Pero… ¿Qué ocurrió? Una programa-
• Las nociones preliminares del funcionamiento
dora polaca que trabaja para la Compañía „interno” de un SO;
Coseinc Inc (Empresa dedicada al estudio • Fundamentos básicos de la Programación
avanzado de Software Neurálgico relacionado Orientada a Objetos (OMT);
a Códigos Maliciosos. Más Información: http://
16 www.hakin9.org
5. Ataque
Empero, aunque no lo notes,
ahora todos los dispositivos son
completamente accesibles al SO,
que está ejecutando una máquina
virtual (VM) interior. Esto ocurre
gracias a las tecnologías de última
generación que consienten la virtua-
lización del hardware con respecto
al software (sincronizados). Los
paradigmas más reconocidos que
hacen posible tal obrar, en nuestros
días, son: SVM/Pacífica de AMD
o Bit VT de Intel. (Figura 2).
Dada la infografía de arriba, po-
demos entender como el SO sigue
creyendo que se está ejecutando en
la PC, cuando en realidad se ejecuta
dentro de una máquina virtual (VM)
controlada por el programa que lo
infectó. Figura 6. Comiéndose a la memoria del sistema
De este modo, la aplicación se
vuelve virtualmente invisible, dado memoria de intercambio virtual del incursión por las VMs de una pato-
que Windows Vista sólo puede ver SO (Swap), donde ya no tendría la logía un tanto grave (clasificación
la máquina virtual (el mundo que ha capacidad de seguir ejecutándose crítica) que permite insertar código
sido puesto ante sus ojos para ocul- y, por lo tanto, tampoco podrá mu- arbitrario en la médula del Kernel
tarle la verdad). (Figura 3). tar ni moverse allí.(Figura 4). En (núcleo del SO) sin percatase de
Asimismo, un programa de esta definitiva, el esquema radical de su conocer si éste se encuentra firma-
magnitud corriendo dentro de una interoperabilidad sería el que a conti- do digitalmente o no. Lo que sería
máquina virtual (VM) puede ser sos- nuación se muestra en Figura 5. capaz de eludir el sistema de certi-
pechoso, pero un SO dentro de una ficados genuinos requeridos para la
máquina virtual (VM) que a su vez Parte II - Red Pill (Pastilla instalación de drivers (precisos para
está dentro de otra máquina virtual Roja): Sometiendo a engaños el funcionamiento idóneo de disposi-
(VM) ejecutando la misma aplicación, el Núcleo del Sistema -Kernel- tivos en el SO).
muestra desconcierto de razona- ¿Quién no conoce la importancia Se trata de una instrucción que
miento lógico. Sin embargo, su punto y relevancia del Kernel? ¿Quién no no es privilegiada en los rangos del
en contra (defecto) es la degradación se ha visto know out (KO) por la caí- Microprocesador, la SIDT. Es decir,
en su rendimiento y performance da del mismo? ¿Por qué los mayores no causa una excepción cuando se
(debido al consumo extremo de re- (y mejores) ataques a nivel de Segu- la aplica. Pero, si es sensitiva. O sea,
quisitos para mantenerse estable en ridad Informática se suceden sobre da un resultado distinto en la VM
un sistema con tantas peticiones de este? ¿A qué se debe tan renombra- (Level 1) que en la RM (Level 0). Lo
este tipo), lo que puede ser el talón de da autoridad y dogma? ¿Y…? cual, no debería ser anunciado de
Aquiles para producir una vacuna que Para sintetizarlo en unas pocas ninguna manera. Tal artimaña es co-
lo evite y prevenga su intrusión des- líneas, el Kernel es el Núcleo de todo nocida con el nombre de Exclusion
autorizada a posteriori de haberse Sistema Operativo (SO); el sostén Trap (Trampa de Exclusión).
entregado a la intervención dañina. del mismo, la columna vertebral que En conclusión, ejecutar una
Incluso, contamos con las opcio- permite la sincronización entre los instrucción SIDT da un resultado
nes para desactivar estas VMs por Recursos Físicos (Hardware) con distinto dependiendo de donde se
Hardware desde la BIOS y el SO (in- los Recursos Lógicos (Software) de encuentro operando el Kernel del SO
dicadas por leyendas que hacen re- una máquina (llámese PC). El encar- con respecto al Microprocesador.
ferencia a sus nombres y funciones), gado de mantener en pie (armazón) Algo que no tendría que ser así,
las cuales no resultan convenientes a cualquier plataforma de Software por el simple hecho de que puede
recomendar, salvo para una salida de Base en posesión de un equipo… delatar su ubicación real a otras
emergencia al apuro oportuno. Pero, tanto mérito no le concede aplicaciones en memoria que pue-
Otro mecanismo para divisarlo ser perfecto y, lejos de estar de ello, den intentar persuadirlo para apro-
podría ser llenando toda la memoria tiene sus falencias. vecharse de tal vulnerabilidad y, por
RAM del equipo, de esta mane- En tal caso particular, MS Win- ende, esgrimir con sus actividades
ra, el programa sólo podría ir a la dows Vista sufre en su célebre perjudiciales.
20 www.hakin9.org
6. ¡Hackea Windows Vista!
El siguiente Código de Programa- relocalizar el IDTR del invitado en (Laboratorio de Control de Calidad
ción (El programa puede fallar en los un lugar seguro, para que no cause de Hardware de Windows). Por lo
sistemas con protección PAX/X^W/ conflictos con el anfitrión y termine que, tal contingencia sería resuelta
grsecurity. Porque la variable rpill no desbordando al sistema. Desgracia- sin mayores peligros e inconvenien-
es marcada como ejecutable. Para damente, VMM no puede saber si tes en su devenir.
hacerlo, debe usarse mprotect() en (y cuando) el proceso que se ejecutó Pues, entonces, como veredicto
la asignación rpill con el atributo de en el invitado desencadenó la instruc- final… Reforzar la prevención, pre-
PROT_EXEC. ción SIDT en el anfitrión, porque no ferentemente, con lo malo conocido,
Otra solución sería usar, simple- es una orden privilegiada (y, como sin arriesgarse en ir en búsqueda de
mente, asm() como palabra clave en inicialmente describimos, no genera lo bueno por conocer.
lugar de shellcode (como buffer). Sin una excepción). Así, el proceso con- Esa sería mi principal recomen-
embargo, este código de programa sigue la dirección IDT sin mayores dación; hasta que, por lo menos, las
debe ser considerado (más bien) inconvenientes y, por supuesto, sin el empresas en convenio, nos den una
como un esqueleto para construir el consentimiento del usuario a cargo. solución pertinente a la complicación
suyo. Mi meta era hacerlo tan simple Por ejemplo, fue observado que existente. ¿Hacemos trato…?
y portátil como sea posible. El resto, en VMWare la dirección relocalizada
se lo dejo al desafío de su imagina- IDT estaba en el sector 0xffXXXXXX, Al fin llegamos a la
ción…) efectuado en C++ descubre mientras que, en Virtual PC, la sección meta: ¿¡Lo logramos!?
(fehacientemente) lo que intento era 0xe8XXXXXX; respectivamente. Podríamos decir, en un juego inteli-
confesarles: ¿Extraño, no…? Sabiendo que gente de palabras, que el apasionante
Como antes lo dijimos, lo volve- una misma máquina (PC) comparte y sorpresivo Mundo de la (IN)se-
mos a reiterar… El corazón de este un cabal recurso de privilegios en guridad Informática nos sobrepasa y
código, ciertamente, es la instruc- instancias del Microprocesador que colapsa cualquier seguridad vigente
ción SIDT (aquí como 0F010D[addr]) el SO (más específicamente el Ker- en tiempos inconcebibles, pero rea-
que tiende a los volúmenes de inte- nel del mismo) impone. La captura les. ¿Qué lo corrobora y/o cerciora?
rrupción del descriptor de la tabla del de pantalla que veremos en Figura 6, Sin ir más allá, lo aquí dispuesto
registro (IDTR) en el destino local de mostrará su representación substan- (mecanismos -cariñosamente lla-
memoria que se esté operando. cial de interoperabilidad. mados: Blue Pill / Red Pill- ideados
Debido a que hay sólo un IDTR re- Igualmente, se pretende que en y desarrollados por Joanna Ru-
gistrante como verdadero (True), pero un futuro, el SO (comandado por su tkowska en técnicas y/o estrategias
(por lo menos) dos SO que “corren” Kernel) sólo pueda instalar drivers de de Hackeo a Windows Vista) dan
concurrentemente (el anfitrión -host- dispositivos autorizados por firmas una pequeña gran pauta de lo lejos
y el invitado -guest-), VMM necesita digitales con Certificación WHQL que estamos de una forma bastante
efectista y eficiente de poseer un SO
(promocionado por Microsoft Corp.)
En la Red que sea robusto, confiable, versátil
y flexible a las exigencias de los
• http://www.kriptopolis.org/node/2688
• http://invisiblethings.org/
usuarios alrededor de todo el mundo
• http://www.eweek.com/category2/0,1874,1237918,00.asp y de los tiempos que corren.
• http://feeds.computerworld.com/Computerworld/TopNews Pero… Sin olvidarse de hacerlos
• http://www.internetnews.com/security/ ¡SEGUROS!
• http://www.internetnews.com/7-days/ Muchos le encontraran y/o con-
• http://news.zdnet.com/2038-1009_22-0-topic.html?id=6219&name=Windows sideraran a esta nota un halo de
+Vista fantasía y superstición. Sin embargo,
• http://www.networkworld.com/news/ las denominaciones y tendencias
• http://www.vmware.com/standards/index.html aquí desempeñadas y aprendidas se
• http://www.winehq.com
apoyan en el pedestal hegemónico
(por analogía) a la tan admirada Pe-
lícula Matrix donde la gente cree vivir
en un mundo real cuando en realidad
Sobre el Autor viven en úteros artificiales controla-
Argentero, Cristián David (alias ^[(CR@M3R)]^)... Es estudiante de Lic. en Informática
dos por máquinas. Del mismo modo,
y gran apasionado por las TIC´s (Tecnologías de la Información y Comunicaciones).
Sus actuales condiciones en la materia lo han llevado al abordaje de la Información Windows Vista cree ejecutarse en
y el Conocimiento de manera: Universal, Libre y Gratuita; prestando servicios una máquina real cuando en realidad
y soluciones en la profesión de manera idónea y acorde a las exigencias dispuestas. se ejecuta en una máquina virtual y…
Contacto con el Autor: cdaznet@hotmail.com Allí es dónde comienzan los dolores
de cabezas. l
www.hakin9.org 21