Crear un exploit en Metasploit

03.- Crear nuestro primer exploit en metasploit

Antes de continuar vamos a ver que es un exploit, exploit en español significa explotar, en español es un concepto muy amplo se podría entender como explotar recursos, como madera, minerales, pero aquí se debe entender la la palabra explotar como hacer explotar algo, porque virtualmente es lo que hacemos explotar algún elemento virtual. supongamos que hay un banco muy seguro pero sabemos que tiene un muro débil y para romper ese muro debemos poner una carga de dinamita de exactamente 2.4Kg no menos porque no se romperá ni más porque se activaran las alarmas y se cerrará. Eso es lo que es un exploit una carga de dinamita especialmente preparada para romper un muro.
En este tutorial vamos a crear nuestro propio exploit con el cual vamos a verificar que tipo de servicio ftp cuenta alguna maquina remota.

Vamos a abrir el path  /usr/share/metasploit-framework/modules/auxiliary/scanner/ftp

2018 12 30 22 03

Donde vamos a crear un documento llamado ftp_access.rb

2018 12 30 22 05

Lo abrimos y colocamos este codigo

##
# This module requires Metasploit: https://metasploit.com/download
# Current source: https://github.com/rapid7/metasploit-framework
##

# Llamamos las funciones de metaesploit
#require 'msf/core'

#Iniciamos nuestra clase
class MetasploitModule < Msf::Auxiliary
    ##Llamamos las funciones de ftp y de escaner
    include Msf::Exploit::Remote::Ftp
    include Msf::Auxiliary::Scanner
    # Inicializamos nuestro exploit
    def initialize
        # Colocamos datos que describan nuestro exploit
        super(
            'Name'        => 'FTP Access',
            'Description' => 'Detectamos que version de ftp tiene la maquina remota.',
            'Author'      => 'Eugenio',
            'License'     => MSF_LICENSE
        )
        # Damos de alta los valors que vamos a resibir desde linea de comandos
        register_options([
              Opt::RPORT(21),
            ])
          end
    def run_host(host)
        # true habilita los parametros globales, flase= termina la conecion cuando encuentra el host
        connect(true,false)
        # Si connect se conecta retorna un balor en banner
        if (banner)
            # Imprime el valor de host y del banner
            print_good("Esta corriendo: #{rhost} -Banner: #{banner}")
        end
        disconnect
    end
end

Para validar que nuestro codigo no tenga errores abrimos la terminal y nos movemos a /usr/share/metasploit-framework/tools/dev/ asi

cd /usr/share/metasploit-framework/tools/dev/

Y ejecutamos

./msftidy.rb /usr/share/metasploit-framework/modules/auxiliary/scanner/ftp/ftp_access.rb

si no nos da ningun error podemos iniciar metasplit console asi:

msfconsole

Una ves dentro de la consola de metasploit vamos ejecutamos el archivo que acabamos de crear asi:

use auxiliary/scanner/ftp/ftp_access

Ahora podemos escribir

info

No entrega la informacion de nuestro exploit

2018 12 30 23 16

Con el comando

show options
Podemos ver que variables podemos modificar de nuestro exploit
2018 12 30 23 18

Asi que vamo a modificar RHOSTS y le vamos aponer el nombre del host remoto que queremos analizar asi:

set RHOSTS dominio-ip.com

Y ejecutamos el exploit asi

exploit

Si ese dominio o ip tiene ftp en el puerto 21 nos debe regresar algo asi:

2018 12 30 23 28

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *