Guia de Usuario de Metasploit
De www.metasploit-es.com.ar
La siguiente Guía de Usuario de Metasploit es gratuita y puede verla desde este enlace en ingles http://www.metasploit.com/documents/users_guide.pdf. No se ha modificado el contenido de la Guía de Usuario, la traducción sigue manteniendo el contenido del mismo. Esta guia es propiedad de Rapid7 LLC Copyright (c) 2008, simplemente nos limitamos a su traducción al Español.
Version 3.2
Introducción
Esta es la guía del usuario Oficial de la versión 3.2 de la Directiva Framework de Metasploit. Esta guía está diseñada para proporcionar una visión general de lo que el Framework es, cómo funciona, y lo que puedes hacer con él. La última versión de este documento se puede encontrar en el sitio web de Metasploit Framework. El Metasploit Framework es una plataforma para escribir, probar y usar código Exploit. Los principales usuarios del Framework son los profesionales que realizan pruebas penetración, el desarrollo de código shell, y la investigación de la vulnerabilidad.
Instalación
Instalación en Unix
La instalación del Framework es tan fácil como extraer el archivo, cambiando en el directorio creado, y la ejecución de la interfaz de usuario preferido. Estamos firmemente recomendamos que utilice una versión del intérprete de Ruby que fue construido con apoyo a la biblioteca GNU Readline. Si está utilizando el Framework para el Mac OS X anteriores a 10.5.1, tendrá que instalar GNU readline y luego re-compilar el intérprete de Ruby. Utilizando una versión de Ruby con el soporte de Readline permite autocompletacion de la interfaz de consola. La interfaz de usuario msfconsole es preferida para el uso diario, pero la interfaz msfweb puede ser útil para demostraciones en vivo. Para realizar una instalación para todo el sistema, se recomienda que copie el directorio del Framework completo en una ubicación accesible a nivel global(/usr/local/msf) y luego crear los enlaces simbólicos de la msf* aplicaciones a un directorio en la ruta del sistema (/usr/local/bin). Usuario específicos módulos se pueden colocar en directorio HOME/.msf3/modules. La estructura de este directorio debe reflejar de que el directorio mundial de módulos en la distribución de Framework. La última versión estable del intérprete de Ruby (1.8.7-p72) contiene un error de que rompe muchos de los módulos de Metasploit Framework. La única manera de trabajar evitar este error es por la degradación hasta una versión anterior de 1.8.6 o la actualización a el más reciente estable de 1.8.7. La instantánea de la última versión estable puede ser descargado de ftp://ftp.ruby-lang.org/pub/ruby/stable-snapshot.tar.gz. Para obtener más información acerca de este tema, consulte el billete de Ubuntu: https://bugs.launchpad.net/bugs/282302 .
Instalación en Windows
El Metasploit Framework es totalmente compatible con la plataforma Windows. Para instalar el Framework en Windows, descargar la ultima versión de Windows instalador de http://metasploit.com/framework/download/, realizar una actualización on-line, y lanza la interfaz msfgui desde el menú Inicio. Para acceder a la interfaz estandar msfconsole, seleccione la opción consola desde la menú de Windows. Como alternativa, puede utilizar la interfaz de msfweb, que es soportada por Mozilla Firefox e Internet Explorer.
Advertencias Plataforma
Cuando se utiliza el Framework de la plataforma Windows, tenga en cuenta que msfgui y msfweb son las interfaces de usuario sólo se admite. Si bien puede aparecer msfcli para trabajar en la línea de comandos, se ejecutará en problemas tan pronto como más de un hilo activa está presente. Esto puede prevenir la mayoría de los exploits, auxiliares de módulos, plugins y de funcionamiento. Este problema no se produce dentro de Entorno Cygwin. La plataforma de Windows no es compatible con paquetes IP en bruto, la inyección de la inyección de paquetes, conexión inalámbrica controlador de la explotación, o SMB ataques de reinstalación sin especificaciones c con guración. En la mayoría de los casos, esas características se puede acceder por Metasploit ejecuta dentro de una máquina virtual de Linux-basada (como BackTrack 3 en VMWare).
Sistemas operativos compatibles
El Framework debe funcionar en casi cualquier sistema basado en UNIX que incluye una versión completa y moderna del intérprete de Ruby (1.8.4 +). Cada La versión estable del Framework se prueba con tres plataformas principales:
- Linux 2.6 (x86, PPC)
- Windows NT (2000, XP, 2003, Vista)
- MacOS X 10.5 (x86, PPC),
Para obtener información acerca de instalar manualmente el Framework, incluyendo todos los las dependencias requeridas necesarios para utilizar la interfaz de msfgui nuevo, consulte el sitio web de Framework : http://metasploit.com/framework/support
Actualización del Framework
El Framework puede ser actualizado mediante un cliente de Subversion estándar. El viejo herramienta msfupdate ya no es compatible. Los usuarios de Windows pueden hacer clic en enlace Online Update dentro de la carpeta del programa Metasploit 3 en el menú Inicio. Para obtener las últimas actualizaciones sobre una plataforma Unix, el cambio en el Framework El directorio de instalación y ejecutar svn update. Si tiene acceso a Internet a través de un servidor proxy HTTP, consulte el FAQ de Subversion sobre el acceso del servidor proxy: http://subversion.tigris.org/faq.html#proxy
Cómo empezar
La interfaz de la consola
Después de haber instalado el Framework, debe verificar que todo está funciona correctamente La forma más sencilla de hacer esto es ejecutar la interfaz de usuario msfconsole. Si estás utilizando Windows, inicie la interfaz msfgui y acceda a la Consola desde el enlace en el menú de la ventana. La consola deben mostrar un archivo con un Logotipo de arte ASCII, imprimir la versión actual, algunos cargos de módulo, y colocar un prompt de "msf>". A partir de este prompt, escriba help para obtener una lista de los comandos válidos. Tú eres actualmente en el "principal" modo, lo que le permite ver listas de exploits, listas de payload, y configurar opciones globales. Para ver una lista de todos los exploits disponibles, escriba show exploit. Para obtener más información acerca de un determinado exploit, escriba "info nombre_del_modulo". La interfaz de consola fue diseñada para ser rápida y flexible. Si se introduce un comando que no es reconocido por la consola, se buscará la ruta del sistema de determinar si es un símbolo del sistema. *1 Si NDS un partido, que el comando se ejecutará con los argumentos proporcionados. Esto le permite utilizar su conjunto de herramientas estándar, sin tener que salir de la consola. La interfaz de consola es compatible con la implementación del autocompletador de comandos conocidos. La interfaz de msfweb incluye la implementación del autocompletador de comandos por defecto, pero la interfaz msfconsole requiere que Ruby haya sido compilado con la biblioteca readline. Para obtener más información sobre la implementación del tabulador, por favor consulte al Apéndice B.1.
La consola de inicio será similar al texto de abajo.
o 8 o o
8 8 8
ooYoYo. .oPYo. o8P .oPYo. .oPYo. .oPYo. 8 .oPYo. o8 o8P
8' 8 8 8oooo8 8 .oooo8 Yb.. 8 8 8 8 8 8 8
8 8 8 8. 8 8 8 'Yb. 8 8 8 8 8 8 8
8 8 8 `Yooo' 8 `YooP8 `YooP' 8YooP' 8 `YooP' 8 8
.:..:..:.....:::.::......::.....:8.....:.:......::.::..::
:::::::::::::::::::::::::::::::::8:::::::::::::::::::::::
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::
=[ msf v3.1-release
+ -- --=[ 263 exploits - 116 payloads
+ -- --=[ 17 encoders - 6 nops
=[ 45 aux
msf >
La interfaz gráfica de usuario
La interfaz de msfgui fue introducida en la versión 3.1 y proporciona la funciónalidad de msfconsole además de muchas características nuevas. Para acceder a un shell msfconsole, seleccione la opción Consola en el menú Ventana. Para buscar un módulo de en el árbol de módulo, escriba una cadena o expresión regular en el cuadro de búsqueda y haga clic en el botón etiquetado en Buscar. Todos los módulos de juego aparecerá el árbol de por debajo de. Para ejecutar un módulo, haga doble clic en su nombre en el árbol, o haga clic derecho en su nombre y seleccione la opción Ejecutar. Para ver el código fuente de cualquier módulo, haga clic derecho en su nombre y seleccionar la opción Ver código. Una vez que un módulo es seleccionado, una interfaz basada en asistente le guiará a través de el proceso de configuración y puesta en marcha del módulo. En el caso de los módulos exploit, la salida del módulo aparecerá en la ventana principal en el Módulo Ficha de Salida. Todas las sesiones creadas por el módulo aparecerán en la sesión vista en la ventana principal. Para acceder a una sesión, haga doble clic en el nombre de la sesión en el el punto de vista, o abrir una consola y usar las sesiones de comando para interactuar con la shell. Sesiones Metepreter se inicie un shell al hacer doble clic, pero también puede lanzar el proceso a través del botón del menú contextual a la derecha del navegador.
La interfaz de línea de comandos
Si usted está buscando una manera de automatizar la explotación de las pruebas, o simplemente no desea utilizar una interfaz interactiva, a continuación, msfcli puede ser la solución *2*. Esta interfaz tiene un nombre de módulo como el primer parámetro, seguido por las opciones en un formato VAR = VAL, y finalmente un código de acción para especificar lo que debe hacerse. El nombre del módulo se utiliza para determinar que módulo exploit o auxiliar se desea poner en marcha. El código de acción es una sola letra "S" para el resumen, "O" para ver las opciones, "A" para opciones avanzadas, "I" para evasiones IDS, "P" para payloads, "T" para los objetivos, "AC" para acciones auxiliares, "C" a intentar un control de la vulnerabilidad, y "E" para explotar. El almacén de datos guardados se cargan y se utiliza en el inicio, lo que le permite que configure conveniente opciones por defecto Globalmente o en el módulo especifico de almacén de datos de msfconsole, guardarlos, y tomar ventaja de ellos en la interfaz de msfcli. Desde la versión 3.1, la msfcli interfaz también trabajará con los módulos auxiliares.
La interfaz Web
La interfaz msfweb se basa en Ruby on Rails. Para acceder a esta interfaz, ejecutar msfweb para iniciar el servidor. La interfaz msfweb utiliza el servidor web WEBrick para manejar las solicitudes. De forma predeterminada, msfweb escucha en la dirección loopback (127.0.0.1) en el puerto 55555. Un mensaje de registro se debe mostrar que indica que el servicio se ha iniciado. Para acceder a la interfaz, abra su navegador la dirección URL apropiada (http://127.0.0.1:55555/ por defecto). La interfaz de msfweb principal consta de una barra de herramientas que contiene varios iconos y un fondo con el logotipo de Metasploit. Si desea acceder a una consola, haga clic en el vínculo de la consola. Esta interfaz de consola es casi idéntica a la interfaz msfconsole. Los enlaces a Exploits, Auxiliares y Payloads, le guiarán por el proceso de selección de un módulo, configurarlo, y ejecutarlo. Una vez que un Exploit se ejecuta y una sesión es creada, puede acceder a estas sesiones desde el enlace de Sesiones. Estos iconos abrirán una ventana secundaria dentro de la página. Estas ventanas se pueden mover, minimizar, maximizar y cerrar.
El almacén de datos
El sistema de almacenamiento de datos es un componente básico del Framework. Las interfaces de uso para configurar los ajustes, los payloads usarlo parche códigos de operación, los exploits utilizarlo para definir los parámetros, y se utiliza internamente para pasar las opciones entre los módulos. Hay dos tipos de almacenes de datos. En primer lugar, hay un almacén de datos global única que se puede acceder utilizando los comandos setg y unsetg de msfconsole. En segundo lugar, cada instancia de un módulo tiene su propio almacén de datos en que las opciones arbitrarias o parámetros pueden ser almacenados. Por ejemplo, cuando la opción RHOST está establecida, su valor se almacena en el almacén de datos de la instancia del módulo que se estableció en relación. En el caso de que una opción no se puso en el almacén de datos instancia de un módulo, el Framework consultara el almacén de datos global para ver si se estableció allí.
Global DataStore
El almacén de datos global se accede a través de la consola a través de los comandos setg y unsetg. El siguiente ejemplo muestra el estado de almacén de datos después de una instalación nueva. El comando setg sin argumentos muestra el almacén global de datos actual. Las opciones predeterminadas se cargan automáticamente cuando se inicia la interfaz.
msf > setg Global ====== No entries in data store.
Módulo DataStore
El almacén de datos del módulo se accede a través del conjunto de comandos set y unset. Esta almacén de datos sólo se aplica al módulo cargado actualmente, el cambio a otro módulo mediante el comando use resultará en el almacén de datos del módulo actual que está siendo intercambiado con el almacén de datos del nuevo módulo. Si ningún módulo se encuentra activo, el conjunto de comandos set y unset operará en el almacén de datos global. Si vuelve al módulo original se inicializa un almacén de datos nuevo. Para conservar el contenido de cualquiera de los planos global o módulo especifica almacenes de datos, el comando save debe ser utilizado.
Guardado DataStore
El comando save se puede utilizar para sincronizar el Global y todos los módulos del almacenes de datos en el disco. El entorno guardado se escribe en HOME/.msf3/config y podrá ser cargado cuando cualquiera de las interfaces de usuario que se ejecuten.
Eficiencia del DataStore
Este sistema de almacenamiento de datos dividido le permite ahorrar tiempo durante el desarrollo de exploits y durante las pruebas de penetración. Las opciones comunes entre los exploits se pueden definir en el almacén de datos global para ser utilizadas automáticamente en cualquier explotación se carga a partir de. El siguiente ejemplo muestra cómo el LPORT, LHOST, y el PAYLOAD del almacén de datos global se puede utilizar para ahorrar tiempo en la explotación de un conjunto de objetivos basados en Windows. Si este almacén de datos y se estableció un exploit Linux que se estaba utilizando, el almacén de datos del módulo(A través de set y unset) podría ser utilizado para anular estos valores.
f > setg LHOST 192.168.0.10 LHOST => 192.168.0.10 msf > setg LPORT 4445 LPORT => 4445 msf > setg PAYLOAD windows/shell/reverse_tcp PAYLOAD => windows/shell/reverse_tcp msf > use windows/smb/ms04_011_lsass msf exploit(ms04_011_lsass) > show options Module options: ... Payload options: Name Current Setting Required Description ---- --------------- -------- ----------- 11 EXITFUNC thread yes Exit technique: seh, thread, process LHOST 192.168.0.10 yes The local address LPORT 4445 yes The local port ...
Variables DataStore
El almacén de datos se puede utilizar para configurar muchos aspectos del Framework, que van de valores de la interfaz de usuario hasta especificación de opciones de tiempo de espera en el API del socket de la red. Esta sección describe las variables de entorno más comúnmente utilizados.
Para obtener una lista completa de todas las variables de entorno, consulte el archivo Environment.txt en el subdirectorio "documentación" del Framework.
LogLevel
Esta variable se utiliza para controlar el nivel de detalle de mensajes de registro proporcionada por el componentes del Framework. Si esta variable no se establece, el registro de mensajes del Framework permanece deshabilitado. Estableciendo esta variable a 0 se habilita el registro de mensajes por defecto. Un valor de 1 permitirá mensajes adicionales, registro no detallado que puede ser útil para solución de problemas. Un valor de 2 permitirá depurar el registro detallado. Un valor de 3 permitirá a registrar todo y puede generar una gran cantidad de mensajes de registro. Sólo utilizar cuando se requiere mucha información. Los archivos de registro se almacenan en el subdirectorio de registros del directorio del usuario configuración (/.msf3/logs). A diferencia de la versión 2 del Framework, los mensajes de depuración no se escriben directamente en la consola.
MsfModulePaths
Esta variable se puede utilizar para agregar rutas adicionales desde la que cargar los módulos. De forma predeterminada, el Framework carga los módulos desde el directorio de módulos encontrados en el Framework de la instalación. Asimismo, la carga de módulos /.msf3/modules si tal camino existe. Esta variable permite definir estáticamente caminos adicionales para la carga los módulos
Utilizando el Framework
Desde la interfaz msfconsole, se puede ver la lista de módulos que están disponibles para que usted pueda interactuar con ellos. Puedes ver todos los módulos disponibles a través del comando show all. Para ver la lista de módulos de un tipo particular se puede utilizar el comando show moduletype, donde moduletype es cualquiera de los exploits, encoders, payloads, y así sucesivamente. Puede seleccionar un módulo con el comando use especificando el nombre del módulo como argumento. El comando info se puede utiliza para ver información sobre un módulo sin uso. A diferencia de Metasploit 2.x, la nueva versión de Metasploit soporta la interacción con cada uno de los diferentes tipos de módulo a través del comando use. En Metasploit 2.x, sólo se pueden explotar con los que se esta interactuando.
La elección de un módulo
Los módulos Exploit son el módulo por defecto que se utilizan para encapsular un exploit en Metasploit.
Módulos de Exploit
Una vez que haya seleccionado un exploit con el comando use, el siguiente paso es determinar qué opciones que necesita. Esto se puede lograr con el comando muestra las opciones. La mayoría de los exploits usan RHOSTpara especificar la dirección de destino y RPORT para establecer el puerto de destino. Utilice el comando set para configurar los valores apropiados para todas las opciones necesarias. Si usted tiene alguna pregunta acerca de lo que una opción dada hace, consulte el código fuente del módulo. Las opciones avanzadas están disponibles con algún modulo de exploit, estos se pueden ver con el comando show advanced. Opciones útiles para la evasión de IDS y IPS puede ser visto con el comando show evasion.
Comprobación de las opciones de Exploit
El comando check se puede utilizar para determinar si el sistema de destino es vulnerables a la explotación del módulo activo. Esta es una forma rápida de verificar que todos los opciones se han definido correctamente y que el objetivo es realmente vulnerable a la explotación. No todos los módulos de explotación han implementado la funcionalidad de verificación. En muchos casos es casi imposible determinar si un servicio es vulnerable sin llegar a explotar. El comando check no debe dar lugar a cuelgues del sistema o dejar no disponible al objetivo. Muchos módulos muestran información de la versión y espera que haga un análisis antes de proceder.
Selección de un destino
Selección de Payload
Lanzamiento del exploit
Módulos auxiliares
La ejecución de una tarea auxiliar
Módulos de payload
Generación de un Payload
Nop Módulos
Generación de un trineo NOP
Características avanzadas
El Meterpreter
PassiveX Carga
Proxies conexión en cadena
Win32 UploadExec Carga
Win32 DLL de inyección de Carga
VNC Server DLL Injection
Más Información
Sitio Web
Lista de correo
Desarrolladores
A. Seguridad
Interfaces de consola
Interfaz Web
B. Consejos generales
Tabulador
Secure Socket Layer
C. Licencias
- 1* Si tiene acceso a la consola a través msfweb, esta función se ha desactivado por la razones de seguridad.
- 2* La interfaz de msfcli no funciona correctamente con la versión nativa de Ruby para Windows.
