Está en la página 1de 16

INTRODUCCION Arquitectura metaesploit

Sistema de archivos y bibliotecas

El sistema de archivos MSF se presenta de forma intuitiva y es organizada por el directorio.

datos: archivos editables utilizados por Metasploit documentacin: proporciona documentacin del marco externos: fuente cdigo y terceros bibliotecas lib: la carne del cdigo marco base mdulos: los reales MSF mdulos

plugins: plugins que se pueden cargar en tiempo de ejecucin scripts: Meterpreter y otros scripts herramientas: varias utilidades de lnea de commandos

Bibliotecas

Rex -La biblioteca bsica para la mayora de las tareas -Tareas, protocolos, transformaciones de texto y otros -SSL, SMB, HTTP, XOR, Base64, Unicode

Msf::Core -Proporciona la API 'bsica' -Define el marco de Metasploit

Msf::Base -Proporciona el API 'amistoso' -Proporciona API simplificadas para su uso en el marco

Mdulos y ubicaciones

Metasploit, tal como se presenta al usuario, se compone de mdulos

Exploits -Define como mdulos que utilizan cargas tiles. -Una hazaa sin una capacidad de carga es un mdulo auxiliar.

Payloads, Encoders, Nops -Cargas consisten en cdigo que se ejecuta de forma remota -Codificadores aseguran que cargas llegar a su destino -Nops mantener los tamaos de carga constant

Modules Locations

rbol del mdulo principal Ubicado debajo de /opt/metasploit/msf3/modules /

rbol del mdulo especificado por el usuario -Encuentra en ~/.msf4/modules/ -Esta ubicacin es ideal para sistemas mdulo privado

Carga adicionales rboles en tiempo de ejecucin -Pase la opcin -m cuando se ejecuta msfconsole (msfconsole -m) -Utilice el comando loadpath msfconsole

Modelo de objetos de Metasploit

En el marco de Metasploit, todos los mdulos son clases rubies

-Mdulos de heredarn de la clase de tipo-especficas -La clase de tipo-especficas se hereda de la clase de Msf::Module -Existe una API comn compartida entre mdulos

Cargas son ligeramente diferentes.

-Cargas se crean en tiempo de ejecucin de varios componentes. -Pegan deshacer con etapas

Mixins And Plugins

Un rpido desvo en Rub

-Cada clase tiene slo uno de los padres -Una clase puede incluir muchos mdulos -Mdulos pueden agregar nuevos mtodos

-Los mdulos pueden sobrecargar mtodos antiguos -Mdulos de Metasploit heredarn Msf::Module e incluyen mixins para agregar caractersticas

Metasploit Mixins

Mixins son sencillamente, la razn por qu Ruby rocas.

Mixins "incluir" una clase en otro Esto es diferente y similar a herencia Mixins puede reemplazar mtodos de una clase

Mixins puede aadir nuevas funcionalidades y permite que los mdulos tienen diferentes 'sabores'

Protocolo especfico (es decir: HTTP, SMB)

-comportamiento especfico (es decir: fuerza bruta) -connect() es implementado por el TCP mixin -connect() entonces est sobrecargada por FTP, SMB y otros.

Mixins puede cambiar el comportamiento.

-El escner mixin sobrecarga run() -escner cambios run() para run_host() y run_range() -que llama stos en paralelo basado en la rosca de ajuste -fuerza bruta el mixin es similar

xxxxxxxxxxxxxxxxxxxx class MyParent def woof puts woof! end end

class MyClass < MyParent end

object = MyClass.new object.woof() => woof!

=========================================================== =====

module MyMixin def woof puts hijacked the woof method! end end

class MyBetterClass < MyClass include MyMixin end xxxxxxxxxxxxxxxxxxxx

Metasploit Plugins

Plugins trabajan directamente con la API.

Manipulan el marco como un gancho de Plugins de todo En el evento subsistema Automatizan tareas especficas que seran tediosas hacerlo manualmente

Slo funcionan los plugins en la msfconsole.

Plugins puede agregar nuevos comandos de consola Extienden la funcionalidad de marco general

Metasploitable

Uno de los problemas usted encontrar al aprender a usar un marco de explotacin est tratando de configurar objetivos para explorar y atacar. Por suerte, el equipo de Metasploit es consciente de ello y lanzado una vulnerable mquina virtual de VMware llamada 'Metasploitable'.

Metasploitable es una mquina de virtual Linux intencionalmente vulnerable. Esta VM puede utilizarse para realizar entrenamiento de seguridad, herramientas de seguridad y pruebas tcnicas comunes de penetracin de prctica de prueba. La VM se ejecutar en los ltimos productos de VMware y otras tecnologas de visualizacin como VirtualBox, VMFusion. Puede descargar el archivo de imagen de Metasploitable 2 de http://information.rapid7.com/downloadmetasploitable.html?LS=1631875

El default login y la contrasea es msfadmin:msfadmin. Nunca exponga este VM a una red sin confianza (utilizar NAT o modo de Host slo si tienes dudas de lo que eso significa).

Una vez hayas descargado el VM, extraiga el archivo zip, abrir el archivo vmx usando su producto VMware y encenderla. Despus de un breve tiempo, el sistema estar listo para la accin y calzada.

Para obtener ms informacin sobre la configuracin de la VM, hay un blog publicando en https://community.rapid7.com/docs/DOC-1875

Msfcli
Msfcli proporciona un potente interfaz de lnea de comandos para el marco. Tenga en cuenta que cuando se utiliza msfcli, variables se asignaron mediante '=' y que todas las opciones son case-sensitive. Si no est totalmente seguro sobre qu opciones pertenecen a un mdulo determinado, se puede aadir la letra ' o ' hasta el final de la cadena en cualquier momento se pegan. Para mostrar las cargas que estn disponibles para el mdulo actual, aadir la letra 'P' a la cadena de lnea de comandos. Las otras opciones disponibles a msfcli estn disponibles mediante la emisin de 'msfcli -h'. Beneficios de mscli. Soporta el lanzamiento de hazaas y mdulos auxiliares Useful para tareas especficas Buena para aprender La prueba o desarrollar una nueva herramienta de Buena exploit para explotacin puntual Excelente si sabes exactamente que explotar y las opciones que necesita Wonderful para su uso en secuencias de comandos y automatizacin bsica La nica desventaja de msfcli es que no se admite bastante as como msfconsole y slo puede manejar una cscara a la vez, lo que es bastante prctico para los ataques del lado del cliente. Tambin no apoya ninguna de las caractersticas de la automatizacin avanzada de msfconsole.

Msfconsole
La msfconsole es probablemente la interfaz ms popular de la MSF. Proporciona una consola centralizada "todo en uno" y permite un eficiente acceso a prcticamente todas las opciones disponibles en el marco de Metasploit. Msfconsole puede parecer intimidante al principio, pero una vez que aprendas la sintaxis de los comandos usted aprender a apreciar el poder de utilizar esta interfaz. Beneficios -Es la nica manera de apoyada para acceder a la mayora de las caractersticas dentro de Metasploit. -Proporciona una consola basada en la mayora de las funciones de interfaz para la -Contains de marco y es la ms estable MSF soporte para interfaz -Seal readline, tabulacin y comando -Ejecucin de terminacin de comandos externos en msfconsole es posible: Lanzamiento Se lanza la msfconsole ejecutando simplemente 'msfconsole' desde la lnea de comandos. msfconsole se encuentra en el directorio /opt/metasploit/msf3. Ayuda Puede pasar '-h' a msfconsole para ver las otras opciones de uso disponibles para usted. Entrar en 'ayuda' o un '?' una vez en el msf smbolo mostrar una lista de comandos disponibles junto con una descripcin de lo que se utilizan. Terminacin de la ficha La msfconsole est diseado para ser rpido de usar y una de las caractersticas que ayuda a este objetivo es la finalizacin de la ficha. Con la amplia gama de mdulos disponibles, puede

ser difcil recordar el nombre exacto y la ruta del mdulo especial desea hacer uso de. Como con la mayora de otros shells, entrando en lo que sabe y presione 'Tab' le presentar una lista de opciones disponibles para usted o completar automticamente la cadena si existe slo una opcin. Realizacin de ficha depende de la extensin de rub readline y casi cada comando en la consola apoya realizacin de la ficha. -use exploit/windows/dce -use .*netapi.* -set LHOST -show -set TARGET -set PAYLOAD windows/shell/ -exp Comandos Msfconsole La Msfconsole tiene muchas opciones para elegir. back Una vez que haya terminado de trabajar con un mdulo especial, o si accidentalmente selecciona el mdulo equivocado, puede emitir el comando "back" para abandonar el contexto actual. Esto, sin embargo no es necesario. As como usted puede en routers comerciales, puede cambiar mdulos de dentro de otros mdulos. Como recordatorio, las variables se transportan slo si se establecen a nivel mundial. check No hay muchas hazaas que lo apoyan, pero tambin es una opcin de control que comprobar para ver si un objetivo es vulnerable a un ataque particular en vez de realmente explotarla. connect Hay un clon de netcat miniatura construido en la msfconsole compatible con SSL, servidores proxy, pivotante, y enva el archivo. Mediante el comando "conectar" con un nmero de puerto y la direccin de ip, puede conectarse a un host remoto desde dentro msfconsole lo mismo como lo hara con netcat o telnet... Puedes ver todas las opciones adicionales mediante la emisin de la "-h" parmetro. info El comando 'info' proporcionar toda la informacin sobre un mdulo particular incluyendo todas las opciones, objetivos y otra informacin. Asegrese de leer siempre la descripcin del mdulo antes de utilizarlo como algunos pueden tener efectos un-desired. El comando info tambin proporciona la siguiente informacin: -El autor y licencia de informacin -Vulnerability referencias (es decir: CVE, BID, etc.) -Cualquier restricciones de carga el mdulo puede tener irb Ejecutar el comando 'irb' se reducir en una cscara de intrprete Ruby vivo donde puede emitir comandos y crear scripts de Metasploit sobre la marcha. Esta funcin tambin es muy til para entender el funcionamiento interno del marco. jobs Los trabajos son mdulos que se ejecutan en segundo plano. El comando 'jobs' proporciona la capacidad de la lista y poner fin a estos puestos de trabajo.

load El comando "load" carga un plugin de directorio de 'plugin' de Metasploit. Se pasan argumentos como "clave = val' en la cscara. loadpath El comando 'loadpath' cargar un rbol de mdulo de la tercera parte de la ruta por lo que puede sealar Metasploit en su da 0 hazaas, codificadores, cargas, etc.. unload Por el contrario, el comando 'descarga' descarga un plugin previamente cargado y quita cualquier comandos extendidos. resource El comando 'recursos' ejecuta recursos ficheros (batch) que pueden ser cargados a travs de msfconsole. Algunos ataques como Karmetasploit utilizan archivos de recursos para ejecutar un conjunto de comandos en un [karma.rc archivo poner algo aqu] para crear un ataque. Ms adelante hablaremos de cmo fuera de Karmetasploit, que puede ser muy til. Archivos por lotes pueden mucho acelerar los tiempos de prueba y desarrollo as como permite automatizar muchas tareas. Adems de cargar un archivo por lotes desde msfconsole, pueden tambin ser pasados en arranque usando el '-r' bandera. El simple ejemplo siguiente crea un archivo por lotes para visualizar el nmero de versin de Metasploit en el arranque. route El comando "ruta" Metasploit permite a tomas de la ruta a travs de una sesin o "comm", proporcionando capacidades bsicas pivotantes. Para agregar una ruta, pasar por la mscara de subred y red de destino, seguida por el nmero de sesin (comm). search La msfconsole incluye la funcionalidad de una extensa bsqueda basado en expresiones regulares. Si usted tiene una idea general de lo que usted est buscando para usted puede buscar para l va 'Buscar'. En la salida siguiente, se realiza una bsqueda para MS Boletn MS09-011. La funcin de bsqueda localizar esta cadena dentro de los nombres de mdulo, descripciones, referencias, etc.. Nota la Convencin de nomenclatura para los mdulos Metasploit utiliza guiones bajos y guiones. help Puede refinar an ms las bsquedas mediante el sistema de palabra clave incorporada. name Para buscar utilizando un nombre descriptivo, utilice la palabra clave "nombre". path Utilice la palabra clave de la "ruta" para buscar dentro de los senderos del mdulo. platform Puede utilizar "plataforma" para limitar la bsqueda a los mdulos que afectan una plataforma especfica. type

El "tipo" permite filtrar por tipo de mdulo como auxiliar, correos, hazaa. author Bsqueda con las palabras "autor" le permite buscar mdulos por su autor favorito. multiple Tambin se puede combinar varias palabras clave junto a la ms estrecha hacia abajo los resultados devueltos sessions Las 'sesiones' comando permite listar, interactuar con y matar gener sesiones. Las sesiones pueden ser conchas, sesiones de Meterpreter, VNC, etc.. Para obtener una lista de todas las sesiones activas, pasar la '-l' opciones 'sesiones' set El comando 'set' permite configurar opciones de marco y parmetros del mdulo actual que est trabajando. Metasploit tambin permite la posibilidad de establecer un codificador para usar en tiempo de ejecucin. Esto es particularmente til en el desarrollo de la explotacin cuando no ests completamente seguro en cuanto a los mtodos de codificacin de carga trabajar con un exploit. unset Por supuesto, lo contrario del comando 'set', es ''. '' Quita un parmetro previamente configurado con "set". Puede quitar todo asignadas variables con 'todos'. setg Con el fin de ahorrar un montn de escribir durante un pentest, puede definir variables globales dentro de msfconsole. Puede hacer esto con el comando 'setg'. Una vez que stos se han creado, puede utilizarlos en tantas hazaas y mdulos auxiliares como usted tiene gusto. Puede tambin guardar para su uso el siguiente tiempo su comienzo msfconsole. Sin embargo, la trampa es olvidar que guardaste globals, siempre revise sus opciones antes de "run" o "explotar". Por el contrario, puede utilizar el comando "unsetg" para desactivar una variable global. En los ejemplos que siguen, las variables se escriben en maysculas (es decir: LHOST), pero Metasploit es por lo que no es necesario hacerlo. Despus de configurar las variables diferentes, puede ejecutar el comando "guardar" para guardar su entorno actual y la configuracin. Con sus ajustes guardados, sern cargados automticamente en el arranque, que le ahorra de tener que configurar todo otra vez. show Entrar en el 'show' en el indicador msfconsole mostrar cada mdulo dentro de Metasploit. Hay una serie de comandos 'show' que se puede utilizar pero los que utilizas con mayor frecuencia son 'show auxiliar', 'show hazaas', 'show cargas', 'show codificadores' y 'show nops'. auxiliary Ejecutar 'show auxiliar' mostrar un listado de todos los mdulos auxiliares disponibles dentro de Metasploit. Como se mencion anteriormente, los mdulos auxiliares incluyen escneres, negacin de mdulos de servicio y fuzzers. exploits Naturalmente, 'saln hazaas' ser el comando que ests ms interesado en marcha desde su ncleo, Metasploit es todo sobre explotacin. Ejecute 'show hazaas' para obtener una lista de

hazaas todas contenidas en el marco. payloads Ejecuta 'show cargas' mostrar todas las cargas diferentes para todas las plataformas disponibles en Metasploit. payloads Como puede ver, hay un montn de cargas disponibles. Afortunadamente, cuando ests en el contexto de un ataque especial, ejecutando 'show cargas' slo mostrar las cargas que son compatibles con ese ataque particular. Por ejemplo, si se trata de una vulnerabilidad de Windows, no se mostrar las cargas de Linux. options Si ha seleccionado un mdulo especfico, puede emitir el comando "Mostrar opciones" para ver qu ajustes estn disponibles y/o necesarios para ese mdulo especfico targets Si no est seguro si un sistema operativo es vulnerable a un ataque particular, ejecute el comando 'Mostrar destinos' de dentro del contexto de un mdulo de exploit para ver qu objetivos son compatibles. advanced Si desea afinar ms un exploit, puede ver las opciones ms avanzadas ejecutando 'show avanzada'. encoders Ejecuta 'show codificadores' mostrar un listado de los codificadores disponibles dentro de MSF. nops Por ltimo, emitir la 'Mostrar nops' comando mostrar los generadores NOP que Metasploit tiene para ofrecer. use Cuando han decidido en un mdulo especial para utilizar, ejecutar el comando 'uso' para seleccionarlo. El 'uso' comando cambia el contexto a un mdulo especfico, exponiendo los comandos especficos de tipo. Aviso en la salida de abajo que ninguna variable global que previamente fueron instalada ya configurada.

Exploits
Todas las hazaas en Metasploit Framework se dividen en dos categoras: activos y pasivos. Active Exploits Hazaas activos explotar un determinado host, hasta la terminacin y luego la salida. -Mdulos de Brute-fuerza saldr cuando abre una shell de la vctima. Se detiene la ejecucin de -Module si se detecta un error. -Usted puede forzar un mdulo activo al fondo pasando '-j' para el comando de ataque:

Example En el ejemplo siguiente se utiliza un conjunto previamente adquirido de credenciales para explotar y obtener un shell inverso en el sistema de destino.

Passive Exploits En el ejemplo siguiente se utiliza un conjunto previamente adquirido de credenciales para explotar y obtener un shell inverso en el sistema de destino. -Passive explota casi siempre enfocado en clientes como navegadores, clientes FTP, etc. -Ciertos puede usarse en conjuncin con abusos de correo electrnico, a la espera de

conexiones. -Passive explota conchas informe tal y como sucede puede ser enumerados pasando '-l' para el comando de sesiones. Pasando '-i' interactuar con una concha.

Ejemplo La salida siguiente muestra la configuracin para explotar la vulnerabilidad de cursores animados. La hazaa no se desencadena hasta que la vctima navega por nuestro sitio web malicioso.

Using Exploits
Seleccionar un exploit en Metasploit agrega los comandos 'check' y 'explotar' a msfconsole.

Show Usando un exploit tambin agrega ms opciones para el comando 'show'. Targets

Payloads

Options

Advanced

Evasion

También podría gustarte