< ---------------------------- [ EKO Magazine ] ---------------------------- >
< - [ Extracto de encriptacion ] ------------------------------------------- >
< - [ by Giba ] ------------------------------------------------- (EKO 01) - >
/-------------------------------------------------------\
| -=[ Extracto de encriptacion, algoritmos, |
| y crackeadores de passwords. ]=- |
| -=[ Escrito por GiBa mailto:
[email protected] ]=- |
\-------------------------------------------------------/
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.