[CURSOS][bsummary]
[ANDROID][bleft]

Hydra 9.0 - Fast and Flexible Network Login Hacker


O número um dos maiores buracos de segurança são as senhas, como mostra todo estudo de segurança por senha. Esta ferramenta é um código de prova de conceito, para dar aos pesquisadores e consultores de segurança a possibilidade de mostrar como seria fácil obter acesso não autorizado de remoto para um sistema.

ESTA FERRAMENTA É APENAS PARA FINS LEGAIS!
Já existem várias ferramentas de hackers de login disponíveis, no entanto, nenhuma delas oferece suporte a mais de um protocolo para atacar ou oferecer suporte a conexões paralelizadas.
Foi testado para compilar de forma limpa em Linux, Windows / Cygwin, Solaris, FreeBSD / OpenBSD, QNX (Blackberry 10) e MacOS.

Atualmente, esta ferramenta suporta os seguintes protocolos: Asterisco, AFP, Cisco AAA, autenticação Cisco, Cisco habilitado, CVS, Firebird, FTP, HTTP-FORM-GET, HTTP-FORM-POST, HTTP-GET, HTTP-HEAD, HTTP-POST , HTTP-PROXY, HTTPS-FORM-GET, HTTPS-FORM-POST, HTTPS-GET, HTTPS-HEAD, HTTPS-POST, HTTP-proxy, ICQ, IMAP, IRC, LDAP, MEMCACHED, MONGODB, MS-SQL, MYSQL NCP, NNTP, Oracle Listener, SID Oracle, Oracle, PC-Anywhere, PCNFS, POP3, POSTGRES, RDP, Rexec, Rlogin, RTS, SAP / R3, SIP, SMB, SMTP, enum SMTP, SNMP v1 + v2 + v3, SOCKS5, SSH (v1 e v2), SSHKEY, Subversion, Teamspeak (TS2), Telnet, VMware-Auth, VNC e XMPP.
No entanto, o mecanismo do módulo para novos serviços é muito fácil, por isso não demorará muito até que mais serviços sejam suportados. 

ONDE OBTER
Você pode sempre encontrar a mais nova versão de lançamento / produção da hydra em sua página de projeto emhttps://github.com/vanhauser-thc/thc-hydra/releases Se você está interessado no estado de desenvolvimento atual, o desenvolvimento público O repositório está no Github: svn co https://github.com/vanhauser-thc/thc-hydra ou git clonehttps://github.com/vanhauser-thc/thc-hydra Use a versão de desenvolvimento por sua conta e risco. Ele contém novos recursos e novos bugs. As coisas podem não funcionar! 

COMO COMPILAR
Para configurar, compilar e instalar a hydra, basta digitar:



./configure
make
make install

Se você quer o módulo ssh, você tem que configurar libssh (não libssh2!) Em seu sistema, obtê-lo em http://www.libssh.org , para suporte a ssh v1 você também precisa adicionar a opção "-DWITH_SSH1 = On" na linha de comando do cmake. IMPORTANTE: Se você compilar no MacOS, então você deve fazer isso - não instale o libssh via brew! 
Se você usa Ubuntu / Debian, isso instalará bibliotecas suplementares necessárias para alguns módulos opcionais (note que alguns podem não estar disponíveis em sua distribuição):




apt-get install libssl-dev libssh-dev libidn11-dev libpcre3-dev \
                 libgtk2.0-dev libmysqlclient-dev libpq-dev libsvn-dev \
                 firebird-dev libmemcached-dev

Isso permite todos os módulos e recursos opcionais, com exceção do Oracle, SAP R / 3, NCP e o protocolo de arquivamento da Apple - que você precisará baixar e instalar nos sites do fornecedor. 
Para todas as outras derivadas do Linux e sistemas baseados em BSD, use o instalador do software do sistema e procure por bibliotecas com nomes semelhantes, como no comando acima. Em todos os outros casos, você precisa baixar todas as bibliotecas de origem e compilá-las manualmente. 

PLATAFORMAS SUPORTADAS
  • Todas as plataformas UNIX (Linux, * BSD, Solaris, etc.)
  • MacOS (basicamente um clone do BSD)
  • Windows com Cygwin (IPv4 e IPv6)
  • Sistemas móveis baseados em Linux, MacOS ou QNX (por exemplo, Android, iPhone, Blackberry 10, Zaurus, iPaq)

COMO USAR
Se você acabou de entrarhydra, você verá um breve resumo das opções importantes disponíveis. Digite./hydra -hpara ver todas asopções de linha de comando disponíveis
Note que nenhum arquivo de login / senha está incluído. Gere-os você mesmo. No entanto, uma lista de senhas padrão está presente, use "dpl4hydra.sh" para gerar uma lista. 
Para usuários Linux, uma GUI GTK está disponível, tente./xhydra
Para o uso da linha de comando, a sintaxe é a seguinte: Para atacar um alvo ou uma rede, você pode usar o novo estilo ": //": hydra [algumas opções de linha de comando] PROTOCOL: // TARGET: PORT / MODULE-OPTIONS O modo antigo também pode ser usado para estes e, além disso, se você quiser especificar seus alvos a partir de um arquivo de texto, você deve usar este:


hydra [some command line options] [-s PORT] TARGET PROTOCOL [MODULE-OPTIONS]
Através das opções de linha de comando você especifica quais logins tentar, quais senhas, se o SSL deve ser usado, quantas tarefas paralelas usar para atacar, etc. 
PROTOCOL é o protocolo que você deseja usar para atacar, por exemplo, ftp, smtp, http- get ou muitos outros estão disponíveis TARGET é o alvo que você deseja atacar MODULE-OPTIONS são valores opcionais que são especiais por módulo PROTOCOL 
PRIMEIRO - selecione o seu destino você tem três opções sobre como especificar o alvo que você deseja atacar:

  1. um único alvo na linha de comando: basta colocar o endereço IP ou DNS em
  2. um intervalo de rede na linha de comando: especificação CIDR como "192.168.0.0/24"
  3. uma lista de hosts em um arquivo de texto: uma linha por entrada (veja abaixo)
SEGUNDO - selecione seu protocolo Tente evitar o telnet, pois não é confiável detectar uma tentativa de login correta ou falsa. Use um scanner de porta para ver quais protocolos estão habilitados no destino. 
TERCEIRO - verificar se o módulo possui parâmetros opcionais hydra -U PROTOCOL por ex. Hydra -U smtp 
FOURTH - a porta de destino é opcional! se nenhuma porta for fornecida, a porta comum padrão para o PROTOCOL é usada. Se você especificar SSL para usar (opção "-S"), a porta comum SSL será usada por padrão. 
Se você usar a notação ": //", deverá usar os colchetes "[" "]" se quiser fornecer endereços IPv6 ou notações CIDR ("192.168.0.0/24") para atacar: hydra [algumas opções de linha de comando] ftp : // [192.168.0.
Note que tudo que a hidra faz é apenas IPv4! Se você quiser atacar endereços IPv6, deverá adicionar a opção de linha de comando "-6". Todos os ataques são apenas IPv6! 
Se você quiser fornecer seus alvos através de um arquivo de texto, você não pode usar a notação: // mas usar o estilo antigo e apenas fornecer o protocolo (e as opções do módulo): hydra [algumas opções de linha de comando] -M targets.txt ftp Você também pode fornecer a porta para cada entrada de destino adicionando ":" após uma entrada de destino no arquivo, por exemplo:

foo.bar.com
target.com:21
unusual.port.com:2121
default.used.here.com
127.0.0.1
127.0.0.1:2121
Note que se você deseja anexar alvos IPv6, você deve fornecer a opção -6 e deve colocar os endereços IPv6 entre colchetes no arquivo como este (!):
foo.bar.com
target.com:21
[fe80::1%eth0]
[2001::1]
[2002::2]:8080
[2a01:24a:133:0:00:123:ff:1a]

LOGIN E SENHAS
Você tem muitas opções sobre como atacar com logins e senhas. Com -l para login e -p para senha, você diz à hydra que este é o único login e / ou senha para tentar. Com -L para logins e -P para senhas, você fornece arquivos de texto com entradas. por exemplo:

hydra -l admin -p password ftp://localhost/
hydra -L default_logins.txt -p test ftp://localhost/
hydra -l admin -P common_passwords.txt ftp://localhost/
hydra -L logins.txt -P passwords.txt ftp://localhost/
Além disso, você pode tentar senhas com base no login através da opção "-e". A opção "-e" possui três parâmetros:
s - try the login as password
n - try an empty password
r - reverse the login and try it as password
Se você quiser, por exemplo, tentar "tentar login como senha e" senha vazia ", você especifica" -e sn "na linha de comando. 
Mas há mais dois modos para tentar senhas do que -p / -P: Você pode usar texto arquivo que, onde um par de login e senha é separado por dois pontos, por exemplo:

admin:password
test:test
foo:bar
Essa é uma listagem de estilo de conta padrão comum, que também é gerada pelo gerador de arquivos de conta padrão dpl4hydra.sh fornecido com a hydra. Você usa um arquivo de texto com a opção -C - note que nesse modo você não pode usar as opções -l / -L / -p / -P (-e nsr, por mais que você possa). Exemplo:
hydra -C default_accounts.txt ftp://localhost/
E finalmente, há um modo bruteforce com a opção -x (que você não pode usar com -p / -P / -C):
-x minimum_length:maximum_length:charset
a definição de charset é apara letras minúsculas, Apara letras maiúsculas, 1para números e para qualquer outra coisa que você forneça é sua representação real. Exemplos:
-x 1:3:a generate passwords from length 1 to 3 with all lowercase letters
-x 2:5:/ generate passwords from length 2 to 5 containing only slashes
-x 5:8:A1 generate passwords from length 5 to 8 with uppercase and numbers
Exemplo:
hydra -l ftp -x 3:3:a ftp://localhost/

OPÇÕES ESPECIAIS PARA MÓDULOS
Via o terceiro parâmetro de linha de comando (TARGET SERVICE OPTIONAL) ou a opção de linha de comando -m, você pode passar uma opção para um módulo. Muitos módulos usam isso, alguns exigem isso! 
Para ver a opção especial de um módulo, digite:
hydra -U
eg
./hydra -U http-post-form
As opções especiais podem ser passadas através do parâmetro -m, como a opção da terceira linha de comando ou no serviço: // target / formato da opção. 
Exemplos (todos são iguais):

./hydra -l test -p test -m PLAIN 127.0.0.1 imap
./hydra -l test -p test 127.0.0.1 imap PLAIN
./hydra -l test -p test imap://127.0.0.1/PLAIN

RESTAURANDO UMA SESSÃO ABORTADA / DESPEDIDA
Quando a hydra é abortada com o Control-C, morta ou travada, ela deixa um arquivo "hydra.restore" atrás do qual contém todas as informações necessárias para restaurar a sessão. Este arquivo de sessão é gravado a cada 5 minutos. OBSERVAÇÃO: o arquivo hydra.restore NÃO pode ser copiado para uma plataforma diferente (por exemplo, de little endian para big endian ou de Solaris para AIX)

COMO DIGITALIZAR / CRACK SOBRE UM PROXY
A variável de ambiente HYDRA_PROXY_HTTP define o proxy da Web (isso funciona para os serviços http!). A seguinte sintaxe é válida:

HYDRA_PROXY_HTTP="http://123.45.67.89:8080/"
HYDRA_PROXY_HTTP="http://login:[email protected]:8080/"
HYDRA_PROXY_HTTP="proxylist.txt"
O último exemplo é um arquivo de texto contendo até 64 proxies (na mesma definição de formato que os outros exemplos). 
Para todos os outros serviços, use a variável HYDRA_PROXY para digitalizar / crackear. Ele usa a mesma sintaxe. por exemplo:

HYDRA_PROXY=[connect|socks4|socks5]://[login:[email protected]]proxy_addr:proxy_port
por exemplo:
HYDRA_PROXY=connect://proxy.anonymizer.com:8000
HYDRA_PROXY=socks4://auth:[email protected]:1080
HYDRA_PROXY=socksproxylist.txt

DICAS ADICIONAIS

  • classifique seus arquivos de senha por probabilidade e use a opção -u para encontrar senhas muito mais rápido!
  • uniq seus arquivos de dicionário! isso pode economizar muito tempo :-) cat words.txt | ordenar | uniq> dictionary.txt
  • Se você souber que o alvo está usando uma política de senha (permitindo que os usuários escolham apenas uma senha com um comprimento mínimo de 6, contendo pelo menos uma letra e um número etc., use a ferramenta pw-inspector que acompanha o pacote hydra para reduzir a lista de senhas: cat dictionary.txt | pw-inspector -m 6 -c2 -n> passlist.txt

RESULTADOS DE SAÍDA
Os resultados são enviados para o stdio juntamente com as outras informações. Por meio da opção de linha de comando -o, os resultados também podem ser gravados em um arquivo. Usando -b, o formato da saída pode ser especificado. Atualmente, estes são suportados:

  • text - formato de texto simples
  • jsonv1 - Dados JSON usando a versão 1.x do esquema (definido abaixo).
  • json - Dados JSON usando a versão mais recente do esquema, atualmente há apenas a versão 1.
Se estiver usando saída JSON, o arquivo de resultados pode não ser um JSON válido se houver erros graves na inicialização do Hydra. 

Esquema JSON
Aqui está um exemplo da saída JSON. Notas sobre alguns dos campos:

  • errormessages- uma matriz de zero ou mais cadeias de caracteres que normalmente são impressas para stderr no final da execução da Hydra. O texto é muito livre.
  • success- indicação se o Hydra funcionou corretamente sem erros ( NÃO se senhas foram detectadas). Esse parâmetro é o valor JSON true ou falsedepende da conclusão.
  • quantityfound - Quantas combinações de nome de usuário + senha foram descobertas.
  • jsonoutputversion- Versão do esquema, 1.00, 1.01, 1.11, 2.00, 2.03, etc. O Hydra fará com que a segunda tupla da versão seja sempre dois dígitos para facilitar o processamento dos processadores downstream (em oposição a v1.1 vs v1.10) . As versões de nível menor são aditivas, portanto, 1.02 conterá mais campos que a versão 1.00 e será compatível com versões anteriores. A versão 2.x irá quebrar algo da saída da versão 1.x.
Exemplo da versão 1.00:
{
    "errormessages": [
        "[ERROR] Error Message of Something",
        "[ERROR] Another Message",
        "These are very free form"
    ],
    "generator": {
        "built": "2019-03-01 14:44:22",
        "commandline": "hydra -b jsonv1 -o results.json ... ...",
        "jsonoutputversion": "1.00",
        "server": "127.0.0.1",
        "service": "http-post-form",
        "software": "Hydra",
        "version": "v8.5"
    },
    "quantityfound": 2,
    "results": [
        {
            "host": "127.0.0.1",
            "login": "[email protected]",
            "password": "bill",
            "port": 9999,
            "service": "http-post-form"
        },
        {
            "host": "127.0.0.1",
            "login": "[email protected]",
            "password": "joe",
            "port": 9999,
            "service": "http-post-form"
        }
    ],
    "success": false
}

VELOCIDADE
através do recurso de paralelização, esta ferramenta cracker de senha pode ser muito rápida, no entanto, depende do protocolo. Os mais rápidos são geralmente POP3 e FTP. Experimente a opção de tarefa (-t) para acelerar as coisas! Quanto maior - mais rápido ;-) (mas muito alto - e desativa o serviço)

ESTATÍSTICAS
Executa contra um SuSE Linux 7.2 no host local com um "-C FILE" contendo 295 entradas (294 tentativas de logins inválidos, 1 válido). Cada teste foi executado três vezes (somente para "1 tarefa" apenas uma vez) e a média anotada.

   P A R A L L E L    T A S K S
SERVICE 1 4 8 16 32 50 64 100 128
------- --------------------------------------------------------------------
telnet 23:20 5:58 2:58 1:34 1:05 0:33 0:45* 0:25* 0:55*
ftp 45:54 11:51 5:54 3:06 1:25 0:58 0:46 0:29 0:32
pop3 92:10 27:16 13:56 6:42 2:55 1:57 1:24 1:14 0:50
imap 31:05 7:41 3:51 1:58 1:01 0:39 0:32 0:25 0:21
(*) Nota: os tempos de telnet podem ser muito diferentes para 64 a 128 tarefas! por exemplo, com 128 tarefas, a execução quatro vezes resultou em tempos entre 28 e 97 segundos! A razão para isso é desconhecida ... 
estimativas por tarefa (arredondadas para cima): 
295 74 38 19 10 6 5 3 3 
estimativas possíveis por conexão (depende do software do servidor e da configuração): 
telnet 4 ftp 6 pop3 1 imap 3



0 comentários via Blogger
comentários via Facebook

Nenhum comentário :