lunes, 8 de diciembre de 2008

Haciendo Hacking con USB

Thunder [yuniet02015@hab.jovenclub.cu]

PRESENTACION

Un saludo nuevamente a todos los lectores seguidores de la zine BlackHat. Ya estamos de vuelta con “otra”, esta vez con un pequeño vistazo a nuestras Flash Memories. Este artículo presenta un análisis de mecanismos de acceso a través de dispositivos USB, siendo éstos destinados principalmente a quebrantar la seguridad de sistemas basados en Windows. Igualmente, el escrito presenta una aplicación de “Hackblade” la cual es una de las técnicas que pueden ser utilizadas para realizar un ataque a través de un dispositivo USB; Por último, se discuten algunas medidas de detección y prevención recomendables para evitar un ataque realizado con un dispositivo USB.

INTRODUCCION

USB son las siglas de Universal Serial Bus. En ordenadores, un bus es un subsistema que transfiere datos o electricidad entre componentes del ordenador dentro de un ordenador o entre ordenadores. La tecnología USB ha sido promovida principalmente por Intel, aunque le han seguido todos los grandes fabricantes, de forma que se ha convertido en un estándar importante En la actualidad los dispositivos de almacenamiento USB son muy populares, debido a su facilidad de uso y relativamente bajo costo. Además de su gran capacidad, algunos de estos dispositivos cuentan además con reproductores multimedia, haciéndolos aun más atractivos al público. Unas de las líneas de estos dispositivos multimedia son los iPods, Sansa, MP4, etc. A quien no le gusta ir con un “yerrito” de estos por la calle oyendo los gigas y gigas de música que les caben. Sin duda, los dispositivos de almacenamiento USB han revolucionado desde hace algunos años la manera en que las personas manejan sus archivos.

No obstante, pese a su gran utilidad, estos dispositivos ofrecen diferentes mecanismos para romper la seguridad de un sistema. Dichos mecanismos son, en su mayor parte, desconocidos por los administradores de PC’s en las organizaciones, por lo cual en la mayoría de los centros no se toman medidas de control sobre estos dispositivos. El presente escrito describe algunas técnicas de acceso y control usando dispositivos USB que pueden ser usadas con facilidad. Además se dan medidas de prevención ante un ataque basado en dispositivos USB.

ANTES DE CONTINUAR

Dentro del marco de dispositivos de almacenamiento USB, es necesario ver algunos conceptos, entenderlos nos va a permitir comprender las técnicas usadas para romper la seguridad de los PC.

HARDWARE USB

Los dispositivos USB adoptan una topología de estrella y se organiza por niveles a partir de un controlador host instalado en la placa base, que actúa de interfaz entre el bus de ésta (generalmente a la interfaz PCI) y el primer dispositivo USB, el denominado concentrador raíz ("Root hub"), instalado también en la placa. Dada la proliferación de este tipo de dispositivos, las placas modernas pueden disponer de varias concentradoras raíces, cada uno con su propia salida. El bus USB soporta intercambio simultáneo de datos entre un ordenador anfitrión y un amplio conjunto de periféricos. Todos los periféricos conectados comparten el ancho de banda del bus. El bus permite conexión y desconexión dinámica, es decir, que los periféricos se conecten, configuren, manipulen y desconecten mientras el sistema anfitrión y otros periféricos permanecen en funcionamiento, cuando se detecta un nuevo dispositivo es el host el encargado de cargar los drivers oportunos sin necesidad de intervención por el usuario.

CABLES Y CONECTORES USB

El cable de bus USB es de 4 hilos, y comprende líneas de señal (datos) y alimentación, con lo que las funciones pueden utilizar un único cable. Se usan dos tipos de conectores, A y B. Ambos son polarizados (solo pueden insertarse en una posición) y utilizan sistemas de presión para sujetarse. Los de tipo A utilizan la hembra en el sistema anfitrión, y suelen usarse en dispositivos en los que la conexión es permanente (por ejemplo, ratones y teclados). Los de tipo B utilizan la hembra en el dispositivo USB, y se utilizan en sistemas móviles (por ejemplo, cámaras fotográficas o altavoces).

SISTEMA U3

De acuerdo a su sitio oficial [http://www.u3.com/smart/default.aspx], U3 es una tecnología para dispositivos de almacenamiento USB que permite tener sobre éste un conjunto de aplicaciones, tal que éstas se puedan usar en cualquier PC tan sólo con conectar el dispositivo. Ésta tecnología sólo funciona sobre Windows, específicamente Windows 2000 SP4, Windows XP, Windows 2003 Server o Windows Vista (todas las ediciones). U3 permite acceder a las aplicaciones y los datos a través de una utilidad llamada Launchpad. Ésta utilidad abre un menú similar al mostrado por Windows XP tan pronto se conecta la memoria al PC. Es precisamente esta utilidad lo que convierte a U3 en un problema de seguridad; la ejecución automática del Launchpad permite integrar código malicioso dentro de la aplicación. El mecanismo a través del cual U3 abre automáticamente el Launchpad puede ser considerada como una solución torpe a la falta de arranque automático en los dispositivos de almacenamiento USB. Usualmente, cuando se conecta un dispositivo USB con reproducción automática activada, Windows muestra un diálogo en el cual pregunta al usuario que acción debe tomar, lo cual permite impedir hasta cierto punto la ejecución de código sin consentimiento del usuario. Sin embargo, U3 emula una unidad de CDROM en la cual se encuentra el Launchpad; así, cuando se conecta el dispositivo, el Launchpad corre automáticamente (claro está, asumiendo que el usuario tiene activado en su sistema la reproducción automática para CD), sin preguntar al usuario que acción debería se realizada. El experimento descrito en este documento se basa en U3 para recolectar información de un computador sin que el usuario lo perciba.

METODOS Y HERRAMIENTAS DE ATAQUE

Existen diversos mecanismos para tomar control sobre una máquina, o bien acceder a información contenida en ésta. Todos los ataques informáticos requieren de un medio a través del cual se realicen las acciones relativas al ataque; por tanto, se deben considerar a los dispositivos USB simplemente como un medio más, así como Internet es considerado como tal. Por tanto, muchos de los mecanismos usados a través de una red pueden ser aplicables a un dispositivo USB con sus modificaciones correspondientes.

Podslurping: El termino “Slurping” hace referencia a chupar o sorber. En este sentido, el podslurping consiste en usar un dispositivo USB con el fin de “sorber” información de una maquina sin que el usuario lo note (el término nació particularmente con el uso de iPods para realizar este ataque). El ataque típico se realiza usando ingeniería social; Se solicita a la víctima conectar el dispositivo a su maquina, con la excusa de recargar la batería del iPod, o bien copiar algún archivo. Una vez se conecta el dispositivo y se abre el explorador de archivos, el dispositivo corre un script que copia en modo silencioso todos los archivos que encuentre en carpetas específicas, tales como la carpeta de documentos, sin que la víctima del ataque lo pueda notar. Un ejemplo simple de un script en batch para podsulrping seria el siguiente:

@echo off
mkdir %~d0\%computername%
xcopy “C:\Documents and Settings\%username%\Mis Documentos\*.doc” %~d0\%computername% /s/c/q/r/h
@cls
@exit


Este script crea una carpeta en la memoria flash con el nombre de la maquina atacada, y copia los contenidos de la carpeta de Mis Documentos. Aunque pequeño y simple, este script es bastante efectivo. En realidad, el éxito de la técnica se basa en la velocidad de transferencia y la capacidad de dispositivos como el iPod.

USB Dumper: Dumper es una pequeña utilidad capaz de correr en cualquier PC bajo Windows y que realiza una copia del contenido de cualquier dispositivo de almacenamiento USB que se inserte en el sistema. Es muy sencilla de utilizar y su operación es totalmente silenciosa. Incluso existe ya una versión mejorada (Usbdump2) que dispone de un interfaz gráfico y algunas funcionalidades extras aún más peligrosa que aquellas presentes en la primera versión (inyección de macros en documentos Word y Excel, selección de extensiones a copiar y posibilidad de arrancar automáticamente un ejecutable dado tras la inserción de un dispositivo, lo cual generalmente no se puede realizar). Solo se debe indicar en qué directorio desea que Dumper ponga los contenidos capturados de los dispositivos USB que se inserten. Después de iniciada, se arranca un proceso que, cuando se inserte un dispositivo USB, copia todo su contenido al directorio indicado. El funcionamiento es silencioso, aunque no oculta su presencia al administrador de tareas. Además de este soft, existen otros con los mismos fines.

USB Hacksaw: Hacksaw utiliza una versión modificada del Dumper que se instala una vez en el sistema víctima para que funcione como proceso en segundo plano siempre que esa PC inicie, esperando a que un dispositivo USB sea instalado. El funcionamiento de Hacksaw es simple; Una vez que un dispositivo USB se inserte en un sistema, copia la carga útil a la PC y empieza a funcionar silenciosamente el archivo de recolección y envío de datos. Éste último archiva la información obtenida usando el formato RAR, establece una conexión SSL a un servidor de correo SMTP y envía los datos descargados a una dirección de correo de Gmail; posteriormente, elimina los documentos y archivos. La herramienta se ha modificado rápidamente para incluir otros propósitos malévolos, incluyendo el funcionamiento de una versión especial de Nmap y de otras exploraciones de vulnerabilidad y de envío de datos a las posiciones remotas. Una versión más peligrosa lanzada recientemente incluye la capacidad de instalar la carga útil sobre cualquier drive instalado, permitiéndole infectar otros sistemas. Éste es el primer caso reportado de un gusano real del USB flash drive.

USB Switchblade: Básicamente, Switchblade es una técnica que recupera información silenciosamente de equipos con Windows 2000 o posterior. Dicha información incluye (aunque no solamente) información de IP del computador, hashes de contraseñas, y passwords LSA. Aunque la técnica inicialmente fue creada para ser usada con dispositivos de almacenamiento convencionales, la tecnología U3 permite realizar ataques Switchblade de manera mas silenciosa y totalmente automatizada (no se debe abrir el explorador de archivos, tan solo se debe conectar el dispositivo a la maquina), y por eso es la mas preferible. Se debe modificar la unidad de CDROM emulada por el dispositivo, tal que se ejecuten los scripts de Switchblade al iniciar automáticamente el Launchpad.

SISTEMAS OPERATIVOS

Existe una manera de controlar por completo una máquina a través de USB, y esto se logra a través de un Sistema Operativo. Debido a su gran capacidad, los dispositivos de almacenamiento USB actuales permiten incluso instalar Sistemas Operativos completos dentro de ellos. Realizar un ataque basándose en un sistema operativo instalado sobre una memoria USB puede ser considerada como la mejor forma de realizar actividades ilícitas sobre un computador. Al no utilizar el sistema de archivos del disco duro, no se dejan rastros sobre éste, dificultando en gran manera la obtención de “rastros”. La única manera conocida (por lo menos que yo sepa) de recolectar evidencias en caso de haberse usado esta técnica es obtener el dispositivo como tal. Existen métodos para instalar Windows en un dispositivo USB; Sin embargo, se considera que es más útil instalar alguna distribución Linux, dado que este Sistema Operativo es más ligero que Windows (existe una distribución de Linux especializada en memorias USB llamada “damn small Linux” que requiere tan solo 64 MB de espacio libre en el dispositivo...jeje). Existen distribuciones Linux especializadas en técnicas de hacking que pueden instalarse dentro de un dispositivo USB; tal es el caso de Backtrack y Nubuntu.[http://articles.techrepublic.com.com/5100-6346-5928902.html], [http://www.pendrivelinux.com/2007/01/02/all-in-one-usb-dsl]

Ésta técnica no es aplicable en todos las PC, ya que no todos cuentan con la capacidad de arrancar la máquina sobre un dispositivo USB. Sin embargo, la mayoría de Los ordenadores modernos cuentan con dicha capacidad, convirtiendo a esta técnica en un importante riesgo de seguridad.

EXPERIMENTANDO

Vamos a ver ahora una de las técnicas mencionadas en acción, me refiero al “Hackblade”. Esta técnica funciona sobre U3, y es capaz de obtener información de IP del computador, contraseñas de Windows Messenger y MSN Messenger, contraseñas de los usuarios de Windows, e incluso la clave de producto de Microsoft Office y Windows. Además, del mismo modo que Hacksaw, deja un programa residente en la PC que se encarga de enviar la información recopilada a una cuenta de correo. Una de las grandes ventajas de usar esta implementación en particular es que un programa antivirus que detecte el programa, no podrá eliminar el archivo del sistema, dado que se instala todo sobre la unidad de CD emulada. Al igual que con algunas implementaciones de Switchblade, para instalarlo apropiadamente en la memoria se debe modificar la unidad de CD-ROM emulada Una vez se ha modificado la unidad emulada, se procede a configurar la herramienta; ésta tiene una utilidad gráfica que permite configurar muy fácilmente las opciones con las que se va a realizar el ataque.

Finalmente, se utiliza la herramienta sobre la máquina deseada; no todas las opciones son veloces (tal es el caso de la enumeración de puertos), por tanto se debe dejar conectado el dispositivo un rato lo suficientemente largo para que pueda realizar

Todas sus actividades cómodamente. En primer lugar, la herramienta puede identificar las contraseñas del sistema; éstas se obtienen desde el la base de datos SAM (Security Account Manager), en la cual están todos los hashes de las contraseñas; para obtener las contraseñas efectivas:

Administrador:500:6BCC84******23682E9FB2*******DA516C7B2
29E0822*********A:::
Invitado:501:NO PASSWORD*********************:NO
PASSWORD*********************:::


A su vez, en SAM se pueden obtener las contraseñas de varios programas de Microsoft. Tal es el caso de MSN Messenger, que también guarda los hashes de las cuentas guardadas:

Item Name: WindowsLive
name=usuario@hotmail.com
Type: Generic
User: usuario@hotmail.com
Password: ***9***ld
Last Written: 10/11/2008 12:07:06 p.m.


También se obtuvieron las claves de producto de Windows; éstas se obtuvieron a partir del registro de Windows, leyendo la llave HKEY_LOCAL_MACHINE/Software/Microsoft/Windows/CurrentVersion/ProductId

Product Name: Microsoft Windows XP
Product ID: 55**0-*****-791*-230***
Product Key: PQ**M-*****-3B**W-*****-V**XQ
Computer Name: DESKTOP


La información de las cuentas de correo de la víctima también puede ser obtenida, en caso de que las registre en programas como Outlook o ThunderBird.

Name: Usuario Apellidos
Application: MS Outlook 2002/2003/2007
Email: usuario@gmail.com
Server: pop. gmail.com
Type: POP3
User: usuario
Password: ***v******l******e
Profile: Outlook


Por último, se presentan los procesos activos al momento de realizar el ataque. Ésta información se obtiene ejecutando comandos de sistema como tasklist.

Process ID: 1944 (Apache.exe)
Service Name: Apache2
Display Name: Apache2
Service Type: runs in its own process
PID Port Local IP State Remote
IP: Port
1944 TCP 80 0.0.0.0 LISTENING 0.0.0.0:2128
Process ID: 1968 (AdskScSrv.exe)
Service Name: Autodesk Licensing Service


DETECCIÓN Y PREVENCIÓN

Es importante saber que el objetivo de usar herramientas basadas en dispositivos USB es el de dificultar el seguimiento de “rastros” por el usuario. Esto se puede lograr debido al poco uso que se le da al disco duro donde se encuentra el Sistema Operativo y otros archivos al momento de realizar acciones ilícitas. En estos casos no se encuentran tantos rastros como se encontrarían en caso de usar mecanismos para obtener los mismos resultados a través de una red. Además, también existe la posibilidad de instalar un S.O totalmente funcional sobre un dispositivo USB, como comente anteriormente; si se utiliza dicho S.O, usando el sistema de archivos instalado sobre el dispositivo, no se deja rastro alguno de las actividades realizadas. A pesar de todas estas razones, se puede detectar el uso de las herramientas mencionadas si se conocen los mecanismos utilizados por ellas; Para poder realizar el seguimiento del uso de estas herramientas hacia un dispositivo USB específico, en Windows se puede revisar el registro de dispositivos a través del comando regedit. En la llave KEY_LOCAL_MACHINE/system/CurrentControlSet/Enum/USB se encuentran llaves para cada uno de los dispositivos que se conectaron al equipo. Para cada uno, existe un identificador único, permitiendo así relacionar un dispositivo en particular con un equipo. Así, si se tiene la certeza de que se realizó un ataque con un dispositivo determinado y se tiene acceso a ese dispositivo, es posible comprobar que en efecto dicho dispositivo estuvo conectado al equipo. Sin embargo, este es un mecanismo muy rudimentario para identificar dispositivos o ataques hechos con éstos. Windows no provee por defecto un mecanismo para registrar las acciones realizadas a través de un dispositivo USB; sin embargo, existen herramientas como DeviceLock Plug And Play Auditor, que permiten llevar un registro de las acciones realizadas a través de dispositivos USB.
[http://www.protectme.com/devicelock_plug_and_play_auditor.html]

Para implementar un sistema de auditoria sobre dispositivos USB, se deben tener en cuenta los aspectos de identificación de éstos.

Según [http://www.networksecurityarchive.org/html/Computer-Forensics/2005-02/index.html#00006] los dispositivos de almacenamiento USB poseen un descriptor, en el cual se encuentran entre otros campos, un numero serial (iSerialNumber), un identificador del fabricante (idVendor), y un identificador del producto (idProduct). A través de estas estructuras de datos, se pueden identificar los dispositivos. El paso siguiente es registrar los accesos de lectura y escritura sobre el dispositivo; esto se puede lograr monitoreando (sniffing) la conexión con los dispositivos USB. Para lograr esto, se pueden emplear utilidades como usbsnoop, un sniffer de USB para Windows.

En cuanto a la prevención, es algo que tiene que ver mas con la “persona” que con el manejo técnico de los dispositivos, dado que la mayor parte de las técnicas descritas requieren en mayor o menor medida el uso de ingeniería social para ser aplicadas. A su vez, existen herramientas que bloquean completamente el acceso de dispositivos de almacenamiento USB; tal es el caso de USB Lock AP, que además impide el uso de disquetes y CDs.

PALABRAS FINALES

En este articulo fueron descritas varias herramientas que pueden ser utilizadas con dispositivos USB se considera muy fácil realizar un ataque a través de estos dispositivos, dada las características que posee y que son mencionadas, es muy importante conocer estas técnicas, y crear técnicas que permitan detectar y prevenir en una mejor manera ataques de esta naturaleza. Bueno...nos vemos en otra.



Artículos relacionados


2 comentarios:

Anónimo dijo...

Muy buen Articulo

Anonimo dijo...

Muchas por tu articulo, parece bastante útil pero la verdad es que somos bastante torpes con la informática y nos sería de grandisima ayuda que nos explicaras, si te es posible, de una manera más sencilla, los pasos a seguir para poder hacer un seguimiento del uso de un dispositivo de USB específico. Muchas gracias, de ello depende nuestro futuro en el curro.