Metasploit

Comandos básicos de metasploit

En esta entrada recopilaremos los comandos básicos que se utilizan en la consola de Metasploit, para así tener una guía de referencia.

En primer lugar debemos siempre tener actualizado el framework para evitar funciones obsoletas y disponer de todos los módulos actualizados (msfupdate) (es necesario hacerlo desde root). Ahora lanzaremos la interface de consola (msfconsole) en la que disponemos de los siguientes comandos:

Metasploit lifka

  • help: Con este comando podremos desplegar la lista de comandos disponibles en la consola de Metasploit, también podemos especificar el comando seguido de -h, o poner help seguido del comando, para obtener información detallada acerca del comando específico.
  • search: seach, seguido de una característica, nos muestra los módulos que contienen dicha característica. Un pequeño truco para comprobar si está actualizado sería buscar una característica reciente para ver si disponemos de ella o no.
  • info: Muestra detalles del módulo (opciones, objetivos y descripción). Si estamos usando ese módulo (hemos usado -use sobre él), nos basta con poner el comando, de lo contrario debemos especificar la ruta del módulo.
  • show: Muestra en pantalla las opciones del módulo. Puede ir seguido de actions, advanced, all, auxiliary,… en función de las opciones específicas que queramos ver.
  • use: Selecciona el módulo que especifiquemos. El comando back sirve para quitar la selección.
  • set: configurar parámetros de un módulo en concreto. Unset sería para borrar la configuración.
  • setg: configurar parámetros de los módulos a nivel global, para todos los módulos. Unsetg para borrar esta configuración.
  • connect: Sirve para conectarnos a otras máquinas especificando la ip + el puerto, de este modo podríamos disponer de módulos y configuraciones en otra máquina y acceder desde máquias remotas. Esta utilidad se vale del famoso netcat, así que disponemos de opciones parecidas a las de netcat.
  • irb: Sirve para ejecutar un intérprete de Ruby, de este modo podemos utilizar script de Ruby sobre msf para automatizar o facilitarnos el trabajo si tenemos manejo en Ruby.
  • load: Cargar un plugin. Unload para la operación inversa.
  • loadpath: Sirve para cargar un directorio independiente, para así tenerlo disponible también desde la consola.
  • check: Comprobar si es vulnerable o no antes de lanzar el script.
  • exploit: Lanzar el módulo. Disponemos de las siguientes opciones:
    • -j: Lo lanza en segundo plano (backround).
    • -z: Para qyue tras una explotación exitosa no se interactúe con la sesión.
    • -e: Se lanza el payload con una codificación realizada previamente con un payload.
  • sessions: Con estecomando podemos ver las conexiones remotas que llevamos obtenidas. Las sesiones se obtienen mediante el éxito delcomandoexploit, el cual nos devuelve unashell o unmeterpreter del sistema remoto explotado. Cada sesión dispone de un identificador único y se debe especificar ese indicador parainteractuar con una máquina específica. Con estecomando disponemos de las siguientes opciones:
    • -l: Lista de sesiones.
    • -v: Muestra información extra. Complementa a -l.
    • -s: Ejecuta un scvript sobre todas las sesiones abiertas (-s <script>).
    • -k: Finaliza todas las sesiones.
    • -c: Ejecuta un comando sobre todas las sesiones.
    • -v: Permite actualizar la shell a una shell del tipo Win32.
    • -i: Se le indica a sessions en que sesión queremos interactuar.
  • resource: Permite cargar un fichero (normalmente .rc), para automatizar un proceso.
  • makerc: Almacena en un fichero (.rc) el historial de comandos y acciones utilizadas (se guarda en home/.msf3/).
  • save: Guarda lo que llevamos hecho para así poder retomar el proceso (lo guarda en home/.msf3/config). Al lanzar msfconsole este comprueba si existe el archivo config, y si es así lo carga.
  • jobs: Muetsra los módulos que se encuentran en ejecución en segundo plano (background) (Sirve para obtener la información de los módulos, finalizarlos,…).
  • run: Permite ejecutar un módulo auxiliary cargado en la consola.
  • route: Permite enrutar sockets a sesiones (com route en Linux). Permmite la adición de subredes, puertas de enlace (gateways), y máscaras de red. Útil para el pivoting (Comprometer máquinas que se encuentren en la red de la máquina vulnerada).

Comandos de base de datos:

Metasploit utiliza una base de datos, de este modo es posible recopilar información desde escáneres externos y otras herramientas de análisis.

  • db_: Mostrar comandos de base de datos.
  • db_driver: Muestra las bases de daos disponibles y la que estamos usando por defecto. También permite cambiar la base de datos que estamos usando.
  • db_connect: Crea y conecta con la base de datos: Previamente se debe configurar el usuario de la db. Este comando prepara todas las tablas en la base de datos que se utilizaron para recolectar y analizar información.
  • db_nmap: Ejecuta la herramienta nmap y almacena todos los resultados de escaneo en las tablas preparadas.
  • db_autopwn: Esto es la «Metralleta deMetasploit». Ayuda a lanzar una colección deexploit frente a una(s) máquina(s) de la(s) que hemos obtenido información. El problema es que estecomando no está disponible en la versiónComunnity (versión gratuita). Estecomando dispone de las siguientes opciones:
    • -t: Muestra los exploit que se están probando.
    • -x: Selecciona los módulos basados en vulnerabilidades referidas.
    • -p: Selecciona los módulos basados en puertios abiertos.
    • -e: Lanza exploits contra todos los objetivos.
    • -r: Tras la explotación utiliza una shell inversa.
    • -b: Utiliza una shell atada a un puerto aleatorio.
    • -R: Se le pasa un rank, para sólon seleccionar módulos con cierto niverl
  • db_hosts: Muestra las máquinas alojadas en la base de datos (SO, MAC, sv,…).
  • db_destroy: Elimina la base de datos.

 

Descargar en pdf:

https://mega.co.nz/#!Jph1HaaC!WxOtNBuJUceHzFGBEXzTrG2TazNqTwuyhIOka20mets


 

Saludos 😉