Scanner e Patcher 
Panoramica:
Il progetto Scanner e Patcher fa parte del framework AlphaSecure, che è stato presentato e pubblicato all'ACM IC3 2024 con il titolo AlphaSecure: A State-of-the-Art Framework for Web Application Vulnerabilities Detection and Patch Recommendation Using Automated Techniques. Puoi trovare la pubblicazione qui AlphaSecure: A State-of-the-Art Framework for Web Application Vulnerabilities Detection and Patch Recommendation Using Automated Techniques.
Questo strumento è molto utile per trovare vulnerabilità presenti nelle Applicazioni Web.
- Uno scanner per applicazioni web esplora un'applicazione web navigando tra le sue pagine e le esamina per individuare vulnerabilità di sicurezza, il che comporta la generazione di input malevoli e la valutazione delle risposte dell'applicazione.
- Questi scanner sono strumenti automatizzati che analizzano le applicazioni web per cercare vulnerabilità di sicurezza. Testano le applicazioni web per problemi di sicurezza comuni come cross-site scripting (XSS), SQL injection e cross-site request forgery (CSRF).
- Questo scanner utilizza diversi strumenti come nmap, dnswalk, dnsrecon, dnsenum, dnsmap ecc. per scansionare porte, siti, host e reti e trovare vulnerabilità come OpenSSL CCS Injection, Slowloris, Denial of Service, ecc.
Strumenti utilizzati
| N. Serie | Nome Strumento | | N. Serie | Nome Strumento |
|---|
| 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 | | | |
Funzionamento
Fase 1
- L'utente deve scrivere:- "python3 web_scan.py (https o http) ://example.com"
- All'inizio il programma annoterà l'ora di inizio dell'esecuzione, quindi creerà un URL con "www.example.com".
- Dopo questo passaggio, il sistema verificherà la connessione internet utilizzando ping.
- Funzionalità:-
-
- Per navigare nel menu di aiuto, digita questo comando: --help per aggiornare --update
-
- Se l'utente vuole saltare la scansione/test corrente:- CTRL+C
-
- Per uscire dallo scanner usa:- CTRL+Z
-
- Il programma indicherà il tempo di scansione impiegato dallo strumento per un test specifico.
Fase 2
- Da qui parte la funzione principale dello scanner:
- Lo scanner selezionerà automaticamente uno strumento per iniziare la scansione.
- Scanner che verranno utilizzati e rotazione dei nomi file (predefinito: abilitato (1))
- Il comando usato per avviare lo strumento (con parametri e parametri extra) è già fornito nel codice.
- Dopo aver trovato una vulnerabilità nell'applicazione web, lo scanner classificherà la vulnerabilità in un formato specifico:-
-
- [Risposte + Gravità (c - critica | h - alta | m - media | l - bassa | i - informativa) + Riferimento per definizione e correzione della vulnerabilità]
-
- Qui c o critica definisce la vulnerabilità più grave, mentre l o bassa è per il sistema meno vulnerabile.
Definizioni:-
-
Critica:- Le vulnerabilità che rientrano nell'intervallo critico di solito hanno la maggior parte delle seguenti caratteristiche:
Lo sfruttamento della vulnerabilità porta probabilmente al compromesso a livello di root di server o dispositivi di infrastruttura. Lo sfruttamento è di solito semplice, nel senso che l'attaccante non ha bisogno di credenziali di autenticazione speciali o conoscenze su singole vittime, e non deve convincere un utente target, ad esempio tramite ingegneria sociale, a eseguire funzioni speciali.
-
Alta:- Un attaccante può compromettere completamente la riservatezza, l'integrità o la disponibilità di un sistema target senza accesso specializzato, interazione dell'utente o circostanze al di fuori del controllo dell'attaccante. Molto probabile che permetta movimento laterale ed escalation dell'attacco ad altri sistemi sulla rete interna dell'applicazione vulnerabile. La vulnerabilità è difficile da sfruttare. Lo sfruttamento potrebbe comportare privilegi elevati. Lo sfruttamento potrebbe comportare una significativa perdita di dati o tempi di inattività.
-
Media:- Un attaccante può compromettere parzialmente la riservatezza, l'integrità o la disponibilità di un sistema target. Potrebbero essere necessari accesso specializzato, interazione dell'utente o circostanze al di fuori del controllo dell'attaccante affinché un attacco abbia successo. Molto probabile che venga utilizzata in combinazione con altre vulnerabilità per escalation di un attacco. Vulnerabilità che richiedono all'attaccante di manipolare singole vittime tramite tecniche di ingegneria sociale. Vulnerabilità di denial of service difficili da configurare. Exploit che richiedono all'attaccante di risiedere sulla stessa rete locale della vittima. Vulnerabilità in cui lo sfruttamento fornisce solo un accesso molto limitato. Vulnerabilità che richiedono privilegi utente per uno sfruttamento riuscito.
-
Bassa:- Un attaccante ha una portata limitata per compromettere la riservatezza, l'integrità o la disponibilità di un sistema target. Sono necessari accesso specializzato, interazione dell'utente o circostanze al di fuori del controllo dell'attaccante affinché un attacco abbia successo. Deve essere utilizzata in combinazione con altre vulnerabilità per escalation di un attacco.
-
Info:- Un attaccante può ottenere informazioni sul sito web. Questo non è necessariamente una vulnerabilità, ma qualsiasi informazione che un attaccante ottiene potrebbe essere utilizzata per pianificare più accuratamente un attacco in un secondo momento. Si consiglia di limitare il più possibile qualsiasi divulgazione di informazioni.
-
| INTERVALLO DI PUNTEGGIO CVSS V3 | GRAVITÀ NELL'AVVISO |
|---|
| 0.1 - 3.9 | Bassa |
| 4.0 - 6.9 | Media |
| 7.0 - 8.9 | Alta |
| 9.0 - 10.0 | Critica |
Vulnerabilità
- Dopo di che, lo scanner mostrerà i risultati che includono:
-
-
- Tempo totale di scansione
-
- Classe della vulnerabilità
Correzione
- Ora, lo scanner spiegherà gli effetti dannosi di quel tipo specifico di vulnerabilità.
- Lo scanner indica le fonti per saperne di più sulle vulnerabilità. (siti web).
- Dopo questo passaggio, lo scanner suggerisce alcuni rimedi per superare le vulnerabilità.
Fase 3
- Lo scanner Genererà un report appropriato che include
-
- Numero totale di vulnerabilità scansionate
-
- Numero totale di vulnerabilità saltate
-
- Numero totale di vulnerabilità rilevate
-
- Tempo impiegato per l'intera scansione
-
- Dettagli su ciascuna vulnerabilità.
- Scrittura di tutti i file di output della scansione in SA-Debug-ScanLog per scopi di debug nella stessa directory
- Per scopi di debug, puoi visualizzare l'output completo generato da tutti gli strumenti chiamato SA-Debug-ScanLog.
Uso
Usa il programma come python3 web_scan.py (https o http) ://example.com
--help
--update