Syhunt Dynamic: Getting Started

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

How to perform a dynamic scan

While performing a standard, dynamic scan (also known as black box) the Syhunt scanner injects data in the web applications and subsequently analyzes the application response in order to determine if the application code is vulnerable to specific web application security attacks.

Main Supported Languages

ASP (Classic)
ASP.Net
Java / JSP
JavaScript
Lua
Perl
PHP
Python
Ruby

Follow along with this guide to learn how to perform a dynamic scan and generate a vulnerability report.

  1. Make sure you meet the pre-scan requirements and are properly authorized to perform the scan against the target.
  2. Launch Syhunt Hybrid and click the Syhunt Dynamic icon or New Scan button in the welcome page.

  3. Enter the URL of the website you want to scan.

  4. Select a scan method. We recommend the Application Scan (Default) method, which scans for all vulnerabilities using the recommended settings - the different methods are explained in the Hunt Methods document.
  5. Check edit site preferences.
  6. Click the Start Scan button. On the next screen, go to the Technologies tab and select the technologies used by the target website. You can also use this screen to change additional preferences associated with the website. Review the settings and then click OK to start the scan.

In the end of the scan, you can click Generate a Report to save the results as a HTML report or any other prefered format.

The next time you perform a scan (unless you want to change site preferences again) you can jump from the step 3 to 5.

How to perform manual login via browser

If you need to manually login first before you can scan a website, you may prefer to start the scan from within the Sandcat Browser.

  1. Launch Syhunt Hybrid and double-click the Sandcat Browser icon or New Tab button in the welcome page.

  2. Navigate to the website you want to scan - enter the target URL using the address bar and press Enter.
  3. Go to the Login area and login using your credentials.
  4. Click the Scan This Site menu option to start the scan.

Alternatively, you can manually login using an external browser like Google Chrome or Mozilla Firefox:

  1. Launch Syhunt Hybrid and click the lock button in the welcome page.

  2. Follow the instructions that will appear at the bottom of the Syhunt screen.

If you have Syhunt version 6.9.21 or superior, Syhunt will indicate in the session details area of the report if the session started manually was maintained from the beginning till the end of the scan with a Full Circle: Yes.

How to perform a dynamic scan via command-line

  1. Siga até o diretório onde o Syhunt Hybrid está instalado usando o prompt de comando.
  2. Use a seguinte linha de comando:

scanurl [urlinicial] -hm:[metodo]] -gr

 Exemplo:
 scanurl http://www.somehost.com -hm:appscan -gr

Os relatórios da ferramenta scanurl são gerados e salvos de forma automática quando o parâmetro -gr é fornecido. Você também pode abrir a sessão após o término da varredura através da interface gráfica do Syhunt, usando a opção Menu -> Past Sessions (Sessões Anteriores).

Os seguintes parâmetros podem ser fornecidos ao chamar a ferramenta scanurl, sendo todos eles opcionais:

ParâmetroDescriçãoValor Padrão
sn:[nome]Um nome de sessão que precisa ser único. Se omitido, um ID único será gerado e atribuido à varreduraID auto-gerado
hm:[nome]o método a ser usado durante a varredura. Se omitido, o método padrão será usadoappscan
emu:[modo]Modo de Emulação de Navegador. Modos disponíveis incluem: chrome, edge, firefox, msie, safarichrome
srcdir:[dir local]Confira uma pasta de código-fonte alvo para uma Análise Híbrida (ex. "C:\www\docs\" or "/home/user/www/") 
grGera um arquivo de relatório ao término de uma varredura 
gxGera um arquivo com dados exportados ao término de uma varredura 
orAbre um relatório após a varredura 
erEnvia o relatório por email imediamente após ele ter sido gerado 
etrk:[nomedotracker]Indica as preferências de email a serem usadas ao enviar o relatório por email 
esbj:[assunto]O assunto do email a ser usado ao enviar o relatório por emailSyhunt Hybrid Report
rout:[nomedoarquivo]Define o nome de saída para o relatório e seu formatoReport_[session name].html
rtpl:[nome]Define o modelo de relatórioStandard
xout:[nomedoarquivo]Define o nome de saída do export e seu formatoExport_[session name].xml
xout2:[nomedoarquivo]Define um segundo nome de saída de export e seu formatoExport_[session name].xml
pfcond:[condição]Define uma condição de aprovação/reprovação a ser relatado 
nvDesativa o modo verbose. Erro e informações básicas ainda são exibidas 
inc:[modo]Define o modo de varredura incrementaltargetpref
inctag:[nome]Opcionalmente guarda os dados incrementais associados à uma tag 
mnl:[n]Define o número máximo de links por servidor10000
mnr:[n]Define o número máximo de tentativas no caso de tempo esgotado em requisição HTTP2
mcd:[n]Define a profundidade máxima de mapeamento (crawling)0 (unlimited)
tmo:[ms]Define o tempo de timeout de uma conexão HTTP8000
ver:[v]Define a versão HTTP1.1
nofrisDesativa o seguimento automatico de redirecionamento fora do domínio no URL de início 
nodosDesativa os testes de negação de serviço 
nojsDesativa a emulação e execução de JavaScript 
atype:[tipo]Define o tipo de autenticação; Basic, Form and Manual 
auser:[nomedeusuario]Define um nome de usuário para autenticação 
apass:[senha]Define uma senha para autenticação 
aboutExibe informações sobre a versão atual do Syhunt 
help (ou /?)Mostra a lista de parâmetros disponíveis 

Scanning IPv6 addresses

Syhunt Dynamic fully supports the scanning of IPv6 addresses. To scan an IPv6 target, remember to enclose the address in square brackets, eg:

http://[2001:4860:0:2001::68]/index.php

Using Client Certificates

SSL support in Syhunt Dynamic relies on two Dynamic Link Library (DLL) files (SSLeay32.dll''' and libeay32.dll) developed by the OpenSSL Project. When these two DLL files are present then SSL support is available, which means that you can scan secure sites with https addresses.

The Site Preferences screen allows you to configure the client certificates. To view this screen, navigate to the website you want to scan, click the scan button -> Site Preferences and go to Certificates tab.

Advanced Features

Preventing a Vulnerability From Being Reported

You can prevent specific vulnerabilities to be reported through ignore IDs or rules:

  1. Click the purple bookmark icon in the Launcher toolbar and add a Target URL to the list of Dynamic targets.
  2. Right-click the URL you just added and click the Edit Site Preferences menu option.
  3. Go to the Crawling tab and click the Vulnerabilities... button within the Exclusions group.
  4. Click the plus button and add using the input dialog a new ignore ID or rule.

Attach:dynamic_ignorelist.png Δ

Ignore IDs are shown in reports at the end of each vulnerability entry and are the recommended and easiest way to ignore vulnerabilities in Syhunt. Alternatively, you can create and add Ignore Rules? that can apply to wider scenarios.

Automated Form Login Training

If your web site requires authentication prior to allowing access to all or most of the website contents, Syhunt Dynamic can auto-detect most form logins and login using the credentials you entered in the Site Preferences screen, but if you have a form login with non-standard fields you have two options:

  1. Manually login as explained above in the manual login section (easier and recommended), or
  2. Teach Syhunt Dynamic to auto log into the application through a simple procedure (explained below)

Let's suppose you are having an issue with Syhunt Dynamic with the following web form login:


<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

The following procedure will reprogram Syhunt to recognize the form login:

  1. Click the purple bookmark icon in the Launcher toolbar and add a Target URL to the list of Dynamic targets.
  2. Right-click the URL you just added and click the Edit Site Preferences menu option.
  3. Enter the username and password in the Form Authentication area of the Authentication tab.
  4. Click OK to save the preferences. The Site Preferences window will close.
  5. Switch back to the Launcher tab, and go to the Dynamic Preferences screen ( -> Preferences -> Dynamic Preferences).
  6. Go to the Emulation tab, click the Custom Values button and add the following values:

ClientUTBox=1234
ClientUNBox=@syhunt_web_form_username
ClientPWBox=@syhunt_web_form_password

Values above after the equal sign starting with an @ are internal variables, they ensure that the web form login information you entered in the Site Preferences screen is used in the two form inputs you provided.

Syhunt Dynamic is now ready to detect this form login during a scan.

Preventing Accidental Logout

Syhunt Dynamic can auto-detect most logout pages, but if the logout page does not match standard names and common patterns, you will need to add the logout page URL to your Site Preferences. This will prevent Syhunt Dynamic from accidentally logging out during a scan:

  1. Click the purple bookmark icon in the Launcher toolbar and right click to Edit Site Preferences of the target.
  2. Go to the Exclusions tab
  3. Click the Logout URLs button and add the custom logout URL, example:

/getmeout.php

  1. Click OK to confirm the preferences. The input dialog will close.
  2. Hit OK to save the preferences.

Basic FAQs

Quanto tempo o Syhunt Dynamic levará para executar todos os testes?
A duração depende do número de páginas e aplicações que o seu website possui e o método de varredura que você selecionar. As verificações nas aplicações web (depois do estágio de mapeamento) é normalmente a parte do scan que pode demorar mais e depende do tamanho do site alvo.

Posso abrir uma sessão de scan anterior e gerar relatórios novamente?
Sim, selecione a opção Past Sessions (Sessões Anteriores) através do Menu. A aba Session Manager (Gerenciador de Sessões) abrirá. Clique em Generate Report (Gerar Relatório) para a sessão que você deseja e você verá os resultados da sessão e as opções para gerar relatórios ou exportar dados.

Existe uma lista de verificações que são realizadas com a versão atualizada do Syhunt?
Você pode ter uma idéia dos testes clicando Menu -> Help, e selecionando Vulnerability List.

Alguns dos testes podem interromper o funcionamento do site alvo testado?
Quanto a travar o site - existem verificações de negação de serviço que podem travar o site testado - embora você possa desligar estas ao realizar um scan.

O Syhunt Dynamic possui quaisquer problemas com firewalls pessoais?
Sim, você apenas precisa informar seu firewall que o Syhunt está autorizado a fazer conexões com a Internet. No entanto, alguns firewalls não ligam muito bem com cargas pesadas. Por isso não recomendamos rodar um firewall pessoal e o Syhunt ambos na mesma máquina.

Se você está rodando um firewall de PC no sistema que realizará o scan que faz filtragem de saída, tente desligá-lo - nós ocasionalmente vemos firewalls que bloqueiam de maneira automática as requisições de um programa sem antes perguntar ao usuário se ele deve ou não ser permitido a realizar as conexões.

Existe alguma maneira de realizar scans contra as portas 23 (telnet) e 21 (ftp)?
Não, o Syhunt Dynamic não é um scanner de segurança de propósito geral. Ele é especializado em avaliar aplicações web.

Diferenças entre os Métodos de Varredura

MétodoNome na CLITipoF. BrutaInjeçãoDoSDemorado
Application Scan (Padrão)appscanYYYN
Structure Brute ForcestructbfY (Profundo)NNY (Very)
Old & Backup FilesfileoldYNNY
Fault InjectionfaultinjNYYN
Top 10 (OWASP)top10NP (TOP10)YN
Top 25 (CWE)top25cweNP (TOP25)YN
Top 5 (OWASP PHP)top5phpNP (TOP5)NN
Cross-Site ScriptingxssNP (XSS)NN
SQL InjectionsqlinjNP (SQL)NN
File InclusionfileincNP (FI)NN
Unvalidated RedirectsunvredirNP (UR)NN
Malware ContentmalscanP (Malware)P (Malware)NN
PassivepassiveNNNN
Spider OnlyspiderNNNN
Complete ScancompleteYYYY (Very)
Complete Scan, No DoScompnodosYYNY (Muito)
Complete Scan, ParanoidcomppnoidY (Profundo)YYY (Muito)

Letras: Sim/Não/Parcial (Y/N/P)

Tipo de Teste

  • - Híbrido (Caixa Cinza), Dinâmico e Código
  • - Apenas Dinâmico (Caixa Preta)
  • - Apenas Código (Caixa Branca)

Demorado

Um Sim significa que verificações adicionais e mutações de ataque serão realizadas e que o número de verificações será influenciado pelo número de diretórios encontrados durante o estágio de mapeamento do site.

Descrição

O método Application Scan é o método padrão de scan no Syhunt. Se você desejar utilizar um método diferente de varredura, você poderá selecionar uma das seguintes as opções:

Application Scan (Scan de Aplicação)

Identifica falhas em aplicações web que você tenha desenvolvido, no servidor web e em componentes de terceiros. Este método mapeia o web site e realiza ataques contra a estrutura do site e suas aplicações web. Isto inclui procurar por vulnerabilidades de injeção de falhas como XSS, Injeção de SQL, Inclusão de Arquivos, e mais.

Structure Brute Force (Força Bruta de Estrutura)

Uma força bruta de estrutura verificará por:

  • Scripts Comuns Vulneráveis
  • Arquivos Comuns
  • Vazamento de Banco de Dados
  • Backdoors baseadas na Web

O número de verificações será influenciado pelo número de diretórios encontrado durante o estágio de mapeamento do site.

Old & Backup Files (Arquivos Antigos e de Backups)

Executa verificações de extensão ao redor da estrutura mapeada de um website.

OWASP Top 10

Verifica especificamente pelas vulnerabilidades do OWASP Top 10 2017:

  1. A1 2017: Injection
  2. A2 2017: Broken Authentication
  3. A3 2017: Sensitive Data Exposure
  4. A4 2017: XML External Entities (XXE)
  5. A5 2017: Broken Access Control
  6. A6 2017: Security Misconfiguration
  7. A7 2017: Cross-Site Scripting (XSS)
  8. A8 2017: Insecure Deserialization
  9. A9 2017: Using Components with Known Vulnerabilities
  10. A10 2017: Insufficient Logging & Monitoring

CWE Top 25

Verifica especificamente pela lista CWE de Erros Mais Perigosos de Software de 2019.

Confira a lista completa em: https://cwe.mitre.org/top25/archive/2019/2019_cwe_top25.html

OWASP PHP Top 5 (Cinco Mais do OWASP)

Verifica especificamente pela Lista das Cinco Principais Vulnerabilidades do PHP, do OWASP:

  1. Execução Remota de Comandos
  2. Cross-Site Scripting (XSS), incluindo DOM XSS
  3. Injeção de SQL
  4. Ataques ao Sistema de Arquivos, incluindo Inclusão de Arquivos.

Fault Injection (Injeção de Falhas)

Verifica especificamente por vulnerabilidades de injeção de falhas. Caso este método de varredura seja selecionado, todas as outras verificações que não necessitam de injeção são desligadas e o Syhunt então verificará especificamente por falhas como injeção de SQL, XSS, inclusão de arquivos e outras falhas similares.

Cross-Site Scripting (XSS)

Verifica especificamente por vulnerabilidades do tipo XSS, incluindo DOM XSS.

SQL Injection (Injeção de SQL)

Verifica especificamente por vulnerabilidades de injeção de SQL & NoSQL.

File Inclusion

Verifica especificamente por vulnerabilidades de Inclusão de Arquivos e Directory Traversal.

Unvalidated Redirects

Verifica especificamente por vulnerabilidades de Redirecionamento Não-Validado.

Malware Scan

Verifica especificamente por malware, como:

  • Web Backdoors
  • Conteúdo Malicioso
  • Parâmetros de Debug escondidos na aplicação

Passive Scan

Mapeia a estrutura do web site e reporta vulnerabilidades descobertas sem lançar quaisquer tipos de ataques, como:

  1. Vulnerabilidades JavaScript no lado do cliente
  2. Diversas fraquezas de formulário
  3. Divulgação de tecnologias usadas
  4. Cabeçalhos HTTP inseguros
  5. Software de Servidor Desatualizado e Vulnerável
  6. Scripts Referenciados Desatualizados e Vulneráveis
  7. Comentários HTML suspeitos
  8. Divulgação de Código Fonte
  9. Conteúdo Malicioso sendo servido

Spider Only

Apenas mapeia a estrutura do website, sem testar por ou reportar qualquer tipo de vulnerabilidade ou fraqueza.

Complete Scan (Scan Completo)

Verifica por todos os tipos de vulnerabilidade em aplicações web usando todos os tipos de mutação e métodos de pen-tester, incluindo ataques de Manipulação de Cabeçalho. Um scan completo pode algumas vezes ser bastante demorado quando executado contra um servidor web que possui uma grande quantidade de pastas e pontos de entrada.

Complete Scan - No DoS (Scan Completo - Sem DoS)

O mesmo de antes, mas com os testes de negação de serviço (denial-of-service) desligados.

Complete Scan - Paranoid (Scan Completo - Paranóico)

Verifica por todos os tipos de vulnerabilidades em aplicações web usando força bruta profunda na estrutura do site, todos os tipos de mutações e métodos de pen-tester, incluindo ataques de Manipulação de Cabeçalho. Este método pode ser bastante demorado, especialmente se executado contra grandes sites. Este método tambem realiza uma verificação tripla na força bruta da estrutura, que se aplica a servidores sensíveis a letras maiúsculas e minúsculas - o Syhunt tentará todas as possibilidades de nome de arquivo (tudo em maiúsculas, tudo em minúsculas, etc).

Agendando Varreduras

Adicionar e configurar um agendamento é uma tarefa fácil:

  1. Clique no ícone Scheduled Scans (Agendamentos) na barra de tarefas inicial. A tela de Scheduled Scans irá abrir.
  2. Clique no ícone Add Scheduled Scan (Adicionar Agendamento) na barra da tela Scheduled Scans.
  3. Preencha um nome de referência para o novo agendamento (como MeuScan) e pressione OK. A janela de preferências irá abrir.
  4. Na aba Scan, preencha os detalhes do alvo e selecione o método de varredura e as opções desejadas.

  5. Na aba Report (Relatório), configure como desejado as opções de criação de relatório.
  6. Na aba Schedule (Cronograma), preencha o plano de evento desejado.

  7. Clique no botão OK quando estiver tudo pronto.

Enviando Relatórios Por Email

Em primeiro lugar, você precisa adicionar uma conta de email:

  1. Clique no ícone de Issue Trackers (Rastreadores de Problemas) na barra da tela inicial. A tela de Issue Trackers irá abrir.
  2. Clique no ícone Add Tracker (Adicionar Rastreador) na barra da tela de rastreadores e escolha a opção do menu Add tracker: Email (Adicionar rastreador: Email).
  3. Digite um nome de referência para o novo rastreador (como Mail) e pressione OK. A janela de preferências irá abrir.
  4. Preencha os endereços de email em Sender/Recipient (Remetente / Destinatário).
  5. Preencha o endereço do host e as credenciais em SMTP Authentication (Autenticação de SMTP) e clique no botão OK.
  6. Clique no ícone Scheduled Scans na barra inicial. A tela Scheduled Scans irá abrir.
  7. Clique com o botão direito do mouse em um agendamento e clique na opção Edit Schedule Preferences (Editar Preferências do Agendamento). A janela de preferências irá abrir.
  8. Vá até a aba Email e marque a opção Automatically email report after generation para ativar o envio de relatório por email.

  9. Selecione a conta criada anteriormente.
  10. Clique no botão de OK quando estiver tudo pronto.

Revendo resultados das varreduras programadas

A qualquer momento você pode ver os resultados de varreduras atuais ou anteriores e gerar um novo relatório. Apenas abra o Syhunt Hybrid e clique no ícone de Past Sessions (Sessões Anteriores) na barra da tela inicial.

Trabalhando com Lançadores e Agendadores de Terceiros

Confira este documento sobre como iniciar o Syhunt a partir de agendadores de terceiros, Jenkins e outras ferramentas

Personalizando o Relatório

Adicionando um Logo ao Relatório

Antes de salvar um relatório, você pode adicionar um logo que será incluído com os relatórios gerados de agora em diante:

  1. Clique no botão Editar Preferências de Relatório (Edit Report Preferences) na barra. O diálogo Preferências de Relatório (Report Preferences) abrirá.
  2. Preencha o endereço da imagem contendo o logo
  3. Clique OK para guardar as preferências.

Agora ao gerar um relatório, ele irá conter o logo de sua organização em vez do logo da Syhunt.

Pre-Dynamic Scan Requirements

  1. This software should be used only by system administrators (or other people in charge). It should not be used to scan websites outside of your direct control.
    1. If you need to scan a website outside of your direct control, it is recommended that you obtain a written permission from the website's owner or administrator.
    2. It is recommended and a good practice that a backup of the website's source code and database is carried out before launching any scans against it. This helps in very rare cases on which injection testing against an insecure and not resilient website cause database pollution or unintended file manipulation that interfers with proper website functioning.
  2. Make sure you meet the Internet connection requirements.
  3. You must read and agree with the Syhunt EULA before launching any scans.

System Requirements

O Syhunt Hybrid (incluindo sua versão Community) deve ser instalado sobre plataformas 64-bit Windows ou Linux, mas é capaz de analisar aplicações concebidas para qualquer plataforma alvo, incluindo Android, Apple iOS e MacOS, BSD, Linux, Windows, Solaris e Unix, independente da plataforma a partir de qual o software é executado.

  1. 4GB de RAM disponível (8GB recomendado)
  2. 1GB de espaço livre em disco*
  3. Conexão com a Internet (recomendada para scans de código e para scans dinâmicos e algumas funcionalidades chave)
  4. Um dos seguintes sistemas operacionais 64-bit compatíveis:
    1. Windows 7, 8 ou 10, ou Windows Server 2008 a 2019
    2. Ubuntu Server ou Desktop 18 ou posterior
    3. CentOS 7 ou 8 (Minimal ou Everything)
    4. Qualquer distribuição Linux não oficialmente suportada como as listadas logo abaixo neste documento.
  5. (Opcional) GIT no Linux ou GIT para Windows instalado, para realizar scans de repositórios GIT
  6. Java ou Java Headless instalado em SO Linux
  7. Caso binários nativos não estejam disponíveis para sua distribuição Linux específica ainda, o Wine64 Stable (3, 4 ou 5) precisa estar instalado.
  8. (Opcional) Java 8 ou superior, para realizar scans de arquivos APK do Android

* Isto não inclui o espaço necessário para salvar os dados de sessões de scan, o que varia dependendo do website ou código-fonte alvo de análise e a frequência de varreduras.

Distribuições Linux Compatíveis

Oficialmente Suportadas:
Ubuntu Server/Desktop 18.10 e posterior
CentOS 7.7 e posterior
Não Oficialmente (Testado com Sucesso):
Kali Linux 2019 e posterior
Parrot OS 4.1, 4.7 e posterior
Debian 9.11 e posterior
Linux Mint 19.2 e posterior
OpenSUSE Leap 15.1 e posterior
Arch Linux 2019 e posterior
Fedora 32
MX Linux 19.1 e posterior
KDE Neon 2020.03 e posterior
Deepin 15.9
Manjaro 19
Não Suportado:
Elementary OS 5.1 (Testado com Sucesso), 5.0 (Não Suportado)
CentOS 6.1 (Testado com Sucesso)
Solus 4.1 (Instável)


Para documentação adicional do produto, visite syhunt.com/docs/br

お問い合わせ

Contact