Syhunt Dynamic: Varredura Autenticada

As informações contidas neste documento se aplicam a versão 6.9.28 do Syhunt Dynamic.

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.

  1. Verifique se você está pronto:
    1. Verifique se você inseriu sua chave de API OpenAI em AI Preferences.
    2. Certifique-se de ter instalado as dependências necessárias que estendem os recursos de script do Syhunt.
  2. Digite as credenciais do formulário:
    1. Clique no ícone de marcador roxo na barra de ferramentas do Launcher e adicione um URL de destino à lista de destinos dinâmicos.
    2. 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.
    3. Selecione a opção AI Powered.
    4. Insira o nome de usuário e a senha na área de Autenticação de formulário da aba Autenticação.
    5. 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
    6. Clique em OK para salvar as preferências. A janela Preferências do Site se fechará.
  3. Teste a autenticação baseada em IA:
    1. 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.
    2. 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.
    3. 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.
    4. 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

  1. Certifique-se de ter instalado as dependências necessárias que estendem os recursos de script do Syhunt.
  2. Digite as credenciais do formulário
    1. Clique no ícone de marcador roxo na barra de ferramentas do Launcher e adicione um URL de destino à lista de destinos dinâmicos.
    2. 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.
    3. Selecione a opção Selenium Script.
    4. Insira o nome de usuário e a senha na área de Autenticação de formulário da aba Autenticação.
  3. Digite um script Selenium na aba Selenium.
    1. Inicie seu script Python na parte que manipula e envia o formulário.
    2. Não chame driver.get() no início, não chame driver.quit() no final. O Syhunt cuidará disso automaticamente.
    3. 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@')
    4. Clique em OK para salvar as preferências. A janela Preferências do Site se fechará.
  4. Teste a autenticação do script Selenium:
    1. 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.
    2. 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.
    3. 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

  1. Siga até a tela de Varreduras Agendadas ( -> Scheduled Scans).
  2. 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)
  3. 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.

  1. Abra o Syhunt Hybrid e clique no ícone do Sandcat Browser ou no botão New Tab (Nova Aba) na tela inicial.

  2. Navegue até o website que você deseja analisar - digite o URL alvo na barra de endereço e pressione Enter.
  3. Siga até a área de Login e autentique utilizando suas credenciais.
  4. 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:

  1. Abra o Syhunt Hybrid e clique no ícone de cadeado na tela inicial.

  2. 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

  1. Clique no ícone de marcador roxo na barra de ferramentas do Launcher e adicione um URL de destino à lista de destinos dinâmicos.
  2. 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.
  3. Insira o nome de usuário e a senha na área Autenticação do formulário da aba Autenticação.
  4. Selecione a opção Autenticação padrão.
  5. 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:

  1. Siga até a tela de Preferências do Dynamic Preferences ( -> Preferences -> Dynamic Preferences).
  2. 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:

  1. Clique no ícone roxo de marcador na barra do Launcher.
  2. 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).
  3. Vá para a aba Exclusões (Exclusions).
  4. Clique no botão Logout URLs e adicione o URL de logout personalizado. Por exemplo:

/getmeout.php

  1. Clique em OK para confirmar as preferências. A caixa de diálogo de entrada fechará.
  2. 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).

Contato