Archivo

Posts Tagged ‘Human Hacking’

Herramientas de pentesting interesantes: Shellphish – Parte 3

noviembre 1, 2019 2 comentarios

Sin lugar a dudas, los ataques de phishing hoy en día sustituyen una de las amenazas más frecuentes cuando se habla de seguridad perimetral y es que el factor humano es siempre, el más problemático y difícil de gestionar en todos los aspectos de una organización. No es de extrañar que en algunas pruebas de seguridad enfocadas al RedTeam se incluyan este tipo de técnicas con el objetivo de medir la seguridad del perímetro desde adentro. Quiénes han picado en un ataque de phishing y han pinchado en el enlace, quiénes no han sabido detectar que ese correo electrónico contiene un enlace a un sitio malicioso. Son cuestiones que se afrontan con la formación a los empleados y a la que difícilmente las soluciones de seguridad perimetral pueden hacer frente de forma eficaz. En este sentido existen múltiples herramientas y frameworks enfocados a la ejecución de campañas de phishing, cuyo objetivo es precisamente probar la seguridad del perímetro de una organización ante este tipos de ataques aunque como es evidente, también son herramientas que dadas sus funcionalidades y lo bien hechas que están se utilizan directamente por parte de ciberdelincuentes. En este post hablaré de una de estas herramientas llamada “shellphish”, que sin ser la más interesante o potente sí que hace bien su trabajo y para lo que fue desarrollada por lo tanto merece una mención. En próximos posts hablaré de herramientas mucho más completas y con un enfoque más moderno como es el caso de “evilginx” o “gophish”.
NOTA: Si te interesa aprender más en profundidad sobre técnicas de ingeniería social, es posible que te resulten útiles los recursos del “Social Engineering Framework” (https://www.social-engineer.org/framework/general-discussion/) y el uso de otras herramientas como SET de las que ya he dedicado una serie completa hace algunos años, empezando aquí.

Introducción y uso de Shellphish

Se trata de una herramienta que provee un conjunto de plantillas para los sitios más populares en Internet, entre los que se encuentran Facebook, Twitter, Netflix, Instagram, entre otros. No obstante, dada su flexibilidad es posible crear plantillas personalizadas para sitios web que no se encuentran incluidos en la herramienta, de tal manera que es posible llevar a cabo campañas de phishing contra un objetivo concreto. El uso de la herramienta es realmente simple, basta con seleccionar una plantilla, establecer el tipo de servidor para que sea accesible desde Internet (puede ser serveo.net o Ngrok) y posteriormente, esperar a que el usuario “pinche” en el enlace que se enviaría por email (o cualquier otro medio).

Para instalar la herramienta, basta con clonar el repositorio oficial y ejecutar el script “shellphish”

>git clone https://github.com/thelinuxchoice/shellphish.git

>cd shellphish && chmod 755 shellphish.sh

>./shellphish.sh

Una de las dependencias obligatorias de la herramienta es una versión reciente de PHP, dado que se encuentra desarrollado en dicho lenguaje. Cuando se ejecuta el script de shellphish se abre un asistente muy básico en donde se puede apreciar un listado de las plantillas soportadas por la herramienta y el permite al usuario seleccionar una de ellas.

Se puede seleccionar cualquiera de los servicios disponibles, pero hay que tener en cuenta que las plantillas son fijas, es decir, que si existe algún cambio en cualquiera de los sitios web legítimos, dicho cambio tendrá que ser aplicado también en la plantilla para que sea más creíble. El funcionamiento interno de la herramienta también resulta sencillo. En el directorio <SHELLPHISH_ROOT>/sites se encuentran todas las plantillas de cada uno de los sitios que se listan en el menú principal. En cada uno de los directorios correspondientes a dichos servicios, aparecen como mínimo los siguientes ficheros:
index.php: Se encarga de ejecutar un “include” del fichero “ip.php” y posteriormente realiza una redirección incluyendo la cabecera “Location” en la respuesta con el valor “login.html”.

login.html: Como es natural, incluye la estructura HTML del sitio web legitimo, sin embargo dicha página web está configurada de tal manera que las acciones sobre ella (por ejemplo, pinchar sobre el botón de login) son procesadas por el script “login.php”.

ip.php: Se trata de un script que se encarga de recopilar la información del cliente que accede al sitio web falso. Incluye información básica como la IP del navegador de la víctima, país, ciudad, ISP, etc.

login.php: Es un script que simplemente se encarga de almacenar y enseñar por pantalla la información de login del usuario.

Todas las plantillas en shellphish tienen lo mismo, por lo tanto es fácil extender esto a otras plantillas personalizadas, es decir, a otros sitios web que no se encuentren en la lista de plantillas por defecto en la herramienta.

Después de seleccionar la plantilla a utilizar, la herramienta pedirá al atacante que seleccione el tipo de servidor web para la plantilla seleccionada en el paso previo. En este caso cualquiera de las dos opciones es valida ya que ambas funcionan bastante bien (Serveo.net o Ngrok). Posiblemente resulte conveniente utilizar Serveo.net dado que las conexiones pasan por medio de un túnel SSH.

Una vez que el servidor web se encuentre levantado y la víctima haya entrado en el sitio web falso, se ejecuta el fichero “ip.php” que se encuentra disponible en la plantilla seleccionada y que tal como se ha explicado anteriormente, se encarga de recolectar información básica sobre el navegador del usuario.

A continuación, la víctima podrá ver la misma estructura del sitio web, así que salvo que se fije en la URL no hay nada que en apariencia resulte sospechoso. Si el usuario trata de iniciar sesión en el supuesto servicio, se ejecutará el script “login.php” que se encargará de procesar lo que el usuario ha escrito en las cajas de texto (típicamente, usuario y contraseña).

Se puede ver que además, se encarga de guardar estos detalles en un fichero de texto que posteriormente se puede consultar fácilmente. Todas las plantillas en Shellphish tienen el mismo comportamiento.

Con shellphish también es posible crear plantillas personalizadas y para ello la herramienta cuenta con un asistente que paso a paso, establece un sitio web genérico en el que se pide usuario y contraseña. No obstante es bastante básico lo que genera la herramienta (por no llamarlo cutre) por lo tanto para un ataque de phishing real será mucho más conveniente crear la plantilla manualmente, que como se ha explicado antes no tiene ninguna dificultad, basta simplemente con crear un directorio en <SHELLPHISH_ROOT>/sites con el nombre del sitio web e incluir los ficheros mencionados unos párrafos más arriba.

Para activar el asistente en shellphish se debe seleccionar la opción “Custom” y tal como se puede ver en la siguiente imagen, es necesario comenzar a rellenar ciertos campos.

Ahora, cuando una potencial víctima entra en “https://torrens.serveo.net” podrá ver lo siguiente. Algo que a mi gusto resulta bastante deficiente desde el punto de vista estético, por este motivo es posible que el mejor enfoque sea crear la plantilla manualmente.

Se trata de una herramienta para realizar ataques de phishing basados en servicios existentes, sin embargo dada su simplicidad también es posible crear plantillas personalizadas partiendo de la clonación de un sitio web legitimo. Sin ser una herramienta con muchas características o funcionalidades, cumple bastante bien con el objetivo para el que fue creada.

Un Saludo y Happy Hack!
Adastra.

Intentando evadir mecanismos y restricciones de Seguridad – Uso de tecnicas de Ingeniería Social – Parte XIV

marzo 12, 2012 1 comentario

A diferencia de lo que algunos opinan, el hacking no es solamente saber programar y conocer herramientas que permitan realizar pruebas de penetración contra distintos tipos de sistemas, en realidad abarca muchas de las facetas del conocimiento humano, siendo un termino empleado para cualquier persona que tenga gusto por el conocimiento y que disfrute del aprendizaje. En este orden de ideas, la ingeniería social se destaca precisamente en que sus practicantes tienen un profundo conocimiento sobre técnicas relacionadas con la psique humana y conocen bastante bien en que puntos pueden existir limitaciones y posiblemente, vulnerabilidades. De esta forma pueden utilizar a su favor, diferentes características que son inherentes al comportamiento humano y que no tienen ningún tipo de “parche” excepto la educación para poder identificar cuando somos objetivo de una de estas técnicas. A continuación se indica un claro ejemplo del uso de un ataque de ingeniería social contra el factor mas vulnerable de una organización, las personas. Aunque el siguiente ejemplo pueda parecer casi una broma, ha ocurrido “en el mundo real” (aunque los nombres evidentemente han sido alterados). Probablemente os haga gracia.

Leer más…

Conceptos Básicos y Avanzados de SET (Social Engineer Toolkit) – Características avanzadas de SET – Wireless Access Point Attack Vector – Parte VIII

septiembre 28, 2011 Deja un comentario

SET incluye un vector de ataque bastante utilizando por atacantes en redes inalámbricas, consiste precisamente en la creación de un Access Point falso donde se tratan cada uno de los paquetes que viajan por la interfaz de red inalámbrica del atacante. Para realizar estas operaciones utiliza aircrack-ng, esta utilidad como probablemente algunos de los lectores sabrán, es una suite de herramientas enfocadas específicamente a la realización de diversos ataques y operativas relacionadas con dispositivos inalámbricos, además de que permite realizar ataques contra WEB/WPA2.0 para capturar las credenciales de acceso de un AP determinado. Ahora bien, antes de comenzar a utilizar SET es necesario tener algunas consideraciones relacionadas con los servicios que se deben encontrar instalados en la maquina del atacante antes de poder iniciar adecuadamente un access point falso desde SET.

Leer más…

Conceptos Básicos y Avanzados de SET (Social Engineer Toolkit) – Características avanzadas de SET – RATTE en SET – Parte VII

septiembre 26, 2011 1 comentario

Una de las ultimas características añadidas al framework de SET ha sido RATTE (Remote Administration Tool Tommy Edition) se trata de un payload que intenta evadir restricciones sobre el trafico saliente que pudieran existir en el segmento de red del objetivo, como por ejemplo un IDS o Firewall establecido en dicha red, este objetivo se consigue gracias a que todos los comandos que se ejecutan se realizan completamente por medio de una comunicación HTTP (tanto en el envío de la ejecución del comando como en el retorno de los resultados del mismo desde el cliente).

Leer más…

Conceptos Básicos y Avanzados de SET (Social Engineer Toolkit) – Características avanzadas de SET – SET Interactive SHELL – Parte VI

septiembre 23, 2011 Deja un comentario

Se trata de una funcionalidad que permite establecer una shell interactiva con una víctima comprometida, funcionando de un modo similar a lo que una sesión meterpreter en metasploit framework. Para aplicar esta característica basta con utilizar el vector de ataque web con un applet malicioso y posteriormente seleccionar el payload correspondiente a Shell interactiva de SET como se indica a continuación

Leer más…

Conceptos Básicos y Avanzados de SET (Social Engineer Toolkit) –Características avanzadas de SET – Parte V

septiembre 21, 2011 1 comentario

Este modulo de ataque en SET, tal como su nombre lo indica permite crear ejecutables maliciosos en dispositivos USB o discos CD/DVD. Este modulo creará un fichero “autorun.inf” que será útil para cargar automáticamente el ejecutable malicioso que viene incluido en el dispositivo, además de esto cuenta con un pequeño asistente para establecer las propiedades necesarias para la generación del payload utilizando metasploit, donde en cada paso se incluyen el tipo de exploit que se desea incluir, el tipo de mecanismo de evasión de AV que se desea emplear entre otras cosas.

Leer más…

Conceptos Básicos y Avanzados de SET (Social Engineer Toolkit) – Web Attack Vectors – Parte IV

septiembre 19, 2011 Deja un comentario

Man-Left In the Middle

Utiliza como objetivo un sitio web ya comprometido o con una vulnerabilidad del estilo cross-site scripting (XSS) para pasar las credenciales de acceso de un objetivo de vuelta al servidor HTTP, como resulta lógico, es necesario en primer lugar encontrar una aplicación con alguna vulnerabilidad XSS y enviar la URL al objetivo quien posteriormente ingresará en dicha ruta, el sitio web operará de forma normal, pero cuando el objetivo ingrese en el sistema, sus credenciales son enviadas al atacante.

Leer más…

A %d blogueros les gusta esto: