Bash (Bourne Again Shell) es el intérprete de comandos más común en Linux. Un script de Bash es un archivo de texto que contiene una secuencia de comandos que se ejecutan automáticamente, permitiendo automatizar tareas repetitivas.
Es una habilidad fundamental en seguridad: automatizar escaneos, procesar listas de objetivos, parsear resultados y construir herramientas propias.
Estructura básica de un script:
#!/bin/bash # shebang: define el intérprete
echo "Hola, mundo" # un comando
Pasos para ejecutarlo:
chmod +x script.sh # darle permiso de ejecución
./script.sh # ejecutarlo
Piezas clave del lenguaje:
Variables:
nombre="Zenthik"
echo "Hola $nombre" # se usa con $
Argumentos (lo que se pasa al script):
echo "Primer argumento: $1" # ./script.sh valor
Condicionales:
if [ "$1" == "admin" ]; then
echo "Acceso concedido"
else
echo "Acceso denegado"
fi
Bucles:
for ip in 10.10.10.1 10.10.10.2 10.10.10.3; do
ping -c1 $ip
done
Otros elementos útiles:
- Tuberías (
|) → encadenan comandos: la salida de uno es la entrada de otro. - Redirección (
>,>>) → guardan la salida en un archivo. $(comando)→ sustitución: ejecuta un comando y usa su resultado.
Uso en seguridad:
| Tarea | Ejemplo |
|---|---|
| Automatizar escaneos | Recorrer una lista de IPs y escanearlas |
| Procesar resultados | Filtrar y ordenar salidas con grep, awk |
| Crear herramientas | Combinar comandos en utilidades propias |
| Post-explotación | Enumerar un sistema automáticamente |
El scripting en Bash multiplica la velocidad del trabajo en Linux y es la base de muchas herramientas de Pentest. Aplica todo lo aprendido sobre navegación, permisos y procesos.