← Volver al listado de tecnologías

Bandit Nivel 11→12 - Cifrado ROT13

Por: SiempreListo
overthewirebanditrot13cifradotrnivel-12

Bandit Nivel 11→12 - Cifrado ROT13

Objetivo

La contraseña en data.txt está cifrada con ROT13 (las letras están rotadas 13 posiciones).

Teoría: Cifrado ROT13

¿Qué es ROT13?

ROT13 es un cifrado de sustitución simple donde cada letra se reemplaza por la letra 13 posiciones después en el alfabeto.

Alfabeto:  A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
ROT13:     N O P Q R S T U V W X Y Z A B C D E F G H I J K L M

Propiedad Especial

Como el alfabeto tiene 26 letras, aplicar ROT13 dos veces devuelve el texto original:

"Hola" → ROT13 → "Ubyn" → ROT13 → "Hola"

Usos Históricos

No es seguro - es trivial de descifrar.

El Comando tr

tr (translate) reemplaza caracteres:

echo "texto" | tr 'abc' 'xyz'
# Reemplaza a→x, b→y, c→z

Sintaxis para ROT13

tr 'A-Za-z' 'N-ZA-Mn-za-m'

Desglose:

Solución

cat data.txt | tr 'A-Za-z' 'N-ZA-Mn-za-m'

O:

tr 'A-Za-z' 'N-ZA-Mn-za-m' < data.txt

Usos Generales de tr

Cambiar a mayúsculas

echo "hola mundo" | tr 'a-z' 'A-Z'
# HOLA MUNDO

Eliminar caracteres

echo "hola123mundo" | tr -d '0-9'
# holamundo

Comprimir repetidos

echo "holaaa   mundo" | tr -s 'a '
# hola mundo

Reemplazar caracteres

echo "archivo.txt" | tr '.' '_'
# archivo_txt

Opciones de tr

OpciónDescripción
-dEliminar caracteres
-sComprimir repetidos
-cComplemento (todo excepto)
# Eliminar todo excepto letras
echo "a1b2c3" | tr -cd 'a-z'
# abc

# Eliminar saltos de línea
cat archivo.txt | tr -d '\n'

Otros Cifrados de Sustitución

NombreRotación
ROT11 posición (Caesar)
ROT55 posiciones
ROT1313 posiciones
ROT47Incluye números y símbolos

ROT47

echo "Hola123" | tr '\!-~' 'P-~\!-O'

Herramientas Online

Para descifrar rápidamente:

Comandos Aprendidos

ComandoDescripción
tr 'ABC' 'XYZ'Traducir caracteres
tr -d 'abc'Eliminar caracteres
tr -s 'a'Comprimir repetidos
tr 'a-z' 'A-Z'Rangos de caracteres

Conexión al Siguiente Nivel

ssh [email protected] -p 2220