La familia digital Bienvenidos a este video, donde en particular vamos a arrancar con la pantalla porque
va a ser un video bastante entretenido.
Quizás se haga un poco largo porque realmente vamos a explicar todo y vamos a mostrar todo en detalle
de cómo los vamos haciendo, a qué me refiero?
Vamos a utilizar el lenguaje, pronunció un paito para lograr desencriptar una contraseña que se encuentre
encriptada.
A qué me refiero con esto?
Las contraseñas suelen transformarlas en un jazz.
Las plataformas cuando iniciamos sesión, por ejemplo, el más charcas de mí.
Ustedes cuando ingresan su contraseña por una cuestión de seguridad.
Esa contraseña es encriptada para que cualquier persona que la pueda interceder pueda pueda capturar
esa contraseña a través de diferentes métodos que inclusive en este canal encontrarán videos donde puedan
aprender de lo que estoy hablando.
Justamente esa persona puede llegar a capturarla, pero no la va a entender porque justamente va a viajar
encriptada.
Va a viajar en un formato Chazz que se lo voy a mostrar y se lo voy a explicar.
A qué me refiero?
En este video vamos a arrancar justamente mostrarnos cómo con Python podemos transformar una cadena,
una palabra, una contraseña en un jazz.
Y después les voy a mostrar cómo con Python podemos hacer un ataque de fuerza bruta para descifrar.
Hubo jazz y de esa manera a detectar, ver cuál es la contraseña que hemos capturado.
A qué me refiero?
Si ustedes logran acceder a una base de datos, logran capturar una contraseña, por así decirlo, al
momento de que alguien ha iniciado sesión en una página web, justamente ustedes van a poder descifrar
desencriptar esa contraseña.
Gracias a lo que vamos a ver en este video, vamos a empezar por el principio, vamos a abrir una consola,
unas un CMD.
Yo estoy en Windows en este caso y lo que vamos a usar.
Y lo primero que les quiero aclarar, un detalle importante es que yo tengo dos versiones de Python
en mi computadora.
Esto es porque por una cuestión de comodidad y por los años que llevo programando, hay muchas palabras
reservadas de la sintaxis de Python, la versión 2 que yo ya conozco y yo ya manejo.
En cambio, hoy en día se utiliza mal la versión actualizada que la de Python 3.
En este caso yo tengo instalada la 3.8 .2.
Como verán, yo tengo las dos versiones conviviendo en una reunión, una computadora.
Por esto que les explicaba recién me es más práctico algunas cosas hacerla en una versión y en otra
para que sepan, para decírselo de una manera muy abreviada.
Hay muchas cosas que han resuelto muchas librerías, muchos, muchas cosas que nos resuelven la vida
de una forma más fácil en Python 3 y hay palabras reservadas que les voy a mostrar una inclusive que
vamos a usar en esta clase de la versión de Python.
Las dos que no funcionan en la versión 3 prácticamente es a la diferencia.
Yo les recomiendo que si ustedes están empezando en el lenguaje cero, aprendan ya directamente la versión
3.8 que pueda hacer lo mismo que la versión .2 y más cosas inclusive de más.
Decirle y avisarles que justamente en la descripción les dejo un enlace a mi curso de Python donde les
enseño de manera gratuita.
Insisto en un curso 100 por ciento gratis.
Siempre lo ha sido y siempre lo será.
Ya tiene más de 130 mil estudiantes y justamente en ese curso yo les enseño todo de Python y mi idea
es en un tiempo como ahora se encuentra en mi rebrota forma agregarle contenido como interfaz gráfica
con kinder consultas a base de datos Secure Lait hace repúblico de Jango machirulo venir.
Bueno, muchas cosas que le aconsejo y les recomiendo les conviene estar suscriptos a mi curso.
Epítetos que se encuentra en mi plataforma que de hecho está acá, que también en pantalla.
Bien, una vez aclarado esto, vamos a empezar.
Yo en este caso les voy a explicar y les voy a mostrar primero en principal la librería que vamos a
usar de pait.
Justamente esta librería se llama Ahora se los voy a escribir del segundo que tengo que ver.
Bien, lo primero que vamos a hacer es.
Voy a iniciar Python en este caso, si ustedes no lo tienen instalado a Python, es tan sencillo como
googlear Python, por ejemplo, y acá van a encontrar la.
La página web oficial de Python donde pueden bajar la última versión, la 3.o 8.3 y inclusive si quieren
pueden obviamente consultar versiones anteriores donde está la versión 2 punto X que ustedes quieran
descargar y la pueden instalar.
Si a ustedes les interesa que yo les enseñe cómo he hecho para tener las dos variables, por así decirlo,
de Python en una misma computadora, o sea, la versión tanto dos como tres conviviendo.
A pesar de las variables de entorno en una misma, en un mismo sistema operativo como lo tengo yo.
Pero pueden dejar en los comentarios y si realmente lo votán mucho lo crearé un video explicando como
he hecho yo esta configuración si es que a ustedes les interesa.
Una vez que hemos hemos ejecutado Python, lo que yo voy a hacer es vamos a importar la librería Jasso
lib.
En este caso que la que vamos a utilizar esta librería de Python.
Justamente lo que nos permite es trabajar con los diferentes jazz que ahora a continuación voy a explicar
una de las cosas importantes que siempre tienen que tener en cuenta con Python.
Es interesante que es una buena forma de consultar las librerías.
Es justamente a ejecutar los GELP como acabo de hacer yo y escribir en este caso Allium o Graham.
Tenemos toda la información, los diferentes tipos de jazz con sus diferentes longitudes, que también
lo vamos a explicar también.
Algo muy útil que es muy bueno, es mencionarlo también si hacemos dir entre paréntesis Vasiliev Justamente
vemos las diferentes funciones que tienen los diferentes métodos que tiene jazz libre en este caso que
efectivamente lo vamos a estar utilizando, que son los diferentes tipos de encriptación que nos ofrece
esta librería.
Que ahora a continuación vamos a a ver un poco.
Vamos a limpiar la pantalla.
Perdón.
Como Alien.
Casi escribo crear, que es la costumbre en Linux y lo que vamos a hacer ahora es entonces vamos a crear
una variable llamémosla MD5, porque vamos a empezar con el tipo de encriptación MD5, que tiene una
longitud de 32.
Ahora le voy a explicar un poco a que se refiere con esto la longitud.
Vamos a escribir entonces la variable MD5 igual jazz clip punto MD5.
Entre paréntesis de esta manera nosotros, eh?
Denme un segundo que vamos a ver.
Cuál es Adam?
Se hace pareja como Zapp, encerré y volví a entrar.
Tengo que volver a importar Arci bien, que hoy no está todo bien.
Qué hemos hecho?
Lo que hemos logrado canzó al declarar esta Areal.
Hemos creado un objeto.
Qué vamos a hacer con este objeto?
Bien, si nosotros hacemos MD5, que es el objeto que acabamos de crear.
Utilizamos esta función que es.
Lo que vamos a hacer es poder ver justamente el en el formato, digamos, en cadena de el objeto que
hemos creado en el jazz en MD5.
Justamente de esta manera es como se guardan en las bases de datos.
Si ustedes escriben una contraseña que ahora se los va a mostrar, un ejemplo se guarda en este formato
que es hexadecimal.
Por eso yo utilicé esta función Hex Digest para poder visualizarlo en formato hexadecimal.
Bien, vamos a usar un ejemplo.
Yo voy a crear una variable que se llame clave y voy a decir lib.
Punto g.
5.
Vamos a hipotetizar que mi contraseña es Álvaro.
Yo me acabo de crear una cuenta en en una plataforma online como la mía más Tetch y defino que mi contraseña
va a ser Álvaro.
Bueno, no, yo ahora hago clave y pongo Exit Digest.
Que los paréntesis vemos justamente, fíjense que es distinto, está esta cadena con esta otra.
Porque justamente son valores diferentes.
Esta cadena en hexadecimal, en MD5, en el tiempo de jazz MD5 nos devuelve esta cadena.
Bien, ahora con este tiempo Cadenas sería como se guardaría la base de datos y cómo viajarían la información
a través de internet, lo cual si alguien lo captura a través de diferentes métodos, va a leer esto
y no va a saber que contraseña es albar.
En este caso, ahora, si nosotros quisiéramos ver algo que les mencioné es que la longitud podemos
hacer clave punto ext stickers entre paréntesis y vemos que efectivamente la longitud es 32.
Qué significa la longitud?
Podríamos llamarlo que es la complejidad?
Podríamos decir que es la cantidad de alternativas que pueden existir para descifrar una contraseña.
Entre más alternativas existan, más difícil de descifrar.
Va a ser.
Los tipos de jazz que tenemos o el tipo de hacer, de crear el jazz y la complejidad.
Si tenemos MD5, como acabo de mencionar, tenemos ya un otro ejemplo en donde fíjense ahora si yo lo
veo, fíjense cara, el valor cambió, cambió 2:40.
Si yo hago un vamos a hacer un SA 2 56, nos vamos a hacer uno más complejo Masetto más rápido 512 y
veamos, fíjense qué distancia, no?
Esto ya sin Gujarat 128 de longitud realmente lo hace muy seguro.
Realmente el ciberdelincuentes o la persona que quiera capturar nuestra contraseña va a tener que hacer
un ataque de fuerza bruta o un método de desencriptación mucho más avanzado que si estuviésemos utilizando
MD5.
De todas maneras, en este vídeo justamente les voy a mostrar cómo con Python, a pesar de que estábamos
hablando de esta longitud o de un 1, lo vamos a poder descifrar igual.
Bien, una vez que esto ya está explicado, vamos.
Entonces, ahora que ya sabemos esto y que de esta manera se crean Loach en las contraseñas que se van
a almacenar en las base de datos cuando nosotros creamos nuestra contraseña, la contraseña que es lo
que protege nuestra información, lo justamente la protegemos con este tipo de encriptación.
Por eso es tan importante entender esto.
Ahora lo que les voy a mostrar es cómo nosotros podemos descifrar esta información con Peyton, pero
antes de enseñarle esto, antes de ver cómo descifrarlo, vamos a verlo un poquito más claro a cómo
podemos, justamente con el mismo código de Python, poder crear las diferentes, diferentes tipos de
dejas.
Vamos a ser así, entonces abran su IDE, donde suelen escribir código y lo que vamos.
Yo ya creé este archivo que se llama si se llama cifrado clave punto pin.
Acaso hacemos un import?
Vamos a volver a importar la librería de allí.
En este caso, y lo que vamos a hacer es bueno, voy a declarar una función en este caso que se llama
main y acá adentro.
Bueno, yo voy a crear una variable que se llame clave y acá.
A mi como estamos hablando de que le voy a solicitar al usuario que ingrese una contraseña, un jazz
que le interesa, que le interese transformar esa cadena en los diferentes jazz, con las distintas
complejidades, con las diferentes longitudes.
Bien, lo que vamos a hacer entonces RAW, en este caso con el input.
Fíjense como automáticamente sublime text por algunos plugins que yo tengo instalados directamente me
atrae.
Al haber estado están trabajando con Python.
Justamente me muestra que puedo utilizar RAW guión bajo input.
Este en este caso, esto es importante aclararlo.
Este es un muy buen ejemplo de una diferencia entre Python 2 y Python la versión 3.
En la versión 3 no existe RAW directamente en la versión 3.
Vendría a ser input solo.
Por ejemplo, si quieren una diferencia con lo los diferentes.
Los diferentes.
Las diferentes palabras reservadas y la sintaxis.
En este caso, yo acá lo que estoy haciendo es escribir.
Bueno, le voy a pedir que ingrese al hermano.
Vamos a verlo más claro.
Jugar, por ejemplo.
Y le damos el espacio para el escriba.
En este caso, bueno, una vez ya acá le estoy pidiendo y es importante lo del stream, porque yo acá
el transformo directamente el valor que ingrese el usuario en stream, ya que yo necesito que sea una
cadena para poderlo transformar en un enojás.
Por eso es esa la razón de la función SRT.
Bien, entonces vamos a empezar en un nivel 5, por ejemplo, que un poquito ya hemos visto hasta esta
parte del video.
Vamos a hacer cast lib.
En este caso md5.
Y entre paréntesis yo tendría que poner la variable de lo que a donde se almacena lo que acaba de ingresar
el usuario, que es clave y obviamente lo vamos a representar como hemos venido haciendo con tíquet.
Para representarlo en hexadecimal y en este caso tan simple como imprimir, vamos a ponerlo entre comillas.
Vamos a poner jazz 5.
Dos puntos espacio y acá concatenados, que creemos la variable que mide si.
Bien, en este caso así tenemos, vamos a poner un poco más claro esto es un HTS.
Bien, una vez que ya lo tenemos escrito, vamos a reproducirlo por la cantidad de veces que en este
caso cuando ya habían limpiado acá.
Pero para que recuerden Eny, nosotros habíamos dicho Port GHVIP y habíamos dicho dir.
Slim.
Lacrimal.
Fíjense que acá tenemos los diferentes, las diferentes funciones.
Fíjense que tenemos ya 1, ya 2 24, hollados 56, ya 3 80 y bueno, estén usando.
No sé si es tan necesario.
Bueno, lo podemos agregar para utilizar todo lo que tengamos.
Entonces vamos a necesitar unos cuantos.
Creo que vamos a necesitar más ser así.
Entonces dijimos que las ha1 sado 24 yado 56 ya 3 84 adicione quedó cosa 512.
Entonces lo que tenemos que hacer ahora es ya 1 y lo modificamos.
Acá hacemos sardos 24, dijimos y lo modificamos acá.
Hacemos Sato 56.
Y lo hacemos acatamiento.
Hacemos ya 3.
3 84 regirnos.
Si no mal recuerdo.
Si no sea el error lo rabah.
No hace falta.
Y no avisar ya.
No sé.
Esto es lo que tenemos que mostrar.
Bien, ahora es tan sencillo como para mostrar cómo hacerlo en nain variable.
Perfecto.
Mary Ok, por teoría, así como lo acabo de describir, debería de funcionar.
Esto es lo que tengo que hacer acá.
Eso exci.
Vamos a limpiar.
Y dale con el clero.
Tengo la costumbre en Linux y en este caso para ejecutarte es un archivo.
Fíjense que acá en la Internet quizás se ve medio chiquito.
Yo obviamente le hice suma a esta parte para que a usted lo puedan ver, claro, pero acá me marca la
ruta al archivo.
Ustedes cuando ejecutan un archivo de Python desde la consola tienen que situarse en donde se encuentra
el archivo, en este caso sobre el texto.
Yo fíjense que apreté y tabulación y me terminó de completarla la palabra.
Así que bueno, una vez que yo me encuentro en el situado parado, por así decirlo, en el lugar en
donde se encuentra el archivo.
Ahora, si tengo que hacer Python y vamos a hacer cifrado clave punto pija, voy a apretar tabulación.
Por eso me termina de escribir la palabra.
Bien, como dijimos, se hace, cuál es el error?
Fíjense que en este caso, al utilizar la propiedad diferencia de Python 3, al utilizar la propiedad
Rahue guión bajo input en la versión de Python 2, ya lo define justamente como un string.
Por eso el error que me acaba de saltar la costumbre de escribir el STR entre paréntesis es cuando sólo
va input en la versión de Python entregás vamos a C sea turben.
Fíjense selecciГіn Álvaro y automáticamente bueno, acá hay un error.
Vamos a ver por donde Ayase.
Dónde está el error?
Acá está el error.
No kamila la función de cada palabra reservada, en este caso en Allium.
Por eso.
Por eso me dio todos los mismos como hacer ven?
Ahora sí, fíjense la diferencia importante y longitudes entre uno y otro, y acá estará otro error
más que lo que tuve que haber hecho.
Esto pasa ahora.
Estaba escribiendo también un código en tiempo real, o sea, mientras estoy grabando, no yo para este
tipo de videos.
De todas maneras prefiero editar muy poco si es algo muy grosero, pero si no que vayan viendo al mismo
tiempo cómo resuelvo los problemas.
Fíjense bien, ahora está más que claro.
El tamaño de cada uno es por la diferencia de longitud y por ende en la laseguridad también de decÃ
a uno, no?
Bien, ahora, una vez que ya nosotros entendimos esto y tenemos la representación en formato jazz de
cada valor, en realidad en cada tipo de incriminación con diferentes tipos de longitud, lo que vamos
a hacer entonces es vamos a abrir una nueva pantalla, una nueva página para Kodiak y vamos a trabajar
con la fuerza bruta.
A qué me refiero con la fuerza bruta?
Lo que vamos a hacer es vamos a descifrar estas contraseñas.
Vamos a ver cómo si nosotros logramos capturar la contraseña de alguien que merece una página web porque
se conectó a una red de wifi pública en una confitería o porque hemos logrado conseguir estos Rausch
a raíz de vulnerar una base de datos, por ejemplo.
Y ustedes quieren saber la contraseña de esas personas?
Bien, eso es lo que vamos a hacer.
Entonces ahora vamos a.
Entonces, en primer lugar, una de las primeras cosas que deberíamos hacer es obviamente tiempo.
Importamos import pachuli.
En este caso es recriminaban Lib.
Y otra vez.
La costumbre o la función main en este caso, y vamos a crear una variable.
Acá vamos a pedir en este caso que es otra vez.
El usuario nos ingrese así que quiere resolver.
Por eso creó la variable resolver jazz.
Y en este caso hacemos un round.
Impul.
Y fíjense que ahora no cometí el error de volverlo a poner entre paréntesis con ese reté string str
perdón, y lo que vamos a hacer entonces acá adentro es vamos a poner tags a resolver por ejem.
Bien, entonces vamos a crear otra variable que sea resolver Lledó.
El resolve por acá vino un punto importante que ahora les voy a explicar.
Sepan que para todo ataque de fuerza bruta ustedes necesitan un diccionario con diccionario.
Justamente nos referimos a, por ejemplo, este tipo de diccionarios en donde tenemos muchas contraseñas
almacenadas en archivos, en donde arman y contienen las diferentes alternativas que pueden ingresar
un usuario en contraseñas.
Entre más grande sea el diccionario, mayor probabilidad va a haber de que ustedes puedan dar contra
el de dar con la contraseña.
Pero obviamente más tiempo va a demorar en resolver el algoritmo.
Esa contraseña es lo que les va a mostrar en pantalla o te lo pueden descargar en un archivo y justamente
con eso ustedes poder.
En este caso, como voy a hacer, yo trabajaba, por ejemplo.
En este caso vamos a poner la función open y eso medor de claves.
Punto txt.
Si lo sabré yo, qué caso van a poner Herre?
Y de esa manera nosotros leemos.
El profesor veedor declare el punto te quite que es un archivistas Tegueste en donde está lleno de contraseñas.
Ahora voy a ver si se los puedo mostrar de esta manera.
Puede que demore un poquito en abrir.
Fíjense un momento, estos son contraseña.
Fíjense que están a lo largo también.
Todos estos son combinaciones de palabras que pueden formar una posible contraseña y de esa manera ahora
yo ahora con el código voy a hacer que recorra un jazz que vamos a usar de ejemplo lo que hemos a lo
que acabamos de regenerar nosotros para ver si nos devuelve o no la contraseña.
Bien, entonces, ahora justamente como bien acabo de decir, vamos a recorrerlo con un for resolved
or.
Y digo bien, el resolver punto Gridley es la función para ir justamente vamos a ir leyendo las líneas.
En este caso, o sea la variable A como bandera de que strep para de esta x trib.
Para ir para ella.
En este caso lo van a utilizar para generar los espacios entre cada uno y lo que vamos a hacer ahora
es jazz, dejar que la librería vamos a hacer un show, uno en este caso y tengo que colocar el lado,
que es justamente el valor checkers.
El valor que necesitábamos ir comparando y acá los vamos a filtrar es con un if estructura de control
resolver esas.
Justamente dónde?
Cuándo?
A ser igual a resolver jazz?
Acá arriba, en que entre y nos muestre cuál es justamente la contraseña que ha detectado.
En este caso, lo que nosotros tenemos que hacer entonces es contra.
Señá, igual a formar un espacio entre llaves.
Entonces hacemos contraseña.
Zas!
Vamos a poner este gas.
Fue eso.
Íbamos a mostrar acá cuál había sido el jazz en cuestión.
Y acá le vamos a pasar.
Justamente conformate los dos valores que queremos que se muestren en cada una de las llaves, que en
este caso va a ser que donde se está resolviendo el jazz, por así decirlo, nos lleva a mostrar la
contraseña y el ahí es donde se está almacenando el jazz que hemos resuelto.
En este caso vamos a utilizar el de Ya Ayano.
Ustedes podrían ingresar en el que quieren resolver en base a la contraseña que hayan podido capturar.
Pues vamos a hacer.
Entonces es un if i main.
Igualado o hacerel?
Gracias.
Y en este caso.
Mostramos el resultado.
Vamos a ver si nos sale bien a la primera.
En este caso, fíjense que nosotros hemos creado una contraseña agujas con Álvaro, la palabra Álvaro.
Entonces yo lo que voy a hacer es copiar lo sano y lo que vamos a cesar ahora, entonces es.
M El vamos a ejecutar el archivo, dijimos que era FZ fuerza bruta, punto PI.
Lo ejecutamos inevitablemente.
Efectivamente, leyendola el error, nos damos cuenta que el problema es la etnia, por una cuestión
de él, de la can de carácter.
Cipango, palabra clave.
Rabia no tengamos problema con el y digamos no nos que charter.
Fíjense y lo vamos a guardar y ahora lo disfrutamos y efectivamente no tenemos problema.
Yo había copiado el Sha 1 y vamos a ver que nos devuelve.
Vamos a ejecutarlo.
Mermen o c o.
A esta no me tomo alenta.
Bien amigos, hoy pude resolver el problema en una cuestión en el código y ahora justamente si lo que
hacemos es ejecutarlo, vamos a copiar el caso en cuestión que queremos resolver, en este caso Llaguno.
Recuerden que lo habíamos definido también en el código que se encuentra acá y lo que vamos a hacer
entonces es pegarlo.
Fíjense que puede demorar unos segundos y bien, en este caso encontró efectivamente me dice que es
Álvaro y el jazz resuelto en cuestión.
Qué hizo en este caso?
Cortejó con el diccionario que le mostré.
Fue el cotejando cada uno de las palabras transformadas con su caso y lo fue comparando y de esa manera
logró conseguir en este caso el resultado y podamos decir cuál era la contraseña en cuestión.
Bueno amigos, espero que les haya gustado este video.
Si llegaron hasta el final lo pueden dejar en los comentarios y sobretodo si les gustó este video con
más razón darle un like, compartirlo y suscribirse.
Espero que les haya gustado.
Les dejo un abrazo digital.