lunes, marzo 18, 2019

SocialFish2.0: Nueva herramienta para concienciar contra el Phishing

Ya hemos hablado en otras ocasiones sobre el cómo medir la concienciación y la cultura de seguridad en una empresa. Es algo complejo, nada sencillo, ya que depende de las personas, depende del mimo que la organización haya dado a los empleados y la formación, concienciación y conocimientos que fluyen hacia éstos. Nosotros hicimos, allá por el 2016, una herramienta a la que llamamos SAPPO y que permite medir este tipo de datos tan interesantes para poder dilucidar si vamos por el buen camino.

Figura 1: SocialFish2.0: Nueva herramienta para concienciar contra el Phishing

También hablamos de Weeman, un framework para generar phishing de forma automática y poder evaluar si los empleados de una organización caen ante este tipo de pruebas en un Ethical Hacking. Otro ejemplo es cómo la inteligencia artificial entra en el mundo de la ciberseguridad con Phish.AI. Una herramienta que permite utilizar una IA para detectar sitios que pueden ser phishing e ir aprendiendo sobre esto. Este tipo de evoluciones e integraciones se pueden ver en el libro de Machine Learning aplicado a Ciberseguridad de 0xWord.

Figura 2: Machine Learning aplicado a Ciberseguridad

Hace muy poco tiempo, se ha liberado una nueva herramienta que permite ayudar a llevar a cabo este tipo de pruebas. La herramienta se llama SocialFish y se puede descargar desde su Github. Esta aplicación proporciona un entorno para poder gestionar las “campañas” de concienciación a través de un ataque de phishing. Además, hace seguimiento de lo que se quiere realizar y los resultados de éstos. Es decir, podremos saber qué usuario ha pinchado en el enlace, ha accedido y ha introducido credenciales.

Figura 3: SocialFish en GitHub

Hay dos versiones de esta herramienta. La versión 1.0, es la antigua, y la interacción con la herramienta funciona a través de un script, al más puro estilo Social Engineer Toolkit o setoolkit, quizá una de las más famosas herramientas de ingeniería social en el mundo de la ciberseguridad.

Versión 1.0

La versión 1.0 dispone de diferentes plantillas que nos daban a elegir al ejecutar el script. Hay que indicar que la aplicación se encuentra escrita en flask en la versión 2.0 y tiene PHP en la versión 1.0. Las plantillas que nos daban a elegir, aunque se podía personalizar, son las de Facebook, Google, LinkedIn, Github, StackOverflow o Wordpress. Lógicamente, sitios interesantes para el engaño.

Figura 4: Plantillas de SocialFish

Cuando se configuraba una plantilla y se indicaba a dónde retornar la información de las credenciales que se obtenían se puede ver algo similar a la imagen de a continuación. Hay que tener en cuenta que es un funcionamiento similar al famoso Social Engineer Toolkit.

Figura 5: Sitio web de Phishing para Facebook

A continuación, se puede ver las contraseñas que se pueden obtener desde el sitio anterior. Muy sencillo de crear y de colgar en un dominio real, siempre pensando en la prueba de evaluación de concienciación de los empleados. Lógicamente, en las organizaciones, se suele personalizar las páginas buscando un cebo creíble para generar la confianza con los empleados con menor concienciación.

Figura 6: Log con accesos al sitio de phishing y credenciales capturadas

El funcionamiento de esta versión se puede ver en el siguiente video de los creadores. Realmente interesante como alternativa este tipo de herramienta.


Figura 7: Demo de SocialFish v1.0

Versión 2.0

La aparición de la versión 2.0 de SocialFish trae un lavado de cara importante. Desde el uso de un nuevo lenguaje, como es Flask, a la posibilidad de poder manejar la herramienta desde una atractiva página web.

La instalación de SocialFish puede traer un quebradero de cabeza, aunque si partimos de una distribución Kali Linux no debería ser así. Los requisitos que nos marcan son varios, desde el uso de Python 3.6 o superior a usar pip3. Además, tiene un largo número de dependencias que son incluidas en el fichero requirements.txt que se puede encontrar en el repositorio. Al final, todo se reduce a ejecutar python3 -m pip install -r requirements.txt para que las dependencias sean instaladas.

Figura 8: Libro de Pentesting con Kali Linux

Una vez todo está listo, debemos ejecutar Python3 SocialFish.py [user] [pass]. Esto ejecuta la aplicación web y levanta un servicio en el puerto 5000. Cuando nos conectamos a ese puerto con un navegador web veremos una página como la que se muestra, dónde debemos introducir el usuario y contraseña generado anteriormente.

Figura 9: Login en SocialFish v2.0

Una vez se accede a la aplicación nos encontramos con un aspecto como el que se puede ver en la siguiente imagen. Aspecto limpio, claro y de uso sencillo. Hay un apartado dónde se indica el sitio a clonar y a dónde realizar la redirección. Además, vemos una especide de dashboard dónde podemos ver los datos que se van recopilando:
  • Clics que se han hecho sobre el recurso fake.
  • Visitantes que no hicieron clic.
  • Credenciales capturadas.
  • Número de phishings realizados.
Además, de este dashboard web que vemos en la figura siguiente, SocialFish v2.0 también dispone de aplicación móvil para llevar a cabo el seguimiento y el lanzamiento de ataques.

Figura 10: Dashboard Web de SocialFish v2.0

En el siguiente Github se puede encontrar la app móvil de SocialFish. El aspecto es similar al que se puede ver en la imagen siguiente.

Figura 11: App movil de SocialFish v2.0

Sin duda, SocialFish es una aplicación que tiene recorrido y que puede crecer mucho. Ahora mismo, goza de gran apariencia, aunque la funcionalidad se limita a un phishing y seguimiento básico de éste. Puede que en próximas versiones veamos mayor número de funcionalidades que puedan aportar diferentes pruebas basadas en ingeniería social y que permita medir la concienciación de los empleados.

Autor: Pablo González Pérez (@pablogonzalezpe), escritor de los libros "Metasploit para Pentesters", "Hacking con Metasploit: Advanced Pentesting" "Hacking Windows", "Ethical Hacking", "Got Root" y “Pentesting con Powershell”, Microsoft MVP en Seguridad y Security Researcher en el equipo de "Ideas Locas" de la unidad CDO de Telefónica.

2 comentarios:

  1. Buenas tardes chema mi nombre es Julian Rivera de bogota Colombia, quería preguntar si tiene un correo electrónico al cual me pueda comunicar con usted, estoy en bogota Colombia trabajo en una compañía que esta trabajando en el tema de big data, y me gustaría poderme contactar con usted. Agradezco pueda compartirme un correo electrónico al cual poderle escribir y contar un poco acerca del motivo por el cual nos interesa charlar con usted.

    ResponderEliminar