sábado, 5 de mayo de 2018

HiitA: Hack is in the Air [Parte II]

Ya vimos en la primera parte de esta serie de artículos cómo surgió la idea de HiitA y cómo fue evolucionando la idea hasta que finalmente me puse a trabajar en la idea en sí. Hoy lo que vamos a ver será la herramienta en sí, dejando así para la próxima y última entrada un bonus que le quiero añadir.


Lo primero de todo era elaborar el código del script que se iba a usar en una Raspberry Pi para crackera las redes wifis. El script no se iba a basar solamente en esto, pero por algo se tenía que empezar.

El ataque lo realiza mediante un esquema de fuerza bruta con las posibles contraseñas que tiene en un archivo diccionario.txt. Va probando con cada una hasta que da con la correcta en caso de dar con la contraseña.

Una vez que da con la contraseña, se conecta a la red e identifica la máscara de la red para realizar con precisión el escaneo de la red. El tema de escanear la red es para encontrar el router, que, si tuviésemos una red de clase C, normalmente suele ser 192.168.1.1, y tratar de conseguir una sesión meterpreter o una conexión vía SSH si estuviese abierto su puerto correspondiente.



Aquí os dejo un vídeo de su funcionamiento. Como se aprecia, he utilizado una máquina virtual en Ubuntu Server con el servicio de DHCP iscp-dhpc-server instalado y configurado.


Aún así la herramienta tiene un pequeño help-que no creo que aumente mucho- donde se indica la opción a escoger, y en función de dicha opción, realizará una cosa u otra.


Volviendo al tema del router, vemos que tiene una configuración DHCP normalita, siendo la puerta de enlace este mismo dispositivo.


Por lo que un cliente que entre a la red, se le asignará una IP entre la 100 y la 130 {pues es lo que tengo definido en el rango de direcciones IP a asignar} y como puerta de enlace, la máquina virtual que hace de router {192.168.1.63}.


Pero claro, como tenemos, gracias a HiitA, acceso remoto al router, sería tan sencillo como tirar de sed y cambiar el archivo de configuración y cambiar que donde haya escrito 192.168.1.63 {IP del router} ponga la IP que se le ha asignado a HiitA por ejemplo.


Por lo que, entre otras cosas, cambiaría la puerta de enlace, posibilitándonos a tener implementado un tcpdump que reciba la captura del tráfico de red y cuando vuelva HittA-porque recuerdo que sería un helicóptero/drone que volaría hasta donde tendría que hacer la auditoría y cuando termine, vuelva- descargar la captura del tráfico y visualizarlo con una interfaz gráfica como Wireshark y tratar de encontrar contraseñas en sitios HTTP.


Si conseguimos la contraseña, podríamos usarla para probarla en casos como los de Senior Conta para ver si la carpeta compartida en red de todo el equipo donde se instala dicho software tiene como contraseña, la misma que la capturada. Es por eso, como dije, que quería unir esas 2 entradas, pero que por tiempo no pude hacerlo debidamente, pero podría darse el caso de que se reutilicen contraseñas-algo que hace mucha gente- y ya tendríamos acceso a las carpetas compartidas de la víctima.

Cambiando el DNS

Esta es otra de las cosas con las que he estado jugando. Como sabéis, he comentado alguna que otra vez que DNS debería morir y es que para mi y una vez que HiitA tiene acceso remoto al router, podría cambiar la IP del DNS server por un servidor DNS que tenga montado yo en un servidor con IP pública con dnsmasq, por ejemplo.


Por lo que basta que en el /etc/hosts de esa máquina tenga algo como que www.cuentas.google.com es la IP 192.168.1.128 para que el esquema de Phishing a sitios HTTPS me salga y pueda capturar la contraseña. En la máquina con IP 192.168.1.128 podríamos tener montada en nuestro Apache una web falsa y que simule ser www.accounts.google.com {que es la real} con SET en Kali Linux.


Para probar esto, he abierto otra máquina virtual en Windows 7 que actúa como cliente y, como el router ha sido hackeado por HiitA y el archivo de configuración de DHCP manipulado, recibe como IP de servidor DNS, la de un servidor que tengo montado yo. Para que se aprecie el cambio, al principio he dejado el DNS que tenía por defecto y la dirección del router real para que se vea que si hago un nslookup a www.cuentas.google.es, dice que el servidor es 192.168.1.1{IP del router real} y que no encuentra esa dirección, algo normal, pues esa dirección no existe.

Ahora bien, una vez que se realiza el cambio en la dirección del DNS server, si volvemos a hacer nslookup a www.cuentas.google.es veremos que como servidor nos dice que es el que tenemos justamente al lado en una máquina virtual {con IP 192.168.1.55} y no el router como teníamos antes, además resuelve y nos dice que www.cuentas.google.es se encuentra en la IP 192.168.1.128 tal y como indicamos anteriormente en el /etc/hosts.

Así pues, podríamos conseguir credenciales de sitios HTTPS, por lo que en nuestra checklist or to do list quedaría así:

-Obtener credenciales en sitios HTTP--> DID IT
-Obtener credenciales en sitios HTTPS--> DID IT


El esquema del ataque que realiza HiitA es el que se muestra en el siguiente esquema. Este esquema de ataque se me ocurrió mientras estaba con mi pareja en un bar de un centro comercial, y claro, tenía que apuntarlo mientras mi novia se iba al baño.


Pero claro, esto en teoría iría en una Raspberry dentro de un helicóptero de juguete de cuando era pequeño. Ya tenía el código del software, ahora tocaba ver cómo solucionaba el problema del hardware que comenté en la primera parte de la entrada.

El problema era que tenía el helicóptero-que estaba roto- pero no tenía el mando de control a distancia. Así que busqué y busqué hasta que encontré un mando de PS1. Hice pruebas con el mando y conseguí que me detectase la tecla que pulsaba.


Así que también pensé en utilizar un Arduino para revivir al helicóptero de juguete y controlarlo con un mando de PS1-para que diga mi madre que el rato que pasaba de pequeño jugando a videojuegos no me iba a llevar a nada xD-. Costó mucho, al menos a mí, pero conseguí parar las hélices pulsando un botón y moverlas pulsando otro. Concretamente, paraba las hélices con el triángulo y las volvía a poner en marchar con el cuadrado. Era como un videojuego. Eso sí que es Realidad Aumentada xD.



Aún así, parte del proceso de montaje y elaboración lo podéis encontrar en mi cuenta de Instagram.



Hay algunos vídeos de las pruebas que iba haciendo y que podéis ver sin problema cómo han sido los comienzos del helicóptero de cuando tenía 7 años evolucionado con Arduino.



Pero claro, cuando le añadiese la Raspberry, yo todo lo que se veía en la pantalla, no iba a poder ser capaz de verlo, ya que llevaría el código en la Raspberry, yo como mucho podría usar un netcat para recibir la sesión capturada.

Por último, quería que tuviese alguna función más, como la de utilizar un móvil antiguo que actuase como cámara IP, y yo conectarme a la IP pública al puerto que se especifique y podría ver por dónde está pasando mi helicóptero en todo momento.


Para tener un móvil como cámara IP, nos podemos descargar DroidCam y acceder a la IP y el puerto que se habilita. Esto lo pones en un móvil viejo y pequeño y te soluciona la papeleta mucho.


Y lo que veríamos en el navegador sería esto. En mi caso se enfoca a mi portátil y mis inseparables pizarras que uso constantemente como Sheldon Cooper.

Esto nos podría servir para mirar por las ventanas por si alguna pantalla de ordenador fuese visible desde la ventana, y claro, teniendo en cuenta que podrías grabar lo que enfoca el móvil, en caso de que se esté escribiendo una contraseña o tenerla en un post-it, podríamos conocerla sin estar allí directamente. Esta imgen que enfoca la cámara usada como cámara IP, es cuando la puse con cinta americana-soy pobre pero con recursos xD- en el helicóptero, y es lo máximo que lo he conseguido levantar, que podrían ser unos 60cm más o menos.

Esto nos ayuda mucho ya que el helicóptero podría estar fuera auditando la red de una empresa y yo en casa con otra, por lo que terminaría el trabajo antes.


También estoy trabajando para introducir una cámara que grabe en 360º para así poder utilizar unas gafas de Realidad Virtual y que así parezca que estamos auditando en ese lugar en físico a pesar de estar en casa.

Pero el proyecto no tiene que quedarse aquí, aunque hasta aquí es hasta donde tengo más avanzado aunque aún le quede mucho trabajo detrás y le falte por añadir mucho más. El proyecto lo quiero extender mucho más con algo que ya os contaré en la próxima entrada.

¿Hackeamos el Mundo?

No hay comentarios:

Publicar un comentario

Related Posts Plugin for WordPress, Blogger...

Entrada destacada

El server me sabe a poco.

Soy un fanático del Rock y de Debian . (Creo que voy a inventar Rockbian, que suena bien y todo xD) Llevaba tiempo queriendo unir estos 2 c...