Miscellaneous

domingo, 22 de mayo de 2016

Listado de sitios web financieros que facilitan las campañas de phishing al no usar cabeceras de seguridad HTTP.

En esta entrada les comparto una lista de sitios web financieros que por no hacer uso de las cabeceras de seguridad HTTP correspondientes, hacen más fácil la tarea a los creadores de campañas de phishing.
 

https://mybank.icbc.com.cn/icbc/newenperbank/regist.jsp
https://healthbenefits.wellsfargo.com/
https://wca.wellsfargo.com/wca/fpc/displayForgotPassword?currentAction=Forgot%20Password&appId=appwats&targetUrl=https://wats.wellsfargo.com:443/WATS/Pages/IntermediateLogin.aspx
https://login.morganstanleyclientserv.com/
https://services.im.hsbc.com/site/login/login?cam30_target=https%3A%2F%2Fservices.im.hsbc.com%3A443%2Fsite%2Fclient%2Fsecure%2Findex
https://www.bancoinbursa.com
https://www.banjenetbanjercito.com.mx/bp_indice.html
http://demo.chase.com/presents/preview/pnt/non_pnt/login2.html
https://bancanet.banamex.com/JPS/portal/demo/htmls/01-Log-in.html
http://www.monex.com.mx
http://www.santander.com.mx
https://www.espaciobanorte.com/portal/login/
https://www.banamex.com
http://mundotdc.bancomer.com.mx
http://mundotdc.bancomer.com.mx
https://www.pasionporlaspersonas.bbva.com
https://brandcenter.bbva.com
http://accionistaseinversores.bbva.com/TLBB/tlbb/bbvair/esp/contact/cont/index.jsp
http://ofertaempleomx.bbva.com
http://shareholdersandinvestors.bbva.com/
https://net.banorte.com/mail/main
https://saf.banorte.com/
https://via.banorte.com/CargosPeriodicos/login.zul
http://travelspecialists.americanexpress.com
https://www.amexglobalbusinesstravel.com/
https://www.bancoazteca.com.mx
https://www.bancoazteca.com.mx/PortalBancoAzteca/publica/misucursal/olvidaste/paso1.jsp
https://www.bancoazteca.com.mx/eBanking/contrasena/recuperacionHuella.do;jsessionid=01efb9ddec1decb59cfcbda5394d.ebank6?method=inicio
https://www.bafamsa.com/

domingo, 15 de mayo de 2016

Comprometiendo la privacidad de un usuario con una sencilla extensión para chrome

Antes que nada quiero dejar en claro que todo lo expuesto a continuación es para fines educativos y no para uso indebido o para fines lucrativos. No me hago responsable del mal uso o de las consecuencias que puedan llegar a suceder si el método aquí descrito es aplicado de manera errónea o incorrecta. 

Ahora sí, empecemos :)..

Primero que nada, ¿Qué es una extensión para chrome?, simple, y tal como lo define google, son "pequeños programas que incorporan nuevas funciones al navegador para personalizar tu experiencia de navegación.", es decir, son esos pequeños programas que pueden cumplir funciones tales como:
  • bloqueo de publicidad (Adblock Plus)
  • protección contra sitios web fraudulentos o con mala reputación (Avast Online Security)
  • etc.
Pues sí, son esas cositas que muchas veces agregamos a nuestro navegador chrome desde este sitio web sin ser conscientes de lo que ello implica.

Pero tranqui sigue leyendo, y te aseguro, que la próxima vez que  veas una extensión que te dice te hará ver como todo un 5up3r h4x0r N30, te sacara de la soltería y te hará billonario, te la pensaras dos veces y no la instalaras ;).

Como dije que esto se expone solo con fines educativos, no publicare una extensión en la store de google, esto para evitar que la aplicación sea instalada por alguien que no leyo este post antes, y por lo tanto desconoce lo que puede llegar a suceder si la tiene instalada (Naaa la verdad solo quiero ahorrarme 5$), pero la dejare disponible para descargar  desde este link.

bueno el primer paso para lograr el cometido es obvio, tienes que descargar la extensión, una vez descargada sigue estos pasos para instalarla:
  1. Escribe en tu barra de direcciones chrome://extensions/ y da enter
  2. Veras un listado con todas las extensiones que tu navegador tiene instaladas, ahora tienes que arrastrar a esta pantalla la extensión que descargaste y listo, ya haz instalado la extensión que te hará ver como un 5up3r h4x0r N30, te conseguirá novia y te hará billonario.
No te creas jeje :P, La verdad la aplicación a simple vista no hace nada del otro mundo, solo te cambia el fondo de todos los sitios web que visitas, cambia el color de letra y remueve todas las imágenes, es decir hace que las paginas web que visitas se vean así:

pero, ¿Qué te asegura que eso es todo lo que hace? nada, solo un análisis exhaustivo de dicha extensión te lo puede decir, así que a ello, vayamos nuevamente al listado de extensiones que tenemos instaladas en nuestro navegador (chrome://extensions) copiemos el ID (fnogiidjfnmmjllpiifaifkbcgagcdim) de la extensión llamada "5up3r h4x0r N30", busquemos la carpeta con ese nombre dentro de nuestro sistema (Un locate 'fnogiidjfnmmjllpiifaifkbcgagcdim' en sistemas basados en linux bastara), una vez encontrado analicemos primeramente el archivo manifest.json:
Este archivo es el único que debe estar presente en toda WebExtension. contiene los metadatos básicos acerca de la extensión, como su nombre, versión, y los permisos que esta requiere. También provee los enlaces a otros archivos de la extensión que analizaremos más adelante.

Las partes más interesantes en un manifest.json son los permisos y los enlaces a otros archivos .js, como podemos ver, nuestra aplicación llamada

"5up3r h4x0r N30" tiene permisos para:
  1. Alterar todos los sitios web que visitamos (http://*/*/ y https://*/*/)
  2. mostrar notificaciones
  3. e interactuar con el sistema de pestañas del navegador.
Otra de las secciones interesantes del manifest.json es la que se encarga de la lógica de ejecución de nuestra extensión, es decir, background, la cual enlaza a un archivo llamado background.js (No puedo explicar a detalle como es la anatomía de un manifest.json aquí, pero si quieres puedes profundizar leyendo la doc oficial de google).

Bueno, ahora que sabemos que nuestra extensión puede alterar todos los sitios web que visitamos y que el manifest.json apunta solo al archivo background.js, pues analicemos dicho archivo:


Ok, es muy claro, este archivo hace uso de la chrome.tabs API que nos permite crear, modificar y reordenar las pestañas del navegador, ahora ya  sabemos porque la extensión solicitaba el permiso tabs en la sección permisos del manifest.json. Para ser más especifico el código de la imagen se activa cuando alguna pestaña del navegador se actualiza, una vez activada ejecuta la función callback que se le pasa como parámetro a addListener, dicha función callback nuevamente usa la chrome.tabs API pero esta vez usa el método executeScript que lo que hace es básicamente inyectar código javascript en una página, y aunque existe la posibilidad de inyectar código directamente con este método, nuestra extensión no lo hace de esa forma, sino que hace uso de otro archivo llamado evil.js que es el que contiene el código javascript que se inyecta a la pagina cuando se abre una nueva pestaña o se actualiza una ya abierta, ahora que sabemos eso, miremos este otro archivo y veamos que es lo que hace:


Bueno, para empezar observamos que de la linea 1-5 se encuentra el código de la biblioteca jquery, que esta vez por ser una extensión que yo mismo les proporciono les aseguro no contiene ninguna linea de código malicioso (Esto no siempre es así, y lo correcto seria comprobar la integridad de dicha librería y de cualquier otra, siempre), sabiendo esto, prosigamos con las siguientes lineas, de la linea 7-10 vemos un setInterval que lo que hace es repetir cada 500 milisegundos la función callback que se le pasa como parámetro, dicha función no hace otra cosa que alterar nuestro color de fondo, color de letra, y remover las imágenes de la web que visitamos,es decir, es básicamente lo que sabemos según la descripción (Te hará ver un "5up3r h4x0r N30") hace nuestra extensión una vez la instalamos, pero ¡epa! y ¿esa ultima linea?, parece que tampoco tiene nada malicioso escondido, pero, analizando bien que es lo que hace con ese eval te darás cuenta que permite que cualquiera que sepa que usas esa extensión y haga que visites un enlace que tenga algo parecido a http://example.com#[payloadJS] podría ejecutar sin tu consentimiento código javascript y sí, es aquí en donde esta pequeña extensión pasa a poner en riesgo tu privacidad (credenciales) y la podríamos considerar como una extensión de "chrome maliciosa", sin embargo, eso lo sabemos porque hemos echo un análisis que aunque no del todo profundo, si suficiente para entender las implicaciones que puede traernos el tenerla instalada, en fin, ya para ir concluyendo queda recomendarte que o bien, cada que te dispongas a instalar una extensión para chrome de una fuente no confiable, la analices meticulosamente o no la instales, porque sí, esta extensión fácilmente evade los controles de seguridad de google al no tener en su propio código ninguna linea maliciosa, lo que significa que fácilmente puede estar disponible en la store de google, es decir, puede ser usada por el creador (Usuario mal intencionado) para ejecutar ataques dirigidos a determinados grupos o personas. Y sí, nuestra extensión puede no este tan bien decorada como para que alguien se trague la historia y se la instale, pero eso solo lo limita la creatividad del atacante, porque basta con mirar el numero de visualizaciones de este vídeo para darse cuenta que no es nada difícil llegar a un gran numero de potenciales víctimas.


Ya para finalizar les comparto el link de los payloads que son usados en este vídeo:

Como pueden ver, dichos payloads hacen que un usuario que tiene instalada nuestra extensión pueda terminar enviando sus credenciales, cookies, etc, a un servidor remoto. Y bueno eso ha sido todo por hoy, ¡happy hacking! y hasta la próxima :).

jueves, 12 de mayo de 2016

Gana un auto-subscribe a un canal de youtube con solo visitar un enlace y hacer clic

Hace tiempo que no actualizo este blog (Motivos, excusas, pretextos, blabladas, etc aquí) jeje :P, pero venga que la tierra jamas se detuvo por ello, asi que a lo que se viene...

Y Esta vez les traigo un clickjacking que hace tiempo encontre en youtube, Sí, en youtube (Reportado, pero aún no corregido), y bueno, para los que no sepan a lo que me refiero con esa obscura palabra ("Clickjacking") pueden echar un ojo a este post y darse una idea :).

¿Quedo claro? Sí, ok, pues entonces ahora entenderas lo peligroso (O conveniente) que puede llegar a ser si una falla como esta permite que pesques un auto-subscribe a un canal especifico de youtube.

Pero bueno para no alargar el tema, imagina que tú eres un usuario activo en este sitio web (Youtube), sea como audiencia o creador de contenido ("Youtuber"), es igual, eso no importa, el chiste es que tu eres un usuario activo en dicha red y la gran mayoría de veces tienes abierta tu sesión en youtube y un día como cualquier otro te dispones a mirar e ir a comentar el nuevo vídeo de tu youtuber favorito, pero ¡epa! antes de eso te han enviado por correo un enlace a un vídeo viral y ¡pum! haces clic, notas que no hay nada raro y das play al vídeo,ya esta, ahora automáticamente quedaste suscrito a un canal de youtube, tú no lo sabias, pero ese portal tenia ese objetivo, y detrás de todo el amarillismo, se encontraba un script a la espera de tu clic, y bueno, no es tan preocupante si lo ves desde la perspectiva de audiencia, ya que solo quedas suscrito a un canal o con la suscripción cancelada a dicho canal sin tu consentimiento, pero ¿y si eres creador de contenido? la cosa ya cambia, porque si bien esta falla te puede dar mas suscriptores de igual manera te los puede quitar, así que buzos, ya saben que son requisitos el tener iniciada sesion en un servicio de google y visitar un enlace para explotar esta falla, así que la próxima vez que inicien sesión recuerden no visitar ningún enlace o pueden terminar como este youtuber de asombrados (No aseguro que haya sido víctima de esta falla, pero existe la posibilidad) :).

Ya para terminar dejo un enlace que satisface a los escépticos y los hace suscriptores de mi canal en youtube, los pasos a seguir para que la prueba de concepto rinda frutos son los siguientes:
  1. Inicia sesión en algún servicio de google (Youtube, blogger, gmail, etc)
  2. Regresa a esta entrada y haz clic aquí
  3. Haz clic en cualquier parte de la ventana que te abrió el enlace anterior y listo, ahora estas suscrito a mi canal y eres el afortunado suscriptor #googol, te acabas de ganar un auto... subscribe, ok no :P.
Bueno, ahora que no tengo más que contarles, me despido y ¡happy hacking!, ah, se me olvidaba, pueden cambiar el valor del parametro get id_c y probar con otros canales (Y no, no es vulnerable a XSS) ahora si, hasta la próxima :).