Comprueba localmente la complejidad de tus contraseñas... o si no hay más remedio ofuscala un poco antes (mi arma)
Sí, ya sé que algunas páginas son confiables y sólo piden la contraseña y ningún dato adicional, pero créanme si os digo que es posible deducir el usuario a través de otros métodos, envenenar la caché DNS o falsificar ARP, hacer un MiTM y... bueno ya sabéis.
Además ¿a qué no dirías tu PIN de la tarjeta del banco a un desconocido aunque sea con un pasamontañas puesto en la cabeza? Claro que no, podría haberte reconocido por la ropa o porque te ha visto antes o (peor) obligarte a identificarte...
Para estos casos siempre lo mejor es el sentido común: si vas a tener que introducir tu contraseña en un sistema de terceros modifícala (ofúscala) antes.
La forma más sencilla es primero, si tu contraseña está en un diccionario,
Luego si tiene una letra minúscula cámbiala por otra letra minúscula, si es un número cámbialo por otro número, si es un símbolo pues cámbialo por otro y así sucesivamente.
Finalmente cambia el orden de algún carácter y tendrás una contraseña que no será idéntica a la tuya pero que tendrá la misma complejidad o muy similar (sobre todo si modificamos el orden de los caracteres según la secuencia resultante podremos obtener distintos niveles de complejidad).
Un ejemplo sería convertir mentalmente 'Perro123' a 'Gato123', 'Gato123' a 'Jero436' y finalmente 'Jero436' a '43eroJ6'.
Y para los más vagos podéis usar este script que han escrito mis sucias manos de programador de Python para generar automáticamente la password ofuscada:
import getpass
import random
import string
pwd=getpass.getpass("Enter Your Password Here: ")
def obfuscatepw (pw):
obfuscatedpw = []
for c in pw:
# print c
if c.isdigit():
obfuscatedpw += str(random.randrange(0, 9, 1))
else:
if c.isupper():
obfuscatedpw += random.choice(string.ascii_uppercase)
else:
if c.islower():
obfuscatedpw += random.choice(string.ascii_lowercase)
else:
if c.isspace():
obfuscatedpw += c
else:
obfuscatedpw += str(random.choice(string.punctuation))
random.shuffle(obfuscatedpw)
return obfuscatedpw
obfuscatedpw = "".join(obfuscatepw(pwd))
print obfuscatedpw
El resultado de ejecutar el script sería:Enter Your Password Here: Prueba123#
B1pe#q62kh
Y sería la contraseña 'B1pe#q62kh' la que introduciríamos en el sitio web.
Por otro lado si te sientes hax0r y quieres hacerlo realmente bien, la forma de comprobar pr0fesionalmente las contraseñas sería localmente. Para ello te recomiendo usar cracklib-check en tu máquina linux (en Güindous también lo tienes)...
pruebas@kali:~$ sudo cracklib-check
test
test: it is too short
testing
testing: it is based on a dictionary word
123456
123456: it is too simplistic/systematic
abc123
abc123: it is too simplistic/systematic
Prueba
Prueba: it is based on a (reversed) dictionary word
D3finitive
D3finitive: it is based on a dictionary word
P43SAßðđæß3w23
P43SAßðđæß3w23: OKPaste your text here.
Por último deciros que también existen módulos pam de cracklib para forzar el uso de contraseñas seguras. Si alguien le interesa que levante la mano (comente) y escribimos un post más adelante.
http://password.social-kaspersky.com/
ResponderEliminarhttp://l33tpassword.890m.com/
ResponderEliminar