Scanner e Patcher 
Visão Geral:
O projeto Scanner e Patcher foi construído como parte do framework AlphaSecure, que foi apresentado e publicado no ACM IC3 2024 sob o título AlphaSecure: A State-of-the-Art Framework for Web Application Vulnerabilities Detection and Patch Recommendation Using Automated Techniques. Você pode encontrar a publicação aqui AlphaSecure: A State-of-the-Art Framework for Web Application Vulnerabilities Detection and Patch Recommendation Using Automated Techniques.
Esta ferramenta é muito útil para encontrar vulnerabilidades presentes em Aplicações Web.
- Um scanner de aplicações web explora uma aplicação web percorrendo suas páginas e examina-a em busca de vulnerabilidades de segurança, o que envolve geração de entradas maliciosas e avaliação das respostas da aplicação.
- Esses scanners são ferramentas automatizadas que varrem aplicações web em busca de vulnerabilidades de segurança. Eles testam aplicações web para problemas comuns de segurança como cross-site scripting (XSS), SQL injection e cross-site request forgery (CSRF).
- Este scanner utiliza diferentes ferramentas como nmap, dnswalk, dnsrecon, dnsenum, dnsmap, etc., para escanear portas, sites, hosts e rede a fim de encontrar vulnerabilidades como OpenSSL CCS Injection, Slowloris, Denial of Service, etc.
Ferramentas Utilizadas
| Nº | Nome da Ferramenta | | Nº | Nome da Ferramenta |
|---|
| 1 | whatweb | | 2 | nmap |
| 3 | golismero | | 4 | host |
| 5 | wget | | 6 | uniscan |
| 7 | wafw00f | | 8 | dirb |
| 9 | davtest | | 10 | theharvester |
| 11 | xsser | | 12 | fierce |
| 13 | dnswalk | | 14 | dnsrecon |
| 15 | dnsenum | | 16 | dnsmap |
| 17 | dmitry | | 18 | nikto |
| 19 | whois | | 20 | lbd |
| 21 | wapiti | | 22 | devtest |
| 23 | sslyze | | | |
Funcionamento
Fase 1
- O usuário deve escrever:- "python3 web_scan.py (https ou http) ://exemplo.com"
- Primeiro, o programa registra o horário inicial de execução, em seguida, criará uma URL com "www.exemplo.com".
- Após esta etapa, o sistema verificará a conexão com a internet usando ping.
- Funcionalidades:-
-
- Para navegar ao menu de ajuda, digite este comando:- --help para atualização --update
-
- Se o usuário quiser pular a verificação/teste atual:- CTRL+C
-
- Para sair do scanner use:- CTRL+Z
-
- O programa informará o tempo de verificação gasto pela ferramenta para um teste específico.
Fase 2
- A partir daqui, a função principal do scanner começará:
- O scanner selecionará automaticamente qualquer ferramenta para iniciar a verificação.
- Scanners que serão usados e rotação de nomes de arquivos (padrão: ativado (1))
- O comando usado para iniciar a ferramenta (com parâmetros e parâmetros extras) já está no código
- Após encontrar vulnerabilidade no scanner da aplicação web, ele classificará a vulnerabilidade em um formato específico:-
-
- [Respostas + Severidade (c - crítica | h - alta | m - média | l - baixa | i - informativa) + Referência para Definição e Remediação da Vulnerabilidade]
-
- Aqui c ou critical define a maioria das vulnerabilidades, enquanto l ou low é para o sistema menos vulnerável
Definições:-
-
Crítica:- Vulnerabilidades que pontuam na faixa crítica geralmente possuem a maioria das seguintes características:
A exploração da vulnerabilidade provavelmente resulta em comprometimento no nível root de servidores ou dispositivos de infraestrutura. A exploração geralmente é direta, no sentido de que o atacante não precisa de credenciais de autenticação especiais ou conhecimento sobre vítimas individuais, e não precisa persuadir um usuário alvo, por exemplo por meio de engenharia social, a realizar funções especiais.
-
Alta:- Um atacante pode comprometer totalmente a confidencialidade, integridade ou disponibilidade de um sistema alvo sem acesso especializado, interação do usuário ou circunstâncias que estão além do controle do atacante. Muito provável que permita movimento lateral e escalada do ataque para outros sistemas na rede interna da aplicação vulnerável. A vulnerabilidade é difícil de explorar. A exploração pode resultar em privilégios elevados. A exploração pode resultar em perda significativa de dados ou tempo de inatividade.
-
Média:- Um atacante pode comprometer parcialmente a confidencialidade, integridade ou disponibilidade de um sistema alvo. Acesso especializado, interação do usuário ou circunstâncias além do controle do atacante podem ser necessárias para que um ataque tenha sucesso. Muito provável de ser usada em conjunto com outras vulnerabilidades para escalar um ataque. Vulnerabilidades que exigem que o atacante manipule vítimas individuais por meio de táticas de engenharia social. Vulnerabilidades de negação de serviço que são difíceis de configurar. Explorações que exigem que o atacante esteja na mesma rede local que a vítima. Vulnerabilidades onde a exploração fornece apenas acesso muito limitado. Vulnerabilidades que exigem privilégios de usuário para exploração bem-sucedida.
-
Baixa:- Um atacante tem escopo limitado para comprometer a confidencialidade, integridade ou disponibilidade de um sistema alvo. Acesso especializado, interação do usuário ou circunstâncias além do controle do atacante são necessárias para que um ataque tenha sucesso. Precisa ser usada em conjunto com outras vulnerabilidades para escalar um ataque.
-
Info:- Um atacante pode obter informações sobre o site. Isso não é necessariamente uma vulnerabilidade, mas qualquer informação que um atacante obtenha pode ser usada para elaborar um ataque mais preciso em uma data posterior. Recomenda-se restringir ao máximo qualquer divulgação de informações.
-
| FAIXA DE PONTUAÇÃO CVSS V3 | SEVERIDADE NO AVISO |
|---|
| 0.1 - 3.9 | Baixa |
| 4.0 - 6.9 | Média |
| 7.0 - 8.9 | Alta |
| 9.0 - 10.0 | Crítica |
Vulnerabilidades
- Após isso, o scanner mostrará resultados que incluem:
-
-
- Tempo total de verificação
-
- Classe da vulnerabilidade
- Agora, o scanner informará sobre efeitos prejudiciais desse tipo específico de vulnerabilidade.
- O scanner informa sobre fontes para saber mais sobre as vulnerabilidades (sites).
- Após esta etapa, o scanner sugere algumas soluções para superar as vulnerabilidades.
Fase 3
- O scanner Gerará um relatório adequado incluindo
-
- Número total de vulnerabilidades verificadas
-
- Número total de vulnerabilidades ignoradas
-
- Número total de vulnerabilidades detectadas
-
- Tempo gasto na verificação total
-
- Detalhes sobre cada uma das vulnerabilidades.
- Escrevendo todas as saídas dos arquivos de verificação em SA-Debug-ScanLog para fins de depuração no mesmo diretório
- Para fins de depuração, você pode visualizar a saída completa gerada por todas as ferramentas chamada SA-Debug-ScanLog.
Uso
Use o programa como python3 web_scan.py (https ou http) ://exemplo.com
--help
--update