Escribir sus propios escáner
Hay veces en que es posible que necesite un escáner específico, o que tenga actividad de escaneo específica, eta puede ser llevada a cabo dentro de Metasploit, sería más fácil para los propósitos de secuencias de comandos que usar un programa externo. Metasploit tiene un montón de características que pueden ser muy útiles para este propósito, como el acceso a todos los de la explotación de clases y métodos, soporte nativo para servidores proxy, SSL, la información, y construido en el roscado. Piense en los casos en que es posible que tenga que encontrar todas las instancias de una contraseña en un sistema, o una búsqueda de un servicio personalizado. Por no hablar, es bastante rápido y fácil de escribir el escáner personalizado.
Vamos a utilizar este escáner TCP muy simple que se conecta a un host en un puerto por defecto de 12345 que se puede cambiar a través de las opciones del módulo en tiempo de ejecución. Al conectar con el servidor, se envía 'HELLO SERVER', recibe la respuesta y lo imprime junto con la dirección IP de la máquina remota:
require 'msf/core'
class Metasploit3 < Msf::Auxiliary
include Msf::Exploit::Remote::Tcp
include Msf::Auxiliary::Scanner
def initialize
super(
'Name' => 'My custom TCP scan',
'Version' => '$Revision: 1 $',
'Description' => 'My quick scanner',
'Author' => 'Your name here',
'License' => MSF_LICENSE
)
register_options( [
Opt::RPORT(12345)
], self.class)
end
def run_host(ip)
connect()
sock.puts('HELLO SERVER')
data = sock.recv(1024)
print_status("Received: #{data} from #{ip}")
disconnect()
end
end
Guardamos el archivo en nuestro. / Modules / auxiliares / escáner / como 'simple_tcp.rb y cargar hasta msfconsole. Es importante tener en cuenta dos cosas aquí. En primer lugar, los módulos cargados en tiempo de ejecución, por lo que nuestro nuevo módulo no aparecerá a menos que reinicie nuestra interfaz de elección. La segunda es que la estructura de carpetas es muy importante, si hubiesemos guardado nuestro escáner en. / Modules / auxiliares / escáner / http / se mostraría en la lista de los módulos de "scanner / http / simple_tcp.
Para probar el escáner, configure netcat a la escucha en el puerto 12345 y la salida a un archivo de texto para que actúe como la respuesta del servidor.
root@bt4:~/docs# nc -lnvp 12345 < response.txt
listening on [any] 12345 ...
A continuación, seleccione el módulo nuevo escáner, configure sus parámetros, y ejecútelo para ver los resultados.
msf > use scanner/simple_tcp
msf auxiliary(simple_tcp) > set RHOSTS 192.168.1.101
RHOSTS => 192.168.1.101
msf auxiliary(simple_tcp) > run
[*] Received: hello metasploit from 192.168.1.101
[*] Auxiliary module execution completed
Como se puede ver de este ejemplo sencillo, este nivel de versatilidad le permite ser de gran ayuda cuando se necesita algo de código personalizado en el medio de una prueba de penetración. El poder del marco y de código reutilizable realmente brilla a través de aquí.
© Offensive Security 2009
Original by www.offensive-security.com
Traslated by TUNDERVIRLD
No hay comentarios:
Publicar un comentario