Yago Fernandez Hansen
Valoración de los usuarios: / 10
PobreEl mejor 
Addthis

p9119703_sw

Desde hace tiempo he tenido ganas de publicar algo interesante sobre los bootkits, que son un tipo de malware que, personalmente me parece muy sofisticado y limpio. He estado siguiendo los avances de uno de los mejores programadores de bootkits que están activos actualmente. Su nombre es Peter Kleissner, un joven austríaco de aproximadamente 19 años de edad con una capacidad impresionante para la programación orientada a la seguridad y el hacking. Su historial, además de impresionante, denota esa faceta que a muchos programadores con intereses similares les ha hecho caminar entre la frontera gris entre el blanco y el negro. Si ya con quince años creó su primer sistema operativo (toasteros) basado en Linux, con diecisiete trabajó para una importante compañía de antivirus, y con dieciocho presentó una gran conferencia en Black Hat sobre su Bootkit Stoned.

Este caminar por el lado gris, que por supuesto le ha aportado grandes conocimientos sobre la seguridad, sobre todo, habiendo trabajado en una gran compañía de software antivirus como desarrollador, le ha llevado en los últimos años ha tener que enfrentarse en varias ocasiones con la justicia austriaca, y de hecho así lo hace actualmente. Por supuesto no voy a llevar esto a una de esas discusiones morales sobre el bien y el mal, pero sí que creo que cortando p se aprende a capar (lo siento por el simil).

Independientemente del gran historial de este hacker, debo centrarme en la importancia de los bootkits, y como predecesores, los proyectos Kon Boot y Stoned bootkit. Un bootkit, consiste en un código de programación oculto que parchea de alguna manera ciertas partes interesantes del Kernel para obtener ciertos fines interesantes como ocultar procesos, o conseguir privilegios de administrador de una máquina.

Por tanto, puede sonar muy parecido a la definición de un rootkit. Pero no es así, ya que un bootkit no deja (en principio) huella en la máquina víctima, ya que no es necesario que modifique nada en el sistema de archivos. Podemos cargarlo desde un CDROM con autoarranque, desde un pendrive o incluso modificando el código de la BIOS del equipo para que intervenga desde esa posición. Por tanto, intervendrá en la máquina durante el arranque, muchas veces podemos hacerlo modificando el MBR del disco duro "on the fly" para cargar cierto código anterior a la carga del Kernel del sistema operativo.

Como ejemplo, Kon Boot está disponible para Windows y para Linux y abarca versiones hasta Vista. Peter está trabajando ahora en otro proyecto donde enlaza bootkit, botnet y otros tipos de malware que amplían el abanico de trabajo de este tipo de herramientas. Ya ha obtenido buenos resultados sobre Windows 7, incluso en versiones de 64 bits. Por cierto, Stoned ya hace cosas como encontrar contenedores de claves de cifrado de TrueCrypt para descifrar discos duros completos mediante TChunt.

Hay mucha más información sobre todo esto, pero creo que los interesados debeis investigar un poco:

http://www.stoned-vienna.com/

http://www.piotrbania.com/all/kon-boot/

Por cierto os incluyo un video muy interesante sobre el tema:

Artículo que desvincula un nuevo bootkit "Whistler bootkit" de Stoned Bootkit en el que explica Peter, que el código de Whistler está basado en Stoned que estaba disponible en sourceforge para su descarga.

Press statement: Whistler Bootkit ain't Stoned Bootkit (20.03.2010)

Time ago allvirusthanks.org blogged about a 'Whistler Bootkit' and while they failed to censor the pictures, there's no reason to worry about. I published the Stoned Bootkit as open source to all developers to harness the power of distributed peer review and transparency of process. The Stoned Bootkit was published for months at SourceForge, because I believe in open source. Instead of taking advantage of the bootkit technology, I decided to talk about it open and presented it at Black Hat, Hacking at Random and DeepSec. The Stoned Bootkit is not criminal and its usage is not illegal, it's just an open source unsigned code loader. Even if Kaspersky thinks it would capture electromagnetic signals.

The source of Whistler Bootkit was just simply "stolen" from SourceForge from Stoned Bootkit in January (this is why I removed it from SF too). I have not tried to sell it, and let immediately remove the forum entry of opensc.ws. The Stoned Bootkit 2 source code is not for sale to anyone. Also this http://www.w32whistler.com/ fake website has nothing to do with the Stoned Bootkit.

Herramienta Anti-Bootkits

There is a nice Anti-Bootkit program available at http://ebfes.wordpress.com/. You can boot it from Floppy and CD and you view the hashes of the MBR and display the hex dump. Unfortunately it doesn't seem to provide a 'directly boot the OS' feature or a 'restore default MBR' feature. I tried to contact the author, but so far there is no response.

The project is available as source (no specific license), written by a German guy and is written in Assembler. That project has quite some potential, there may be some cool features for the future like detecting bootkits based on signatures and heuristics, removing them, displaying information about them etc. Sinowal (Mebroot) for example stores the MBR backup on unpartitioned space and also its configuration there, so the C&C server URL could be extracted from there (it's stored as plain text).

Puedes descargar esta herramienta antibootkits en: http://ebfe.de.vu/antibootkit/release085.zip

Editado por stoned team:

> ...un bootkit no deja (en principio) huella en la máquina víctima, ya que no es necesario que modifique nada en el sistema de archivos.<

It is true that a bootkit does not need to make changes to the file sysetem on the "victim's" computer; however, it does leave "marks" elsewhere on the "victim's" computer. Since a bootkit must execute before the OS it requires (and therefore must survive) a reboot after installation to become active. Surviving a reboot requires that the bootkit be stored somewhere on the victim computer. Usually it isstored in "hidden" sectors within unpartitioned space on the hard drive. But it could also be stored on some other flash device such as the bios, video option rom or the eeprom or NVRAM of some network adapter. Or the bootkit can be broken up into pieces and stored as fragments on all of the above. But these are all "marks" on the "victim's" computer which can be detected if you know where to look.

It is possible to inject code on the fly to infect the NIC or the GPU or the OS without the ability to persist. This can be quite useful in a server environment where computers run for a long time without a reboot. But that would not be a "bootkit."

 

Comentarios (2)
  • soportec  - Comentario y corrección de Peter Kleissner
    avatar
    Cool article! The only thing that is wrong is that ToasterOS isn't based on Linux - I have written it totally from scratch fully in assembler (and do not share any line of code with any other OS). ToasterOS was the reason why I could immediately start at the anti-virus company back in the summer of 2008. It was a bit of cheating - normally people learn C/C++ and then learn reverse engineering. I wrote the entire operating system in assembler (also the FAT/NTFS drivers etc) so I got a strong background in the machine code and thus reverse engineering wasn't difficult for me at all.
    Aloha,

    Peter Kleissner
  • lejiro  - Exelente
    Exelente tema Yago, seria bueno tener la muestra para las pruebas de concepto...
    Saludos al equipo me han servido de mucho en mi formacion...
¡Sólo los usuarios registrados pueden escribir comentarios!

Acerca del autor Yago Fernandez Hansen


Yago Fernández Hansen cuenta con master en ingeniería de software, además de contar con mas de 8 años de experiencia en tecnologías inalámbricas. Es especialista en la implementación y auditoria de redes Wi-Fi. Cuenta con amplia experiencias en motores de datos, sistemas Microsoft, Linux y Networking. Es formador y consultor en seguridad informática y métodos de penetración en redes Wi-Fi para empresas e instituciones. Finalista en el concurso IBM Leonardo DaVinci 1995, cuenta con publicaciones y artículos de informática, además de ser colaborador directo y revisor de publicaciones técnicas de la editorial Rama. Ha impartido diferentes talleres y seminarios de hacking ético y seguridad en Wi-Fi para empresas, organizaciones públicas y universidades.


Más información en: Linkedin

Conocer mas sobre Yago Fernandez Hansen

Relacionadas Noticias similares