Teste o WordPress Logins com Hydra no Kali Linux

Teste o WordPress Logins com Hydra no Kali Linux

Introdução

Existem formulários na web em toda a Internet. Mesmo sites que geralmente não permitem que usuários regulares façam login provavelmente tenham uma área de administração. É importante ao executar e implantar um site para garantir que as senhas gatando acesso a controles sensíveis e painéis de administração sejam o mais seguros possível.

Existem diferentes maneiras de atacar um aplicativo da web, mas este guia vai cobrir o uso do Hydra para realizar um ataque de força bruta em um formulário. A plataforma de destino de escolha é o WordPress. É facilmente a plataforma CMS mais popular do mundo, e também é notória por ser mal gerenciado.

Lembrar, Este guia tem como objetivo ajudá -lo a proteger seu WordPress ou outro site. Use em um site que você não possui ou tenha permissão por escrito para testar é ilegal.

Sendo configurado

Antes de fazer qualquer coisa, você precisará de um site do WordPress para segmentar. Este guia também assume que você está hospedando o site WordPress em sua própria máquina. Se você precisar de ajuda para configurar a lâmpada em sua máquina, consulte nossa lâmpada Debian e guias de lâmpada do Ubuntu.

Você pode fazer isso em uma instalação regular do Linux ou em uma instalação Kali Linux. Se você estiver usando Kali, siga a lâmpada do Debian do guia de origem. Apenas certifique -se de ter Hydra e Curl instalado no sistema que você escolher. Eles estão disponíveis na maioria dos repositórios.

Se você realmente não deseja usar sua instalação regular, definitivamente pode usar outra máquina, basta subar no IP do alvo para localhost e garantir que a máquina alvo esteja acessível a partir da atacante.



Juntando informações

Depois de ter o WordPress em funcionamento, é hora de encontrar o máximo de informações possível sobre a instalação que você estará segmentando. Isso significa descobrir como o formulário de login é construído, o que acontece quando você o envia e, possivelmente, para onde vai se o login for bem -sucedido.

Fonte HTML

Comece navegando para a página de login. Você pode encontrá -lo em localhost/wp-login.php. Use a capacidade do seu navegador de inspecionar o código -fonte. Você pode apenas clicar com o botão direito do mou.“De qualquer maneira, você pode ver a fonte, ela será exibida de maneiras diferentes.

Procure em direção ao meio do código. Você está procurando as tags. Esse é o formulário de login real. Dentro dessa forma, há algumas informações que você precisa.

Antes de coletar as informações, verifique se o formulário envia uma solicitação de get ou postagem. Na primeira linha do formulário, deve haver uma opção de método que se pareça com a seguinte: Método = "Post". No caso do WordPress, é um post.

Primeiro, encontre a entrada do nome de usuário. Deve parecer a linha abaixo.

 

A parte que você precisa é o nome. Nesse caso, é registro.

Em seguida, encontre a entrada de senha. Deve parecer semelhante.

 

Novamente, encontre o nome qual é PWD.

Você também precisa identificar o botão Enviar para que a Hydra possa enviar o formulário.

 

É importante registrar os dois nome e a valor.

Há uma última peça. Se você não percebe, existem dois campos ocultos na parte inferior do formulário. Um diz ao WordPress para redirecionar quando o formulário é enviado e o outro é um cookie que o WordPress procurará quando o formulário for submetido. Você precisa do biscoito.

 

Novamente, anote o nome e valor.



ondulação

Embora houvesse muita informação a ser obtida olhando a fonte HTML, há mais algumas coisas que você precisa saber antes de liberar Hydra. Na maioria dos casos, porém, você poderá executar o teste apenas com as informações que você reuniu. Você simplesmente tentaria fazer login com credenciais incorretas, gravar a mensagem de erro e usar essa mensagem como uma condição de teste falhada em Hydra.

No entanto, o WordPress é projetado de maneira diferente, e não há realmente uma boa maneira de testar com tentativas fracassadas de fazer login. Por causa disso, você precisa testar um login bem -sucedido. Como você pode manter seu próprio WordPress instalar e fazer login nele, isso não faria diferença se você estivesse testando um sistema para um cliente. A condição que você encontra localmente deve ser universal para o WordPress.

Há outra ruga aqui também. Você se lembra do campo de redirecionamento oculto na forma? Bem, esse redirecionamento impede que você use uma condição como a presença da palavra "painel" para testar o sucesso também. Você terá que dar uma olhada no próprio pedido e, para isso, há um cacho.

Para comparar, você precisa primeiro ver a página de login original com o CURL.

$ curl -v http: // localhost/wp -login.php 

A maioria das informações é a mesma que o código -fonte que você olhou no navegador. No topo, porém, há informações sobre a solicitação HTTP. Tome nota desta informação. Você precisará compará -lo com um login de sucesso.

A próxima coisa que você precisa fazer é fazer login com sucesso com Curl. Para fazer isso, você precisará desse cookie do pedido anterior. Dê uma olhada nos dados HTTP e localize uma linha que se parece com a abaixo.

< Set-Cookie: wordpress_test_cookie=WP+Cookie+check; path=/

Você vai precisar do wordpress_test_cookie = wp+cookie+verificação papel.

Tudo bem, agora você precisará das informações que você reuniu no HTML junto com esse cookie para fazer o pedido. Isso é assim que deve ser.

Curl -v--Data 'log = nome de usuário e PWD = RealPassword & wp-submit = log+in & testcookie = 1'--cookie 'wordpress_test_cookie = wp+cookie+verifique' http: // localhost/wp-login.php 

Então, você tem o mesmo pedido básico de antes, mas desta vez, você está usando o --dados bandeira e o --biscoito sinalize para passar a curl que formam os dados com os quais você deseja interagir e esse cookie, para que o formulário seja realmente enviado.

Essa sequência de dados, log = nome de usuário e pwd = realpassword & wp-submit = log+in & testcookie = 1 corresponde diretamente às informações que você reuniu do HTML. Está dizendo para conectar o valor "nome de usuário" à entrada chamada registro e o valor "Realpassword" na entrada chamada PWD. Certifique -se de usar o nome de usuário e a senha reais para fazer login. Em seguida, use o envio com o nome Submit WP e um valor de Conecte-se Para enviar os dados. No final está testcookie com um valor de 1. Isso está apenas dizendo a Curl para afirmar que, juntamente com o restante dos dados do formulário.

Quando Curl concluir a solicitação, você realmente não verá HTML, apenas muitas informações de solicitação. Lembre -se de que o redirecionamento que fez testar com "painel" não funcionou como uma condição de teste? Bem, agora o próprio redirecionamento será a condição de teste. Dê uma olhada na linha abaixo.

< Location: http://localhost/wp-admin/

Essa linha não estava no pedido anterior. Ele também não contém nenhuma informação específica relacionada a esse usuário ou login. Isso significa que vai sempre estar presente durante um login bem -sucedido do WordPress, tornando -o a condição de sucesso perfeita para testar com.



Teste com Hydra

Finalmente, você tem tudo o que precisa para testar suas senhas com hidra. O objetivo deste guia não é tanto para cobrir a sintaxe do Hydra, mas vai quebrar o comando usado. Se você quiser aprender mais sobre Hydra, confira o guia SSH que entra em muito mais detalhes.

Na verdade, existe apenas um comando que você precisa para que a Hydra execute possíveis nomes de usuário e senhas para testar a segurança do seu site WordPress. A coisa mais fácil a fazer é dar uma olhada no comando e quebrá -lo.

$ hydra -l lists/usrname.txt -p listas/passe.txt localhost -v http-form-post '/wp-login.php: log =^user^& pwd =^pass^& wp-submit = login & testcookie = 1: s = localização ' 

Ok, então isso é obviamente muito para absorver de uma só vez. O -eu Flag diz a Hydra para usar uma lista de words de nomes de usuário em Lists/usrname.TXT. Da mesma forma, o -P Flag diz a Hydra para usar uma lista de palavras de senhas em Listas/passe.TXT. LocalHost diz a Hydra para segmentar localhost, e -V diz para registrar todos os testes na saída do console.

O restante do comando lida com a solicitação HTTP. HTTP-forma-post Ativa o módulo Hydra para lidar com formulários HTTP com um método de postagem. Lembre -se de antes que o formulário de login do WordPress esteja no rosto de um post de. A string a seguir contém todos os parâmetros que a Hydra usará. Você deve notar que é muito semelhante ao usado para fazer login através do Curl.

A string consiste em diferentes seções separadas por :. A primeira parte é o endereço exato que está sendo testado, /wp-login.php. A próxima parte é quase exatamente como a usada por Curl. Ele passa valores para o formulário e o envia, incluindo o cookie. Em vez de passar valores literais, a Hydra está realmente usando variáveis. Aviso em log =^usuário^ e pwd =^passa^. Essas são variáveis ​​separadas com o caráter de cenoura que retira os valores das listas do Word e as transmitem no pedido de cada teste que a Hydra executa.

A última peça da corda é a condição de teste. S significa que está testando o sucesso. Se você quisesse testar o fracasso, usaria F. Você define tão igual à palavra ou frase que ela está testando. Pense se quase gostar grep.

Quando você executa isso, você deve obter um resultado positivo, desde que o nome de usuário e a senha corretos estejam nas listas de palavras que você forneceu Hydra.

Pensamentos finais

Primeiro, parabéns por passar por tudo isso. Se você conseguiu, agora tem um método sólido para testar a força da senha das suas contas de usuário do WordPress.

Este guia foi adaptado para o WordPress, mas você pode seguir facilmente as mesmas etapas para testar outros formulários da Web. Se você executa um aplicativo da web com vários usuários, é definitivamente uma boa ideia fazer
Claro que eles estão usando senhas fortes. Isso pode ajudar a informar sua política de senha. Novamente, verifique se você está sempre apenas testando com permissão.

Tutoriais do Linux relacionados:

  • Lista das melhores ferramentas Kali Linux para testes de penetração e…
  • Como fazer bota dupla kali linux e windows 10
  • Ubuntu 20.04 WordPress com instalação do Apache
  • Ubuntu 20.04: WordPress com instalação nginx
  • OpenLITESPEED WordPress Instalação
  • Como instalar o Kali Linux no VMware
  • Use o WPScan para digitalizar o WordPress quanto a vulnerabilidades em Kali
  • Configuração do servidor Kali HTTP
  • Como quebrar a senha do ZIP no Kali Linux
  • Endurecendo Kali Linux