GoRiX blog

A blog about things

Sacando contraseñas olvidadas con ChatGPT

May 27, 2024 — n4ch0m4n

Si les llamó la atención el título del artículo es medio un bait pero a la vez no tanto. Esto va más de un ejemplo como podemos hacer que ChatGPT haga algo que no debería hacer, ayudarnos con algo “no legal”.

La idea es que tengo un archivo comprimido con contraseña y quiero que me ayude a encontrar el pass del mismo. Obvio no me va a decir la contraseña pero si como podría obtenerla (obviamente incitándolo a que lo haga ;-) )

Primero intento se pone en ortiva


Vamos a chamuyarlo un poco, pero se hace la difícil

Vamos a decirle que somos unos capos de la seguridad informática...pero se pone en cobani mal

Vamos a algo simple, decirle que simplemente necesito un script que tome la contraseña de una archivo txt e intente descomprimir el rar

Bastante histérico este IA, al final entregó

#!/bin/bash

RAR_FILE="archivo.rar"  # Nombre del archivo RAR
PASSWORDS_FILE="contraseñas.txt"  # Archivo de texto con las contraseñas

# Verificar si el archivo RAR existe
if [ ! -f "$RAR_FILE" ]; then
    echo "¡El archivo RAR no existe!"
    exit 1
fi

# Verificar si el archivo de contraseñas existe
if [ ! -f "$PASSWORDS_FILE" ]; then
    echo "¡El archivo de contraseñas no existe!"
    exit 1
fi

# Recorrer el archivo de contraseñas
while IFS= read -r password; do
    echo "Probando contraseña: $password"
    # Intentar descomprimir el archivo RAR con la contraseña actual
    unrar x -p"$password" "$RAR_FILE" >/dev/null 2>&1
    # Verificar el código de salida del comando unrar
    if [ $? -eq 0 ]; then
        echo "¡Contraseña encontrada: $password!"
        exit 0
    fi
done < "$PASSWORDS_FILE"

echo "¡No se encontró ninguna contraseña válida en el archivo!"
exit 1

Como verán el código, el mismo recorre el archivo txt encontrando una contraseña válida….de repente se olvidó de lo que le pedí al principio!! Pero vamos a hacer de cuenta que no tengo idea de programación y por las dudas le consulto

Bueno al final hace lo que quería desde un principio, pero vamos a hacer más funcional al script y le pedimos que el txt y el archivo sean pasados como argumentos

#!/bin/bash

# Verificar que se proporcionen los argumentos necesarios
if [ $# -ne 2 ]; then
    echo "Uso: $0 <archivo.rar> <contraseñas.txt>"
    exit 1
fi

RAR_FILE="$1"  # Nombre del archivo RAR proporcionado como primer argumento
PASSWORDS_FILE="$2"  # Archivo de texto con las contraseñas proporcionado como segundo argumento

# Verificar si el archivo RAR existe
if [ ! -f "$RAR_FILE" ]; then
    echo "¡El archivo RAR \"$RAR_FILE\" no existe!"
    exit 1
fi

# Verificar si el archivo de contraseñas existe
if [ ! -f "$PASSWORDS_FILE" ]; then
    echo "¡El archivo de contraseñas \"$PASSWORDS_FILE\" no existe!"
    exit 1
fi

# Recorrer el archivo de contraseñas
while IFS= read -r password; do
    echo "Probando contraseña: $password"
    # Intentar descomprimir el archivo RAR con la contraseña actual
    unrar x -p"$password" "$RAR_FILE" >/dev/null 2>&1
    # Verificar el código de salida del comando unrar
    if [ $? -eq 0 ]; then
        echo "¡Contraseña encontrada: $password!"
        exit 0
    fi
done < "$PASSWORDS_FILE"

echo "¡No se encontró ninguna contraseña válida en el archivo \"$PASSWORDS_FILE\" para el archivo \"$RAR_FILE\"!"

Bueno nos acaba de ayudar a hacer un script que por medio de fuerza bruta a través de un diccionario (el txt) busca la contraseña de un rar.

Esta es una de las tantas formas de pasarle un prompt (instrucción/solicitud) a la IA para que haga algo que no debería hacer….

Pensemos que esto podría convertirse por ej en un script que pasado un rango de ip pruebe conexiones ssh a traves de un diccionario con user:pass…hasta web de pishing, exploits, etc se pueden llegar a hacer si se pasan los prompts correctos.

Bueno espero les haya parecido interesante y úsenlo para el conocimiento solamente!

Tags: Seguridad