Hola hacketones! En este capítulo de TryHackMe – Linux CLI Basics te familiarizaras con la navegación a través de la CLI de Linux.
Domina la Terminal de Linux
La terminal de Linux es una de las herramientas más poderosas dentro del mundo de la ciberseguridad. Mientras muchos usuarios se apoyan únicamente en interfaces gráficas, los profesionales de seguridad saben que la verdadera visibilidad y control del sistema se encuentran en la línea de comandos. Desde este entorno es posible navegar por el sistema, analizar información crítica del equipo y ejecutar tareas con precisión absoluta.
Uno de los primeros pasos para dominar la terminal es aprender a moverse dentro del sistema de archivos. Comandos como pwd permiten saber exactamente en qué directorio se está trabajando, mientras que ls -al muestra el contenido completo de la carpeta, incluyendo archivos ocultos que normalmente no aparecen en una interfaz gráfica. Esta visibilidad es fundamental cuando se analiza un sistema, ya que muchos archivos de configuración o rastros de actividad pueden estar ocultos.
El desplazamiento entre directorios se realiza con cd, que permite entrar en carpetas específicas o retroceder niveles dentro de la estructura del sistema. Comprender esta navegación es esencial para explorar configuraciones, revisar logs o acceder a ubicaciones críticas del sistema. En un entorno Linux, prácticamente todo se organiza dentro de una jerarquía de directorios, por lo que saber recorrerla con rapidez es una habilidad básica pero poderosa
.
La búsqueda y lectura de archivos también forma parte del trabajo cotidiano en la terminal. El comando find permite localizar archivos dentro del sistema mediante diferentes criterios, mientras que cat permite visualizar su contenido de forma inmediata. Estas herramientas son especialmente útiles durante auditorías de seguridad, análisis forense o cuando se revisan configuraciones sensibles.
En ciberseguridad, Linux está presente en todas partes, impulsando servidores, herramientas de seguridad e incluso entornos de hacking. Sin embargo, antes de poder defender sistemas o investigar incidentes, necesitas saber cómo navegar por el sistema operativo Linux usando la interfaz de línea de comandos ( CLI ) . Esta sala te lleva a una misión guiada como nuevo becario en un equipo de ciberseguridad. Exploraremos los fundamentos de la CLI de Linux mediante tareas prácticas, misiones sencillas y explicaciones fáciles de entender.

Tu Primera Misión en Ciberseguridad
Además de navegar por archivos, la terminal permite obtener información detallada sobre el propio sistema. Con whoami es posible identificar el usuario activo en la sesión actual, mientras que uname -a revela información sobre el kernel, la arquitectura del sistema y otros detalles técnicos que ayudan a entender el entorno en el que se está trabajando.
El estado del almacenamiento también puede evaluarse fácilmente desde la línea de comandos. El comando df -h muestra el espacio disponible en disco de una forma legible, lo que permite detectar rápidamente si una partición está cerca de llenarse o si existe algún problema relacionado con el almacenamiento.
Otro dato clave en cualquier análisis de sistema es conocer la distribución de Linux que se está utilizando. Leyendo el archivo /etc/os-release se obtiene información precisa sobre la versión del sistema operativo y la distribución instalada. Este detalle puede ser crucial cuando se investigan vulnerabilidades específicas o se ejecutan herramientas que dependen de determinadas versiones del sistema.
Dominar estos comandos básicos es el primer paso para moverse con soltura dentro del ecosistema Linux. En ciberseguridad, muchas herramientas avanzadas se ejecutan directamente desde la terminal, y comprender cómo interactuar con el sistema a este nivel abre la puerta a tareas más complejas como análisis de red, enumeración de sistemas, automatización y pruebas de penetración.
Comandos de la CLI de Linux y sus Funciones
| Comando | Significado/Nombre | Descripción de Uso | Ejemplo de Aplicación | Información Extraída (Inferido) |
| pwd | Print Working Directory (Imprimir directorio de trabajo) | Muestra la ruta de la carpeta o directorio en el que se encuentra el usuario actualmente. | Determinar la ubicación actual antes de buscar archivos de misiones o notas. | Ruta absoluta del directorio actual. |
| ls | List (Listar) | Muestra el contenido (archivos y carpetas) del directorio actual. | Listar los archivos en una carpeta para confirmar la presencia de ‘mission_brief.txt’. | Nombres de archivos y directorios visibles. |
| ls -l | List Long (Listar formato largo) | Muestra el contenido del directorio con detalles adicionales como tamaño, permisos y fechas. | Inspeccionar permisos de archivos de seguridad o fechas de modificación de registros. | Metadatos de archivos (permisos, dueño, tamaño, fecha). |
| ls -al | List All Long (Listar todo en formato largo) | Muestra todos los archivos, incluyendo los archivos ocultos (que comienzan con un punto). | Identificar archivos de configuración ocultos o ‘flags’ escondidas en directorios de investigación. | Lista completa de archivos incluyendo los ocultos por el sistema. |
| cd | Change Directory (Cambiar directorio) | Permite navegar a través del sistema de archivos moviéndose entre carpetas. | Acceder a la carpeta ‘/etc’ para revisar archivos de configuración del sistema. | Cambio del foco del terminal a una nueva ubicación. |
| cd .. | Change Directory Up (Subir un nivel) | Mueve al usuario un nivel hacia arriba en la jerarquía de directorios (al directorio padre). | Regresar desde una subcarpeta de investigación hacia el directorio principal. | Navegación jerárquica ascendente. |
| find | Find (Buscar) | Utilidad para localizar archivos específicos dentro del sistema de archivos basándose en criterios como el nombre. | Localizar el archivo ‘mission_brief.txt’ en todo el directorio personal usando ‘find ~ -name’. | Ruta completa de los archivos que coinciden con la búsqueda. |
| cat | Concatenate (Concatenar/Leer) | Se utiliza para leer y desplegar el contenido de un archivo de texto en la terminal. | Leer el contenido de ‘os-release’ para identificar la distribución de Linux o leer reportes de incidentes. | Contenido textual almacenado dentro de los archivos. |
| whoami | Who am I (Quién soy) | Imprime el nombre de usuario de la sesión actual. | Verificar con qué privilegios o cuenta de usuario se está operando en un sistema comprometido. | Identidad del usuario actual (ej. ‘ubuntu’). |
| uname -a | Unix Name – All (Nombre de Unix – Todo) | Muestra información detallada del sistema, incluyendo kernel, arquitectura y nombre del host. | Identificar la versión del kernel para buscar vulnerabilidades específicas (exploits). | Versión del kernel, arquitectura del hardware (x86_64) y nombre del host. |
| df -h | Disk Free – Human Readable (Disco libre – legible) | Muestra el espacio disponible y usado en los sistemas de archivos en formato legible (GB, MB). | Verificar si hay espacio suficiente para descargar herramientas de análisis o recolectar logs. | Capacidad total, espacio usado, espacio libre y porcentaje de uso de los discos. |
Al final de esta tarea, comprenderá qué es la terminal, por qué es importante y cómo la utilizará en toda la sala.
Objetivos de aprendizaje
- Comprenda qué es la terminal de Linux y para qué se utiliza.
- Siéntase cómodo interactuando con el entorno Linux .
- Navegue a través del sistema de archivos Linux con comandos básicos.
Prerrequisitos
Trama: Tu primer día en el trabajo
¡Felicidades! Hoy es tu primer día como Ingeniero de Soporte de TI en el Equipo de Soporte de Operaciones Cibernéticas. Se suponía que recibirías una introducción completa y un recorrido por las herramientas que usarás, pero las cosas en este campo no siempre salen según lo planeado.
Tu supervisor salió apresurado para atender un incidente urgente. Antes de salir corriendo, te dejó una breve nota en tu escritorio:

Así que aquí estás solo por ahora, frente a un mensaje de terminal y un poco de misterio. Pero no te preocupes. Cada paso en esta sala te guiará exactamente sobre qué hacer. Aprenderás a navegar por el sistema, leer archivos y recopilar información: las mismas habilidades básicas que los profesionales de la ciberseguridad usan a diario.
¿Listo para comenzar?
Responda las preguntas a continuación
¿Qué significa «CLI»?
command-line interface
Misión de navegación: «Encuentra las notas perdidas»
Antes de comenzar, haga clic en el botón «Iniciar máquina» a continuación. Esto iniciará su máquina de destino en vista dividida. Si la vista dividida no está visible, presione el botón «Mostrar vista dividida» en la parte superior de la página.

Una nota rápida sobre la terminal
Antes de comenzar a explorar, tomémonos un momento para familiarizarnos con la herramienta que estamos usando. La terminal es una interfaz basada en texto para controlar un sistema Linux . En lugar de interactuar con la interfaz gráfica, se escriben comandos que indican al ordenador exactamente qué hacer. Los profesionales de la ciberseguridad la utilizan porque:
- Es más rápido que hacer clic.
- Da más control
- Muchas herramientas de seguridad solo se ejecutan en la terminal

Si en este momento la terminal no te resulta familiar, es algo completamente normal. Al final de esta sala, te resultará mucho más cómoda y la verás como una herramienta sencilla en lugar de algo intimidante. Haz doble clic en el archivo de Terminal del escritorio, como se muestra a continuación:

Interactuando con la terminal
Ahora que sabes qué es la terminal, es hora de empezar a usarla.
Tu supervisor mencionó dejar algunas tareas en el documento mission_brief.txt, en algún lugar del sistema; lo que significa que tu primera misión es encontrarlas. Para ello, necesitarás aprender a navegar por el sistema de archivos de Linux.
Esta tarea te presentará los comandos de navegación básicos que todo usuario de Linux aprende en su primer día.
Paso 1: «¿Dónde estoy?»
Cuando abres una terminal por primera vez, es posible que no sepas en qué parte del sistema estás.
Usa este comando para averiguarlo: pwd

Significa «imprimir directorio de trabajo», lo que básicamente significa «muéstrame la carpeta en la que estoy actualmente».

Paso 2: «¿Qué hay a mi alrededor?»
Ahora que ya sabes dónde estás, veamos qué archivos y carpetas hay aquí: ls

Aquí se muestra el contenido del directorio actual. Si necesitamos más detalles, podemos probar: ls -l

La salida muestra información importante sobre los archivos y directorios, como tamaños de archivos, permisos, fechas y más.
Archivos ocultos
Para obtener los archivos ocultos en el directorio, podemos agregar el comando a ls -al, y mostrará todos los archivos ocultos presentes en el directorio, como se muestra a continuación:

Los archivos ocultos en realidad no lo son secret; comienzan con un punto .y Linux oculta dichos archivos de manera predeterminada.

Paso 3: Movámonos
Para recorrer el sistema de archivos, podemos usar: cd <directory>. Por ejemplo: cd Documents, y esto cambiará nuestro directorio a Documents, como se muestra a continuación.

Para «regresar» un nivel, usaremos el comando cd .., como se muestra a continuación:


Paso 4: Aprenda el poder de «Encontrar»
Ahora usemos una de las herramientas útiles para find. Como su nombre indica, esta utilidad integrada se usa para localizar archivos dentro del sistema de archivos. Aquí tienes una versión simple del comando: find <starting_point> -name <filename>. Dado que tu supervisor mencionó que el archivo mission_brief.txt se encuentra en tu directorio personal, empieza con el símbolo del directorio personal: ~. Ejecutaremos el comando: find ~ -name mission_brief.txt, como se muestra a continuación:

Tenga en cuenta que esto puede tardar un poco, ya que Linux revisará cada carpeta dentro de su directorio personal. Si el archivo existe, Linux lo imprimirá full path. El resultado anterior muestra que el comando ha localizado correctamente el archivo y nos ha proporcionado su ruta completa, lo que nos permite navegar y leer su contenido. Usemos el cdcomando para navegar a la carpeta. También podemos ls confirmar la presencia del archivo, como se muestra a continuación:


Paso 5: Leer el archivo
Otra utilidad útil es cat. Esta se utiliza para leer el contenido del archivo. Para leer este archivo, ejecutaremos el comando cat mission_brief.txt para obtener el contenido, como se muestra a continuación:

Perfecto. ¡Qué gran progreso! Has completado la tarea.
Después de responder las preguntas, pasemos a la siguiente tarea y aprendamos cómo recuperar información del sistema usando los comandos en la CLI .

Responda las preguntas a continuación
¿Cuál es la ruta completa del archivo mission_brief.txt encontrado en el sistema usando el comando find?
/home/ubuntu/Documents/.research/archive/mission_brief.txt
¿Cuál es la bandera oculta dentro del archivo mission_brief.txt ?
MISSION-FOUND

Investigando el sistema
Ahora, su supervisor quiere que recopile información básica sobre el sistema en el que trabaja. Esta información ayuda a los equipos de ciberseguridad a comprender el entorno en el que operan, la versión de Linux que utilizan y los recursos disponibles. Piense en esto como si estuviera realizando una rápida revisión del estado de la máquina.

Tu próxima tarea
Al abrirlo mission_brief.txt, contenía un nuevo mensaje:
Buen trabajo orientándote en la terminal. Tu próxima tarea es recopilar un pequeño informe del sistema:
- Como quién has iniciado sesión
- La versión del kernel
- Espacio total en disco
- El nombre de esta distribución de Linux
Por ahora, estás solo, pero al menos las instrucciones son claras: recopila información del sistema y envíala. Dividamos el trabajo en pequeños pasos. Paso 1: «¿Cómo quién has iniciado sesión?» El comando más simple en Linux también resulta ser uno de los más útiles: whoami

Esto imprime su nombre de usuario actual.
Paso 2: «¿En qué sistema estás?»
Para ver detalles sobre el sistema operativo, la versión del kernel y la arquitectura, utilice: uname -a

Esto proporciona una línea completa de información del sistema: excelente para comprender exactamente en qué entorno estás trabajando.

Desglose de la información
- Linux : el sistema ejecuta el kernel Linux .
- tryhackme: El nombre del host (el nombre de la computadora).
- <REDACTADO>- aws : La versión del kernel instalada en la máquina.
- x86_64: La plataforma de hardware (también de 64 bits).
- GNU/ Linux : El tipo de sistema operativo ( núcleo Linux + herramientas GNU).
Si solo quieres el nombre del sistema operativo, puedes intentar:uname

Pero por ahora, uname -a ofrece una visión más completa.
Paso 3: Verificar la información del disco y del almacenamiento
En entornos reales, a menudo será necesario comprobar el uso del disco o el espacio disponible, especialmente antes de ejecutar herramientas o analizar registros. Un comando simple para obtener una salida legible es: df -h

Significa -h»legible para humanos»; muestra tamaños como 2G o 500M en lugar de números largos de solo bytes.

Desglose de la información
- /dev/rootes el disco principal del sistema con –G total , 12G usados , <REDACTED>G libres y está 17% lleno .
- tmpfsLas entradas son sistemas de archivos temporales almacenados en la RAM , no en el disco físico.
- /dev/shmes un área de memoria compartida con 1,9G disponibles y 0 utilizados .
- /run/user/114Es un almacenamiento temporal similar para otro usuario del sistema, también con un total de 387 M y prácticamente vacío.
Paso 4: Leer un archivo del sistema
Linux almacena archivos de configuración e información en el /etc directorio.
Para practicar la navegación y la lectura de archivos, acceda a él /etc ejecutando cd /etcy luego enumere su contenido: ls

Ahora usaremos catpara leer el os-releasearchivo que contiene casi todos los sistemas Linux: cat os-release, como se muestra a continuación:

Este archivo proporciona detalles sobre la distribución de Linux que a menudo son más claros que los proporcionados por el comando uname. Excelente trabajo. Con solo unos pocos comandos, pudimos recuperar la información del sistema según lo solicitado por el supervisor.

Concluyendo tu primer día
Has explorado el sistema de archivos, buscado archivos ocultos y recopilado información del sistema: un progreso sólido para tus primeros pasos en Linux . Antes de terminar el día, tu supervisor te ha dejado una última tarea para poner a prueba todo lo que has aprendido hasta ahora. Nada demasiado difícil, solo una comprobación rápida para asegurarte de que puedes comprender los conceptos básicos por tu cuenta.
Mini desafío
Solo conoces el nombre del archivo: day1_report.txt
Tu trabajo:
- Utilice find para ubicarlo en algún lugar de su directorio de inicio.
- Navegue hasta la carpeta donde se encontró.
- Lea el contenido del archivo utilizando cat.
- Úselo para la última pregunta de esta tarea.
Esta vez no hay instrucciones paso a paso. Ya tienes la confianza para hacerlo tú mismo.

Responda las preguntas a continuación
¿Cuál es el nombre de usuario devuelto por el whoami?
ubuntu
¿Cuál es la versión del kernel que muestra uname -a?
6.14.0-1018-aws
¿Cuánto espacio libre en disco df -h?
58G
¿Cuál es el mensaje escrito dentro de day1_report.txt ?
END-OF-DAY1

Conclusión
Y ese es tu primer día en el Equipo de Soporte de Operaciones Cibernéticas.
Aprendiste a:
- Navegar por el sistema de archivos de Linux
- Buscar archivos
- Inspeccionar la información del sistema
- Leer archivos de configuración importantes
- Sigue pistas y completa misiones dentro de un entorno Linux

Estas habilidades pueden parecer sencillas, pero son la base de todo lo que viene después: permisos de archivos, usuarios y grupos, procesos, gestión de paquetes y, finalmente, herramientas de seguridad reales.
Has empezado con buen pie.

Sigan entrenando, Hacketones, Nos vemos en el próximo laboratorio!!!