Configuración de su entorno Kali Linux

Kali LinuxBeginner
Practicar Ahora

Introducción

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

Comenzará descargando e iniciando un contenedor de Docker de Kali Linux, accediendo a su terminal y verificando la configuración. Luego, explorará comandos básicos de la terminal, revisará cómo se utiliza apt en Kali Linux y comprobará la versión de Kali y la información del sistema para confirmar que todo esté configurado correctamente. Para los estudiantes del nivel gratuito, este laboratorio se centra en comprender el flujo de trabajo de gestión de paquetes en lugar de descargar paquetes, ya que la máquina virtual no puede acceder a los espejos de paquetes externos. Esta experiencia práctica le proporcionará una base sólida para trabajar con Kali Linux en un entorno contenedorizado.

Lanzamiento del contenedor de Docker de Kali Linux

En este paso, descargará e iniciará un contenedor de Docker de Kali Linux en el entorno de la máquina virtual de LabEx y accederá a su terminal. Docker le 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 le 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 análisis forense digital.
  • Contenedor de Docker: Un contenedor es una instancia en ejecución de una imagen de Docker. Comenzará descargando la imagen oficial de Kali Linux y luego creará 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. Siga estos pasos cuidadosamente.

  1. Abra una terminal en el entorno de la máquina virtual de LabEx. Puede hacerlo haciendo clic en el icono de la terminal en el escritorio Xfce o utilizando la terminal proporcionada en la interfaz de LabEx.

  2. Confirme que se encuentra en el directorio de trabajo predeterminado ejecutando este comando:

    pwd
    

    La salida debería ser:

    /home/labex/project
    

    Si no está en /home/labex/project, navegue hasta él con:

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

    Nota para usuarios gratuitos: Omita el siguiente comando si está utilizando el nivel gratuito, ya que la máquina virtual no puede acceder a Docker Hub. La imagen de Kali 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á el progreso de la descarga en la terminal.

    Imagen que muestra el progreso de la descarga de Docker

  4. Verifique que la imagen de Kali Linux se haya descargado correctamente. Ejecute:

    docker images
    

    Debería ver una salida similar a:

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

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

    Analicemos este comando:

    • docker run: Crea e inicia un nuevo contenedor.
    • -d: Ejecuta el contenedor en modo separado (en segundo plano).
    • --name kali-container: Asigna un nombre 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, su terminal devolverá el ID del contenedor, lo que indica que el contenedor se está ejecutando en segundo plano.

    Compruebe el estado del contenedor con:

    docker ps
    

    Debería ver el contenedor ejecutándose con su ID.

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

    docker exec -it kali-container /bin/bash
    

    Ahora estará dentro de la terminal del contenedor. Permanecerá dentro de la terminal del contenedor para todos los pasos siguientes. No salga del contenedor a menos que se le indique. Si sale accidentalmente, puede volver a conectarse utilizando el mismo comando anterior.

    Imagen que muestra el acceso a la terminal del contenedor

Felicidades. Ha descargado correctamente la imagen de Docker de Kali Linux, ha iniciado un contenedor y ha accedido a su terminal. En el siguiente paso, verificará que el entorno esté configurado correctamente mientras permanece dentro del contenedor.

Exploración de la terminal de Kali Linux

En este paso, explorará la interfaz de la terminal dentro del contenedor de 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 le ayudará a familiarizarse 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. Le permite ejecutar comandos, gestionar archivos y configurar ajustes.
  • Shell Bash: Bash (Bourne Again Shell) es el intérprete de línea de comandos predeterminado en Kali Linux. Procesa los comandos que usted escribe.
  • Usuario Root: El usuario root tiene acceso administrativo completo en Linux. Dentro de este contenedor, usted ha iniciado sesión como root, lo que le otorga control total.

Como ya está dentro del contenedor de Kali Linux del paso anterior, comencemos a explorar la terminal con comandos básicos. Siga estas instrucciones cuidadosamente.

  1. Confirme su ubicación actual dentro del contenedor ejecutando:

    pwd
    

    La salida debería ser:

    /
    

    Esto muestra que se encuentra en el directorio raíz del sistema de archivos dentro del contenedor.

  2. Liste el contenido del directorio actual para ver la estructura del sistema de archivos. Ejecute:

    ls
    

    Debería 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. Verifique su identidad de usuario ejecutando:

    whoami
    

    La salida debería ser:

    root
    

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

    Salida del comando uname -a en Kali

  4. Permanezca dentro de la terminal del contenedor para los siguientes pasos. No escriba exit, ya que lo desconectará del contenedor. Si sale accidentalmente, vuelva a conectarse usando docker exec -it kali-container /bin/bash desde la terminal del anfitrión.

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

Revisión de la gestión de paquetes de Kali Linux

En este paso, revisará cómo funciona la gestión de paquetes de Kali Linux dentro del contenedor de Docker y comprobará los comandos utilizados para actualizar el sistema e instalar herramientas de seguridad. Es importante tener en cuenta que la imagen base de Docker de Kali Linux no viene con herramientas de seguridad preinstaladas de forma predeterminada. Esta elección de diseño mantiene la imagen base pequeña y permite a los usuarios instalar solo las herramientas que necesitan.

Repasemos algunos conceptos importantes para principiantes:

  • Gestor de paquetes: Un gestor de paquetes maneja la instalación, actualización y eliminación de paquetes de software. Kali Linux, 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 paquetes desde 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: Instale herramientas específicas una por una (p. ej., 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 está dentro de la terminal del contenedor de Kali Linux del paso anterior, examinemos los comandos utilizados para actualizar el sistema e instalar herramientas. Siga estas instrucciones cuidadosamente.

  1. Compruebe que el gestor de paquetes apt esté disponible dentro del contenedor. Ejecute este comando:

    apt --version
    

    Verá una salida similar a:

    apt 2.x.x (amd64)
    

    Esto confirma que el gestor de paquetes estándar de Kali está instalado y listo para usarse cuando haya acceso a la red.

  2. Revise el comando utilizado para actualizar el índice de paquetes. Este es el comando que ejecutaría dentro del contenedor cuando haya acceso a Internet:

    apt update
    

    Nota para usuarios gratuitos: No ejecute apt update en la máquina virtual del nivel gratuito. El contenedor no puede llegar a los espejos de paquetes externos de Kali, por lo que el comando agotará el tiempo de espera. Solo necesita comprender qué hace este comando para este laboratorio.

    Cuando haya acceso a la red, verá 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.
    
  3. Tiene varias opciones para instalar herramientas. Comprendamos cada enfoque:

    a. Instalar herramientas individuales (si solo necesita 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 NECESITA EJECUTAR ESTE COMANDO
    apt -y install kali-linux-headless
    

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

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

    ## NO NECESITA 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.

  4. Para este laboratorio, revise el comando para instalar la colección de herramientas básica:

    apt -y install kali-linux-headless
    

    Nota para usuarios gratuitos: No ejecute este comando en la máquina virtual del nivel gratuito. Requiere descargar paquetes de los espejos de Kali, lo cual está bloqueado en este entorno.

    El indicador -y confirma automáticamente cualquier solicitud, permitiendo que la instalación continúe 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> ...
    

    Cuando hay acceso a Internet, este proceso lleva algún tiempo porque descarga e instala muchos paquetes. El metapaquete kali-linux-headless proporciona un conjunto práctico de herramientas de pruebas de seguridad de línea de comandos para Kali Linux.

    Si está utilizando un entorno de pago con acceso a Internet, puede ejecutar el comando y esperar a que termine. En la máquina virtual del nivel gratuito, continúe después de revisarlo.

  5. Permanezca dentro de la terminal del contenedor para el siguiente paso. No escriba exit. Si sale accidentalmente, vuelva a conectarse con docker exec -it kali-container /bin/bash desde la terminal del anfitrión.

Felicidades. Ha confirmado que apt está disponible en el contenedor de Kali y ha revisado los comandos utilizados para actualizar el índice de paquetes e instalar colecciones de herramientas comunes de Kali. En el siguiente paso, comprobará 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á la versión de Kali Linux y recopilará información básica del sistema dentro del contenedor de Docker. Conocer la versión y los detalles del sistema ayuda con la resolución de 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 la versión o compilación que está utilizando. Kali sigue un modelo de lanzamiento continuo (rolling release), lo que significa que recibe actualizaciones constantes en lugar de versiones fijas.
  • Información del sistema: Esto incluye detalles sobre el kernel (el núcleo del sistema operativo), la arquitectura del hardware y otros datos del sistema. Los comandos y los archivos del sistema proporcionan esta información para su revisión.
  • Salida de comandos: Los comandos de Linux a menudo muestran información detallada en la terminal. Aprender a interpretar esta salida es útil para comprender su sistema.

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

  1. Compruebe la versión de Kali Linux viendo el contenido del archivo /etc/os-release. Ejecute este comando:

    cat /etc/os-release
    

    Debería 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 (p. ej., 2023.3) y el nombre en clave (kali-rolling). La versión exacta puede variar según la actualización de la imagen.

  2. Recopile información sobre el kernel y la arquitectura del sistema. Ejecute 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 (p. ej., 5.10.0) y la arquitectura (p. ej., x86_64 para 64 bits). Los detalles exactos pueden diferir.

  3. Compruebe el nombre de host (hostname) del contenedor. Ejecute 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. Permanezca dentro de la terminal del contenedor si desea explorar más. Si necesita volver a la terminal de la máquina virtual de LabEx, escriba exit. Siempre puede volver a conectarse más tarde con docker exec -it kali-container /bin/bash.

Felicidades. Ha 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 de Kali Linux en un contenedor de Docker.

Resumen

En este laboratorio, ha aprendido a configurar y gestionar un entorno de Kali Linux utilizando Docker en la máquina virtual de LabEx. Comenzó descargando e iniciando un contenedor de Docker de Kali Linux, accediendo a su terminal y verificando la configuración. Luego, exploró la interfaz de la terminal con comandos básicos para comprender el entorno. También revisó cómo Kali utiliza apt para la gestión de paquetes y aprendió que los entornos del nivel gratuito no pueden acceder a los espejos de paquetes externos, por lo que las actualizaciones e instalaciones de paquetes deben tratarse como comandos de referencia en este laboratorio. Finalmente, comprobó 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.