Configurando seu ambiente Kali Linux

Kali LinuxBeginner
Pratique Agora

Introdução

Neste laboratório, você aprenderá como configurar e explorar um ambiente Kali Linux usando Docker dentro da VM do LabEx. O Kali Linux é uma distribuição poderosa baseada em Debian, projetada para testes de penetração e tarefas de cibersegurança. Ao executar o Kali Linux em um contêiner Docker, você pode criar um ambiente isolado para praticar com ferramentas de segurança sem afetar o sistema host.

Você começará baixando e iniciando um contêiner Docker do Kali Linux, acessando seu terminal e verificando a configuração. Em seguida, explorará comandos básicos de terminal, revisará como o apt é usado no Kali Linux e verificará a versão do Kali e as informações do sistema para confirmar se tudo está configurado corretamente. Para alunos do nível gratuito, este laboratório foca na compreensão do fluxo de trabalho de gerenciamento de pacotes, em vez de baixar pacotes, pois a VM não consegue acessar espelhos de pacotes externos. Esta experiência prática fornecerá uma base sólida para trabalhar com o Kali Linux em um ambiente conteinerizado.

Iniciando o contêiner Docker do Kali Linux

Nesta etapa, você baixará e iniciará um contêiner Docker do Kali Linux no ambiente da VM do LabEx e acessará seu terminal. O Docker permite que você execute aplicativos em contêineres isolados, e o Kali Linux é uma distribuição Linux especializada em cibersegurança e testes de penetração. Executar o Kali em um contêiner garante uma configuração limpa e portátil para aprendizado e experimentação.

Antes de começarmos, vamos esclarecer alguns conceitos básicos para iniciantes:

  • Docker: Docker é uma plataforma que permite criar e executar aplicativos em contêineres. Um contêiner é um ambiente leve e isolado que inclui um sistema operacional e as ferramentas necessárias.
  • Kali Linux: Kali Linux é uma distribuição Linux baseada em Debian projetada para testes de segurança, equipada com ferramentas pré-instaladas para testes de penetração e perícia digital.
  • Contêiner Docker: Um contêiner é uma instância em execução de uma imagem Docker. Você começará baixando a imagem oficial do Kali Linux e, em seguida, criará um contêiner a partir dela.

Agora, vamos baixar a imagem do Kali Linux, iniciar o contêiner e acessar seu terminal. Todas as operações serão realizadas no diretório padrão /home/labex/project. Siga estas etapas cuidadosamente.

  1. Abra um terminal no ambiente da VM do LabEx. Você pode fazer isso clicando no ícone do terminal na área de trabalho Xfce ou usando o terminal fornecido na interface do LabEx.

  2. Confirme se você está no diretório de trabalho padrão executando este comando:

    pwd
    

    A saída deve ser:

    /home/labex/project
    

    Se você não estiver em /home/labex/project, navegue até ele com:

    cd /home/labex/project
    
  3. Baixe a imagem oficial do Kali Linux do Docker Hub. Execute o seguinte comando:

    Nota para usuários do nível gratuito: Ignore o comando a seguir se você estiver usando o nível gratuito, pois a VM não consegue acessar o Docker Hub. A imagem do Kali já foi baixada no script de configuração.

    docker pull kalilinux/kali-rolling
    

    Este comando baixará a versão mais recente da imagem do Kali Linux. Você verá o progresso do download exibido no terminal.

    Imagem mostrando o progresso do Docker pull

  4. Verifique se a imagem do Kali Linux foi baixada com sucesso. Execute:

    docker images
    

    Você deve ver uma saída semelhante a:

    REPOSITORY              TAG       IMAGE ID       CREATED        SIZE
    kalilinux/kali-rolling latest    xxxxxxxx       X days ago     XXXMB
    
  5. Agora, inicie um novo contêiner a partir da imagem do Kali Linux. Execute este comando para iniciar o contêiner em segundo plano:

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

    Vamos detalhar este comando:

    • docker run: Cria e inicia um novo contêiner.
    • -d: Executa o contêiner em modo desanexado (em segundo plano).
    • --name kali-container: Nomeia o contêiner para facilitar a referência.
    • -it: Combina -i (interativo) e -t (tty) para permitir a interação com o terminal do contêiner.
    • kalilinux/kali-rolling: Especifica a imagem a ser usada.
    • /bin/bash: Inicia um shell Bash dentro do contêiner.

    Após executar este comando, seu terminal retornará o ID do contêiner, indicando que ele está sendo executado em segundo plano.

    Verifique o status do contêiner com:

    docker ps
    

    Você deve ver o contêiner em execução com seu ID.

  6. Conecte-se ao contêiner em execução com:

    docker exec -it kali-container /bin/bash
    

    Agora você estará dentro do terminal do contêiner. Você permanecerá dentro do terminal do contêiner para todas as etapas subsequentes. Não saia do contêiner, a menos que seja instruído. Se você sair acidentalmente, poderá reconectar usando o mesmo comando acima.

    Imagem mostrando o acesso ao terminal do contêiner

Parabéns. Você baixou com sucesso a imagem Docker do Kali Linux, iniciou um contêiner e acessou seu terminal. Na próxima etapa, você verificará se o ambiente está configurado corretamente enquanto permanece dentro do contêiner.

Explorando o terminal do Kali Linux

Nesta etapa, você explorará a interface do terminal dentro do contêiner Docker do Kali Linux. O terminal é a principal forma de interagir com sistemas Linux, especialmente no Kali Linux, onde a maioria das ferramentas é baseada em linha de comando. Esta etapa ajudará você a se familiarizar com comandos básicos e o ambiente do contêiner.

Vamos revisar alguns conceitos importantes para iniciantes:

  • Terminal: Um terminal é uma interface baseada em texto para interagir com o sistema operacional. Ele permite executar comandos, gerenciar arquivos e definir configurações.
  • Shell Bash: Bash (Bourne Again Shell) é o interpretador de linha de comando padrão no Kali Linux. Ele processa os comandos que você digita.
  • Usuário Root: O usuário root tem acesso administrativo total no Linux. Dentro deste contêiner, você está logado como root, o que lhe dá controle total.

Como você já está dentro do contêiner do Kali Linux da etapa anterior, vamos começar a explorar o terminal com comandos básicos. Siga estas instruções cuidadosamente.

  1. Confirme sua localização atual dentro do contêiner executando:

    pwd
    

    A saída deve ser:

    /
    

    Isso mostra que você está no diretório raiz do sistema de arquivos dentro do contêiner.

  2. Liste o conteúdo do diretório atual para ver a estrutura do sistema de arquivos. Execute:

    ls
    

    Você deve ver uma saída semelhante a:

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

    Estes são diretórios padrão do Linux. Por exemplo, bin contém arquivos binários e etc contém arquivos de configuração.

  3. Verifique sua identidade de usuário executando:

    whoami
    

    A saída deve ser:

    root
    

    Isso confirma que você está operando como o usuário root dentro do contêiner.

    Saída do comando uname -a no Kali

  4. Permaneça dentro do terminal do contêiner para as próximas etapas. Não digite exit, pois isso o desconectará do contêiner. Se você sair acidentalmente, reconecte usando docker exec -it kali-container /bin/bash a partir do terminal host.

Parabéns. Você explorou a interface do terminal do contêiner Kali Linux com comandos básicos. Na próxima etapa, você atualizará o sistema para garantir que ele tenha os pacotes e patches de segurança mais recentes.

Revisando o gerenciamento de pacotes do Kali Linux

Nesta etapa, você revisará como o gerenciamento de pacotes do Kali Linux funciona dentro do contêiner Docker e verificará os comandos usados para atualizar o sistema e instalar ferramentas de segurança. É importante notar que a imagem Docker base do Kali Linux não vem com ferramentas de segurança pré-instaladas por padrão. Essa escolha de design mantém a imagem base pequena e permite que os usuários instalem apenas as ferramentas de que precisam.

Vamos abordar alguns conceitos importantes para iniciantes:

  • Gerenciador de Pacotes: Um gerenciador de pacotes lida com a instalação, atualização e remoção de pacotes de software. O Kali Linux, baseado em Debian, usa o apt (Advanced Package Tool) como seu gerenciador de pacotes.
  • apt update: Este comando atualiza o índice de pacotes local buscando as informações mais recentes dos repositórios online. Ele não instala nada; apenas atualiza a lista de pacotes disponíveis.
  • Coleções de Ferramentas do Kali Linux: O Kali Linux oferece diferentes metapacotes para instalar ferramentas:
    • Pacotes Individuais: Instale ferramentas específicas uma a uma (por exemplo, nmap, wireshark, metasploit-framework)
    • kali-linux-headless: Um conjunto mínimo de ferramentas adequado para sistemas sem interface gráfica, contendo as ferramentas de linha de comando mais comuns
    • kali-linux-large: Uma coleção abrangente que inclui a maioria das ferramentas de segurança do Kali Linux (~450 ferramentas)

Como você já está dentro do terminal do contêiner do Kali Linux da etapa anterior, vamos examinar os comandos usados para atualizar o sistema e instalar ferramentas. Siga estas instruções cuidadosamente.

  1. Verifique se o gerenciador de pacotes apt está disponível dentro do contêiner. Execute este comando:

    apt --version
    

    Você verá uma saída semelhante a:

    apt 2.x.x (amd64)
    

    Isso confirma que o gerenciador de pacotes padrão do Kali está instalado e pronto para uso quando o acesso à rede estiver disponível.

  2. Revise o comando usado para atualizar o índice de pacotes. Este é o comando que você executaria dentro do contêiner quando o acesso à internet estiver disponível:

    apt update
    

    Nota para usuários do nível gratuito: Não execute apt update na VM do nível gratuito. O contêiner não consegue acessar os espelhos de pacotes externos do Kali, então o comando atingirá o tempo limite. Você só precisa entender o que este comando faz para este laboratório.

    Quando o acesso à rede estiver disponível, você verá uma saída semelhante 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. Você tem várias opções para instalar ferramentas. Vamos entender cada abordagem:

    a. Instalar ferramentas individuais (se você precisar apenas de ferramentas específicas):

    apt -y install <package-name>
    

    Por exemplo: apt -y install nmap wireshark

    b. Instalar a coleção headless (para um conjunto mínimo de ferramentas comuns):

    ## VOCÊ NÃO PRECISA EXECUTAR ESTE COMANDO
    apt -y install kali-linux-headless
    

    Isso é bom para testes de segurança básicos e ao trabalhar com recursos limitados.

    c. Instalar a coleção large (para testes de segurança abrangentes):

    ## VOCÊ NÃO PRECISA EXECUTAR ESTE COMANDO
    apt -y install kali-linux-large
    

    Isso inclui a maioria das ferramentas de segurança, mas requer mais espaço em disco e tempo de instalação.

  4. Para este laboratório, revise o comando para instalar a coleção básica de ferramentas:

    apt -y install kali-linux-headless
    

    Nota para usuários do nível gratuito: Não execute este comando na VM do nível gratuito. Ele requer o download de pacotes dos espelhos do Kali, o que é bloqueado neste ambiente.

    O sinalizador -y confirma automaticamente quaisquer prompts, permitindo que a instalação prossiga sem interrupção. A saída será semelhante 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> ...
    

    Quando o acesso à internet estiver disponível, este processo leva algum tempo porque baixa e instala muitos pacotes. O metapacote kali-linux-headless fornece um conjunto prático de ferramentas de teste de segurança de linha de comando para o Kali Linux.

    Se você estiver usando um ambiente pago com acesso à internet, pode executar o comando e aguardar a conclusão. Na VM do nível gratuito, prossiga após revisá-lo.

  5. Permaneça dentro do terminal do contêiner para a próxima etapa. Não digite exit. Se você sair acidentalmente, reconecte com docker exec -it kali-container /bin/bash a partir do terminal host.

Parabéns. Você confirmou que o apt está disponível no contêiner Kali e revisou os comandos usados para atualizar o índice de pacotes e instalar coleções comuns de ferramentas do Kali. Na próxima etapa, você verificará a versão e as informações do sistema do Kali Linux.

Verificando a versão e as informações do sistema do Kali Linux

Nesta etapa, você verificará a versão do Kali Linux e coletará informações básicas do sistema dentro do contêiner Docker. Conhecer a versão e os detalhes do sistema ajuda na solução de problemas e garante a compatibilidade com as ferramentas de segurança.

Vamos explicar alguns conceitos importantes para iniciantes:

  • Informações de Versão: A versão do Kali Linux indica a versão ou compilação que você está usando. O Kali segue um modelo de lançamento contínuo (rolling release), o que significa que recebe atualizações constantes em vez de lançamentos de versão fixos.
  • Informações do Sistema: Isso inclui detalhes sobre o kernel (o núcleo do SO), a arquitetura do hardware e outros dados do sistema. Comandos e arquivos do sistema fornecem essas informações para revisão.
  • Saída de Comando: Os comandos do Linux geralmente exibem informações detalhadas no terminal. Aprender a interpretar essa saída é útil para entender seu sistema.

Como você já está dentro do terminal do contêiner do Kali Linux da etapa anterior, vamos prosseguir com a verificação da versão e das informações do sistema. Siga estas instruções cuidadosamente.

  1. Verifique a versão do Kali Linux visualizando o conteúdo do arquivo /etc/os-release. Execute este comando:

    cat /etc/os-release
    

    Você deve ver uma saída semelhante 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"
    

    Isso mostra detalhes como a versão (por exemplo, 2023.3) e o codinome (kali-rolling). A versão exata pode variar com base na atualização da imagem.

  2. Obtenha informações sobre o kernel e a arquitetura do sistema. Execute este comando:

    uname -a
    

    A saída será semelhante a:

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

    Isso exibe a versão do kernel (por exemplo, 5.10.0) e a arquitetura (por exemplo, x86_64 para 64 bits). Os detalhes exatos podem diferir.

  3. Verifique o nome do host (hostname) do contêiner. Execute este comando:

    hostname
    

    A saída será um identificador exclusivo, como:

    xxxxxxxxxxxx
    

    Este é o hostname do contêiner, gerado automaticamente pelo Docker e exclusivo para cada instância.

  4. Permaneça dentro do terminal do contêiner se desejar explorar mais. Se precisar retornar ao terminal da VM do LabEx, digite exit. Você sempre pode reconectar mais tarde com docker exec -it kali-container /bin/bash.

Parabéns. Você verificou a versão do Kali Linux e as informações do sistema usando comandos simples. Isso conclui a configuração básica e a exploração de um ambiente Kali Linux em um contêiner Docker.

Resumo

Neste laboratório, você aprendeu como configurar e gerenciar um ambiente Kali Linux usando Docker na VM do LabEx. Você começou baixando e iniciando um contêiner Docker do Kali Linux, acessando seu terminal e verificando a configuração. Em seguida, explorou a interface do terminal com comandos básicos para entender o ambiente. Você também revisou como o Kali usa o apt para gerenciamento de pacotes e aprendeu que ambientes de nível gratuito não conseguem acessar espelhos de pacotes externos, portanto, as atualizações e instalações de pacotes devem ser tratadas como comandos de referência neste laboratório. Finalmente, você verificou a versão do Kali Linux e as informações do sistema para confirmar a configuração. Essas etapas forneceram uma compreensão fundamental de como trabalhar com o Kali Linux em uma configuração conteinerizada para tarefas de cibersegurança.