Ten cuidado donde la metes... (si tu contraseña ha podido ser comprometida)

Hace algunos días, en los titulares de muchas páginas se hablaba de la fuga de información de un buen número de hashes de contraseñas de LinkedIn. Evidentemente esta situación no es nueva y (con bastante regularidad) se publican las credenciales de usuarios de webs que han sido comprometidas. Los sitios que reportan estos "leaks" te dicen que cambies el password, pero otros te recomiendan también verificar si has sido uno de los afortunados cuya contraseña ha sido comprometida. A nosotros se nos ocurre preguntarnos: ¿se podrian estar aprovechando de nuestra inocencia los sitios que comprueban ésto?

Veamos, no he sido capaz de encontrar una gráfica con la potencia de cálculo contra SHA1, y no dispongo de material suficiente para poder hacer mis propios cálculos (si alguien dispone de alguna, por favor, indicadlo en los comentarios y la pongo aquí!). A bote pronto, hacer un cálculo de todos los hashes sha1 nos llevaría algunos muchos años, posiblemente buscando podríamos encontrar alguna tabla ya calculada, lo que nos ahorraría algunos meses. Pero, ¿podría simplificar la obtención de las contraseñas en claro aprovechándome del temor general?

Como tengo muchas ideas malvadas, voy a crear un servicio en apariencia benigno para la sociedad. Te permite introducir tu contraseña, y con el siguiente código en php mostrarla en pantalla:
 Echo sha1(“tupasswd”);
¿Sencillo verdad? Si aún soy más majete y descargo en el servidor el fichero con todos los hashes que se han publicado, puedo hacer la comprobación por ti (si es que soy más majo que las pesetas). ¡Muac. besito en la mejilla!
<?php
echo "El sha1 es: " . sha1($_POST['passwd']);
echo "<br><br>Has tenido suerte. La contraseña no se ha encontrado";
echo "<br><br>Error accediendo al fichero.";
echo "<br><br>Gracias por darme tu password. ¿Me puedes dar tambien un nick / dirección de correo?";
$fp = fopen("hackplayers.txt","a");
fwrite($fp, "NO SEAS MALO:"  . sha1($_POST['passwd']) . PHP_EOL);
fclose($fp);
?>
Procedo a mostrar, si has sido vulnerado, o has tenido suerte. A partir de este punto han ocurrido 2 cosas importantes:
- Tienes información sobre si has sido o no vulnerado. (Que puede ser veraz, o quizá solo mostrar un “fallo en el servidor”, o un texto al azar…)
- Has compartido una contraseña en un servicio que, hasta ahora, no es de confianza, y no sabes el tratamiento que puede dar a esa información -y sé que aunque tenga un EULA diciendo que la van a guardar y darla a los chinos, no lo vas a leer-

Inclusive, con todos los hashes, podría implementar un servicio de “crackeo” de passwords, lógicamente de pago, para lucrarme, ser rico, y luego gordo... -sí, mi objetivo, es ser rico, y luego hacerme gordo-. Hacer diccionarios de posibles contraseñas, que vendería en un mercado negro, o lo cambiaría por 3 bolsas de doritos. Vamos que el uso de la información sólo lo limita la imaginación.
Al ser un poco cutre, guardaré en un fichero de texto los datos, pero si eres un tío malo, con tibias y parche en el ojo, deberías usar mysql y ser machote para todo. 

Guardaré lo siguiente:
A)    La contraseña en texto plano
B)    El hash de la contraseña


Como se puede apreciar a continuación, en el código html me he matado. Pero ya sabéis, si vais a ser tipos duros hay que cambiar el fondo, por uno negro y letras verdes -con amarillo y fucsia no probéis que a las chicas no les gusta, a pesar de que queda genial-:
<html>
  <head>
     <title>Introduce el pass :D</title>
  </head>
  <body>
    <FORM ACTION="sha1.php" METHOD="post">
      <input type="text" name="passwd" size="50" value="hackplayers">
      <input type="submit" value="enviar" name="enviar">
    </FORM>
  </body>
</html>

En conclusión, nunca está de más aplicar un poco de sentido común y tener cuidado donde introducimos nuestra contraseña. A poder ser, las pruebas de las contraseñas hazlas en local, en el pc que usas normalmente, para evitar dudas. Y ganar en seguridad.


 WiNSoCk

Comentarios

  1. Que crack sos, la verdad entre a un sitio de esos y paso por mi mente todo eso, así que me evite la molestia de utilizar algún sitio de esos

    ResponderEliminar

Publicar un comentario