En este post, os voy a hablar sobre una potente herramienta que junto a ingeniería social, puede ayudarnos a infectar cualquier tipo de máquina. El post lo he planeado de manera que ire explicando las funcionalidades y posibles ataques con él.
¿Qué es un Rubber Ducky?
Infectar una máquina a través de phishing cada vez es más imposible, puesto que cada día los anti SPAM avanzan más y los antivirus son capaces de detectar cosas que hace tiempo no eran capaces de detectar.
Pues bien, rubber ducky sirve exactamente para eso. Para qué infectar a alguien mediante internet cuando puedes darle tu troyano en un USB, que este se escriba solo en la maquina y se autoejecute. O que abrá una powershell en cuestion de menos de un segundo y se descargue el troyano sin que te des cuenta. La gracia de RubberDucky, es que el sistema lo detecta como un teclado y lo que hace es mandar teclas, obviamente mucho mas rápido que cualquier humano.
Como se puede ver en la imagen, la sensación que da, al verlo, es la de un mini arduino. Efectivamente lo es, es un micro controlador el problema de este, es que la memoria es muy pequeña, aproximadamente y en total van a entrar unos 6kb de texto, eso nos limita mucho, pero hay productos con más memoria, incluso algunos que ofrecen la posibilidad de meter una tarjeta SD, pero son más caros, del orden de 50 €.
Para introducirle ordenes (Programas), se usa el IDE de arduino con librerias del fabricante que te incluyen en el manual y son facilmente conseguibles.
A diferencia de Arduino, este va por el puerto usb tanto físico como virtual, recordemos que arduino va por puerto COM.
La forma del propio microcontrolador, hace que pueda ser adaptable a un arduino, aunque yo de momento no lo he conseguido, pero junto con otros objetos que ire poniendo en el blog, se puede llegar a construir una auténtica navaja suiza de la seguridad en un arduino.
Creando Payloads para Digispark
Hay una página muy buena la cual nos deja crear payloads a medida para un rubber ducky muy específico, lo cual no nos va a causar gran problema, puesto que hay scripts que parsean el código y lo convierten a lenguaje Arduino.
Vamos a explorar las opciones de la página.
En la barra superior, tenemos varias opciones, payloads para Windows, Linux y Mac, nosotros vamos a escoger windows para ver las opciones que tiene, y vamos a ver que no son pocas.
Cada payload se divide en tres partes, la parte de reconocimiento (Information gathering), la parte de explotación (Explotation) y la parte de post explotación (Post explotation), son las mismas partes que tiene un pentesting y veremos que este aparato es capaz de hacerlo en segundos.
En la parte de reconocimiento, tenemos opciones tan buenas como, sacar la información del ordenador, la del usuario, la de discos compartidos, programas instalados, redes a las que se conecta, lista de puertos abiertos, perfil de Firefox… Ojo con el perfil de firefox o con el de cualquier navegador, esto implica que si tienes contraseñas guardadas, puede venir alguien con su rubberducky meter el usb y sacar todas tus contraseñas en cuestión de segundos.
Obviamente las demas opciones, son tan interesantes como la del perfil del navegador, por ejemplo, podríamos sacar la contraseña del wifi a la que se conecta o escanear otros ordenadores en red, ya se sabe como sigue esto, no muy bien.
La siguiente parte, es la de explotación.
Bueno, ¿Qué queréis? Deshabilitar el firewall del ordenador, mandaros un archivo en concreto por ftp, abrir un puerto, meter una shell reversa, habilitar el escritorio remoto, compartir el disco C o descargar y ejecutar un archivo .exe…
La verdad es que todas estas acciones, o son bloqueadas porque necesitas privilegios (Esperemos que el administrador no se deje la pantalla desbloqueada) o el antivirus hace su trabajo y bloquea los ejecutables que intentas inyectar, de todas formas, esto se puede evitar usando el propio digispark como editor de texto. Creas un troyano en python, hay mil ejemplo en internet, hasta tienes librerías de escritorio remoto que puedes utilizar y pones una orden para que abra un bloc de notas:
- Tecla Windows + R
- cmd.exe + intro
- notepad + intro
- {inyectamos el payload} + CTRL + S (o en caso de que este en español G)
- {ponemos ruta donde queremos que se ejecute} + intro
- Tecla Windows + R
- cmd.exe + intro
- python {ruta del archivo malicioso}
Cómo esta idea hay miles y os tiento a dejarla en los comentarios.
Y por último la fase de post explotación.
Donde podemos decir al payload, que nos guarde la información de reconocimiento en un USB, en el ordenador, o mandarla por correo FTP:
Solamente necesitamos tener un servidor de ftp para poder recibir los archivos y obviamente que el ordenador de la víctima y el nuestro tengan conexión.
Kike,