< ---------------------------- [ EKO Magazine ] ---------------------------- > < - [ Extracto de encriptacion ] ------------------------------------------- > < - [ by Giba ] ------------------------------------------------- (EKO 01) - > /-------------------------------------------------------\ | -=[ Extracto de encriptacion, algoritmos, | | y crackeadores de passwords. ]=- | | -=[ Escrito por GiBa mailto:giba@ezkracho.com.ar ]=- | \-------------------------------------------------------/ Unidades Encriptadas Bajo Linux ------------------------------- Esta parte esta basada en el Loopback-Encrypted-Filesystem-HOWTO. El kernel por default (al menos hasta la version 2.2.17 que yo tengo) posee los metodos de encriptacion DES y XOR (no estoy seguro que la XOR este realmente en el kernel). El metodo DES no es compatible con el programa losetup, asi que no se puede utilizar para este proceso. El metodo XOR, es completamente inutil dado que el password se lee tranquilamente en los primeros bytes de la unidad, asi que la encriptacion seria inservible. Para tener una unidad ext2fs completamente encriptada son necesarios los siguientes parches y programas: Crypto Patch: ftp://ftp.kerneli.org/pub/kerneli/crypto linux-utils: ftp://ftp.kerneli.org/pub/linux/utils/linux-utils Atencion: Para poder instalar el parche crypto tuve que hacer un symlink a usr/src/linux/ llamado lin.2.2.17, porque el parche esta hecho con esa ruta. El nuevo kernel debe tener los siguientes modulos: +Prompt for development and/or incomplete code/drivers +Code Maturity level options +Crypto options enable +crypto ciphers +(todos los metodos que quieras) +Block Devices +Loopback device support +Use relative block numbers as basis for transfer functions +General encryption support Luego de aplicar el parche crypto al kernel. Recompilar e instalar el nuevo kernel. Destargz el paquete de linux-utils y aplicar el parche que se encuentra en el directorio /usr/src/linux/Documentation/crypto/ ,encuentra el archivo diff con el cual hay que parchaear las linux-utils ahi y parchealo. Si queres instalar todas las linux-utils, esta bien. Pero solo necesitas instalar las que estan en el directorio de mount. Cuando ya esta el nuevo kernel parcheado y el nuevo losetup, estamos listos. Les recomiendo leer la documentacion de los parches y programas antes de hacer cualquier cosa. Estamos listos cuando al hacer losetup, la ayuda nos muestra la lista con todos los metodos de encriptacion nuevos. Primero hay que generar un archivo, el cual contendra el filesystem. A menos que deseemos encriptar una particion entera o un rigido entero. El tema es asi: esta el =dispositivo= /dev/loop?, tomemos como ejemplo el 7. Ahora, si queremos hacerlo con un archivo, hay que crear el archivo, puede ser con dd, o copiando un archivo grande que ya tengamos (yo lo he hecho copiando el archivo swap de windows!), con dd seria: #dd if=/dev/urandom of=archivoparaelFS bs=1M count=250 de esta manera, luego de un rato, tenemos un archivo de 250 megas listo para usar. Ahora, ejecutar losetup como en el siguiente ejemplo: #losetup -e twofish /dev/loop7 archivoparaelFS luego escribir el password deseado y ya se tendra acceso al archivo a travez del dispositivo, puediendose asi, montar como a una unidad. Si en lugar de un archivo queria usar una particion o un rigido, se utiliza el nombre del dispositivo: #losetup -e twofish /dev/loop7 /dev/hdc Que es como lo uso yo. Todo el acceso que se haga ahora al dispositivo /dev/loop7, pasara primero por el cypher twofish y luego el resultado encriptado pasa a /dev/hdc Como el nuevo dipositivo tiene dentro basura, hay que formatearlo. Todo lo que se haga ahora al archivo, se lo debe hacer a travez de /dev/loop7, para que pase por el twofish. Entonces: #mke2fs /dev/loop7 Ahora la unidad esta lista para ser usada: #mount /dev/loop7 /disco #cd /disco #ls lost+found Para romper el enlace entre loop7 y hdc hay que, primero desmontarlo y luego romper el losetup: #umount /disco #losetup -d /dev/loop7 Luego de esto, contamos con una de las formas mas seguras de guardar informacion. Unidades Encriptadas Bajo DOS y Windows - Diskreet y PGP -------------------------------------------------------- Como este tema ya lo he tratado en otros textos, voy a extraer los puntos mas importantes de estos y hare un copy-paste. Para mas informacion, buscar los textos encript.txt y encript2.txt en www.ezkracho.com.ar Para DOS: --Inicio del extracto-- --Encript.txt Otra forma de guardar la informacion encriptada es utilizar programas especializados, como por ejemplo el Norton DiskReet (para DOS :-|). Este programa ademas de encriptar y desencriptar utilizando un algoritmo bastante complejo (DES), tiene la capacidad de generar un archivo al cual se lo accede como a una unidad. El contenido de esta unidad esta completamente encritptado. --Encript2.txt Diskreet: El Norton Diskreet es parte de la familia del Norton Utilities para DOS, la ultima version que salio (que yo sepa) es la 8.0 y es la que voy a explicar. Esta utilidad es solo para DOS y NO es compatible con Win95 a pesar de que lo he intentado. Si es compatible con el 3.X.X Para que este programa funcione hay que agregarlo al config.sys asi: device=X:\directorio\diskreet.sys , esto cargara la parte de sistema. Luego podremos encriptar, desencriptar y crear unidades de disco logicas que funcionan como una comun pero cuyo contenido esta encriptado. Es recomendable tener al directorio que posee el diskreet en el PATH para poder llamarlo desde cualquier parte. Para encriptar un archivo con el Diskreet, por ejemplo agenda.dbf, hay que poner lo siguiente DISKREET /E:agenda.dbf, con lo cual se nos abrira una ventana en pantalla preguntando por el archivo destino y el password. Despues de llenar los datos y que el programa se gane su comida, bah, su espacio en memoria (jeje), nos aparecera un cartel preguntandonos si queremos wipear el archivo original, en la parte de PGP explico lo que es wipear, y si seleccionamos el casillero nunca mas nos preguntara si queremos hacer eso, la opcion delete elimina el archivo original y la de cancel, cancela claro. Para desencriptar un archivo escribimos, por ejemplo, DISKREET /D:agenda.sec y al presionar enter nos preguntara el password, al ingreasrlo desencripta el archivo y lo guarda en el disco. Tener en cuenta que elimina el archivo encriptado. Para crear una unidad de disco logica que este encriptada ejecutamos el diskreet sin ningun parametro, ya dentro, presionamos la tecla insert y nos aparece un cuadro de dialogo para completar. Alli ponemos el nombre que tendra nuestra unidad de disco, la unidad en la que estara el archivo (recuerda que NO es ni una unidad al estilo RAMDRIVE sino al estilo Drivespace, de las que genera un archivo grande y lo utiliza como unidad), debajo hay se puede poner una peque~a descripcion de la unidad, luego el tama~o que ocupara ( el cual debe estar libre en la unidad que elegimos arriba) y el metodo de encripcion. Al aceptar el programa no preguntara el password que queremos para esta unidad y la creara. Si todo va bien esta se debera agregar a la lista del primer cuadro que aparece al entrar al programa. Tener en cuenta: el programa tiene muchas opciones utiles tales como cerrado automatico luego de un tiempo, cerrado con tecla rapida, numero de letras de unidad para reservarle al programa, un password general y cosas asi. Cuando en el dos ecribimos algo asi como F: y esta es referencia a una unidad diskreet cerrada, nos preguntara el password, y si esta bien la abrira. Este programa creo que realmente vale la pena para los que no tienen windows 95 (que suerte!) y pueden darse el lujo de usar DOS. Si quieren conseguir este programa o saber mas, mailmeenme que todo puede ser. --fin del extracto-- Para windows: --Inicio del extracto-- --Encript2.txt Antes de encriptar o desencriptar algo debemos crear nuestra llave personal con nuestra frase personal; con este programa no se utiliza una palabra como password, se utiliza una frase entera que a su vez utiliza datos recolectados al azar por el movimiento del mouse o por presionar teclas. Esto incrementa MUY notablemente el nivel de seguridad de este sistema haciendolo 99,999% impenetrable. Pasos para generar una llave nueva: Primero hay que ejecutar el programa PGP Keys, seleccionamos el primer icono de la barra de herramientas o tocamos control+N para que comencemos a crear una llave nueva, y como es windows, con un asistente. Completamos los campos de nombre e e-mail, recuerda que este programa esta hecho para proteger e-mails especificamente, por eso es lo del mail; luego pregunrta el largo de la llave, informandonos de que mientra mas largo sera mejor pero al mismo tiempo sera mas lento, con la de 2048 bits que viene por defecto es mas que suficiente; luego nos pregunta si queremos que despues de un tiempo este keypar sea inservible para encriptar o enviar mails pero si servira para desencriptar y verificar, esto es mas trabajoso dado que en algun momento va a haber que crear una nueva, no se ustedes pero yo soy vago y no quiero tener que pensar una frase nueva y acordarmela cada semana teniendo que acordarme todas las anteriores, por eso elijo que nunca expire; luego es el momento de ingresar la frase magica, que debe ser de mas de 8 caracteres y contener no caracteres no-alfabeticos (que copia barata del mensaje ┐no?), lo cual significa que hay que meter algunos numeritos, algunos puntos, comas o chirimbolitos. Tener en cuenta el indicador de sguridad, si, esa barrita que se va llenando cada vez que insertamos un nuevo caracter, esta deberia estar llena para considerar tu frase como exelente; luego, a menos que no sea el primer par que esten haciendo, le pedira que ingresen datos al azar, osea, muevan el mouse como locos por toda la pantalla y presionen un par de teclas del teclado hasta llenar la barrita; si seguistes estos pasos deberias tener un nuevo keypar, ahora estas listo para encriptar. Tene en cuenta que utilizaras la misma llave para todos las cosas que encriptes, por eso, deberias crear dos o tres llaves, pero no olvides la frase de ninguna como suelo hacer yo. La primera opcion del menu PGP de todas se explica a si misma, es Encrypt. Cuando selecciona se abre un cuadro donde hay una lista con las llaves que poseemos, aqui elegimos una creada por nosotros y la arrastramos hacia le cuadro de abajo. Tabien abajo a la izquierda figuran tres opciones de las cuales nos interesa la tercera: "wipe original" lo cual significa que despues de encriptar el archivo lo borrara de la forma wipe, lo que significa que sobreescribira el archivo con basura y lo eliminara para que en el disco duro no quede nada de nada del original. Cuando elegimos OK el programa hace lo suyo y genera un archivo con el mismo nombre pero de extension pgp. Ese es el archivo encriptado. Al hacer click derecho sobre un .pgp en el menu PGP aparece la opcion "Decrypt & Verify", o simplemente haciendo doble click sobre el archivo. Ahora nos aparecera un cartel que nos dice con que llaves publicas fue creado el archivo y nos pide la rase de esa llave para desencriptarlo; el resto es sabido. La cuarta opcion del menu PGP es "WIPE" que sirve para eliminar un archivo, que no es lo mismo que borrarlo y mucho menos que mandarlo a la estupida papelera de windows. Lo que hace es sobreescribir el archivo antes de borrarlo, asi en el disco la informacion no sigue grabada. Esto se creo dado que cuando uno borra un archivo de forma normal lo que se hace es informarle al sistma que el lugar que ocupaba ese archivo esta disponible, pero la informacion sigue escrita hasta que otro archivo neceste el espacio y se escriba en ese lugar. El resto de las opciones tienen que ver con enviar mails encriptados, todavia no tocare el tema, tal vez en textos posteriores. Ahora a la otra opcion que nos da el PGP, hacer PGP disks. Un PGP disk es un archivo encriptado que se guarda en el disco rigido cuya informacion esta encriptada. La diferencia entre esto y encriptar un archivo es que este archivito se utiliza como si fuera otra unidad igual que con el Norton Diskreet pero para windows. Para hacer uno nuevo ejecutamos el programa PGP Disk y elegimos New. Dentro del WiZZarD elegimos la ubicacion del archivo que sera luego una unidad su tama~o y la letra logica que sera utilizada para referirse a este (tener en cuenta que sera un archivo bastante grande, recordar que sera una unidad y contendra muchos archivos dentro, si la hacemos de 10 megas no tendremos mas de 10 megas para meter), luego se le pone una frase, NO se usara una llave publica, y luego la random data, osea los datos al azar. En este punto el programa procesa para crear la unidad y cuando hacemos click en siguiente la monta. Al finalizar se abre el cuadro de dialogo de windows para formatear y formateamos la nueva unidad, al terminar se abrira el explorador de windows en la nueva unidad. Como ya debes imaginar para este entonces esta unidad formateada puede ser tratada como cualquier disco rigido, podras copiar archivos, borrarlos, moverlos, renombrarlos, ejecutar programas etc. Para poder usar un PGP disk hay que montarlo primero, es aqui cuando se preguntara la frase magica, y permanecera disponible hasta que la desmontemos o se desmonte sola. Para desmontarla hay que elegir la opcion unmount desde el PGP disk, tambien podemos configurar una tecla rapida dentro del menu preferencias para que al tocar esa conbinacion de teclas se desmonte la unidad asi no tenemos que ir a ningun lado. La otra opcion que esta en este menu es la de que luego de cierto periodo de inoperacion se desmonte automaticamente. Para borrar un PGP disk hay que eliminar el archivo que lo contiene y listo. --fin del extracto-- Puntos debiles de los encriptadores: ------------------------------------ Repecto al algoritmo: --------------------- *Un algoritmo debil es aquel que esta logrado con una operacion matematica cuya inversa en facil de calcular. Si bien al sumarle 5 al ascii de cada byte de un archivo lo estamos encriptando, con solo ver el archivo en un editor hexa se nota. Y la desencripcion es sencilla porque se utiliza la opracion resta 5. *Un algoritmo que utiliza una tabla de comparacion es facilmente deducible. Si se posee el programa, sin necesidad de tener el fuente o hacerle ingenieria inversa, se puede obtener la tabla usada. Como? utilizandolo para encriptar un archivo cuyo contenido sea una tabla ascii comun y corriente. *Un algoritmo que no requiera contrase~a para cifrar, es rompible, y al romper uno, ya queda obsoleto porque se utiliza el mismo metodo para los demas. *Un algoritmo que no afecte a un caracter en especial (como por ejemplo el XOR con respecto al '0') puede develar el password o una forma de llegar a el si se encuentran varios de estos uno a continuacion del otro. *Un algoritmo que para comprobar si la clave fue la correcta, desencripte la del archivo y la compare con la ingresada, en lugar de encriptar la ingresada y comparar los resultados. *Un algoritmo cuya precicion utilizada para encriptar cada bloque sea peque~a. Esto seria la cantidad de bits con la que trabaja (32,64,128 bits). Aunque un algoritmo de este tipo ya seria considerado algo serio, si trabaja en 8 bits, las posibilidades de respuestas serian siempre la misma para cada byte. En cambio, tomando varios bytes y encriptandolos, solo se obtendra una respuesta repetida en caso de que estos mismos bytes se repitan de la misma forma y que se empieze por el mismo byte. Respecto al archivo: -------------------- *El punto mas debil que se encuentra es que el password este escrito en algun lugar dentro del archivo (Como pasaba con el MS Word viejo, al protejer documentos: puaj!). *Un archivo que al verlo se nota que tiene cierto formato debido a la forma en que se repiten los caracteres, puede ser indicio del tipo de archivo y el tipo de algoritmo utilizado para encriptarlo. *Un archivo que posee un checkzoom es victima de ataques de fuerza bruta o de diccionario al estar bajo un algoritmo conocido. Si no estubiera ese checkzoom, se obtendria un archivo distinto por cada password intentado pero seria molesto desencriptar un archivo de 200 megas para luego abrirlo y ver que esta mal. *Un archivo que posea varios archivos encriptados adentro y se pueda ver el nombre de estos es un peligro (por ejemplo cuando se zipea y encripta), debido a que al encontrar uno de los archivos en otro lado se puede acelerar el proceso de desencripcion o directamente deducir el password. Los puntos Fuertes ------------------ Estos serian, todo lo contrario a lo expresado anteriormente: *Un algoritmo de doble llave como el PGP, es de lo mejor porque no se puede hallar una inversa. *Un algoritmo que no de la misma respuesta para cada byte cada vez que este aparece. *Un algoritmo que no genere checkzoom alguno en el archivo. *Un algoritmo que posea una elevada cantidad de calculos y sea recursivo para realetar el proceso de fuerza bruta. *Un algoritmo que no deje descripcion alguna de que este fue usado. Herramientas del Decrypter: --------------------------- *La primer herramienta que recomiendo que consigas es un editor hexadecimal, con este podras ver el contenido de cualquier archivo y notar muchas cosas con solo verlo. Si tenes windows te recomiendo el HexWorkshop 3.11, que tiene la maravillosa posibilidad de realizar operaciones matematicas o logicas sobre el archivo o una seleccion. --Offtopic-- Si te bajas la version demo y esta expira, sin crackearlo todavia se puede usar.Como?: Hacer click en register, poner unlock y luego de que diga error, cancelar, quitar esa ventana molesta de debe registrarse hacia abajo o algun lado y, a trabajar! que funciona!. Bajalo de www.bpsoft.com *La proxima herramienta que te recomiendo es el Unicrack, hecho por mi ;-), el cual es una coleccion de los mejores crackeadores para su tipo de archivo. La version que mejor trabaja es la de DOS. Bajarlo de www.ezkracho.com.ar Crackeadores varios: estoy seguro de que se puede conseguir un crackeador para cada tipo de encripcion que existe, solo hay que saber buscar. Te recomiendo: www.uha1.com en la seccion de, obiamente, crackeadores. *Si tenes idea de ensamblador, te recomiendo el soft-ice para windows, debido a que generalmente los programas para windows que encriptan algo, ya sea un archivo o un nombre y serial para una registracion, no traen fuente para mirar. Asi te podras meter en el codigo y ver en vivo como se encriptan y desencriptan los datos. *Mucha inteligencia y matematica. Bajalo de www.tumenteyestudio.pers :-) Listas de Palabras ------------------ Los diccionarios son por lejos, lo mejor que puede existir a la hora de crackear un password. Lo que y ohice para obtener mi primer diccionario fue buscar todos los txt de mi rigido, mis cd's y zips, meterlos en uno solo y lugo depurarlo para que quede como palabras una detras de la otra y sin repeticiones. Para esto hice mi propio programa en un lenguaje llamado euphoria, el HDic, pero ya hay programas que hacen esto hace bastante. Luego de ver que no superaba los 20K, agarre todos los .exe y .dll, los pase por el porgrama llamado strings ( que devuelve solo las cadenas que hay dentro) y lo acote. Este proceso es algo molesto pero da resultado. Ademas de crearlas, te las podes bajar de internet, he llegado a ver listas de palabras de hasta 20MB, asi que cuando tengas un poco de ancho de banda, downloadit, sin pensarlo dos veces. Vale la pena. Crackeando Archivos passwd/shadow --------------------------------- Ademas de leer esto, recomiendo altamente leer la documentacion incluida con el programa utilizado. Me parece que este es un tema muy bien conocido por cualquiera que lea esto, pero aca voy: la mejor herramienta existente para lograr esto es el viejo y conocido amigo de todo hacker, el john the ripper. Si lo que se posee es el archivo shadow, utiliza el programa unshadow que viene con el paquete para que quede como un passwd comun. Tiene, ademas del metodo de fuerza bruta y diccionario, (que son *muy* completos) el metodo que mas me gusta y mas resultados me dio, el single. Este metodo revista dentro del mismo archivo de passwd buscando palabras que podrian ser claves y las muta un poco tambien. No existe password que se resista al john. Crackeando Archivos PGP ----------------------- Ademas de leer esto, recomiendo altamente leer la documentacion incluida con el programa utilizado. Este proceso es algo que no recomiendo y que realmente espero nunca deban sufrir. Hasta ahora he encontrado dos crackeadores de PGP y ambos son similares: necesitan un diccionario de frases. Lo cual dice todo: Cuantas frases y posibilidades dentro de cada frase hay??? :-( Crackeando Archivos ZIP ----------------------- Ademas de leer esto, recomiendo altamente leer la documentacion incluida con el programa utilizado. Para esto necesitaras DOS (SI!) y el programa Fast Zip Crack, que es por mucho, el mejor de todos los que hay, dada su flexibilidad y altisima velocidad. Para utilizarlo solo hay que decirle que tiene que hacer. Aunque tiene la opcion de utilizar archivos que esten dentro del zip y que poseamos para acelerar el proceso, esta velocidad ni se siente, y solo hay una peque~a diferencia cuando se utilizan tres. La mejor opcion que puede existir en este programa, es la de utilizar varias computadoras para dividir el trabajo. Esto da muy buenos resultados. Crackeando Archivos ARJ ----------------------- Ademas de leer esto, recomiendo altamente leer la documentacion incluida con el programa utilizado. Para esto hay dos formas, una es en la que ya se posee uno de los archivos que esta dentro del arj, asi, instantaneamente descifra el pass y te lo da muy lindo en pantalla. La otra es la clasica: por fuerza bruta. Esto esta todo incluido en el paquete Break Arj, que corre en DOS. Crackeando Archivos RAR ----------------------- Ademas de leer esto, recomiendo altamente leer la documentacion incluida con el programa utilizado. Este es de los mas lentos en su tipo para crackear. El unico programa que se que lo hace es el cRARk, que esta hecho para DOS. Funciona por fuerza bruta y se tarda su tiempo. Crackando Archivos DOC/XLS -------------------------- Para estos se encuentran dando vueltas un par de crackeadores, para algunas versiones funcionan de pelos, pero no para todas. Lo que encontre fue un site que deshonra totalmente el arte de crackear archivos y desencriptar, dado que tienen unos muy poderosos crackeadores para estos y otros archivos, pero los muy descarados los venden y bastante caro, y la version demo esta muy restringida. Si se ponen a buscar, lo encontraran primero en la hope list. Crackeando Archivos SAM ----------------------- Ademas de leer esto, recomiendo altamente leer la documentacion incluida con el programa utilizado. Luego de obtener un archivo sam, utilizaremos el programa L0PHTCrack para desencriptar el la contrase~a del administrador, o del web o la que sea que haya. ( El crack para el l0phtcrack esta en www.warez.com) Recomiendo este programa por ser el mas rapido que existe, personalmente he crackeado por fuerza bruta passwords de 8 letras dejando la compu prendida mientras dormia a la noche. Antes de agarrar al sam._ con el l0pht, que seguramente sacaste del directorio de backup del NT, hay que descomprimirlo dado que esta en formato cab. Esto se logra con el comando extract, a diferencia de lo que dice la documentacion de este programa. Lo unico malo de este programita es que corre bajo win32, y eso de dejar prendido un windooze por varias horas, significa tambien, carteles de error con la unica salida de "cerrar" y que se pierda todo lo ganado. Tambien es posible crackear los passwords en linux utilizando al padre de los crackers, el john the ripper. Este crackeara los de tipo Hash que seria el LanMan pass. Es lo que mas aparece en estos bichos.