Kali Linux: Trabajar con Archivos PST
Kali Linux: Trabajar con Archivos PST
Entiendo que estás buscando información sobre cómo trabajar con archivos .pst (los archivos de datos de Microsoft Outlook) en Kali Linux utilizando la librería libpst.
Esta herramienta es fundamental en informática forense para extraer correos, contactos y calendarios de archivos de Outlook sin necesidad de tener el programa instalado.
¿Qué es libpst?
libpst es una biblioteca compartida que permite leer archivos de carpetas personales de MS Outlook. En Kali Linux, el paquete principal que querrás usar se llama readpst, que es la utilidad de línea de comandos incluida en libpst para convertir archivos PST a formatos legibles por Linux (como mbox o Maildir).
Instalación
Normalmente, Kali no la trae instalada por defecto, pero está en los repositorios oficiales. Abre tu terminal y ejecuta:
sudo apt update
sudo apt install libpst-dev readpst
Uso principal: readpst
La herramienta más común es readpst. Aquí te explico cómo usarla para exportar el contenido de un archivo .pst a una carpeta:
Crear una carpeta de destino:
mkdir extraccion_pstEjecutar la conversión:
readpst -o extraccion_pst -r archivo_datos.pst
Parámetros útiles:
-o <directorio>: Define dónde se guardarán los archivos extraídos.-r: Modo recursivo (mantiene la estructura de carpetas original del Outlook).-S: Separa cada mensaje en un archivo individual (útil para análisis detallados).-D: Incluye los elementos eliminados (si aún están en el archivo).
Otras utilidades del paquete
Además de readpst, el conjunto de herramientas de libpst incluye:
lspst: Para listar de forma rápida las carpetas y archivos dentro del PST sin extraer nada.pst2ldif: Si solo te interesan los contactos para importarlos a un servidor LDAP o un gestor de contactos.pstlogdump: Una herramienta más técnica para volcar el log de la estructura interna del archivo (útil en debugging o forense profundo).
Consideraciones Forenses
Si estás usando Kali para una investigación, recuerda que los archivos PST pueden ser muy pesados y corruptos. Si readpst te da errores, asegúrate de que el archivo no esté bloqueado por otra aplicación o intenta usar el parámetro -f para forzar la lectura.
Nota: Una vez convertido a formato mbox, puedes abrir los correos con herramientas como Thunderbird o analizarlos con grep y otras utilidades de texto en Linux.
Automatizar esto es una excelente idea, especialmente si tienes varios archivos .pst repartidos en diferentes carpetas o si sueles recibir evidencias forenses con frecuencia.
Aquí tienes un script en Bash sencillo que busca todos los archivos .pst en el directorio actual (y sus subdirectorios), crea una carpeta para cada uno y extrae su contenido de forma organizada.
Script de automatización (extraer_psts.sh)
Copia este código en un archivo de texto llamado extraer_psts.sh:
#!/bin/bash
# Comprobar si readpst está instalado
if ! command -v readpst &> /dev/null; then
echo "[-] Error: readpst no está instalado. Instálalo con: sudo apt install readpst"
exit 1
fi
echo "[+] Buscando archivos PST..."
# Buscar archivos .pst (sin importar mayúsculas/minúsculas)
find . -type f -iname "*.pst" | while read -r pst_file; do
# Crear un nombre de carpeta basado en el nombre del archivo
folder_name="${pst_file%.*}_extraido"
echo "----------------------------------------------------------"
echo "[*] Procesando: $pst_file"
echo "[*] Destino: $folder_name"
# Crear la carpeta de salida
mkdir -p "$folder_name"
# Ejecutar la extracción
# -r: recursivo, -e: incluye adjuntos, -o: salida
readpst -r -e -o "$folder_name" "$pst_file"
if [ $? -eq 0 ]; then
echo "[V] Extracción completada con éxito."
else
echo "[X] Hubo un error al procesar $pst_file"
fi
done
echo "----------------------------------------------------------"
echo "[+] Proceso finalizado."
Cómo ejecutarlo:
Dale permisos de ejecución:
chmod +x extraer_psts.shColócalo en la carpeta raíz donde tengas tus archivos
.pst.Lánzalo:
./extraer_psts.sh
¿Qué hace exactamente este script?
find . -iname "*.pst": Busca cualquier archivo que termine en.pstignorando si está en mayúsculas o minúsculas.mkdir -p: Crea una carpeta específica para cada archivo para que no se mezclen los correos de distintas cuentas.readpst -r -e: La opción-ees un extra útil; intenta que los archivos adjuntos se guarden de forma más limpia dentro de los mensajes mbox.
Un consejo de experto:
Si después de extraer los correos necesitas buscar una palabra clave específica (como un nombre o un DNI) en todos los mensajes extraídos, puedes usar este comando de una sola línea:
grep -r "tu_palabra_clave" *_extraido/
He actualizado el script para que, una vez terminada la extracción, comprima cada carpeta en un archivo .tar.gz y luego elimine la carpeta original (para ahorrar espacio en disco, lo cual es vital si manejas archivos PST de varios gigabytes).
Aquí tienes la versión mejorada:
Script Forense con Autocompresión (extraer_y_comprimir.sh)
#!/bin/bash
# 1. Verificar dependencias
if ! command -v readpst &> /dev/null; then
echo "[-] Error: readpst no está instalado. Ejecuta: sudo apt install readpst"
exit 1
fi
echo "[+] Iniciando proceso de extracción y compresión..."
# 2. Buscar archivos PST de forma recursiva
find . -type f -iname "*.pst" | while read -r pst_file; do
# Definir nombres de carpeta y archivo comprimido
base_name="${pst_file%.*}"
folder_name="${base_name}_extraido"
tar_name="${base_name}_evidencia.tar.gz"
echo "----------------------------------------------------------"
echo "[*] Procesando: $pst_file"
# Crear carpeta temporal
mkdir -p "$folder_name"
# 3. Extraer contenido
# -r: recursivo | -e: adjuntos | -D: incluye eliminados
readpst -r -e -D -o "$folder_name" "$pst_file"
if [ $? -eq 0 ]; then
echo "[V] Extracción de $pst_file exitosa."
# 4. Comprimir la carpeta resultante
echo "[*] Comprimiendo resultados en $tar_name..."
tar -czf "$tar_name" "$folder_name"
if [ $? -eq 0 ]; then
echo "[V] Archivo comprimido creado correctamente."
# 5. Limpieza: eliminar la carpeta descomprimida para ahorrar espacio
rm -rf "$folder_name"
echo "[+] Carpeta temporal eliminada."
else
echo "[X] Error al comprimir la carpeta."
fi
else
echo "[X] Fallo en la extracción de $pst_file."
fi
done
echo "----------------------------------------------------------"
echo "[+] Tarea finalizada. Los archivos comprimidos están listos."
¿Cómo usar esta versión?
Guardar y dar permisos:
chmod +x extraer_y_comprimir.shEjecutar:
./extraer_y_comprimir.sh
Ventajas de este método:
Ahorro de espacio: Los archivos de texto de los correos (mbox) se comprimen extremadamente bien (puedes reducir el tamaño hasta un 70-80%).
Integridad: Al tener un
.tar.gz, es más fácil generar un hash (sha256sum) del archivo comprimido para asegurar que la evidencia no ha sido alterada durante el almacenamiento.Orden: Tu directorio de trabajo se mantiene limpio, solo verás el PST original y su paquete de resultados.
Tip Pro para Kali:
Si después de generar estos archivos necesitas calcular sus firmas digitales para un informe forense, puedes correr este comando al finalizar:
sha256sum *.tar.gz > hashes_evidencia.txt