Syhunt Hybrid: Análise via CLI

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

Introdução

Siga este guia para aprender como realizar um scan dinâmico ou de código-fonte e gerar um relatório de vulnerabilidades através de linha de comandos.

O diretório das ferramentas de CLI da Syhunt depende da versão do Syhunt e do seu SO:

SODiretório Padrão
WindowsC:\Program Files\Syhunt Hybrid\
C:\Program Files (x86)\Syhunt Hybrid\
C:\Program Files\Syhunt Community Core\
Linux/home/[usuario]/syhunt-hybrid/carbon/
/home/[usuario]/syhunt-community/carbon/

Como realizar um scan dinâmico via CLI

  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 

Realizando scan de endereços IPv6

O Syhunt Dynamic suporta a realização de scans contra endereços do tipo IPv6. Para testar um alvo IPv6, lembre-se de colocar o endereço entre colchetes, ex:

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

Como realizar um scan de código via CLI

  1. Siga até o diretório onde o Syhunt está instalado usando o prompt de comandos.
  2. Use a seguinte linha de comando:
 scancode [alvo] -hm:[metodo]] -gr

# Exemplos:
scancode git://sub.domain.com/repo.git -gr
scancode https://github.com/user/repo.git -rb:master -gr
scancode c:\source\www\ -gr
scancode c:\source\www\file.php -gr
scancode c:\mobile\myapp.apk -gr
scancode "c:\source code\www\" -gr

Os relatórios da ferramenta scancode 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 e usando a opção Menu -> Past Sessions (Sessões Anteriores).

Os seguintes parâmetros podem ser fornecidos ao chamar a ferramenta scancode, 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
rb:[branch]Sets a repository branchmaster
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 
refurl:[url]Define um URL associado com o código-fonte alvo para propósito de referência
noifaDesliga a análise de filtragem de entrada durante a varredura 
aboutExibe informações sobre a versão atual do Syhunt 
help (ou /?)Mostra a lista de parâmetros disponíveis 

Condições de aprovação / reprovação

Uma condição de teste de aprovação / reprovação pode ser transmitida ao scancode ou scanurl com o parâmetro -pfcond: A seguir estão as condições de aprovação / reprovação atualmente suportadas pelo Syhunt:

  • fail-if:risk=high - Falha se for encontrada uma vulnerabilidade de alto risco
  • fail-if:risk=mediumup - Falha se for encontrada uma vulnerabilidade de risco Médio ou Alto
  • fail-if:risk=lowup - Falha se for encontrada uma vulnerabilidade de risco Baixo, Médio ou Alto

Modos do Scan Incremental

autoGerencia automaticamente o cache de varredura incremental (modo recomendado)
disabledDesliga o cache de varredura incremental. Isto desacelera as varreduras, passando a levar de 3 a 4 vezes mais tempo para complentar uma varredura
forcedForça a varredura incremental a estar sempre ligada. Caso utilize este modo, certifique-se de que você possui uma varredura que não seja forçada configurada para executar todo mês ou com frequência similar
targetprefUsa o modo de varredura incremental definido nas preferências do alvo

Modelos e Formatos de Relatório Disponíveis

.htmlRelatório HTML
.pdfRelatório em Adobe PDF
.xmlResultados exportados em XML
.jsonVulnerabilidades exportadas em JSON
.csvCSV (Comma-Separated Values)
.mse.csvCSV (Comma-Separated Values) para MS Excel
.txtRelatório em formato texto

Os seguintes modelos de relatório estão disponíveis:

StandardEste é o relatório padrão com informações sobre vulnerabilidades de risco baixo à alto
ComparisonInclui as informações padrão e também informações sobre a evolução das vulnerabilidades
ComplianceInclui informações sobre conformidade com o OWASP Top 10, CWE/SANS Top 25 2019 e PCI DSS v3.2.1
MobileInclui informações sobre conformidade com o OWASP Mobile Top 10, CWE/SANS Top 25 2019 e PCI DSS v3.2.1
CompleteInclui as informações padrão junto e também detalhes sobre evolução, conformidade, respostas da aplicação e cobertura da análise

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

Trabalhando com Lançadores de Terceiros

Confira este documento sobre como gerar uma linha de comandos completa que permite iniciar o Syhunt a partir de arquivos BAT, agendadores de terceiros, Jenkins e outras ferramentas.


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

お問い合わせ

Contact