In questo articolo andremo alla scoperta ed eseguiremo un’analisi di Artemis, un vulnerability scanner modulare open source sperimentale che si concentra prevalentemente nella ricognizione e nella ricerca di vulnerabilità web.
Il punto forte di questo progetto è la scalabilità.
Artemis rende possibile la scalabilità con micro servizi separati grazie all’utilizzo di container tramite Docker. In ogni micro servizio è implementato un modulo con funzioni diverse, inclusi tools già conosciuti.
Advertising
La maggior parte delle funzionalità sono accessibili da GUI e di recente sono stati integrati anche i report senza necessità di utilizzare script..
Software come questi permettono alle organizzazioni di scansionare e monitorare le vulnerabilità della propria infrastruttura.
IL PROGETTO ARTEMIS
Il progetto Artemis è stato avviato dal club di scienza informatica dell’Università di Tecnologia di Varsavia ed è attualmente in fase di sviluppo da parte del CERT Polska.
Verifica della versione del plugin WordPress/Joomla/Drupal/WordPress,
Esegue il controllo delle cartelle VCS (ad esempio .git),
Verifica delle directory aperte (index)
Scansiona le porte (aperte/chiuse) e identificazione dei servizi,
Permette di esportazione delle metriche per Prometheus (inclusi dati come il numero di attività elaborate o bloccate)
Facile estensibilità tramite moduli plug-and-play
API HTTP per facilitare l’integrazione con altri strumenti
Tutti i moduli standard sono degli script python al seguente percorso Atemis/artemis/modules:
Alcuni moduli sono scritti dagli autori del progetto, altri invece sono altri progetti open source inglobati all’interno (come nuclei).
Per quanto riguarda le configurazioni dei moduli, per esempio la lista bruteforce di password e directory sono visibili dentro Artemis/artemis/modules/data.
è possibile anche aggiungere il repository dei moduli aggiuntivi che includono:
In ultima impostiamo che docker si avvii automaticamente all’avvio della VM:
sudo systemctl enable docker
INSTALLAZIONE DI ARTEMIS
Di recente è stato rilasciato un aggiornamento che rende più facile il deploy tramite script. In passato era necessario eseguire docker compose up –build per eseguire la configurazione una volta clonata la rep.)
Ora riprendiamo la guida di Artemis e cloniamo la repo in una directory
A questo punto entriamo nella directory e creiamo la configurazione da quella di default.
cp env.example .env
Ora avviamo lo script di configurazione:
./scripts/start
Alla fine della configurazione, come è spiegato sulla wiki, Artemis verrà esposto sulla porta 5000.
A fine installazione Artemis ci indica il percorso di accesso e se la macchina include la GUI, possiamo accedere direttamente dall’interno.
Disattivando il firewall locale possiamo accedere anche tramite IP della VM. Però attenzione: come vedremo dopo Artemis non prevede nessuna forma di autenticazione, per questo fate attenzione a dove è pubblicato.
Ci viene dato inoltre qualche suggerimento per vedere i log, e ci consiglia di modificare USER AGENT (che verrà usato nelle scansioni) modificando il file .env.
Utilizzando lo script, come suggerito
./scripts/run_docker_compose logs
Possiamo vedere in real time i log generati da tutti i moduli (container)
INSTALLIAMO I MODULI EXTRA
Ora aggiungiamo i moduli extra, come spiegato nella wiki cloniamo la repo all’interno si basano principalmente dei tool esistenti come wpscan e sqlmap.
Come fare ci viene indicato avviando lo script e non precedentemente installato.
Quindi cloniamo gli extra direttamente all’interno della directory di artemis e avviamo lo script
Ora se i container erano in precedenza avviati, verranno tutti stoppati e avviati assieme agli ultimi appena aggiunti.
Ad installazione finita , accediamo sempre all’indirizzo x.x.x.x:5000
LA DASHBOARD
Accedendo al link web si presenta una dashboard, non è prevista autenticazione, quindi attenzione a pubblicarla esternamente.
Nella dashboard sono presenti le funzionalità
Aggiunta di un nuovo target
Visualizzazione di tutti i target analizzati
Visualizzare i risultati
Esportazione report (questa voce è stata aggiunta nell’ultima versione)
Visualizzare report già esportati (questa voce è stata aggiunta nell’ultima versione)
Visualizzare i task
Il riavvio dei task bloccati
Accesso alle API
SCANSIONE DI UN TARGET
Nella nostra rete di laboratorio abbiamo inserito un’applicazione web vulnerabile, ora andiamo a verificare cosa e quali vulnerabilità riesce a trovare.
Quindi facciamo add target in alto, e compiliamo i targets
Dopo aver selezionato Analyze target accediamo alla schermata per aggiungere i target da analizzare, possiamo mettere una subnet o IP singoli.
Selezioniamo inoltre i moduli che vogliamo attivare
Una volta avviata la scansione, verranno attivati diversi container che cominceranno ad eseguire le analisi.
Una nota: i moduli non si “parlano” tra di loro, ognuno svolgera il propria analisi a seconda della funzione che è adibito.
Possiamo vedere per esempio il modulo sqlmap in azione.
Oppure qui sotto un esempio di brute forcing che cicla da dizionario circa 3000 parole alla ricerca di sottocartelle, file e percorsi interessanti.
Durante la scansione il target verrà identificato come “In Progress”, mentre “Done” a scansione ultimata.
Nell’ultima versione è stata aggiunta anche la percentuale oltre ai moduli restanti.
Tramite il menu “Task queue” è possibile vedere i moduli che stanno girando e quelli in errore. Nel caso di errori possiamo agire sulla funzionalità “Restart crashed task”
ANALIZZIAMO I RISULTATI
Una volta effettuata l’analisi possiamo vedere il risultato su questa webapp. Verranno visualizzati i risultati rilevanti e ce ne sono molti.
Usando il filtro “all interesting finding”, verranno mostrati solo i moduli che avranno riportato risultati.
Al contrario all tasks verranno mostrati anche gli altri che non avranno prodotto risultati.
Entrando su ogni task possiamo vedere in formato json l’intera risposta del modulo.
REPORTISTICA
Il software da GUI non prevede una reportistica ma è possibile crearla tramite uno script all’interno via ssh.
Occorre solo inserire il TAG della scansione precedentemente eseguita e generare.
Verrà generato e scaricato un file compresso.
All’interno di advance verranno riportati i risultati in formati JSON.
Per ora non è previsto nessuna sorta di report PDF, sarà necessario importarlo in qualche tool ulteriore per generare qualsiasi report documentale.
API
È possibile utilizzare le api per estrarre i risultati in JSON e importarli facilmente in altri sistemi di visualizzazione e storicizzazione.
COMPARATIVA
Per analizzare le performance del tool e capirne meglio potenzialità e limiti di utilizzo, abbiamo confrontato i risultati e i rilevamenti con una scansione con nessus in versione essential (free) che ci permette di analizzare completamente fino a 16 host come una versione a pagamento.
Molte vulnerabilità siano state rilevate da entrambi gli scanner. Sono state rilevate directory aperte, percorsi interessanti nascosti, XSS, LFI, presenza di software interessanti come phpmyadmin.
Invece vulnerabilità rilevate da Nessus, come SQLi, RFI e alcune specifiche CVE, non sono state individuate da Artemis.
Abbiamo inoltre scansionato alcune macchine con software vulnerabili con specifiche CVE che potrebbero trovarsi comunemente in alcuni servizi esposti a internet, quali Eternal Blue (CVE-2017-0144), Shellshock (CVE-2014-6271) e Vsftpd 2.3.4 (CVE-2011-2523), ma i vari moduli non li hanno riconosciuti.
CONCLUSIONE
Questo tool è incentrato nell’individuare le vulnerabilità web ed è ricco di funzionalità e tool. Alcuni moduli vanno ad analizzare anche la configurazione corretta dei record SPF, DMARK o la verifica dei certificati.
Il punto di forza è ovviamente il fatto di essere open source e la sua modularità. I moduli di default sono molti e coprono diversi aspetti di sicurezza delle applicazioni web.
Come abbiamo visto nella comparazione, è risultato abbastanza efficace nelle applicazioni web e sulle vulnerabilità comuni ma alcune specifiche CVE non sono state riscontrate.
Sorprendente invece la facile installazione (circa 20 minuti) anche grazie alla containerizzazione che è stata data ai moduli dell’app. L’ultimo aggiornamento lo ha reso anche più stabile.
Il fatto che sia open source permette poi a chiunque di testarlo e monitorare i propri assets.
Per concludere questi tools non sono commerciali e godono di un supporto limitato da chi li sviluppa e integra altri progetti open source all’interno, per cui potrebbero contener bug o altre funzionalità non previste che potrebbero compromettere le applicazioni web, per cui, come riportato nel progetto, vengono eseguiti a vostro rischio e pericolo.
E’ importante sempre eseguire queste scansioni un un ambiente controllato con tutte le accortezze del caso (snapshot, backup ecc…), per esempio eseguirle in un ambienti di test.
📢 Resta aggiornatoTi è piaciuto questo articolo? Rimani sempre informato seguendoci su Google Discover (scorri in basso e clicca segui) e su 🔔 Google News. Ne stiamo anche discutendo sui nostri social: 💼 LinkedIn, 📘 Facebook e 📸 Instagram. Hai una notizia o un approfondimento da segnalarci? ✉️ Scrivici
Ho iniziato la mia carriera occuparmi nella ricerca e nell’implementazioni di soluzioni in campo ICT e nello sviluppo di applicazioni. Al fine di aggiungere aspetti di sicurezza in questi campi, da alcuni anni ho aggiunto competenze inerenti al ramo offensive security (OSCP), occupandomi anche di analisi di sicurezza e pentest in molte organizzazioni.
Aree di competenza:Ethical Hacking, Bug Hunting, Penetration Testing, Red Teaming, Security Research, Cybersecurity Communication
Dopo il successo delle scorse edizioni, Red Hot Cyber è lieta di annunciare una nuova live-class del corso "Dark Web & Cyber Threat Intelligence". A differenza dei corsi e-learning pre-registrati, queste lezioni online in tempo reale, condotte dal professor Pietro Melillo, offrono un’esperienza formativa interattiva e coinvolgente, ideale per approfondire i contenuti e affrontare casi pratici.
Le Live Class sono progettate per garantire un apprendimento mirato e personalizzato, con un massimo di 14 partecipanti per sessione. Questo consente di adattare il percorso formativo alle esigenze specifiche, ma anche di mantenere alta la qualità: i posti sono limitati e nelle scorse edizioni sono andati in sold-out due settimane prima dell’inizio. Prenota subito per assicurarti il tuo posto!
Docente: Pietro Melillo, PhD presso l’Università del Sannio e docente presso IUSI University
Livello: Intermedio
Durata: 15 ore in Live Class con docente dal vivo
Prerequisiti: Navigazione Internet e conoscenze base di sicurezza informatica
Certificazione : Cyber Threat Intelligence Professional (CTIP) previo superamento dell’esame finale
Opportunità post-corso: Accesso al laboratorio operativo DarkLab per attività pratiche di intelligence
Al termine del corso, potrai accedere all’esclusivo Laboratorio di Intelligence DarkLab, un ambiente operativo dove mettere in pratica le competenze acquisite. Sarà l’occasione per sperimentare attività di investigazione nel Dark Web, analisi delle minacce e redazione di report di intelligence e ricerche approfondite.