<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Ricardo Martins &#187; hydra</title>
	<atom:link href="http://ricardomartins.com.br/tag/hydra/feed/" rel="self" type="application/rss+xml" />
	<link>http://ricardomartins.com.br</link>
	<description>Computação &#38; Tecnologia</description>
	<lastBuildDate>Sat, 24 Mar 2012 15:58:33 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.2</generator>
		<item>
		<title>Ataques brute force utilizando o Hydra</title>
		<link>http://ricardomartins.com.br/2009/04/10/ataques-brute-force-utilizando-o-hydra/</link>
		<comments>http://ricardomartins.com.br/2009/04/10/ataques-brute-force-utilizando-o-hydra/#comments</comments>
		<pubDate>Fri, 10 Apr 2009 17:51:57 +0000</pubDate>
		<dc:creator>Ricardo Martins</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Segurança]]></category>
		<category><![CDATA[hydra]]></category>

		<guid isPermaLink="false">http://ricardomartins.com.br/?p=844</guid>
		<description><![CDATA[Autor: Pedro Augusto de O. Pereira / http://augusto.pedro.googlepages.com/ Introdução Senhas são o ponto mais fraco em qualquer sistema de segurança. Isso acontece porque geralmente as senhas são definidas por seus usuários: pessoas que não tem idéia de como é fácil adivinhá-las e escolhem como senhas o nome da esposa/marido, o nome do cachorro, a data [...]]]></description>
			<content:encoded><![CDATA[<p>Autor: Pedro Augusto de O. Pereira / <a href="http://augusto.pedro.googlepages.com/" target="_blank">http://augusto.pedro.googlepages.com/</a></p>
<p><strong>Introdução</strong></p>
<p>Senhas são o ponto mais fraco em qualquer sistema de <a class="bbli" href="http://sledge.boo-box.com/list/page/c2VndXJhbiVFN2FfIyNfYmFyXyMjX3RhZ2dpbmctdG9vbC13cF8jI18xNTEyNzEz-64">segurança<img class="bbic" src="http://boo-box.com/bbli" alt="[bb]" /></a>. Isso acontece porque geralmente as senhas são definidas por seus usuários: pessoas que não tem idéia de como é fácil adivinhá-las e escolhem como senhas o nome da esposa/marido, o nome do <a class="bbli" href="http://sledge.boo-box.com/list/page/Y2FjaG9ycm9fIyNfYmFyXyMjX3RhZ2dpbmctdG9vbC13cF8jI18xNTEyNzEz-60">cachorro<img class="bbic" src="http://boo-box.com/bbli" alt="[bb]" /></a>, a data de <a class="bbli" href="http://sledge.boo-box.com/list/page/Y2FzYW1lbnRvXyMjX2Jhcl8jI190YWdnaW5nLXRvb2wtd3BfIyNfMTUxMjcxMw==-64">casamento<img class="bbic" src="http://boo-box.com/bbli" alt="[bb]" /></a>/nascimento, entre outros. Senhas que não usem caracteres especiais, números, letras maiúsculas e minúsculas, tenham uma quantidade grande de caracteres (com no mínimo 8 caracteres, por exemplo), correm o risco de serem quebradas por ataques de dicionário, também conhecidos como brute force.</p>
<p><span id="more-844"></span></p>
<p>Em ataques brute force, o atacante tenta adivinhar a senha por tentativa e erro testando várias combinações de usuários e senhas (disponíveis em listas que podem ser encontradas na Internet ou baseando suas tentativas em dados que conseguiu utilizando engenharia social ou por conhecer a vítima do ataque) para tentar logar em um determinado serviço no qual ele não tem autorização, obtendo um shell em um servidor por exemplo.</p>
<p>Efetuar este tipo de ataque é bem demorado e pode ser facilmente impedido por administradores que utilizem técnicas como limitar o número de tentativas erradas utilizando um determinado nome de usuário. Porém, existem várias ferramentas que fazem com que estes ataques sejam efetuados de modo mais eficiente.</p>
<p><strong>THC Hydra</strong><br />
A que eu mais gosto, é o <a href="http://www.thc.org/thc-hydra/" target="_blank">THC Hydra</a>, desenvolvido pelo Van Hauser do <a href="http://www.thc.org/" target="_blank">THC</a>.</p>
<p>O Hydra tem um desempenho muito bom (utiliza threads paralelas, dividindo as senhas e nomes de usuários entre estas threads diminuindo o tempo levado para ele conseguir adivinhar a senha) e consegue efetuar com sucesso ataques brute force nos protocolos TELNET, FTP, HTTP, HTTPS, HTTP-PROXY, SMB, SMBNT, MS-SQL, MYSQL, REXEC, RSH, RLOGIN, CVS, SNMP, SMTP-AUTH, SOCKS5, VNC, POP3, IMAP, NNTP, PCNFS, ICQ, SAP/R3, LDAP2, LDAP3, Postgres, Teamspeak, Cisco auth, Cisco enable, LDAP2, Cisco AAA. Além disso, está em constante desenvolvimento e é completamente gratuito com o código-fonte 100% disponível. Ele ainda possui uma interface gráfica, o HydraGTK. Ela é completamente independente do software e não precisa ser compilada para que você consiga utilizá-lo. Porém, sem ela você só poderá utilizá-lo através da linha de comando.</p>
<p>Você pode utilizar o Hydra em qualquer Unix como Linux, *BSD, Solaris, etc; Mac Os/X; no Windows utilizando o <a href="http://www.cygwin.com/" target="_blank">Cygwin</a>; em dispositivos móveis que utilizem processadores ARM e Linux e em dispositivos que utilizem o PalmOS.</p>
<p>Seguem os links para que você possa fazer o download:</p>
<ul>
<li>Para Unix: <a href="http://www.thc.org/releases/hydra-5.4-src.tar.gz" target="_blank">hydra-5.4-src.tar.gz</a></li>
<li>Para Windows/Cygwin: <a href="http://www.thc.org/thc-hydra/hydra-5.4-win.zip" target="_blank">hydra-5.4-win.zip</a></li>
<li>Binário para o ARM: <a href="http://www.thc.org/thc-hydra/hydra-5.0-arm.tar.gz" target="_blank">hydra-5.0-arm.tar.gz</a>. Esta versão está um pouco desatualizada, mas em breve será disponibilizada uma nova versão.</li>
<li>Binário para o Palm: <a href="http://www.thc.org/thc-hydra/hydra-4.6-palm.zip" target="_blank">hydra-4.6-palm.zip</a>. A versão para o Palm é desenvolvida de forma independente das outras, portanto nem todos os protocolos são suportados e os updates não são muito frequentes.</li>
</ul>
<p><!-- adman --></p>
<p><strong>Compilando e instalando</strong></p>
<p>Dependendo do pacote que você escolher, será necessário que você compile o software. Algumas releases como a disponível para Windows/Cygwin e ARM já contém tudo compilado e pronto para o uso, com todos os módulos (no port para o ARM você não poderá usar o módulo para SAP R/3).</p>
<p>Se você escolheu o pacote para Unix, você precisará instalar todas as bibliotecas necessárias para compilar os módulos corretamente. O serviço não é tão difícil, já que ao executar o <em>./configure</em>, já será mostrado um resumo dizendo as bibliotecas que faltam e onde encontrá-las. Seguem os passos necessários para compilar com sucesso o Hydra em qualquer *nix.</p>
<p>Faça o download do pacote hydra-5.4-src.tar.gz e descompacte:</p>
<p><code><br />
tar xzvf hydra-5.4-src.tar.gz<br />
</code><br />
Acesse o diretório que acabou de ser criado e:</p>
<p><code><br />
cd hydra-5.4-src<br />
./configure<br />
</code><br />
Quando você executa o configure, algumas bibliotecas que são necessárias para alguns módulos como SSHv2 e PostgreSQL (libssh e libpq, respectivamente) são checadas e se não estiverem instaladas no sistema você deverá instalá-las na mão. A boa notícia é que o script já informa o site de onde você pode fazer o download e a maioria dessas bibliotecas já vem com instruções de como compilar. Vale a pena lembrar que, se você não quiser utilizar os módulos que precisam das bibliotecas, pode continuar a compilação normalmente: os outros protocolos irão funcionar sem problemas.</p>
<p>Depois que o <em>./configure</em> terminar, só resta executar como root:</p>
<p><code><br />
make &amp;&amp; make install<br />
</code><br />
Pronto! O Hydra já está instalado e pronto para ser usado!</p>
<p><strong>Wordlists</strong></p>
<p>Wordlists são, como o nome diz, listas gigantescas de palavras ou nomes de usuários que são utilizadas em ataques bruteforce. O Hydra não vem com nenhuma wordlist e não funciona sem uma, então você precisa dar um jeito nisso. Vou colocar alguns links com wordlists para você começar a brincar com o Hydra:</p>
<ul>
<li><a href="http://www.outpost9.com/files/WordLists.html" target="_blank">http://www.outpost9.com/files/WordLists.html</a></li>
<li><a href="http://wordlist.sourceforge.net/" target="_blank">http://wordlist.sourceforge.net/</a></li>
<li><a href="http://www1.harenet.ne.jp/%7Ewaring/vocab/wordlists/vocfreq.html" target="_blank">http://www1.harenet.ne.jp/~waring/vocab/wordlists/vocfreq.html</a></li>
</ul>
<p>Depois que você baixar as listas, junte todas em um único arquivo. No Hydra, você só pode especificar um único arquivo de wordlists para ser utilizado. Você pode usar o <em>cat</em>. Por exemplo:</p>
<p><code><br />
cat <em>substitua isso por todos os arquivos de wordlists que você tem</em> &gt;&gt; wordlist2.txt<br />
</code><br />
É útil também remover entradas duplicadas da sua wordlist, para não perder tempo tentando mais de uma vez uma senha que já não deu certo:</p>
<p><code><br />
cat wordlist2.txt | sort | uniq &gt; wordlistfinal.txt<br />
</code><br />
Pronto, agora é só fazer o Hydra utilizar o arquivo wordlistfinal.txt como wordlist.</p>
<p><strong>Utilizando o Hydra</strong></p>
<p>O Hydra é bem fácil de ser utilizado. Você só precisa especificar o login (ou um arquivo com vários logins), a wordlist com senhas, o host e o protocolo. Se desejar pode fazer com que a saída do comando seja escrita em algum arquivo. Na linha a seguir, mostro o uso básico do Hydra:</p>
<p><code><br />
hydra -l root -P ~/wordlistfinal.txt -o bruteforce.txt ftp.foo.bar ftp<br />
</code><br />
A linha acima é bem simples. A opção -l diz que você quer fazer brute force em um usuário específico que você já sabe que existe (você poderia usar a opção -L para utilizar um arquivo com vários logins); a opção -P específica qual wordlist será usada para ler as senhas (você poderia usar -p se soubesse uma senha, mas não soubesse de qual usuário é); -o escreve a saída do comando no arquivo bruteforce.txt; ftp.foo.bar é o nome do host que iremos atacar e ftp é o protocolo que o Hydra deve usar.</p>
<p>Se você por algum motivo precisar interromper a sessão do Hydra, pode começar de onde parou utilizando a opção -R no mesmo diretório em que você interrompeu a execução anterior.</p>
<p>Outras opções úteis são:</p>
<ul>
<li>-s: Se o serviço estiver sendo executado em uma porta diferente, use esta opção para especificar a porta.</li>
<li>-t: Indica a quantidade de conexões paralelas no servidor</li>
<li>-M: Define uma lista de servidores a serem atacados</li>
</ul>
<p><strong>Como se proteger</strong></p>
<p>Se proteger de ataques brute force não é tão difícil assim:</p>
<ul>
<li>Forçar utilização de senhas seguras nos seus servidores. Senhas com caracteres especiais, letras maiúsculas e minúsculas, números e um comprimento de pelo menos 8 caracteres.</li>
<li>Determinar um número máximo de erros na tentativa de login.</li>
<li>Sempre monitore os log’s procurando por tentativas de login que falharam muitas vezes.</li>
<li>Onde puder, mude a porta padrão dos serviços sendo executados na sua máquina (por exemplo, se só você utilizar o SSH você pode mudar a porta dele de 22 para 45600, por exemplo. Isso diminui a incidência de ataques)</li>
<li>Onde possível, especifique o IP de origem que pode estabelecer a conexão com determinados serviços</li>
</ul>
<p>Como se vê, é bem simples melhorar a segurança de seus serviços. Isso é o mínimo necessário para não ter muita dor de cabeça com qualquer pessoa que saia usando o Hydra e seus similares por aí. Porém estas não são as únicas técnicas e também não excluem a necessidade de verificação contínua nos log’s e conexões estabelecidas no servidor procurando por atividades suspeitas.</p>
<p><strong>Conclusão</strong><br />
O Hydra é talvez a melhor ferramenta para ataques de brute force: tem um ótimo desempenho, é multiplataforma e várias opções úteis, além disso está em desenvolvimento constante e novas versões são lançadas frequentemente (não há um ciclo de release definido).</p>
<p>Vale a pena aprender a utilizar a ferramenta (o que não é difícil) e utilizá-la em seus servidores para identificar pontos-fracos antes que alguém faça isso por você</p>
<!-- boo-widget start -->
          <script type="text/javascript">
            bb_keywords = "hydra";
            bb_bid  = "1601823";
            bb_lang = "pt-BR";
            bb_name = "custom";bb_limit = "7";bb_format = "bbc";
          </script>
          <script type="text/javascript" src="http://widgets.boo-box.com/javascripts/embed.js"></script>
          <!-- boo-widget end -->]]></content:encoded>
			<wfw:commentRss>http://ricardomartins.com.br/2009/04/10/ataques-brute-force-utilizando-o-hydra/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
	</channel>
</rss>

