Pular para o conteúdo

Ferramenta de Brute Force (SSH, VNC, OpenVPN, RDP) – Crowbar

    Crowbar é uma ferramenta de brute force que pode ser usada durante testes de penetração. Também conhecida formalmente como Levye, foi desenvolvida para força bruta em alguns protocolos de uma maneira diferente se comparada ao thc-hydra e outras ferramentas populares.

    Por exemplo, enquanto a maioria das ferramentas de força bruta usam nome de usuário e senha para ataques de força bruta para SSH, o Crowbar usa chave(s) SSH. Isso permite que todas as chaves privadas que tenham sido obtidas durante os testes de penetração sejam usadas para atacar outros servidores SSH.

    Atualmente, o Crowbar suporta:

    • OpenVPN (-b openvpn);
    • Remote Desktop Protocol (RDP) com suporte NLA (-b rdp);
    • Autenticação de chave privada SSH (-b sshkey);
    • Autenticação de chave VNC (-b vpn).

    Instalação

    Instale todas as dependências:

    # apt-get -y install openvpn freerdp-x11 vncviewer
    

    Então receba a última versão do GitHub:

    # git clone https://github.com/galkan/crowbar
    

    Nota: O pacote do cliente RDP depende do seu sistema operacional:

    • Debian 7/8 & Kali 1/2 usa o pacote freerdp-x11;
    • Além disso, você pode tentar o xfreerdp;
    • Talvez seja necessário compilar e ajustar o freerdp de acordo com este link.

    Não se esqueça de editar o script para apontar para o novo binário!

    Uso

    -b: Serviço de destino. Crowbar suporta: openvpn, rdp, sshkey, vnckey

    -c: Senha estática para fazer login com

    -C: </path/to/file> para a lista de senhas

    -d: Execute um tcp port scan (nmap) na faixa de IP (-s / -S) antes de tentar a força bruta. Isso irá descobrir se a porta do alvo está aberta.

    -D: Habilitar o modo debug

    -h: Exibir o menu de ajuda

    -k: </path/to/file-or-folder> para arquivos de chaves (para SSH ou VNC)

    -l: </path/to/file> para armazenar o arquivo de log (o padrão é ./crowbar.log)

    -m: </path/to/file> para um arquivo de configuração OpenVPN

    -n: Thread count

    -o: </path/to/file> para armazenar a(s) tentativa(s) com sucesso (o padrão é ./crowbar.out)

    -p: Número da porta (se o serviço não estiver na porta padrão)

    -q: Ativar quiet mode (apenas mostrar logins bem sucedidos)

    -s: Endereço IP ou intervalo de destino (em notação CIDR)

    -S: </path/to/file> which is stores target IP addresses

    -t: Valor de timeout

    -u: Single username

    -U: </path/to/file> which stores the username list

    -v: Habilitar o modo verbose (mostra todas as tentativas)

    Se quiser ver todas as opções de uso, use: ./crowbar.py --help.


    ATENÇÃO: se você quiser usar o nome de usuário, incluindo DOMAIN, por favor, especifique o nome de usuário como mostrado abaixo. Barra invertida ( \ ) é o caractere de escape para Python. Então, você deve usar qualquer um dos dois formatos a seguir:

    # ./crowbar.py -b rdp -u DOMAIN\\gokhan alkan -c Aa123456 -s 10.68.35.150/32
    2015-03-28 11:03:39 RDP-SUCCESS : 10.68.35.150:3389 - "DOMAIN\gokhan alkan":Aa123456,
    

    ou

    # ./crowbar.py -b rdp -u gokhan alkan@ornek -c Aa123456 -s 10.68.35.150/32
    2015-03-28 11:04:00 RDP-SUCCESS : 10.68.35.150:3389 - "gokhan alkan@DOMAIN":Aa123456,
    

    Brute Forcing Remote Desktop Protocol (RDP)

    Abaixo estão alguns exemplos de ataque RDP usando Crowbar.

    RDP brute forcing com um único endereço IP usando apenas um nome de usuário e uma única senha:

    # ./crowbar.py -b rdp -s 192.168.2.182/32 -u admin -c Aa123456
    
    crowbar-01
    Figura 1: RDP brute forcing

    RDP brute force com um único endereço IP usando o arquivo de lista de nome de usuário e uma única senha:

    # ./crowbar.py -b rdp -s 192.168.2.211/32 -U /root/Desktop/userlist -c passw0rd
    
    crowbar-02
    Figura 2: RDP brute forcing

    RDP brute force com um único endereço IP e usando um único nome de usuário com uma lista de senhas:

    # ./crowbar.py -b rdp -s 192.168.2.250/32 -u localuser -C /root/Desktop/passlist
    
    crowbar-03
    Figura 3: RDP brute forcing

    RDP brute force em uma sub-rede usando uma lista de nome de usuário e uma lista de senhas no modo de descoberta (discovery):

    # ./crowbar.py -b rdp -s 192.168.2.0/24 -U /root/Desktop/userlist -C /root/Desktop/passlist -d
    
    crowbar-04
    Figura 4: RDP brute forcing

    Brute Forcing SSH Private Keys

    Abaixo estão alguns exemplos de uso do Crowbar.

    A tentativa de força bruta da chave SSH para um único endereço IP usando um único nome de usuário e uma única chave SSH privada:

    # ./crowbar.py -b sshkey -s 192.168.2.105/32 -u root -k /root/.ssh/id_rsa
    
    crowbar-05
    Figura 5: SSH key brute force

    A tentativa de força bruta da chave SSH para um único endereço IP usando um único nome de usuário e todas as chaves SSH em uma pasta:

    # ./crowbar.py -b sshkey -s 192.168.2.105/32 -u root -k /root/.ssh/
    
    crowbar-06
    Figura 6: SSH key brute force

    A tentativa de força bruta da chave SSH para uma sub-rede usando um único nome de usuário e todas as chaves SSH em uma pasta no modo de descoberta (discovery):

    # ./crowbar.py -b sshkey -s 192.168.2.0/24 -u root -k /root/.ssh/ -d
    
    crowbar-07
    Figura 7: SSH key brute force

    Brute Forcing VNC

    VNC força bruta com tentativa para um único endereço IP usando um arquivo de senha com número de porta especificado:

    # ./crowbar.py -b vnckey -s 192.168.2.105/32 -p 5902 -k /root/.vnc/passwd
    
    crowbar-08
    Figura 8: VNC brute force

    Brute Forcing OpenVPN

    Abaixo estão alguns exemplos de ataque a OpenVPN com o Crowbar.

    OpenVPN força bruta com um único endereço IP usando um arquivo de configuração, um arquivo de certificado, um único nome de usuário e uma única senha com número de porta especificado:

    # ./crowbar.py -b openvpn -s 198.7.62.204/32 -p 443 -m /root/Desktop/vpnbook.ovpn -k /root/Desktop/vpnbook_ca.crt -u vpnbook -c cr2hudaF
    
    crowbar-09
    Figura 9: OpenVPN brute force

    Logs e Output

    Uma vez que você executou o Crowbar, ele irá gerar 2 arquivos para log e resultados que estarão localizados em seu diretório atual. O nome do arquivo de log padrão é crowbar.log que armazena todas as tentativas de força bruta durante a execução. Se você não quiser usar o arquivo de log padrão, você deve usar -l log_path. O segundo arquivo é crowbar.out que armazena tentativas bem sucedidas durante a execução. Se você não quiser usar o arquivo de saída padrão, você deve usar -o output_path. Depois disso, você pode observar as operações do Crowbar.

    Vídeos com Demonstrações

    Vídeo 1

    Vídeo 2

    Vídeo 3

    Download

    Para efetuar o download, acesse a página do projeto no GitHub.

    EXTRA: Não deixe de conferir!

    .


    .

    Disclaimer: Todas as informações aqui contidas são para fins didáticos e não para causar danos e prejuízos para alguém, usem sempre o conhecimento aqui compartilhado com ética e responsabilidade. Não nos responsabilizamos pela utilização indevida do conteúdo aqui exposto. Leia mais no aviso legal em nosso site.

    .


    Deixe um comentário

    O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

    Esse site utiliza o Akismet para reduzir spam. Aprenda como seus dados de comentários são processados.