¿Cómo un hacker puede hackear en las redes aisladas de reactores nucleares?

Share this…

**Este artículo es sólo para fines educativos**

Las infraestructuras críticas como plataformas petroleras y reactores nucleares tienen sofisticado nivel de seguridad para proteger contra los ataques cibernéticos. Sin embargo hackers están pensando un paso por delante de los profesionales de seguridad para hackear a la infraestructura crítica. Las infraestructuras críticas tienen las redes aisladas por lo tanto es muy difícil llegar a través del mundo exterior. Por esta razón, los hackers han desarrollado malware como Stuxnet y Flame, que propagan a través de dispositivos USB como en esas redes intercambian gran cantidad de información a través de dispositivos de memoria USB.

Memorias USB son dispositivos de almacenamiento de memoria reutilizables que se conectan al puerto USB de un ordenador y se conocen comúnmente como unidades flash o tarjetas de memoria. Usted puede borrar unidades USB cualquier número de veces y puede utilizarlas para diferentes propósitos.

Las memorias USB son tan comunes en estos días que los hackers han comenzado a escribir el malware específicamente para memoria USB. Con uso de estos malware los hackers son capaces de hackear redes aisladas como en las plantas nucleares. En este artículo vamos a hablar sobre el malware relacionado con USB con la ayuda de expertos en soluciones de seguridad informática.

DISEÑO DE DISCO USB

Una unidad flash USB es un dispositivo de almacenamiento de datos que incluye memoria flash con una interfaz Universal Serial Bus (USB) integrada. Una unidad flash consiste en una pequeña placa de circuito impreso con los elementos del circuito y un conector USB, aislados eléctricamente y protegidos dentro de un plástico, metal, o el caso de goma. La mayoría de las unidades flash utilizan una conexión estándar de tipo A de USB que permite la conexión con un puerto en un ordenador, pero también existen unidades de otras interfaces. Unidades flash USB consumen energía desde el ordenador a través de la conexión USB.

USB-DESIGN
USB-DESIGN

A continuación se mencionan las partes de una unidad flash:

  • Standard-A conector USB – proporciona una interfaz física para el equipo host.
  • Controlador de almacenamiento masivo USB – un pequeño microcontrolador con una pequeña cantidad de ROM en el chip y la memoria RAM.
  • Chip(s) de memoria flash NAND – almacena los datos (flash NAND es típicamente usado también en las cámaras digitales).
  • Cristal oscilador – produce señal de reloj de 12 MHz principal del dispositivo y los controles la salida de datos del dispositivo a través de un bucle de enganche de fase.
  • Cubierta – típicamente hecha de plástico o metal para proteger la electrónica contra el estrés mecánico e incluso posibles cortocircuitos.
  • Jumpers y test pins – para las pruebas durante la fabricación o carga del firmware de la unidad flash en el microcontrolador.
  • LEDs – indican transferencias de datos.
  • Write-protect switches – activar o desactivar la escritura de datos en la memoria.
  • Espacio despoblado – proporciona espacio para incluir un segundo chip de memoria. Tener este segundo espacio permite al fabricante utilizar una sola placa de circuito impreso para más de un dispositivo de tamaño de almacenamiento.
  • Algunas unidades ofrecen un almacenamiento ampliable a través de un slot para tarjeta de memoria interna, como un lector de tarjetas de memoria.

La mayoría de las unidades flash vienen con formato previo de FAT32 o sistemas de archivos exFAT. Los sectores son 512 bytes de longitud, para la compatibilidad con unidades de disco duro, y el primer sector puede contener master boot record y una tabla de particiones.

USB MALWARES

Hay dos tipos de malware de USB primero es el malware de firmware del disco USB y segundo es el malware de ordenador normal que se solo ejecuta en discos USB y se llama Ghost malware. Vamos a cubrir más detalles de cada uno de estos malwares y cómo hackers están utilizándolos para piratear en redes aisladas de infraestructuras críticas como plantes de energía eléctrica, reactores nucleares etc.

1. Malware basado en  firmware del microcontrolador USB

Los hackers hacen este malware con reprogramación del firmware de controlador de almacenamiento masivo de las unidades USB. A medida que se inyecta el malware dentro del firmware, que está en el microcontrolador y no en la memoria flash (donde guardamos nuestros archivos).

Mike Stevens, experto de formación de seguridad informática  explica que una vez que se inyecta el malware dentro del firmware del disco USB puede hacer lo siguiente

  • El malware de firmware de microcontrolador  puede emular un teclado y emitir comandos en nombre del usuario que ha iniciado sesión, por ejemplo, dando acceso de root al hacker e infectar a otros dispositivos en la red.
  • El disco USB puede actuar como tarjeta de red y cambiar DNS del equipo para redirigir el tráfico.

La confianza dada por los sistemas operativos como Windows, Mac y Linux a dispositivos de interfaz humana (HID), tales como teclados, tarjetas de red es la razón detrás de este ataque. Como aparecen las actividades realizadas por el malware, como si un usuario ha iniciado sesión para hacer esas actividades. El USB con malware en el firmware se detecta como un HID por un sistema operativo, y el malware se ejecuta la secuencia de comandos para dar control de root a hacker. Antivirus no puede detectar este tipo de amenaza como anti-virus piensa que un usuario ha iniciado sesión y dio acceso a otra persona de confianza.

Hay 3 diferentes tipos de ataques basado en firmware de controlador de almacenamiento masivo USB.

1.1 BADUSB

Como se explicó antes experto de formación de seguridad informática que el atacante tendrá un disco USB normal que contiene un pequeño microcontrolador, inyecte el malware en el firmware y toma el control de root de la computadora con la ayuda de este malware. Este tipo de USB se llama BADUSB.

Tipo de ataques con BADUSB

  • Pretender como USB de 4 GB sin embargo, tiene un espacio de 32 GB donde se utilizará resto del espacio para copiar los datos y después cargar al servidor remoto. Así, cuando se formatea el disco solo borra 4 GB de espacio.
  • Pretender como un teclado o mouse.
  • Pretender como una tarjeta de red.
  • Pretender como un teléfono o tableta.
  • Pretender como una cámara web.
  • Pretender como un token de autenticación del banco.
  • Pretender como impresoras y escáneres.
  • Pretender como conector de Tipo-C de luz y datos para el nuevo MacBook, Chromebook Pixel. A pesar de su versatilidad, Tipo-C todavía se basa en el estándar USB, que lo hace vulnerable a un ataque de firmware. Por lo tanto sería un ataque a través de cable de luz.

CÓMO CREAR BADUSB

PASO 1. Revise los detalles del microcontrolador

El primero verifique los detalles sobre el controlador y firmware asociado. Necesitamos un software como ChipGenius, CheckUDisk, UsbIDCheck, USBDeview para determinar eso. Estos son programas de código abierto y están fácilmente disponibles. Ellos le proporcionarán Vendor Chip, Part-Number, Vendedor del producto, Modelo de producto, VID, PID.

Chip-Genius
Chip-Genius

PASO 2. Restaurar el firmware original y comprobar el firmware (Paso opcional)

Usted puede utilizar este paso para reparar su USB también si por alguna razón esta muerta la unidad USB. Usted puede visitar el sitio web como flashboot.ru y comprobar el programa para restaurar.

flashboot
flashboot
flashboot-sofware-details
flashboot-sofware-details
flashboot-flashing
flashboot-flashing

Puede utilizar VID y PID encontrado en el paso anterior para buscar el programa para restaurar el firmware. Puede descargar la herramienta MP (mass production) como herramienta USBest UT16 acuerdo a su PID, VID y luego actualizar el controlador. Esto restaurará su USB completamente como nuevo USB según expertos en soluciones de seguridad informática.

MPTool
MPTool

PASO 3. Preparación para la inyección en firmware con malware

Vamos a cubrir el escenario de las memorias USB de Toshiba que tienen controlador de Phison. Las herramientas necesarias están disponibles en GitHub.

  • Es necesario instalar Windows con .NET 4.0 instalado y Visual Studio 2012
  • SDCC (Small Device C Compiler) Suite en C: \ Archivos de programa \ SDCC (para la construcción del firmware y parches) y reinicie el equipo después de instalar estos.
  • Haga doble clic en DriveCom.sln, este se ejecuta en Visual Studio. Ejecute el proyecto y compilar. Entonces el DriveCom.exe está en la carpeta de herramientas.
  • Haga lo mismo con EmbedPayload.sln y del inyector.
  • Ejecuta DriveCom como a continuación para obtener información sobre la unidad:

DriveCom.exe /drive=E /action=GetInfo

donde E es la letra de unidad. Esto debe decirle el tipo de controlador que tiene (como PS2251-03 (2303)) y el ID único de su chip flash.

Phison-Firmware
Phison-Firmware

PASO 4. Antes de realizar la operación de flashing de firmware

Para flashing necesitará burner images. Estas imágenes de burners se nombran normalmente utilizando la siguiente convención:

BNxxVyyyz.BIN

donde xx es la versión del controlador (por ejemplo, 03 por PS2251-03 (2303)), yyy es el número de versión (irrelevante), y z indica el tamaño de la página.

z puede ser:

2KM – indica que esto es para los chips NAND 2K.

4KM – indica que esto es para los chips NAND 4K.

M – indica es para los chips NAND 8K.

Puede descargar Burner images de Internet desde sitios web como usbdev.ru.

usbdev
usbdev

Para construir el firmware personalizado, abre el terminal de comandos en el directorio “firmware” y ejecutar build.bat. Puedes probar con FW03FF01V10353M.BIN como 1.03.53.

El archivo resultante será un firmware \bin\fw.bin, que luego se puede flash en su unidad USB.

También producirá un archivo firmware\bin\bn.bin, que es el equivalente burner image del código.

PASO 5. Cargar el firmware

Una vez que tenga la imagen, entrar en el modo de arranque ejecutando:

DriveCom.exe /drive=E /action=SetBootMode

donde E es la letra de unidad. Puede transferir y ejecutar burner image través de:

DriveCom.exe /drive=E /action=SendExecutable /burner=[burner]

donde E es la letra de unidad y [burner] es el nombre del archivo de imagen de burner.

Puede cargar el firmware mediante la ejecución de:

DriveCom.exe /drive=E /action=DumpFirmware /firmware=[firmware]

donde E es la letra de unidad y [firmware] es el nombre del archivo de destino.

PASO 6. Inyectar el malware en el firmware

Aquí va a necesitar su exploit con carga útil, según profesor de formación de hacking ético de IICS puede aprender a crear una carga útil de exploit y inyectar en código durante la formación de hacking ético. Sin embargo también puede obtener un script de página de GitHub de Rubber Ducky  y con la ayuda de Duckencoder puede crear un archivo inject.bin de su script.

Rubber-ducky-scripts
Rubber-ducky-scripts

Usted puede inyectar la carga útil en el firmware mediante la ejecución de:

EmbedPayload.exe inject.bin fw.bin

Dónde inject.bin es su script de Rubber Ducky compilado y fw.bin es la imagen del firmware personalizado.

PASO 7. Flashing el firmware de controlador de disco USB.

Una vez que tenga la imagen del burner y el firmware, ejecuta:

DriveCom.exe /drive=[letter] /action=SendFirmware /burner=[burner] /firmware=[firmware]

donde [letter] es la letra de la unidad, [burner] es el nombre de la imagen burner, y [firmware] es el nombre de la imagen de firmware.

Los pasos anteriores dará método para la creación de BADUSB y esto USB se puede utilizar para hacking ético y hacer pruebas de penetración. También puede crear tarjetas SD como BADSD que puede utilizar en teléfonos y tabletas para hackear ellos. A continuación se muestra el video de investigadores de soluciones de seguridad informática que muestran cómo modificar el firmware de la tarjeta SD e inyectar el malware en la tarjeta.

1.2 USB Rubber Ducky – UKI (USB Key Injector)

En lugar de crear su propio firmware USB también se puede comprar USB que se venden en mercados como Rubber Ducky USB o UKI (USB Key Inyector). Usted puede aprender más sobre USB Key Inyector y Rubber Ducky USB en formación de seguridad informática de International Institute of Cyber Security.

USB-key-injector
USB-key-injector

1.3 Placa de Teensy Microcontrolador

El uso de una placa Microcontrolador Teensy con varios tipos de software con el fin de imitar los dispositivos HID es el método más tradicional. Usted puede aprender más sobre Teensy en la formación de hacking ético.

Teensy-USB
Teensy-USB

2. GHOST USB Malware

Esto es como un malware normal, pero sólo se ejecuta en dispositivos USB y cuando esté dentro de una computadora no hace ninguna actividad. Los delincuentes utilizar estos métodos para comprometer las redes aisladas que no están accesibles a través de Internet. El malware de este tipo que fue descubierto recientemente fue FLAME. En el caso de la Flame, el malware crea una carpeta que no podía ser visto por un PC con Windows, ocultando el malware y los documentos robados del usuario, dicen los expertos de soluciones de seguridad informática. Esto abrió la posibilidad de que las personas llevan sin saberlo Flame de PC a PC. Unidades USB con Ghost Malware son eficaces en las redes aisladas donde hay un montón de información confidencial,  ya que las unidades de almacenamiento portátiles se utilizan normalmente para transferir datos entre computadoras en redes aisladas.

Flame puede extenderse a otros sistemas a través de una red local (LAN) o través de una memoria USB. Se puede grabar audio, capturas de pantalla, la actividad del teclado y el tráfico de la red. El programa también registra las conversaciones de Skype y puede convertir ordenadores infectados en transmisores de  Bluetooth, que intentan descargar la información de los dispositivos cercanos habilitados con Bluetooth. Estos datos, junto con los documentos almacenados localmente, se envía a uno de los varios servidores de comando y control de los piratas informáticos y después el malware puede tomar nuevas instrucciones de estos servidores.

flame-USB-malware
flame-USB-malware

Medidas de prevención

Cómo protegerse de BADUSB, USB Rubber Ducky tipo de dispositivos

De acuerdo con experto de soluciones de seguridad informática de plantas nucleares Taylor Reed de iicybsecurity usted puede tomar los siguientes pasos.

  1. Conecte sólo dispositivos USB de los vendedores que usted conoce y dispositivos USB de confianza. Para las infraestructuras críticas como plantas nucleares y plataformas petroleras, utiliza dispositivos que tienen firmware firmado y asegurado por el vendedor en caso de que alguien trata de romper el firmware, los dispositivos no funcionarán.
  2. Mantenga su programa de antimalware actualizado. No va a escanear el firmware pero debe detectar si el BadUSB intenta instalar o ejecutar malware.
  3. Implementar soluciones de seguridad informática por adelantado que vigilaría el uso de los dispositivos conectados a su ordenador y cualquier teclado USB adicional será bloqueado.

Cómo protegerse del GHOST USB Malware

  1. Mantenga su programa de antimalware actualizado.
  2. Utilice Honeypot de Ghost USB. Ghost honeypot  es un honeypot para la detección de malware que se propaga a través de dispositivos USB.
  3. Actualmente el honeypot es compatible con Windows XP y Windows 7. La forma Ghost funciona es que primero trata de emular como una unidad flash USB. Si el malware lo identifica como una unidad flash USB, será engañar el malware en infectar a ella. Ghost luego mira para solicitudes basadas en escritura en la unidad, que es una indicación de un malware. Usted puede aprender más acerca de Ghost honeypot USB en la formación de hacking ético.
Ghost-honeypot
Ghost-honeypot

El malware de USB son muy peligrosos y debería implementarse medidas inmediatas para asegurar la infraestructura de TI con la ayuda de expertos en seguridad informática.

Fuente: https://webimprints.wordpress.com/2015/07/29/how-can-hacker-hack-into-nuclear-reactors-isolated-networks/