Back to: Profesional Experto en Ciberseguridad y Hacking Ético Empresarial
1. 🔍 ¿QUÉ ES EL COMANDO which?
El comando which es una herramienta esencial en Linux para determinar la ruta exacta desde donde se está ejecutando un comando.
Es especialmente útil en entornos donde existen múltiples versiones de una herramienta o binario, y se desea identificar cuál está siendo utilizada por defecto.
which busca el ejecutable en los directorios listados en la variable de entorno $PATH, mostrando la primera coincidencia encontrada.
2. 📌 EJEMPLO PRÁCTICO
Localizar el binario SSH en el sistema:
which ssh # Resultado real: /usr/bin/ssh
El comando which muestra la ruta exacta del ejecutable que se invoca al escribir ssh en la terminal.
En este caso, el binario se encuentra en /usr/bin/ssh, una ruta estándar en sistemas Linux.
- El sistema busca el binario dentro de las rutas definidas en la variable
$PATH. - Si hay múltiples versiones de un binario,
whichmuestra la que se ejecutará primero.
Si el comando no devuelve resultado:
- El binario puede no estar instalado.
- La ruta no está incluida en la variable
$PATH. - El comando puede estar ubicado en un directorio no estándar.
- Validar ubicación de herramientas críticas (ssh, nmap, python).
- Detectar binarios alterados o persistencia maliciosa.
- Identificar rutas para escalada de privilegios o PATH hijacking.
3. 🔐 USO EN PENTESTING Y ADMINISTRACIÓN
Durante auditorías ofensivas o análisis de integridad del sistema, el uso de which puede revelar manipulaciones intencionadas o errores de configuración como:
- Binarios reemplazados por versiones maliciosas (binario hijacking)
- Alteración del PATH para ejecutar herramientas falsas
- Confirmación de la ruta real de ejecución de utilidades críticas
4. 🧵 COMANDOS RELACIONADOS
Complementa which con los siguientes comandos para obtener una visión más completa de cómo el sistema
resuelve ejecutables en el entorno:
echo $PATH type ssh command -v ssh
echo $PATH→ Muestra los directorios donde el sistema busca binarios ejecutables.type ssh→ Indica si es alias, función o ejecutable real.command -v ssh→ Devuelve la ruta exacta del binario (más confiable quewhich).
- Detectar PATH hijacking (binarios maliciosos en rutas prioritarias).
- Validar integridad de herramientas críticas.
- Identificar posibles vectores de persistencia.
- Auditar entornos comprometidos.
Usa
command -v en scripts automatizados, ya que es más consistente y portable en diferentes shells (bash, zsh).
🔗 Consulta adicional y referencias
Amplía tu comprensión sobre rutas de comandos, análisis de shells y seguridad de entorno:
- 🔗 Linuxize – Linux which Command (búsqueda de ejecutables en el PATH)
- 🔗 GeeksforGeeks – type Command in Linux (revisión de alias y funciones)
- 🔗 ExplainShell – which ssh (análisis visual del comando en shell)
Leave a Reply