PHALANX DUCK




Es un dispositivo que permite enviar payload al computador con solo conectarlo a un puerto usb del mismo en caliente, saltando el mecanismo normal que siempre se tiene que es quemar el programa al microcontrolador antes para su respectiva utilización.

HARDWARE 



Bluetooth es una especificación industrial para Redes Inalámbricas de Área Personal (WPAN) que posibilita la transmisión de voz y datos entre diferentes dispositivos mediante un enlace por radiofrecuencia en la banda ISM de los 2.4 GHz. Los principales objetivos que se pretenden conseguir con esta norma son:
Facilitar las comunicaciones entre equipos móviles.
Eliminar los cables y conectores entre estos.
Ofrecer la posibilidad de crear pequeñas redes inalámbricas y facilitar la sincronización de datos entre equipos personales.

Dispositivos bluetooth
FIGURA 1. Modulo hc-05 y 06.


¿Como funciona?



Esta herramienta de vulneracion consiste el una Rubber Ducky controlada a distancia por un modulo HC-05 conectada a un micro controlador (Arduino) que funciona como interfaz humana (HID) o mas fácil como un teclado, esta ejecuta comando en la maquina victima, utilizando powershell para Windows o la shell de Linux ordenando al sistema operativo (victima) realizar un proceso o en su defecto descargar una carga maliciosa (payload) para poder ejecutar ordenes de manera remota (maquina comprometida).



ESQUEMA


FIGURA 2. ESQUEMA 

Requerimientos



Para poder utilizar esta herramienta solo basta con conectar algún puerto usb de la maquina la cual se va comprometer pero antes se debe hacer ingeniera social con la victima para conocer el tipo de sistema que utiliza y sus conocimientos de tecnología y seguridad de la información.


PAYLOAD PARA UNA RUBER DUCKY 

https://github.com/hak5darren/USB-Rubber-Ducky/wiki/Payloads

TRADUCTOR PARA EL ARDUINO

void loop(){
     delay(10);  
     while (Serial1.available()) {
        char c = Serial1.read();  
        if (c == '\n') {
          Serial.println(readString);
          Line(readString);
          readString = "";
         
        } else {
          readString += c; 
        }
     }
}

CONVERTIR PALABRAS

void Line(String l)
{
    int space_1 = l.indexOf(" ");
  if (space_1 == -1)
  {
    delay(100);
    Press(l);
  }
  else if (l.substring(0,space_1) == "STRING")
  {
    delay(100);
    Keyboard.print(l.substring(space_1 + 1));
    //l.substring= ""; 
  }
  else if (l.substring(0,space_1) == "DELAY")
  {
    
    int delaytime = l.substring(space_1 + 1).toInt();
    delay(delaytime);
  }
  else if(l.substring(0,space_1) == "REM"){delay(100);}
  else
  {
      String remain = l;
      
      while(remain.length() > 0)
      {
        
        int latest_space = remain.indexOf(" ");
        if (latest_space == -1)
        {
          delay(100);
          Press(remain);
          remain = "";
        }
        else
        {
          delay(100);
          Press(remain.substring(0, latest_space));
          remain = remain.substring(latest_space + 1);
        }
    
      }
  }







FIGURA 3. IMAGEN DEL PANEL DE CONTROL APK.



VENTAJAS: 

1) Puede ejecutar múltiples scripts con un solo dispositivo.

2) Puede ejecutar varios scripts en secuencia. En lugar de limitarse a un solo script por complemento..

3) Puede editar el guión sobre en el acto.


DESVENTAJAS: 

1) Lentitud esto se debe a que primero se debe hacer la traducion para el programa ejecute las acciones recordemos que el puente de comunicación es el modulo de Bluetooth, el intérprete tiene un pequeño retraso para permitir la lectura de Bluetooth. Solo tienes que reprogramarlo para diferentes  misiones.

2) No todos los comandos funcionan. No puede hacer nada que guarde los datos  y algunos comandos no se interpretan debido a las limitaciones de la biblioteca keyboard.h que viene con arduino.

3) Algunas secuencias de comandos son demasiado largas.  esto hace que se pierdan los datos a la hora de su ejecución  Sin embargo, esto se resolverá con la programación en la aplicación para dividir los scripts más largos en paquetes discretos más pequeños, así como aumentar el búfer en el ARDUINO.

MATERIALES PARA LA CONSTRUCCIÓN


  • ARDUINO MICRO
  • CABLE USB
  • MODULO HC 05
  • APLICACION PARA ANDROID

DEMOSTRACIÓN:








2 comentarios:

Evil-ArduiCO




                         
INTRODUCION 

El presente proyecto permite activar una rubber ducky de manera remota Evil-ArduiCO 1.0 lo realiza utilizando un sitio web como panel principal y la versión 2.0 lo realiza mediante una apk.
La dos versiones son acompañadas de un modulo wifi y bluetooth para su respectiva comunicación y control de la misma.

DEFINICIÓN 

Evil-ArduiCO 1.0 Es un dispositivo que permite vulnerar Sistemas Operativos Windows y Linux con solo conectarlo a la maquina. Este genera una URL la cual va ser el panel para atacar el PC.

WIFI ESP8266  es utilizado junto al arduino como servidor para realizar una petición por HTTP de la maquina atacante o un móvil que se encuentre cera.

Lo primero que se debe de hacer antes de realizar dicho ataque es verificar la URL para el panel principal.

Nota: La SSID (NOMBRE DE LA RED WIFIy el password el importante en ese tipo de ataque por ello puedes hacer tu propio AP con tu maquina atacante u otro dispositivo como por ejemplo el teléfono.


¿Como funciona?

Esta herramienta de vulneracion consiste el una Rubber Ducky controlada a distancia por un modulo WiFi (ESP8266) conectada a un micro controlador (Arduino) que funciona como interfaz humana (HID) o mas fácil como un teclado, esta ejecuta comando en la maquina victima, utilizando powershell para Windows o la shell de Linux ordenando al sistema operativo (victima) realizar un proceso o en su defecto descargar una carga maliciosa (payload) para poder ejecutar ordenes de manera remota (maquina comprometida).


ESQUEMA



Figura1. Esquema de Evil-ArduiCO

Mostrar URL


Figura 2. Generando la URL en el modo monitor del arduino para el panel principal.


Panel principal de ataque



Figura 3. Panel principal de ataque a sistema operativo windows y linux.

Requerimientos

Para poder utilizar esta herramienta solo basta con conectar algún puerto usb de la maquina la cual se va comprometer pero antes se debe hacer ingeniera social con la victima para conocer el tipo de sistema que utiliza y sus conocimientos de tecnología y seguridad de la información.

Consecuencias

Al conectar Evil-ArduiCO puede sufrir:

1. Acceso total del computador, carpetas de archivos y red.
2. Ataque al hardware del pc como desbordamiento o corto de memoria RAM y disco duro.
3. Obtención de informacion personal de la computadora.
4. Daño total del PC por ataque de Bomba logica.
5. Daños general del sistema operativo como tal.


Ventajas:

·    Realiza un ataque único y veloz con solo acceder a las opciones del panel principal.
·   Permite al hacker detectar cuando es conectado el dispositivo por medio de un Servicio HTTP en su navegador.
·    Permite generar ataque a distancia.

Desventajas:

·     La cobertura depende de tu antena que provee el servicio de WIFI.
·     Algunos tipos de payload son detectados por ciertos antivirus.

    Código: 

    Linkhttps://github.com/aureliohacking/Evil-ArduiCO



     Materiales para construir
    
     Hardware

·     Arduino MICRO (Leonardo).
·     Módulo wifi ESP8266
·     Regulador de 3.2v
·     Cables, protoboard

Software

·     Entorno IDE arduino versión 1.65 en adelante
·     OS Kali Linux (Metasploit en escucha o otra herramienta)




VÍDEO TUTORIAL



·   

Evil-ArduiCO 2.0 
  
  Es un dispositivo que permite vulnerar Sistemas Operativos Windows y Linux con solo conectarlo a la maquina. Este es controlado por medio de una aplicación en android (APK). Hc-05 es utilizado como un puente de comunicación entre el arduino y el smartphone quien enviara un dato de manera remota hacia el controlador.

Bluetooth es una especificación industrial para Redes Inalámbricas de Área Personal (WPAN) que posibilita la transmisión de voz y datos entre diferentes dispositivos mediante un enlace por radiofrecuencia en la banda ISM de los 2.4 GHz. Los principales objetivos que se pretenden conseguir con esta norma son:
  • Facilitar las comunicaciones entre equipos móviles.
  • Eliminar los cables y conectores entre estos.
  • Ofrecer la posibilidad de crear pequeñas redes inalámbricas y facilitar la sincronización de datos entre equipos personales.
Dispositivos bluetooth

Figura 4. Modulo HC-05.

Diagrama de protoboard

Figura 5. Como conectarlo al controlador(Arduino).



·   ¿Como funciona?

Esta herramienta de vulneracion consiste el una Rubber Ducky controlada a distancia por un modulo HC-05 conectada a un micro controlador (Arduino) que funciona como interfaz humana (HID) o mas fácil como un teclado, esta ejecuta comando en la maquina victima, utilizando powershell para Windows o la shell de Linux ordenando al sistema operativo (victima) realizar un proceso o en su defecto descargar una carga maliciosa (payload) para poder ejecutar ordenes de manera remota (maquina comprometida).

ESQUEMA




Figura 6. Esquema  
·     
Requerimientos

Para poder utilizar esta herramienta solo basta con conectar algún puerto usb de la maquina la cual se va comprometer pero antes se debe hacer ingeniera social con la victima para conocer el tipo de sistema que utiliza y sus conocimientos de tecnología y seguridad de la información.

   Código: 
    
    APK
      
       LINK: https://mega.nz/#!5aYQAQaD!8TOSQ-wJw-rOXy1FX8M6-f742f-WUb_vgGMWwnq0J1o



Figura 7. Aplicación que envía el dato para el ataque.



     Materiales para construir
    
     Hardware

·     Arduino MICRO (Leonardo).
·     Módulo hc-05.
·     Cables, protoboard.

Software

·     Entorno IDE arduino versión 1.65 en adelante.
·     OS Kali Linux (Metasploit en escucha o otra herramienta).


VÍDEO TUTORIAL



0 comentarios:

BIBLIOTECA VIRTUAL



Se opta por desarrollar la plataforma llamada “LIBRARY-PI” centrada en visualizar, escuchar o descargar los diferentes recursos educativos, sea libros, textos de estudio, videos, audio libros, simuladores interactivos, entre otros. Como punto de partida a la hora de diseñar la plataforma, que en nuestro caso es un entorno web con la Raspberry Pi, se empezó por la elección de los componentes tanto de hardware como software, que satisficieran las necesidades del proyecto. Posteriormente se llevó a cabo la configuración de la Raspberry Pi así como el desarrollo de las instalaciones de los diferentes programas a usar.

Componentes Hardware.
Los siguientes componentes son los elegidos para el montaje del sistema así como para la construcción del soporte para todos los dispositivos.

Raspberry Pi 3 Modelo B.
El Raspberry Pi 3 es la tercera generación Raspberry Pi. Se sustituye el Raspberry Pi Modelo B 2 en febrero de 2016. En comparación con el Raspberry Pi 2 se tiene:
·         A 1,2 GHz 64-bit de cuatro núcleos ARMv8 CPU
·         802.11n Wireless LAN
·         Bluetooth 4.1
·         Bluetooth Low Energy (BLE)
·         Al igual que el Pi 2, también tiene:
·         1 GB de RAM.
·         4 puertos USB.
·         40 pines GPIO.
·         Puerto lleno de HDMI.
·         Puerto Ethernet.
·         Conector de audio de 3,5 mm combinado y vídeo compuesto.
·         Interfaz de la cámara (CSI).
·         Interfaz de pantalla (DSI).
·         Ranura para tarjetas micro SD (ahora push-pull en lugar de push-push).
·         Video Core IV 3D núcleo de gráficos.

Se elige la Raspberry Pi 3 Modelo B para desarrollar el proyecto porque es el más completo del mercado y porque trae incluido Wifi, lo que permitirá crear el punto de acceso, con los otros Raspberry habría que comprar una tarjeta de red.

Componentes Software.
Para la realización del proyecto se necesita los siguientes softwares.

Raspbian Jessie Lite.
Es una nueva versión ligera de Raspbian, Sistema Operativo usado por la Raspberry.


Resultado de imagen para raspberry
Figura 1. Raspberry Pi 3 Modelo B

 DNSMASQ
Dnsmasq es un servidor (DNS, DHCP) muy ligero que tiene un efecto colateral; además de funcionar como servidor DNS para tu red local (gracias a que lee el archivo /etc/hosts) y poder resolver los nombres asignados a tus equipos, también hace de servidor DNS caché, es decir almacena las IPs consultadas para no tener que repetir la consulta cuando vuelven a pedirse.
El resultado es que el acceso a las páginas de Internet es más rápido. Como sabemos, antes de visualizar su contenido, debe resolverse el nombre del equipo al que le enviamos la petición a través de una compleja red de servidores, que se inicia en el (o los) que hemos definido en /etc/resolv.conf
Nuestro(s) servidor(es) suelen ser dos IPs de nuestro suministrador de acceso a Internet. Con dnsmasq conseguimos reducir el proceso de consulta.

HOSTAPD
Este es el paquete que permite utilizar el construido en Wi-Fi como un punto de acceso.

LAMP
LAMP es el acrónimo usado para describir un sistema de infraestructura de internet que usa las siguientes herramientas:
ü  Linux, el sistema operativo;
ü  Apache, el servidor web;
ü  MySQL, el gestor de bases de datos;
ü  PHP, el lenguaje de programación.
La combinación de estas tecnologías es usada principalmente para definir la infraestructura de un servidor web, utilizando un paradigma de programación para el desarrollo.
GNU/Linux: Linux es un núcleo de sistema operativo libre tipo Unix (en nuestro caso el sistema operático instalado anteriormente Raspbian Jessie Lite).
Apache HTTP: El servidor HTTP Apache es un servidor web libre y de código abierto, el más popular en cuanto a uso, sirviendo de facto como plataforma de referencia para el diseño y evaluación de otros servidores web.
MySQL: Es un Sistema de Gestión de Bases de Datos (SGBD) relacional, que por lo tanto utiliza SQL, multihilo y multiusuario del que se estiman más de un millón de instalaciones.
PHP: (acrónimo recursivo de "PHP: Hypertext Preprocessor") es un lenguaje de programación diseñado para producir sitios web dinámicos. PHP es utilizado en aplicaciones del lado del servidor, aunque puede ser usado también desde una interfaz de línea de comandos o como aplicación de escritorio.

WORDPRESS.
WordPress es un software de código abierto que puedes utilizar para crear fantásticas webs, blogs o aplicaciones. En él se encuentran miles de plugins y temas disponibles para transformar una web en cualquier cosa que se pueda imaginar.

Resultado de imagen para wordpress

                                                                    Figura 2. WordPress
Montaje
En este apartado se va a describir paso a paso como ha sido el montaje del proyecto así como el de cada componente con la Raspberry Pi.

Se puede ver una vista anterior y superior del sistema final con todos sus componentes conectados, la instalación como se observa no es difícil ya que no se usó para este proyecto otro componente hardware.
Resultado de imagen para raspberry montada

   Figura 3. Montaje
Entorno Web.
Para que las personas que fueran a visualizar, escuchar o descargar los diferentes recursos educativos provistos por la herramienta “LIBRARY-PI” se opta por diseñar una web (para esto utilizaremos WordPress) que se alojará en la Raspberry Pi. Anteriormente se ha descargado y pasado el Sistema Operativo a la memoriaSD.
En general se siguen los siguientes pasos (para detallar más aun lo anteriormente dicho, seguir los pasos del video entregado junto a este trabajo).
El primer paso es instalar los paquetes necesarios: sudo apt-get install dnsmasq hostapd
Se entrara en un pequeño detalle sobre los dos:
ü  hostapd - Este es el paquete que le permite utilizar el construido en Wi-Fi como un punto de acceso
ü  dnsmasq - Se trata de un servidor DHCP y DNS combinada que es muy fácil de configurar
ü  Si se quiere algo un poco más 'peso pesado', se puede utilizar el isc-dhcp-servery bind9paquetes de DHCP y DNS, respectivamente, pero para nuestros propósitos, dnsmasq funciona muy bien.

CONFIGURAR LAS INTERFACES
La primera cosa que hay que hacer es configurar la wlan0interfaz con una dirección IP estática.
Si está conectado a la Pi a través de WiFi, conectarse a través de Ethernet / serie / Teclado en primer lugar.
En versiones Raspian más nuevos, de configuración de interfaz es manejado por dhcpcdpor defecto. Tenemos que decirle a ignorar wlan0, ya que vamos a configurarlo con una dirección IP estática en otro lugar. Así que abrir el dhcpcdarchivo de configuración con sudo nano /etc/dhcpcd.confy añadir la siguiente línea al final del archivo:
denyinterfaces wlan0 
Nota: Esto debe estar por encima de cualquier interfacelíneas si se ha añadido!
Ahora tenemos que configurar nuestra IP estática. Para ello abra el archivo de configuración de interfaz con sudo nano /etc/network/interfacesy editar la wlan0sección para que se parezca a esto:

allow-hotplug wlan0 
iface wlan0 inet static 
    address 172.24.1.1
    netmask 255.255.255.0
    network 172.24.1.0
    broadcast 172.24.1.255
#    wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf
Se reinicia dhcpcdcon sudo service dhcpcd restarty y se vuelva a cargar la configuración para wlan0con sudo ifdown wlan0; sudo ifup wlan0.

CONFIGURAR HOSTAPD
A continuación, tenemos que configurar hostapd. Se crea un nuevo archivo de configuración con sudo nano /etc/hostapd/hostapd. Con los siguientes contenidos:

# Este es el nombre de la interfaz WiFi que hemos configurado anteriormente

interface=wlan0
# Utilice el controlador nl80211 con el controlador brcmfmac
driver=nl80211

# Este es el nombre de la red
ssid=Pi3-AP

# Utilice la banda de 2,4 GHz
hw_mode=g

# Utilice el canal 6
channel=6

# Habilitar 802.11n
ieee80211n=1

# Habilitar WMM
wmm_enabled=1

# Habilitar canales de 40MHz con un intervalo de protección de 20ns
ht_capab=[HT40][SHORT-GI-20][DSSS_CCK-40]

# Aceptar todas las direcciones MAC
macaddr_acl=0

# Usar autenticación WPA
auth_algs=1

# Exigir a los clientes que conozcan el nombre de la red
ignore_broadcast_ssid=0

# Usar WPA2
wpa=2

# Utilizar una clave pre-compartida
wpa_key_mgmt=WPA-PSK

# La contraseña de red
wpa_passphrase=raspberry
# Utilice AES, en lugar de TKIP
rsn_pairwise=CCMP

Podemos comprobar si está funcionando en esta etapa mediante la ejecución sudo /usr/sbin/hostapd /etc/hostapd/hostapd.conf. Si todo se ha ido bien hasta ahora, usted debe ser capaz de ver a la red de PI3-AP ! Si intenta conectarse a ella, verá alguna salida del Pi, pero no se recibirá y la dirección IP hasta que establecimos dnsmasq en el siguiente paso. Utilice Ctrl + C para detenerlo.
No estamos bastante terminado todavía, porque también tenemos que decir hostapd dónde buscar el archivo de configuración cuando se inicia en el arranque. Abre el archivo de configuración por defecto con sudo nano /etc/default/hostapdy encontrar la línea #DAEMON_CONF=""y sustituirla por DAEMON_CONF="/etc/hostapd/hostapd.conf".

CONFIGURAR DNSMASQ
El enviado dnsmasqel archivo de configuración contiene una gran cantidad de información sobre cómo usarlo, pero la mayoría de ella es en gran medida redundante para nuestros propósitos. Le aconsejo que se mueve (en lugar de eliminarlo), y la creación de uno nuevo con:

sudo mv /etc/dnsmasq.conf /etc/dnsmasq.conf.orig 
sudo nano /etc/dnsmasq.conf 
Pegue el siguiente en el nuevo archivo:
interface=wlan0      # Usar la interface wlan0 
listen-address=172.24.1.1 #Especificar explícitamente la dirección para escuchar
bind-interfaces # Vincular a la interfaz para asegurarse de que no estamos enviando cosas a otra parte
server=172.24.1.1       # Reenviar las solicitudes de DNS a frambuesa DNS
domain-needed        # No envíe nombres cortos
bogus-priv  # Nunca envíe direcciones en los espacios de direcciones no enrutados.
dhcp-range=172.24.1.50,172.24.1.150,12h #Asignar direcciones IP entre 172.24.1.50 y 172.24.1.150 con un tiempo de arrendamiento de 12 horas

CONFIGURAR EL DESVÍO DE IPV4
Una de las últimas cosas que tenemos que hacer antes de enviar el tráfico en cualquier lugar es permitir el reenvío de paquetes.
Para ello, abrir el sysctl.confarchivo con sudo nano /etc/sysctl.conf, y eliminar el #desde el principio de la línea que contiene net.ipv4.ip_forward=1. Esto permitirá que en el siguiente reinicio, sino porque somos impacientes, activarlo inmediatamente con:

sudo sh -c "echo 1 > /proc/sys/net/ipv4/ip_forward"

También tenemos que compartir la conexión de Internet de nuestra Pi a nuestros dispositivos conectados a través de WiFi por la configuración de un NAT entre nuestra wlan0interfaz y nuestra eth0interfaz. Podemos hacer esto mediante los siguientes comandos:

sudo iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE 
sudo iptables -A FORWARD -i eth0 -o wlan0 -m state --state RELATED,ESTABLISHED -j ACCEPT 
sudo iptables -A FORWARD -i wlan0 -o eth0 -j ACCEPT 
Sin embargo, necesitamos estas normas que deben aplicarse cada vez que reinicie el Pi, por lo que corren sudo sh -c "iptables-save > /etc/iptables.ipv4.nat"para salvar las reglas al archivo /etc/iptables.ipv4.nat. Ahora tenemos que ejecutar esto después de cada reinicio, por lo que abrir el rc.localarchivo con sudo nano /etc/rc.localy por encima de la línea exit 0, agregue la siguiente línea:
iptables-restore < /etc/iptables.ipv4.nat 

ü  EJECUTAR LOS SERVICIOS DE HOSTAPD Y DNSMASQ Y DESCARGAR LA INFRAESTRUCTURA DE SERVIDOR WEB  “LAMP”

Ahora sólo tenemos que empezar a nuestros servicios:

sudo service hostapd start 
sudo service dnsmasq start 
apt-get install apache2
apt-get install mysql-server
mysql_secure_installation
apt-get install php5 php-pear pgp5-mysql php5-gd
service apache2 restart

ü  EJECUCION E INSTALACION DE WORDPRESS

wget http://wordpress.org/latest.tar.gz
tar -xzvf latest.tar.gz
mysql -u root -p

CREACION DE LAS BASES DE DATOS PARA EL SERVIDOR
CREATE DATABASE nombre de la base de datos;
CREATE USER usuario@localhost;
SET PASSWORD FOR aureliohacking@localhost= PASSWORD("password");
GRANT ALL PRIVILEGES ON wpbasededatos.* TO usuario@localhost IDENTIFIED BY 'password'
FULSH PRIVILEGES
exit

mkdir /var/www/html/wp
cd /var/www/html/wp
chown -R 0777 /var/www/html/wp/wordpress
ls -ls
Editar wp_config.php
vi wp-config.php 

Ahora que estás conectado y tener su sitio configurado, se puede ver el sitio web visitando su dirección IP en el navegador del Pi u otro equipo de la red. Para conectarse de nuevo (o en otro equipo), vaya a http://YOUR-IP-ADDRESS/wp-admin, y ya se podrá editar el sitio web como se requiera.



Al finalizar las instalaciones y configuraciones, se procedió a elaborar el diseño de la página para luego realizar la montura de los diferentes recursos, quedando el siguiente resultado. 


Figura 4. Entorno de la biblioteca




Figura 5. Lista de libros.


                                                          Figura 6. Visualización de los libros.


En base a todo lo expuesto anteriormente y teniendo como apoyo lo planteado en los objetivos y metas trazadas desde el inicio de este proyecto podemos concluir que la implementación de la tecnología es una decisión viable frente a las demandas que surgen en la sociedad y a su vez es una herramienta que nos otorga la facultad de impulsar el desarrollo y la innovación dentro de este mundo orientado hacia la globalización.

VÍDEO TUTORIAL


















0 comentarios: