https://gchq.github.io/CyberChef/
Sirve para ocultar secretos en imágenes sin alterar lo que la imagen muestra.
steghide embed -cf image.jpg -ef hola.txt
steghide extract -sf image.jpg
Nombre | Descripción |
---|---|
Editor de JavaScript | Editor online de JavaScript |
Empaquetador JavaScript | Permite eliminar las tabulaciones y espacios en nuestro JS |
JS Nice | Herramienta para "embellecer" código JavaScript ofuscado |
js-beautify | Herramienta para "embellecer" código JavaScript ofuscado |
Para encriptar:
openssl enc -aes-128-ecb -in encriptar.txt -out a.file -pass pass:password
Para desencriptar:
openssl aes-128-ecb -d -in xd.file -k password
Vamos a cifrar una imágen mediante el algoritmo ECB y el CBC. En primer lugar pasamos la foto a mapa de píxeles (.ppm). Para ello instalamos la siguiente librería:
sudo apt install graphicsmagick-imagemagick-compat
Para convertir la imagen a .ppm:
convert <nombre de la imagen>.png <nombre de la imagen>.ppm
Separamos la cabecera del cuerpo de la imagen
head -n 3 <nombre de la imagen>.ppm > cabecera.txt
tail -n +4 <nombre de la imagen>.ppm > cuerpo.bin
Ciframos el cuerpo
openssl enc -aes-128-ecb -in <foto>.bin -out <foto_cifrada>.bin
Y volvemos a construir la imagen
cat cabecera.txt <fichero con el cuerpo cifrado> > <nombre de la unión>.ppm
Sin embargo, este método de encriptación no es el ideal para imagenes, pues se siguen marcando la silueta de la imagen. Esto es porque el algoritmo ECB cada bloque de manera independiente, por lo que varios bloques de datos idénticos cifrados dan la misma salida. Para arreglar esto, vamos a cifrar el cuerpo de la imagen con el algoritmo CBC.
Ciframos el cuerpo
openssl enc -aes-128-cbc -in cuerpo.bin -out cuerpo_cifrado.bin -iv $(openssl rand -hex 16)
Lo unimos a la cabecera como antes. Ahora sí que no se reconoce la silueta
Instalamos el software de cifrado de discos
sudo apt install ecryptfs-utils
Montamos la carpeta con el sistema de ficheros propio de la librería
mount -t ecryptfs <tu ruta de carpeta> <tu ruta de carpeta>
Elegimos cifrado AES, 32 bytes de clave, plaintext passthrough y filename encryption a false.
Para desmontar
sudo umount <tu ruta de carpeta>
Instalamos John The Ripper
sudo apt install john
Encriptamos un archivo para probar a desencriptarlo
openssl enc -aes-128-cbc -in <input> -out <output>
Lo pasamos a formato john (-c 1 -> aes-128-cbc)
openssl2john -c 1 -m 2 <output>
Lo tratamos de desencriptar
john --wordlist=rockyou.txt hash.txt
Con la herramienta unshadow combinamos el archivo passwd con shadow
sudo unshadow /etc/passwd /etc/shadow > unshadow.txt
Generamos un diccionario de palabras con crunch. En este caso sabemos que la contraseña de un usuario empieza por "test", acaba con "..." y tiene tres números en medio.
- %: Cualquier número
- @: Cualquier caracter
crunch 10 10 -t test%%%... -o passwords.txt
Y por último, le pasamos el diccionario al john y el unshadow
john --wordlist=passwords.txt unshadow.txt
Si queremos probar con todas las combinaciones de caracteres
john --incremental --users=<user1,user2...> --max-length=n shadow.txt
Podemos transportar archivos de una máquina a otra con el siguiente comando
scp [email protected]:~/Images/foto.png .
Si nos metemos en el directorio volume_data veremos una carpeta por cada máquina. Si metemos un archivo ahí se mete en la carpeta /shared de la máquina.
En /etc/passwd se almacenan todos los usuarios del sistema
root:x:0:0:root:/root:/bin/bash
Su formato es usuario:contraseña(x si está encriptada):permiso de usuario:permiso de grupo
Las contraseñas están en /etc/shadow. Entre el primer y segundo dolar está el algoritmo de encriptación (