Foro de elhacker.net

Seguridad Informática => Bugs y Exploits => Mensaje iniciado por: RocKHounD en 7 Febrero 2011, 09:45 am



Título: Fuzzing con NetCat, pregunta.
Publicado por: RocKHounD en 7 Febrero 2011, 09:45 am
Buenas a todos,

.../pattern_create.rb 1024 | nc 192.168.1.222 5369


En este ejemplo inyecto 1024 con netcat al puerto remoto 5369, pero... cuando el servicio es ftp y quiero meter algo en CWD o STOR?? como se haría con NetCat???

Gracias!!!





Título: Re: Fuzzing con NetCat, pregunta.
Publicado por: RocKHounD en 9 Febrero 2011, 12:45 pm
chicos me gustaría saber si esto puede hacerse o tengo que programarme algo especificamente en python por ejemplo, me gusta mucho netcat.

gracias.


Título: Re: Fuzzing con NetCat, pregunta.
Publicado por: ikary en 10 Febrero 2011, 19:06 pm
Hola RockHounD, nunca se me habia ocurrido hacer fuzzing asi  ;-) Pero creo que no te va a funcionar.
A mi modo de ver puedes hacer 2 cosas (entiendo que la pregunta es contra servicios FTP):

1- Crear un script que lance un cliente FTP repetidas veces con comandos y longitudes de cadena variables.
    - Con linux puedes hacerlo con un script en sh, mas o menos algo asi:
Citar
#!/bin/sh
USUARIO="tu-usuario"
PASS="tu-password"
SERVIDOR="ip.de.tu.servidor"
 
# Variable en la que introduces el comando

VARIABLE=$(python -c 'print "a"*2000')
 
# Logueo automatico en el servidor remoto
ftp -n -i $SERVIDOR <<EOF
user $USUARIO $PASS
ascii STOR $VARIABLE
quit
EOF
Esto con un bucle 'for' podria servir.

    - En Windows, mas de lo mismo, pero en este caso puedes aprovechar el comando -s:file del cliente ftp de Windows para automatizar el proceso. Solo debes crearte un fichero de texto con el nombre de usuario, contraseña, comando a utilizar y quit ( en ese orden) y pasarselo al cliente ftp asi:
Código:
># ftp -s:tu_archivo.txt 192.168.0.3
Esto lo metes en un bucle 'for' en batchscript y ya tienes un fuzzer. ;D

2- Sin duda la mejor opcion XDD
   - Create un script en Python o en Perl que te permita automatizar el proceso. Aqui te dejo uno modificado en python:
Citar
#!/usr/bin/python
import socket

#Crea un array de buffers, desde 20 hasta 2000, incremento de 20
buffer=["A"]
contador=20
while len(buffer) <= 30:
   buffer.append("A"*contador)
   contador=contador+50

# Define los comandos FTP a intentar explotar

comandos=["STOR","CWD"] #<-- Aqui puedes poner los comandos que quieras ir probando

# Inicializa el loop

for comandos in comandos:
   for string in buffer:
      print "Enviando comando " + comandos + " con " +str(len(string)) + " bytes"
      s=socket.socket(socket.AF_INET, socket.SOCK_STREAM)
      connect=s.connect(('tu_ip',21)) # IP y Puerto
      s.recv(1024)
      s.send('USER tu_usuario\r\n') # Usuario
      s.recv(1024)
      s.send('PASS tu_pass\r\n') # contraseña
      s.recv(1024)
      s.send(comandos + ' ' + string + '\r\n') # buffer malvado (risa diabolica)
      s.recv(1024)
      s.send('QUIT\r\n')
      s.close()

Modificando las partes en rojo te debería funcionar bien.

Bueno, espero que te sirva de algo, si te piedes en algo comenta  :rolleyes:

Un salduo

PD: Edito por que soy un inutil y no puse bien los colores XDD


Título: Re: Fuzzing con NetCat, pregunta.
Publicado por: RocKHounD en 11 Febrero 2011, 13:01 pm
jajajja gracias ikary, seguiré investigando eso, en python ya lo tengo porque en el PWB es como lo hacen pero yo miro siempre para donde no tengo que mirar y me lio con todo, jajaj a


probaré si funciona y te cuento.

Gracias!