Syhunt Dynamic: Varredura Autenticada
As informações contidas neste documento se aplicam a versão 6.9.28 do Syhunt Dynamic.
Índice
Introdução
O Syhunt Dynamic suporta métodos de autenticação manuais e automatizados. No caso do método automatizado, O Syhunt Dynamic detecta automaticamente o formulário de login e autentica com as credenciais e métodos previamente configurados na tela de Site Preferences (Preferências do Site). O método automatizado atualmente suporta autenticação padrão, autenticação de formulário com tecnologia AI, autenticação com script Selenium, bem como autenticação Básica, Bearer, Digest, NTLM e direta via cookie.
No caso do método manual, a varredura é iniciada após realizar o login manualmente através do navegador Sandcat, incluído com o Syhunt Dynamic. O Syhunt Dynamic automaticamente monitora a sessão estabelecida para garantir que a sessão foi mantida do início ao fim da varredura. Todos os métodos disponíveis são descritos logo abaixo.
Como configurar e testar a autenticação baseada em IA
O inovador método de autenticação de formulário alimentado por IA do Syhunt elimina a necessidade de usar gravadores de login complicados para obter o login durante uma varredura. O método descobre automaticamente como fazer login com credenciais e, às vezes, algumas instruções do usuário, armazenando em cache um procedimento de login bem-sucedido para ser usado em futuras varreduras sob demanda ou agendadas. Abaixo você pode encontrar como habilitar, configurar e testar a autenticação baseada em IA.
- Verifique se você está pronto:
- Verifique se você inseriu sua chave de API OpenAI em AI Preferences.
- Certifique-se de ter instalado as dependências necessárias que estendem os recursos de script do Syhunt.
- Digite as credenciais do formulário:
- Clique no ícone de marcador roxo
na barra de ferramentas do Launcher e adicione um URL de destino à lista de destinos dinâmicos.
- Clique com o botão direito do mouse na URL que você acabou de adicionar e clique na opção de menu Editar preferências do site.
- Selecione a opção AI Powered.
- Insira o nome de usuário e a senha na área de Autenticação de formulário da aba Autenticação.
- Se você tiver campos de formulário adicionais para preencher, descreva-os com palavras no campo Instruções Estendidas para AI. Exemplo: Preencha o ID do cliente com 123456
- Clique em OK para salvar as preferências. A janela Preferências do Site se fechará.
- Clique no ícone de marcador roxo
- Teste a autenticação baseada em IA:
- Clique com o botão direito do mouse na URL que você acabou de configurar e clique na opção de menu AI-Powered Login -> Run Test.
- Se você vir a mensagem Login com sucesso com a captura de tela da página de login na parte inferior da tela, clique no botão Confirmar sucesso. Isso armazenará o método em cache, permitindo que ele seja usado automaticamente em verificações futuras.
- Se você pode ver que ele se conectou na captura de tela na parte inferior da tela, mas há uma etapa adicional necessária, como um formulário adicional a ser preenchido, clique no botão Adicionar nova etapa em vez do botão Confirmar sucesso, descreva-o com palavras (Exemplo: preencha Client ID com 123456) e clique no botão OK. Por fim, quando vir a captura de tela da página de login, clique no botão Confirmar sucesso.
- Se você vir uma mensagem de falha após várias tentativas, tente novamente.
Agora, quando um relatório de verificação for gerado, você verá a captura de tela da URL verificada após o login e uma indicação se a sessão autenticada foi mantida do início ao fim da verificação na parte superior do relatório.
Como configurar e testar autenticação via script Selenium
- Certifique-se de ter instalado as dependências necessárias que estendem os recursos de script do Syhunt.
- Digite as credenciais do formulário
- Clique no ícone de marcador roxo
na barra de ferramentas do Launcher e adicione um URL de destino à lista de destinos dinâmicos.
- Clique com o botão direito do mouse na URL que você acabou de adicionar e clique na opção de menu Editar preferências do site.
- Selecione a opção Selenium Script.
- Insira o nome de usuário e a senha na área de Autenticação de formulário da aba Autenticação.
- Clique no ícone de marcador roxo
- Digite um script Selenium na aba Selenium.
- Inicie seu script Python na parte que manipula e envia o formulário.
- Não chame driver.get() no início, não chame driver.quit() no final. O Syhunt cuidará disso automaticamente.
- Digite @user@ e @pass@ em uma variável de script para usar o nome de usuário preenchido na aba Autenticação. Exemplos: username_field.send_keys('@user@') e password_field.send_keys('@pass@')
- Clique em OK para salvar as preferências. A janela Preferências do Site se fechará.
- Teste a autenticação do script Selenium:
- Clique com o botão direito do mouse na URL que você acabou de configurar e clique na opção de menu Selenium Script Login -> Run Test.
- Se você vir a mensagem Login com sucesso com a captura de tela da página de login na parte inferior da tela, ela está pronta para ser usada automaticamente em verificações futuras.
- Se você vir uma mensagem de falha após várias tentativas, ajuste seu script Selenium.
Agora, quando um relatório de verificação for gerado, você verá a captura de tela da URL verificada após o login e uma indicação se a sessão autenticada foi mantida do início ao fim da verificação na parte superior do relatório.
Como realizar varredura agendada com autenticação
- Siga até a tela de Varreduras Agendadas (
-> Scheduled Scans).
- Clique com o botão direito em cima de uma varredura dinâmica agendada e clique na opção Edit Assigned Target Preferences... (Editar Preferências do Alvo Atribuído)
- Siga até a aba Authentication (Autenticação) e configure as credenciais e o método de autenticação.
Como realizar varredura autenticada via CLI
Neste caso, há dois métodos: a) passando as credenciais através do comando ScanURL, ou b) deixando as credenciais pré-configuradas através do comando scancore. O segundo método é considerado mais seguro, pois a senha não fica exposta durante a execução do comando ScanURL. Exemplos:
-- Método A - Indicando autenticação via formulário ao disparar varredura
-- Neste caso as credenciais não ficam armazenadas de forma permanente nas configurações do Dynamic.
scanurl http://127.0.0.1 -atype:Form -auser:usuario -apass:senha
-- Método B - Configurando autenticação Básica para um site específico
-- Neste caso as credenciais ficam armazenadas nas configurações do Dynamic e são re-utilizadas em todas as varreduras contra o alvo indicado.
scancore -tg:http://127.0.0.1 -prefset:dynamic.servauth.type -v:Form
-- Os métodos disponiveis de autenticação via formulário são: None, Standard, AI or Selenium. None disables the form authentication.
scancore -tg:http://127.0.0.1 -prefset:dynamic.formauth.type -v:Standard
scancore -tg:http://127.0.0.1 -prefset:dynamic.servauth.username -v:myuser
scancore -tg:http://127.0.0.1 -prefset:dynamic.servauth.password -vsecret -vstring
scanurl http://127.0.0.1
-- Método B - Configurando um cookie a partir de um arquivo
scancore -tg:http://127.0.0.1 -prefset:dynamic.lists.cookies -fromfile:caminho/mycookies.lst
scanurl http://127.0.0.1
Como realizar varredura autenticada manual
É possível iniciar a varredura a partir do navegador Sandcat após realizar um login em um site.
- Abra o Syhunt Hybrid e clique no ícone do Sandcat Browser ou no botão New Tab (Nova Aba) na tela inicial.
- Navegue até o website que você deseja analisar - digite o URL alvo na barra de endereço e pressione Enter.
- Siga até a área de Login e autentique utilizando suas credenciais.
- Clique na opção de menu Scan This Site para iniciar o scan.
Caso utilize o Syhunt versão 6.9.21 ou superior, o Syhunt indicará no relatório na parte de detalhes se a sessão iniciada manualmente foi mantida do início ao fim da varredura com a sinalização Authenticated Session Maintained: Yes.
Método alternativo: Como realizar varredura autenticada via navegador externo
Nota: este método não funciona com a última versão dos navegadores e em breve será revisado. De maneira alternativa, você pode realizar o login manual a partir de um navegador externo como o Google Chrome ou Mozilla Firefox:
- Abra o Syhunt Hybrid e clique no ícone de cadeado na tela inicial.
- Siga as instruções que aparecem na parte inferior da tela do Syhunt.
Caso utilize o Syhunt versão 6.9.21 ou superior, o Syhunt indicará no relatório na parte de detalhes se a sessão iniciada manualmente foi mantida do início ao fim da varredura com a sinalização Authenticated Session Maintained: Yes.
Como configurar a varredura autenticado automatizada padrão
- Clique no ícone de marcador roxo
na barra de ferramentas do Launcher e adicione um URL de destino à lista de destinos dinâmicos.
- Clique com o botão direito do mouse na URL que você acabou de adicionar e clique na opção de menu Editar preferências do site.
- Insira o nome de usuário e a senha na área Autenticação do formulário da aba Autenticação.
- Selecione a opção Autenticação padrão.
- Clique em OK para salvar as preferências. A janela Preferências do Site fechará.
Extendendo o Preenchimento Automático na Autenticação
Observação: O procedimento abaixo foi projetado para o tipo de autenticação padrão clássico, e não para autenticação de script AI-Powered ou Selenium, que cuida do preenchimento de formulários usando diferentes formas e opções.
No caso de um formulário web com campos além de usuário e senha, ou que utilizam nomes de input que fogem do padrão, deve-se ensinar o Syhunt Dynamic a preencher tais campos, conforme o exemplo abaixo.
Exemplo de formulário com campos adicionais
<input name="ClientUTBox" id="ClientUTBox" type="hidden" value="1234">
<input name="ClientUNBox" id="ClientUNBox" type="text" class="InputBox"/>User Name
<input name="ClientPWBox" id="ClientPWBox" type="password" class="InputBox" >Password
O seguinte procedimento vai reprogramar o Syhunt para preencher os campos adicionais:
- Siga até a tela de Preferências do Dynamic Preferences (
-> Preferences -> Dynamic Preferences).
- Siga até a aba Emulation (Emulação), clique no botão Custom Values e adicione os seguintes valores:
ClientUTBox=1234
ClientUNBox=@syhunt_web_form_username
ClientPWBox=@syhunt_web_form_password
Os valores acima depois do sinal de igual começando com @ são variáveis internas. Elas garantem que as credenciais cadastradas na tela de Site Preferences sejam utilizada nos campos indicados. Feita a configuração acima, o Syhunt Dynamic estará pronto para realizar o login durante a varredura.
Impedindo logout acidental
O Syhunt Dynamic detecta automaticamente a maioria das páginas de logout, mas se a página de logout não corresponder a nomes padrão e padrões comuns, você deve adicionar o URL da página de logout às Preferências do site. Isto impedirá que o Syhunt Dynamic efetue logout acidentalmente durante uma varredura:
- Clique no ícone roxo de marcador
na barra do Launcher.
- Clique com o botão direito do mouse no URL alvo e clique na opção de menu Editar Preferências do Site (Edit Site Preferences).
- Vá para a aba Exclusões (Exclusions).
- Clique no botão Logout URLs e adicione o URL de logout personalizado. Por exemplo:
/getmeout.php
- Clique em OK para confirmar as preferências. A caixa de diálogo de entrada fechará.
- Pressione OK para salvar as preferências.
Usando Certificados Digitais
O suporte para SSL no Syhunt Dynamic depende das bibliotecas OpenSSL, que já vem instaladas com o Syhunt, permitindo que você realize varreduras contra sites seguros que utilizam endereço https.
A tela de Site Preferences (Preferências do Site) permite que você configure certificados de cliente. Para visualizar esta tela, navegue até o site que você deseja testar com o navegador Sandcat, clique o botão do Dynamic -> Site Preferences e vá até a aba Certificates (Certificados).