Enviado por J3ss3SHL el Vie, 20/04/2018 - 14:44
Metasploit

Hace unos meses atrás, explicamos el proceso de instalación y configuración de metasploit, el cual lo puedes ver aquí. Hay muchas interfaces diferentes para el Metasploit Famework, cada uno con sus propias fortalezas y debilidades. Por lo tanto, no hay una interfaz perfecta para usar con MSF, a pesar de la msfconsole es la única manera de apoyo para acceder a la mayoría de las características del framework. Todavía es beneficioso, sin embargo, para estar cómodo con todas las interfaces que ofrece MSF. El siguiente módulo proporcionará una visión general de msfconsole que es la interfaz más utilizada.

MSFCONSOLE.

El msfconsole es, probablemente, la interfaz más popular de la MSF. Se ofrece un "todo-en-uno" de la consola central y permite un acceso eficiente a prácticamente todas las opciones disponibles en el Framework de Metasploit. Msfconsole puede parecer intimidante al principio, pero una vez que se aprende la sintaxis de los comandos, aprenderá a apreciar el poder de utilizar esta interfaz. La interfaz msfconsole funciona en Linux, Windows y OS X.

Beneficios de la msfconsole

  • Es la única forma de apoyo para acceder a la mayoría de las características dentro de Metasploit.
  • Proporciona una interfaz basada en consola con el Framework
  • Contiene la mayoría de las características y la interfaz de MSF más estable
  • Soporte readline completa, tabulación y el completado de comandos
  • Ejecución de comandos externos en msfconsole es posible:
    msf payload(windows/shell_bind_tcp) > back
    msf > ping securityhacklabs.net
    [*] exec: ping securityhacklabs.net
    
    PING securityhacklabs.net (104.28.26.126) 56(84) bytes of data.
    64 bytes from 104.28.26.126: icmp_seq=1 ttl=56 time=46.6 ms
    64 bytes from 104.28.26.126: icmp_seq=2 ttl=56 time=40.7 ms

     

El msfconsole se lanza simplemente ejecutando msfconsole desde la línea de comandos luego de instalar metasploit. Puede pasar '-h' a msfconsole para ver las opciones de uso disponibles para usted:

sechacklabs@SecHackLabs:~$ msfconsole -h
Usage: msfconsole [options]

Common options:
    -E, --environment ENVIRONMENT    Set Rails environment, defaults to RAIL_ENV environment variable or 'production'

Database options:
    -M, --migration-path DIRECTORY   Specify a directory containing additional DB migrations
    -n, --no-database                Disable database support
    -y, --yaml PATH                  Specify a YAML file containing database settings

Framework options:
    -c FILE                          Load the specified configuration file
    -v, -V, --version                Show version

Module options:
        --defer-module-loads         Defer module loading unless explicitly asked.
    -m, --module-path DIRECTORY      Load an additional module path

Console options:
    -a, --ask                        Ask before exiting Metasploit or accept 'exit -y'
    -H, --history-file FILE          Save command history to the specified file
    -L, --real-readline              Use the system Readline library instead of RbReadline
    -o, --output FILE                Output to the specified file
    -p, --plugin PLUGIN              Load a plugin on startup
    -q, --quiet                      Do not print the banner on startup
    -r, --resource FILE              Execute the specified resource file (- for stdin)
    -x, --execute-command COMMAND    Execute the specified console commands (use ; for multiples)
    -h, --help                       Show this message
sechacklabs@SecHackLabs:~$ 

Obtención de ayuda

Entrar en 'ayuda' o un '?' en el símbolo del sistema MSF mostrará una lista de comandos disponibles junto con una descripción de lo que se utilizan.

msf > help

Core Commands
=============

    Command       Description
    -------       -----------
    ?             Help menu
    banner        Display an awesome metasploit banner
    cd            Change the current working directory
    color         Toggle color
    connect       Communicate with a host
    exit          Exit the console
    get           Gets the value of a context-specific variable
    getg          Gets the value of a global variable
    grep          Grep the output of another command
    help          Help menu
    history       Show command history
    irb           Drop into irb scripting mode
    load          Load a framework plugin
    quit          Exit the console
    route         Route traffic through a session
    save          Saves the active datastores
    sessions      Dump session listings and display information about sessions
    set           Sets a context-specific variable to a value
    setg          Sets a global variable to a value
    sleep         Do nothing for the specified number of seconds
    spool         Write console output into a file as well the screen
    threads       View and manipulate background threads
    unload        Unload a framework plugin
    unset         Unsets one or more context-specific variables
    unsetg        Unsets one or more global variables
    version       Show the framework and console library version numbers


Module Commands
===============

    Command       Description
    -------       -----------
    advanced      Displays advanced options for one or more modules
    back          Move back from the current context
    edit          Edit the current module or a file with the preferred editor
    info          Displays information about one or more modules
    loadpath      Searches for and loads modules from a path
    options       Displays global options or for one or more modules
    popm          Pops the latest module off the stack and makes it active
    previous      Sets the previously loaded module as the current module
    pushm         Pushes the active or list of modules onto the module stack
    reload_all    Reloads all modules from all defined module paths
    reload_lib    Load a library file from specified path
    search        Searches module names and descriptions
    show          Displays modules of a given type, or all modules
    use           Selects a module by name


Job Commands
============

    Command       Description
    -------       -----------
    handler       Start a payload handler as job
    jobs          Displays and manages jobs
    kill          Kill a job
    rename_job    Rename a job


Resource Script Commands
========================

    Command       Description
    -------       -----------
    makerc        Save commands entered since start to a file
    resource      Run the commands stored in a file


Database Backend Commands
=========================

    Command           Description
    -------           -----------
    db_connect        Connect to an existing database
    db_disconnect     Disconnect from the current database instance
    db_export         Export a file containing the contents of the database
    db_import         Import a scan result file (filetype will be auto-detected)
    db_nmap           Executes nmap and records the output automatically
    db_rebuild_cache  Rebuilds the database-stored module cache
    db_status         Show the current database status
    hosts             List all hosts in the database
    loot              List all loot in the database
    notes             List all notes in the database
    services          List all services in the database
    vulns             List all vulnerabilities in the database
    workspace         Switch between database workspaces


Credentials Backend Commands
============================

    Command       Description
    -------       -----------
    creds         List all credentials in the database

msf >

Tabulador

El msfconsole está diseñado para ser rápido de usar y una de las características que ayuda a este objetivo es la implementación del tabulador. Con la amplia gama de módulos disponibles, puede ser difícil de recordar el nombre exacto y la ruta del módulo en particular que desee hacer uso de. Como con la mayoría de los otros shells, entrando en lo que sabe y presionando 'Tab' le presentará una lista de opciones disponibles para usted o de auto-completado la cadena si no hay una sola opción. La implementación del tabulador depende de la extensión de rubí readline y casi todos los comandos en la consola compatible con la implementación del tabulador. * use exploit/windows/dce * use .*netapi.* * set LHOST * show * set TARGET * set PAYLOAD windows/shell/ * exp

El comando back

Una vez que haya terminado de trabajar con un módulo en particular, o si inadvertidamente seleccionar el módulo incorrecto, puede emitir el 'nuevo' comando para salir del contexto actual. Esto, sin embargo no es necesario. Así como usted puede en routers comerciales, puede cambiar los módulos dentro de otros módulos. Como recordatorio, las variables sólo se trasladará si se establecen a nivel global.

El comando de check

No hay muchos exploit que lo apoyan, pero también hay una opción "check" que comprueba si el objetivo es vulnerable a un exploit en particular en lugar de en realidad la explotación.

El comando connect

No es un clon en miniatura integrado en el netcat de msfconsole que soporta proxies SSL, que gira, y envía el archivo. Mediante la emisión de la orden connect con una dirección IP y el puerto, puede conectarse a un host remoto desde el interior de msfconsole el mismo como lo haría con netcat o telnet.

exploit vs. run

Cuando se lanza un exploit, se emite el 'exploit' de comandos, mientras que si se utiliza un módulo auxiliar, el uso correcto es "run" a pesar de 'exploit' funcionará tambien.

El comando irb

La ejecución del "IRB" comando se pone en una shell intérprete en vivo de Ruby en el que pueden ejecutar comandos y scripts de creación de Metasploit sobre la marcha. Esta característica es muy útil para entender el funcionamiento interno del Framework.

[*] Starting IRB shell...

>> puts "Hola Security Hack Labs"
Hola Security Hack Labs
=> nil
>> Framework::Version
=> "4.16.56-dev"
>> 

El comando jobs

Los jobs son los módulos que se ejecutan en segundo plano. El comando 'jobs' ofrece la posibilidad de la lista y poner fin a estos trabajos.

msf > jobs -h
Usage: jobs [options]

Active job manipulation and interaction.

OPTIONS:

    -K        Terminate all running jobs.
    -S <opt>  Row search filter.
    -h        Help banner.
    -i <opt>  Lists detailed information about a running job.
    -k <opt>  Terminate jobs by job ID and/or range.
    -l        List all running jobs.
    -v        Print more detailed info.  Use with -i and -l
msf > 

Esta ha sido una breve introducción a carácteristicas básicas de metasploit, a medida que avancemos, vamos a ir tocando más temas entre los cuales se verán casos de explotación con metasploit y desarrollo de payloads y exploits, pero cómo todo, se debe iniciar por el comienzo.

Síguenos en Facebook, Twitter, unete a nuestra charla en Riot, únete a IRC o únete a Telegram y no olvides compartirnos en las redes sociales. También puede hacernos una donación..

Etiquetas

Acerca del autor

Pentester. Estudiante de ingeniería informática, Twitter @j3ss3SHL