Manuel Roccon : 17 Giugno 2024 07:12
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.
Iscriviti GRATIS alla RHC Conference 2025 (Venerdì 9 maggio 2025)
Il giorno Venerdì 9 maggio 2025 presso il teatro Italia di Roma (a due passi dalla stazione termini e dalla metro B di Piazza Bologna), si terrà
la RHC Conference 2025. Si tratta dell’appuntamento annuale gratuito, creato dalla community di RHC, per far accrescere l’interesse verso le tecnologie digitali, l’innovazione digitale e la consapevolezza del rischio informatico.
La giornata inizierà alle 9:30 (con accoglienza dalle 9:00) e sarà interamente dedicata alla RHC Conference, un evento di spicco nel campo della sicurezza informatica. Il programma prevede un panel con ospiti istituzionali che si terrà all’inizio della conferenza. Successivamente, numerosi interventi di esperti nazionali nel campo della sicurezza informatica si susseguiranno sul palco fino alle ore 19:00 circa, quando termineranno le sessioni. Prima del termine della conferenza, ci sarà la premiazione dei vincitori della Capture The Flag prevista per le ore 18:00.
Potete iscrivervi gratuitamente all'evento utilizzando questo link.
Per ulteriori informazioni, scrivi a [email protected] oppure su Whatsapp al 379 163 8765
Supporta RHC attraverso:
Ti piacciono gli articoli di Red Hot Cyber? Non aspettare oltre, iscriviti alla newsletter settimanale per non perdere nessun articolo.
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 è stato avviato dal club di scienza informatica dell’Università di Tecnologia di Varsavia ed è attualmente in fase di sviluppo da parte del CERT Polska.
https://github.com/CERT-Polska/Artemis
In breve le caratteristiche di Artemis pubblicate nella repository git:
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 seguito, lo faremo girare in un ambiente con alcune macchine virtuali vulnerabili per vedere il risultato e valutare i risultati.
Per installarlo possiamo fare riferimento a questa guida:
https://artemis-scanner.readthedocs.io/en/latest/quick-start.html
Per prima cosa prepariamo una macchina linux, in questo esempio ho usato una versione di Roky Linux.
https://rockylinux.org/download
Prima di proseguire assicuriamoci che la VM sia completamente aggiornata prima di continuare.
Il progetto si basa su container su Docker:
Installiamolo seguendo questa wiki che comunque riportiamo i comandi
https://www.digitalocean.com/community/tutorials/how-to-install-and-use-docker-on-rocky-linux-9
Quindi aggiungiamo il repository docker:
sudo dnf config-manager –add-repo https://download.docker.com/linux/centos/docker-ce.repo
Installiamo questi 3 pacchetti:
sudo dnf install docker-ce docker-ce-cli containerd.io
Avviamo docker:
sudo systemctl start docker
Quindi verifichiamo che sia in esecuzione:
sudo systemctl status docker
In ultima impostiamo che docker si avvii automaticamente all’avvio della VM:
sudo systemctl enable docker
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
Installiamo GIT per poter clonare la repo
Yum install git
Quindi cloniamo la repo
git clone https://github.com/CERT-Polska/Artemis.git
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)
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
git clone https://github.com/CERT-Polska/Artemis-modules-extra.git
e infine avviamo di nuovo lo script di start
./scripts/start
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
Accedendo al link web si presenta una dashboard, non è prevista autenticazione, quindi attenzione a pubblicarla esternamente.
Nella dashboard sono presenti le funzionalità
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”
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.
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.
È possibile utilizzare le api per estrarre i risultati in JSON e importarli facilmente in altri sistemi di visualizzazione e storicizzazione.
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.
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.
Negli ultimi giorni, un utente del forum underground “BreachForums” ha pubblicato un annuncio riguardante la presunta vendita di accessi a caselle di posta elettronica appartenenti al Mi...
Negli Stati Uniti è stata individuata una nuova frode: i criminali inviano false richieste di riscatto via posta per conto del gruppo BianLian. Le buste indicano che il mittente è “BI...
I team Managed XDR e Incident Response di Trend Micro hanno recentemente scoperto campagne coordinate dai gruppi ransomware Black Basta e Cactus che utilizzano una variante condivisa del malware BackC...
La società Broadcom ha rilasciato aggiornamenti di sicurezza per risolvere tre vulnerabilità attivamente sfruttate nei prodotti VMware ESXi, Workstation e Fusion che potrebbero causare ...
Il ransomware continua a rappresentare una delle minacce più pervasive e dannose nel panorama della cybersecurity globale. Secondo il report “DarkMirror” di DarkLab, relativo al sec...
Copyright @ REDHOTCYBER Srl
PIVA 17898011006