Configuración de tu Entorno Kali Linux

Kali LinuxBeginner
Practicar Ahora

Introducción

En esta práctica de laboratorio, aprenderás a configurar y explorar un entorno Kali Linux utilizando Docker dentro de la VM de LabEx. Kali Linux es una potente distribución basada en Debian, diseñada específicamente para tareas de pruebas de penetración y ciberseguridad. Al ejecutar Kali Linux en un contenedor Docker, puedes crear un entorno aislado para practicar con herramientas de seguridad sin afectar al sistema anfitrión.

Comenzarás descargando y lanzando un contenedor Docker de Kali Linux, accediendo a su terminal y verificando la configuración. Luego, explorarás comandos básicos de la terminal, actualizarás el sistema utilizando herramientas esenciales de gestión de paquetes y comprobarás la versión de Kali y la información del sistema para confirmar que todo esté configurado correctamente. Esta experiencia práctica te proporcionará una base sólida para trabajar con Kali Linux en un entorno contenedorizado.

Esta es una Práctica Guiada, que proporciona instrucciones paso a paso para ayudarte a aprender y practicar. Sigue las instrucciones cuidadosamente para completar cada paso y ganar experiencia práctica. Los datos históricos muestran que esta es una práctica de nivel avanzado con una tasa de finalización del 24%. Ha recibido una tasa de valoraciones positivas del 94% por parte de los alumnos.

Lanzamiento del Contenedor Docker de Kali Linux

En este paso, descargarás y lanzarás un contenedor Docker de Kali Linux en el entorno de la VM de LabEx y accederás a su terminal. Docker te permite ejecutar aplicaciones en contenedores aislados, y Kali Linux es una distribución de Linux especializada en ciberseguridad y pruebas de penetración. Ejecutar Kali en un contenedor garantiza una configuración limpia y portátil para el aprendizaje y la experimentación.

Antes de comenzar, aclaremos algunos conceptos básicos para principiantes:

  • Docker: Docker es una plataforma que permite crear y ejecutar aplicaciones en contenedores. Un contenedor es un entorno ligero y aislado que incluye un sistema operativo y las herramientas necesarias.
  • Kali Linux: Kali Linux es una distribución de Linux basada en Debian diseñada para pruebas de seguridad, equipada con herramientas preinstaladas para pruebas de penetración y forense digital.
  • Contenedor Docker: Un contenedor es una instancia en ejecución de una imagen de Docker. Comenzarás descargando la imagen oficial de Kali Linux y luego crearás un contenedor a partir de ella.

Ahora, descarguemos la imagen de Kali Linux, iniciemos el contenedor y accedamos a su terminal. Todas las operaciones se realizarán en el directorio predeterminado /home/labex/project. Sigue estos pasos cuidadosamente.

  1. Abre una terminal en el entorno de la VM de LabEx. Puedes hacerlo haciendo clic en el icono de la terminal en el escritorio Xfce o utilizando la terminal proporcionada en la interfaz de LabEx.

  2. Confirma que te encuentras en el directorio de trabajo predeterminado ejecutando este comando:

    pwd

    La salida debería ser:

    /home/labex/project

    Si no estás en /home/labex/project, dirígete allí con:

    cd /home/labex/project
  3. Descarga la imagen oficial de Kali Linux desde Docker Hub. Ejecuta el siguiente comando:

    Nota para usuarios gratuitos: Omite el siguiente comando si estás utilizando el nivel gratuito, ya que no puedes conectarte a Internet para descargar la imagen Docker de Kali Linux. Esta ya ha sido descargada en el script de configuración.

    docker pull kalilinux/kali-rolling

    Este comando descargará la última imagen de Kali Linux. Verás el progreso de la descarga en la terminal.

    Imagen que muestra el progreso de la descarga de Docker
  4. Verifica que la imagen de Kali Linux se haya descargado correctamente. Ejecuta:

    docker images

    Deberías ver una salida similar a:

    REPOSITORY              TAG       IMAGE ID       CREATED        SIZE
    kalilinux/kali-rolling latest    xxxxxxxx       X days ago     XXXMB
  5. Ahora, lanza un nuevo contenedor a partir de la imagen de Kali Linux. Ejecuta este comando para iniciar el contenedor en segundo plano:

    docker run -d --name kali-container -it kalilinux/kali-rolling /bin/bash

    Desglosemos este comando:

    • docker run: Crea e inicia un nuevo contenedor.
    • -d: Ejecuta el contenedor en modo desatendido (en segundo plano).
    • --name kali-container: Nombra al contenedor para facilitar su referencia.
    • -it: Combina -i (interactivo) y -t (tty) para permitir la interacción con la terminal del contenedor.
    • kalilinux/kali-rolling: Especifica la imagen a utilizar.
    • /bin/bash: Inicia un shell Bash dentro del contenedor.

    Después de ejecutar este comando, tu terminal devolverá el ID del contenedor, lo que indica que el contenedor ya se está ejecutando en segundo plano.

    Comprueba el estado del contenedor con:

    docker ps

    Deberías ver el contenedor en ejecución con su ID.

  6. Conéctate al contenedor en ejecución con:

    docker exec -it kali-container /bin/bash

    Ahora estarás dentro de la terminal del contenedor. Permanecerás dentro de la terminal del contenedor para todos los pasos posteriores. No salgas del contenedor a menos que se te indique. Si sales accidentalmente, puedes volver a conectarte usando el mismo comando anterior.

    Imagen que muestra el acceso a la terminal del contenedor

¡Felicidades! Has descargado con éxito la imagen Docker de Kali Linux, has lanzado un contenedor y has accedido a su terminal. En el siguiente paso, verificarás que el entorno esté configurado correctamente mientras permaneces dentro del contenedor.

Exploración de la Terminal de Kali Linux

En este paso, explorarás la interfaz de la terminal dentro del contenedor Docker de Kali Linux. La terminal es la forma principal de interactuar con los sistemas Linux, especialmente en Kali Linux, donde la mayoría de las herramientas se basan en la línea de comandos. Este paso te ayudará a familiarizarte con los comandos básicos y el entorno del contenedor.

Repasemos algunos conceptos clave para principiantes:

  • Terminal: Una terminal es una interfaz basada en texto para interactuar con el sistema operativo. Te permite ejecutar comandos, gestionar archivos y configurar ajustes.
  • Bash Shell: Bash (Bourne Again Shell) es el intérprete de comandos predeterminado en Kali Linux. Procesa los comandos que escribes.
  • Usuario Root: El usuario root tiene acceso administrativo total en Linux. Dentro de este contenedor, has iniciado sesión como root, lo que te otorga un control total.

Dado que ya te encuentras dentro del contenedor de Kali Linux del paso anterior, comencemos a explorar la terminal con comandos básicos. Sigue estas instrucciones cuidadosamente.

  1. Confirma tu ubicación actual dentro del contenedor ejecutando:

    pwd

    La salida debería ser:

    /

    Esto muestra que estás en el directorio raíz del sistema de archivos dentro del contenedor.

  2. Lista el contenido del directorio actual para ver la estructura del sistema de archivos. Ejecuta:

    ls

    Deberías ver una salida similar a:

    bin  boot  dev  etc  home  lib  lib32  lib64  libx32  media  mnt  opt  proc  root  run  sbin  srv  sys  tmp  usr  var

    Estos son directorios estándar de Linux. Por ejemplo, bin contiene archivos binarios y etc contiene archivos de configuración.

  3. Verifica tu identidad de usuario ejecutando:

    whoami

    La salida debería ser:

    root

    Esto confirma que estás operando como el usuario root dentro del contenedor.

    Salida del comando uname -a en Kali
  4. Permanece dentro de la terminal del contenedor para los siguientes pasos. No escribas exit, ya que te desconectará del contenedor. Si sales por accidente, vuelve a conectarte usando docker exec -it kali-container /bin/bash desde la terminal del anfitrión.

¡Felicidades! Has explorado la interfaz de la terminal del contenedor Kali Linux con comandos básicos. En el siguiente paso, actualizarás el sistema para asegurar que tenga los últimos paquetes y parches de seguridad.

Actualización del Sistema Kali Linux

En este paso, actualizarás el sistema Kali Linux dentro del contenedor Docker e instalarás herramientas de seguridad. Es importante tener en cuenta que la imagen base de Docker de Kali Linux no incluye herramientas de seguridad preinstaladas por defecto. Esta decisión de diseño mantiene la imagen base pequeña y permite a los usuarios instalar solo las herramientas que necesitan.

Cubramos algunos conceptos importantes para principiantes:

  • Gestor de Paquetes: Un gestor de paquetes se encarga de la instalación, actualización y eliminación de paquetes de software. Kali Linux, al estar basado en Debian, utiliza apt (Advanced Package Tool) como su gestor de paquetes.
  • apt update: Este comando actualiza el índice de paquetes local obteniendo la información más reciente de los repositorios en línea. No instala nada; solo actualiza la lista de paquetes disponibles.
  • Colecciones de Herramientas de Kali Linux: Kali Linux ofrece diferentes metapaquetes para instalar herramientas:
    • Paquetes Individuales: Instala herramientas específicas una por una (por ejemplo, nmap, wireshark, metasploit-framework).
    • kali-linux-headless: Un conjunto mínimo de herramientas adecuado para sistemas sin interfaz gráfica, que contiene las herramientas de línea de comandos más comunes.
    • kali-linux-large: Una colección completa que incluye la mayoría de las herramientas de seguridad de Kali Linux (~450 herramientas).

Como ya te encuentras dentro de la terminal del contenedor de Kali Linux del paso anterior, procedamos con la actualización del sistema y la instalación de herramientas. Sigue estas instrucciones cuidadosamente.

  1. Actualiza el índice de paquetes para obtener la información más reciente sobre los paquetes disponibles. Ejecuta este comando dentro del contenedor:

    apt update

    Verás una salida similar a:

    Get:1 http://kali.download/kali kali-rolling InRelease [30.5 kB]
    Get:2 http://kali.download/kali kali-rolling/main amd64 Packages [18.1 MB]
    ...
    Fetched 18.5 MB in 5s (3,700 kB/s)
    Reading package lists... Done
    Building dependency tree... Done
    Reading state information... Done
    All packages are up to date.
  2. Tienes varias opciones para instalar herramientas. Entendamos cada enfoque:

    a. Instalar herramientas individuales (si solo necesitas herramientas específicas):

    apt -y install <package-name>

    Por ejemplo: apt -y install nmap wireshark

    b. Instalar la colección headless (para un conjunto mínimo de herramientas comunes):

    ## NO ES NECESARIO EJECUTAR ESTE COMANDO
    apt -y install kali-linux-headless

    Esto es útil para pruebas de seguridad básicas y cuando se trabaja con recursos limitados.

    c. Instalar la colección large (para pruebas de seguridad exhaustivas):

    ## NO ES NECESARIO EJECUTAR ESTE COMANDO
    apt -y install kali-linux-large

    Esto incluye la mayoría de las herramientas de seguridad, pero requiere más espacio en disco y tiempo de instalación.

  3. Para esta práctica, instalaremos la colección de herramientas básica. Ejecuta:

    apt -y install kali-linux-headless

    La bandera -y confirma automáticamente cualquier aviso, permitiendo que la instalación proceda sin interrupciones. La salida se verá similar a:

    Reading package lists... Done
    Building dependency tree... Done
    Reading state information... Done
    The following additional packages will be installed:
      <package1> <package2> ...
    ...
    Setting up <package1> ...
    Setting up <package2> ...

    Esto llevará algún tiempo, ya que descarga e instala muchos paquetes. El metapaquete kali-linux-headless proporciona el conjunto más completo de herramientas de pruebas de seguridad disponibles en Kali Linux para terminal.

    Presiona Ctrl+C para detener el proceso de instalación si no deseas esperar a que se complete.

  4. Permanece dentro de la terminal del contenedor para el siguiente paso. No escribas exit. Si sales accidentalmente, vuelve a conectarte con docker exec -it kali-container /bin/bash desde la terminal del anfitrión.

¡Felicidades! Has actualizado el sistema Kali Linux e instalado un conjunto completo de herramientas de seguridad dentro del contenedor Docker. Tener estas herramientas disponibles garantiza que estés listo para diversas tareas de pruebas de seguridad. En el siguiente paso, comprobarás la versión y la información del sistema de Kali Linux.

Comprobación de la Versión de Kali Linux y la Información del Sistema

En este paso, comprobarás la versión de Kali Linux y recopilarás información básica del sistema dentro del contenedor Docker. Conocer la versión y los detalles del sistema ayuda a solucionar problemas y garantiza la compatibilidad con las herramientas de seguridad.

Expliquemos algunos conceptos clave para principiantes:

  • Información de la Versión: La versión de Kali Linux indica el lanzamiento o la compilación que estás utilizando. Kali sigue un modelo de liberación continua (rolling release), lo que significa que recibe actualizaciones constantes en lugar de lanzamientos de versiones fijas.
  • Información del Sistema: Esto incluye detalles sobre el kernel (el núcleo del SO), la arquitectura del hardware y otros datos del sistema. Los comandos y archivos del sistema proporcionan esta información para su revisión.
  • Salida de Comandos: Los comandos de Linux suelen mostrar información detallada en la terminal. Aprender a interpretar esta salida es útil para entender tu sistema.

Como ya te encuentras dentro de la terminal del contenedor de Kali Linux del paso anterior, procedamos a comprobar la versión y la información del sistema. Sigue estas instrucciones cuidadosamente.

  1. Comprueba la versión de Kali Linux visualizando el contenido del archivo /etc/os-release. Ejecuta este comando:

    cat /etc/os-release

    Deberías ver una salida similar a:

    PRETTY_NAME="Kali GNU/Linux Rolling"
    NAME="Kali GNU/Linux"
    VERSION_ID="2023.3"
    VERSION="2023.3"
    VERSION_CODENAME="kali-rolling"
    ID=kali
    ID_LIKE=debian
    HOME_URL="https://www.kali.org/"
    SUPPORT_URL="https://forums.kali.org/"
    BUG_REPORT_URL="https://bugs.kali.org/"
    ANSI_COLOR="1;31"

    Esto muestra detalles como la versión (por ejemplo, 2023.3) y el nombre en clave (kali-rolling). La versión exacta puede variar según la actualización de la imagen.

  2. Recopila información sobre el kernel y la arquitectura del sistema. Ejecuta este comando:

    uname -a

    La salida se verá similar a:

    Linux xxxxxxxxxxxx 5.10.0-0.deb10.9-amd64 #1 SMP Debian 5.10.70-1 (2021-09-30) x86_64 GNU/Linux

    Esto muestra la versión del kernel (por ejemplo, 5.10.0) y la arquitectura (por ejemplo, x86_64 para 64 bits). Los detalles exactos pueden diferir.

  3. Comprueba el nombre de host (hostname) del contenedor. Ejecuta este comando:

    hostname

    La salida será un identificador único, como:

    xxxxxxxxxxxx

    Este es el nombre de host del contenedor, generado automáticamente por Docker y único para cada instancia.

  4. Permanece dentro de la terminal del contenedor si deseas explorar más. Si necesitas volver a la terminal de la VM de LabEx, escribe exit. Siempre puedes volver a conectarte más tarde con docker exec -it kali-container /bin/bash.

¡Felicidades! Has comprobado la versión de Kali Linux y la información del sistema utilizando comandos sencillos. Esto completa la configuración básica y la exploración de un entorno Kali Linux en un contenedor Docker.

Resumen

En esta práctica de laboratorio, has aprendido a configurar y gestionar un entorno Kali Linux utilizando Docker en la VM de LabEx. Comenzaste descargando y lanzando un contenedor Docker de Kali Linux, accediendo a su terminal y verificando la configuración. Luego, exploraste la interfaz de la terminal con comandos básicos para comprender el entorno. Actualizaste el sistema utilizando apt update y apt upgrade para asegurar que las últimas herramientas y parches estuvieran instalados. Finalmente, comprobaste la versión de Kali Linux y la información del sistema para confirmar la configuración. Estos pasos proporcionaron una comprensión fundamental del trabajo con Kali Linux en una configuración contenedorizada para tareas de ciberseguridad.