27 jun 2016

Weeman: Un nuevo framework para el phishing

Las pruebas de concienciación sobre una organización son muy importantes. Sabemos que de nada vale disponer de los mejores sistemas de seguridad, los mejores antivirus, los mejores IDS o IPS, si luego un empleado de cualquier departamento cae en un simple phishing. Ya lo vimos con los ataques SAPPO. Las organizaciones necesitan disponer de una política de seguridad que sea propuesta y aceptada desde la dirección hacia los empleados. En esta política deben aparecer los roles y los responsables de la protección de los diferentes activos clasificados de la organización. Es una forma de hacer ver a los empleados, de diferentes niveles, que la información que ellos manejan día a día es importante para la organización. En muchas ocasiones olvidamos que el activo más importante que hay que proteger es la información. Llegamos a la conclusión de que la seguridad no existiría, si no hubiera que proteger dicho activo. 


Dicho todo esto, hay que tener claro que la concienciación dentro de una organización y la formación, a diferente nivel, de los empleados para hacerles ver qué cosas pueden suceder y cómo se pueden prevenir ciertas amenazas es realmente importante. Hoy en día, muchas organizaciones se han dado cuenta de esto. Por esta razón, realizan simulaciones de APT contra empleados o conjuntos de muestra de la organización. En este conjunto se suelen coger diferentes cargos de dirección, responsables de áreas, gente de IT, incluso, ¿Por qué no? Gente de la parte de seguridad.

Sin una política de seguridad, concienciación, formación y conocimiento no existirá una base lo suficientemente fuerte en una organización para que sus activos estén dentro del riesgo asumible por una empresa. Si nos fijamos en el modelo defensa en profundidad, precisamente su base es esto:


Quizá una de las herramientas de ingeniería social más famosas es SET, Social Engineering Toolkit, pero hoy hablaremos de Weeman, un nuevo framework que promete bastante en el uso de herramientas orientadas al phishing. La posibilidad de enviar emails falsos, de clonar sitios web y poder controlar las redirecciones, una vez introducidas las credenciales, son características mínimas que se piden a un framework orientado a esto. Lógicamente la intención del autor de la herramienta es la de que su framework se pueda utilizar en simulaciones de APT o pruebas de concienciación en las organizaciones y no para delinquir. 

Weeman: Un vistazo

Weeman presenta un entorno de consola con interacción mediante comandos. Escrito en Python, permite que los usuarios puedan escribir sus propios módulos de manera sencilla. Todo se encuentra en la doc del proyecto en Github

Las opciones que Weeman presenta son las que se pueden visualizar en la imagen. Los comandos pueden recordar a los de entornos como Metasploit o Powershell Empire. Para extender la funcionalidad y ejecutar módulos se dispone del comando framework. Este comando sitúa al usuario en otro contexto dónde se podrán ejecutar pequeñas herramientas que pueden ser necesarias, como por ejemplo un whois, un módulo que extrae los enlaces de un sitio web, o simplemente saber si una máquina se encuentra levantada o no. A día de hoy, Weeman no dispone de una gran cantidad de módulos, pero lo cierto es que promete. 


Con la opción show se pueden visualizar las diferentes opciones que se pueden utilizar a la hora de realizar la copia del sitio web y puesta en marcha del sitio fake. A continuación se enumeran las opciones que se pueden configurar:

- Action_URL. El método que se utilizará, por ejemplo POST.
- Clear. Permite limpiar la pantalla.
- HTML_File. El recurso HTML si se tuviera una copia ya realizada o customizada. En este punto se podría utilizar recursos generados, por ejemplo, con el Social Engineering Toolkit. 
- URL. Este recurso es necesario de settear. En este caso se indica la dirección URL que se quiere clonar. 
- Banner. Se puede configurar el tipo de banner que se quiere mostrar.
- External_js. Se puede configurar un recurso JS externo. Esto podría ayudar al pentester a la hora de realizar una petición a otro servidor, por ejemplo, en los ataques client-side o watering hole. 
- Port. Se puede configurar el puerto dónde se levantará el servidor, por defecto es el 8080.
- User_Agent. Se puede modificar el User Agent en el caso de que algún plugin tenga que realizar peticiones.

PoC: Clonando y levantando un sitio falso

En esta prueba de concepto se utilizarán 3 sitios de interés. El primero será Gmail, el segundo Outlook y el tercero Shodan. Para indicar el sitio que se quiere clonar se deberá utilizar set url https://gmail.com, y en el caso de Outlook y Shodan sus respectivas direcciones URL. 


Como se puede visualizar en la imagen se ha levantado un servidor web en el puerto 8080, ya que se dejó por defecto. Weeman se encarga de modificar el HTML con lo necesario para capturar las credenciales y realizar la redirección. Lo llamativo es que en su Github indican que el framework intenta loguear al usuario víctima en el sitio original. En las pruebas que llevé a cabo con esta herramienta esto no se logró. En la siguiente imagen se puede visualizar como el sitio web falso es un clon del original. 

Al introducir las credenciales del usuario la herramienta Weeman irá mostrando, tal y como hace por ejemplo SET, las credenciales. 


En el caso de Outlook y Shodan la configuración sería idéntica. Con la instrucción set url [dirección URL] cambiaríamos el sitio web a clonar y ejecutaríamos. En el caso de Outlook tan sencillo como set url https://outlook.com, pero en el caso de Shodan, el login no está en el sitio web principal por lo que sería set url https://account.shodan.io o set url https://account.shodan.io/login. El resultado es una página clonada, exactamente idéntica a la original. 


Al introducir el usuario y contraseña en el sitio web, Weeman lo muestra rápidamente, tal y como se puede visualizar en la imagen. También se puede visualizar como después de obtener las credenciales se lleva a cabo la redirección.


¿Cómo llega un usuario a un phishing? Las empresas deben ser conscientes que existen múltiples vías:

- Algunos usuarios piensan que navegando no se puede caer en un phishing, lo cual es un error. Existen sitios web por Internet que son phishing que se encuentran ahí. La capacidad de utilizar dominios “semejantes” a los de verdad o qué podrían encajar con la marca, proveedor o servicio que se suplanta es un caramelo para los phishers. En Pastebin se puede encontrar un listado de dominios que son phishing y echando un vistazo rápido se puede ver que los dominios son similares a sus marcas.


- Recepción de emails de dudosos remitentes. Es un clásico, quizá el más conocido el SPAM Phishing. No hay que dejar de lado el Spear Phishing, con el que mediante detalles como el nombre de la víctima, datos personales de la víctima, etcétera, se intenta crear confianza en dicho email. Un banco, una operadora, un proveedor nunca pedirá a un usuario que envíe sus credenciales a través de un email. 
- Enlaces en foros o redes sociales. Este es un mecanismo que ha ido evolucionando. Antiguamente, los usuarios de Internet podían caer en un phishing a través del clic sobre un enlace en un foro. Hoy día también, pero la cosa ha ido evolucionado y nos los encontraremos en redes sociales. Un ejemplo utilizado sería Twitter y sus enlaces acortados, ¿A dónde nos llevan?

Para finalizar os dejamos un par de artículos dónde se ve la importancia de tener conciencia de esto. En el primer artículo se ve como los dispositivos móviles han sido, y siguen siéndolo, un caramelito para el phishing. El segundo artículo habla de cómo el culpable del Celebgate llevó a cabo el robo de cuentas de las famosas de Hollywood. Un sencillo phishing de iCloud y el acceso al backup de los iPhone en bandeja. La conclusión es sencilla, la base del modelo en profundidad es una política de seguridad, concienciación, formación y conocimiento. Sin esto, de nada valdrá tener el mejor hardware o software en seguridad.

No hay comentarios:

Publicar un comentario