Durante ogni attività di ricerca avere una Shell sempre disponibile è molto comodo se poi lo strumento è gratuito tanto meglio. In questo articolo descriverò Google Cloud Shell che è una macchina virtuale Linux gratuita (seppur con i suoi limiti) offerta da Google Cloud accessibile anche dal browser.
Da Amazon EC2…
Quasi due anni fa ho usato il servizio Cloud di Amazon, Amazon Elastic Compute Cloud (Amazon EC2), nella versione free per 12 mesi.
Amazon EC2 permette di creare una VM con caratteristiche differenti: OS, CPU, RAM, Storage ecc..
Nel mio caso, usufruendo di una versione gratuita, avevo poca scelta e quindi optai per un OS Linux, e precisamente per una distribuzione Kali Linux con 1GB di RAM. L’istanza aveva delle prestazioni base ma era sufficiente a far girare script o framework per coadiuvare l’attivita di Information Gathering.
Il tutto era molto comodo perché potevo accedere da quasi ovunque a questa VM avendo a disposizione in ogni momento i tool che mi servivano.
Il periodo di 12 mesi finì e dovetti smettere di usare questo tipo di risorsa in quanto Amazon avrebbe prelevato i soldi dalla carta di credito, inserita in fase di registrazione, per continuare ad usare la VM. … Eh si, avete letto bene, Amazon (come altri!) esige una carta di credito per la registrazione nel Cloud!
…a Google Cloud Shell
Alcuni giorni fa l’utente @Antonio29736641 mi ha mostrato come si poteva usare Google Cloud Shell (che in seguito abbrevierò con GCS) per eseguire alcuni script.
Appofondendo l’argomento, ho scoperto che Google, rispetto ai competitor permette di accedere alla Shell in maniera gratuita e solamente mediante l’account Google.
GCS: com’è e come funziona.
Quando si avvia una GCS si configura una macchina virtuale che presenta un sistema operativo basato su Debian.
GCS fornisce anche 5 GB di spazio di archiviazione su disco gratuito montato sull’istanza della macchina virtuale. Questo spazio di archiviazione dedicato ad un singolo utente, è condiviso per tutti i progetti e non scade in caso di inattività. È inoltre possibile aggiungere dei software, come vedremo più avanti, sull’istanza della macchina virtuale che saranno sempre disponibili se installati nella directory $HOME o in un ambiente personalizzato. E’ infatti possibile creare un Workspace, “il tuo spazio di lavoro”, per assicurarti che la tua VM includa i tuoi strumenti preferiti.
Se non hai bisogno di usare lo spazio di archiviazione permanente, puoi scegliere di utilizzare GCS in modalità temporanea Ephemeral mode. In tale modalità puoi iniziare a utilizzare Cloud Shell più velocemente ma tutti i file creati verranno persi alla fine della sessione.
E supporta i seguenti linguaggi di programmazione:
GCS è concepito per un utilizzo esclusivamente interattivo. Le sessioni non interattive vengono automaticamente terminate dopo un avviso. L’uso prolungato o i processi di calcolo che utilizzano molte risorse di rete non sono supportati e possono determinare la chiusura della sessione senza preavviso.
Se la sessione viene chiusa o non può essere avviata per il superamento dei limiti di servizio, verrà visualizzato un messaggio di errore in Cloud Shell.
Se non si esegue l’accesso a Cloud Shell per 120 giorni, il disco principale verrà eliminato. Riceverai prima un’email di notifica; ti basterà avviare una sessione per scongiurare la rimozione. La Shell ha un limite di utilizzo settimanale di 50 ore.
Accedere a Cloud Shell
Per accedere alla Shell si dovrà digitare l’URL https://console.cloud.google.com/ ed inserire le informazioni di accesso, quando richieste.
Una volta effettuato l’accesso, il sistema configurerà in automatico un ambiente di lavoro predefinito che non sarà possibile cancellare ne crearne di nuovi. In questo esempio ne ho creato uno nuovo con il nome USERS-EMAIL.
Per eliminare o creare uno Workspace eseguire la facile procedura:
cliccare sull’ambiente di lavoro (1) e successivamente, nel caso volessimo cancellarlo cliccare sul “resource-manager” (2) e scegliere l’eliminazione. Nel caso volessimo crearne uno nuovo, cliccare su “Nuovo Progetto” (3).
Ecco come si presenta il mio Workspace e la Shell:
Nel caso in cui la Cloud Shell non fosse visibile cliccare in alto a destra su “Attiva Cloud Shell“.
Come installare script su Cloud Shell
Per installare alcuni script dovremo prima individuare quelli che sono più equilibrati nell’uso delle risorse al fine di non bloccare la Shell durante l’esecuzione.
Per le mie necessità ho selezionato questi script reperibili su GitHub: hanno varie feature che potrete approfondire direttamente nei link:
https://github.com/iojw/socialscan
https://github.com/megadose/holehe
https://github.com/soxoj/maigret
https://github.com/Rog3rSm1th/Profil3r
https://github.com/HA71/Namechk
https://github.com/sherlock-project/sherlock
https://github.com/WebBreacher/WhatsMyName
Questi script sono stati copiati clonando la repository (eseguendo git clone) ed installando le dipendenze.
Per avere una panoramica di quello che conterrà il vostro Workspace una volta installati tutti i tool vi consiglio di aprire l’editor dall’apposito menù. Una volta attivato sulla sinistra del browser ci saranno l’elenco dei file e delle cartelle presenti nell’ambiente di lavoro che in questo caso saranno gli script Namechk, sherlock e WhatsMyName.
In questo esempio ho avviato lo script Holehe eseguendo la ricognizione di una email usando il comando “holehe mariomario@gmail.com” ed ottenuto questi risultati:
Ripristino Cloud Shell.
Nel caso si voglia riportare la GCS allo stato predefinito è necessario digitare il seguente comando nel terminale:
sudo rm -rf $HOME
Nel menu Cloud Shell faremo clic sull’icona a forma di tre puntini e successivamene su “Restart“.
Per chi ne avesse bisogno GCS dispone di un menù che ci può essere d’aiuto in caso di difficoltà raggiungibile digitando nel terminale cloudshell help.
Conclusioni
La GCS è uno strumento che permette di eseguire degli script e ha la flessibilità di un terminale Linux con Bash, Python ed altro. Google ne permette l’uso gratuito chiedendo solamente l’accesso tramite un suo account. E’ possibile usare Cloud Shell anche su sistemi aziendali chiusi che non prevedono l’uso del terminale se non si hanno requisiti da amministratore.
Come per tutti i sistemi di terze parti dovremo valutare eventuali rischi di condivisione di dati con lo strumento che stiamo utilizzando. In questo caso Google sicuramente non ci farà sconti visto la gratuità dello strumento. I dati estratti potrebbero divulgare informaizoni non solo sull’analista o sulla sua organizzazione di appartenza (IP, Browser, ecc..) ma anche sul target della sua ricerca/indagine.
Eventuali commenti o suggerimenti possono essere inserirti nello spazio sottostante o possono essere inviati su Twitter a Polifemo.
Leave a Reply