Ataque
Cristián David Argentero
Grado de dificultad
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
¡Hackea Windows Vista!
www.hakin9.org 17
Ataque
sobre Plataformas de x64 Bits (otor- • Por defecto, el SO trabajaría en • Estrictamente, sólo se podrían
gada mediante el Software Base cooperación con un virtualizador instalar drivers de dispositivos
y los Microprocesadores que sopor- propio, de capa fina, que redirigi- autorizados por su firma digital,
ten tales arquitecturas). ría cualquier llamada al hardware. con Certificación WHQL (Labo-
Además, se hace énfasis en indi- Éste detectaría que otra VM (má- ratorio de Control de Calidad de
car que se trata del SO MS Windows quina virtual) intenta meterse Hardware de Windows).
Vista Beta 2 x64 Bits (versión publi- y apoderarse de su control, por lo
ca). Lo cual, establece que lo más que podría interactuar con el Sis- Por lo que, el otro inconveniente
probable y normal sea corregir tales tema Operativo y alertar al usua- (Blue Red -Pastilla Roja-) también
fallas cuando salga una distribución rio de esas intenciones quién, sería resuelto.
final (definitiva) del mismo. a la vez, frenaría la/s acción/es Entonces, a continuación, dejo
Allí, teóricamente, ocurrirían 2 que quiere/n llevarse a cabo. a su criterio la evaluación técnica del
(dos) cosas que evitarían tales in- Pues, así, se solucionaría el pro- desarrollo de ambas metodologías…
convenientes: blema Blue Pill (Pastilla Azul);
Poniéndonos a Punto
Blue Pill Idea (simplified) El posterior análisis (estructural, sis-
temático, metódico y conciso) des-
PROC bluepill plegará los fundamentos y las carac-
Native Operating
System terísticas esenciales de los artilugios
enable SVM anteriormente descritos. Por ende,
estudiaremos y/o examinaremos el
prepare VMCB siguiente contenido:
Call bluepill
VMRUN
VMCB Parte I - Blue Pill (Pastilla
RIP Azul): Creando Código
Blue Pill Malicioso -Malware-
check Hypervisor
Indetectable
VMCB exit code
Todos los RootKit´s y Backdoors ac-
tuales, de los cuales estoy enterado,
RET from bluepill PROC, se basan en una concepción (teo-
never reached in host mode,
only executed once in guest mode ría). Por ejemplo: FU fue asentado
RET en una idea de desatar bloques de
EPROCESS de la lista de procesos
Native Operating System continues to execute, only during activos en el Kernel del SO, Shadow
but inside Virtual Machine this time... first call
Walker fue cimentado en un concep-
© COSEINC Research, Advanced Malware Labs, 2006 to de engañar al visitante de una Pá-
gina Web (preparada para el caso)
Figura 2. La idea simplificada de Blue Pill (Píldora Azul) y de marcar algunas partes del cuer-
po del sitio (Body Site) como inválida
y así poder ejecutar código arbitrario,
Nested VMs
Deepdoor hizo lo suyo cambiando
algunos campos en la estructura de
VMCB1 Creating new VMCB1
VMCB2 VM on behalf datos NDIS; tomando control remoto
of the VM1 del sistema, Etc…
Hypervisor VMRUN VMRUN VMRUN Por lo tanto, una vez que sepas
de qué concepto se trata, podrás, al
Allow VM1
to handle VM2's menos hipotéticamente, detectar el
VM 1 VMRUN
events Código Malicioso que se encuentra
en tu máquina.
Ahora, imagina un Malware
intercepted (desconocido, aún, en su tipo) con
VM 2
event capacidades de ser imperceptible.
time
Del cual no se pueda confiar en la os-
curidad de su concepto (teoría). Éste,
© COSEINC Research, Advanced Malware Labs, 2006 no podría detectarse (en la práctica)
aún cuando su algoritmo (conjunto
Figura 3 Anidamiento de Máquinas Virtuales (VMs) ordenado y finito de operaciones que
18 www.hakin9.org
¡Hackea Windows Vista!
tx = extra time
VM 1
time
internet
www.hakin9.org 19
Ataque
20 www.hakin9.org
¡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