Maltego è uno strumento strepitoso per la raccolta di dati dalla rete.

Le sue funzionalità di raccolta e correlazione dati lo rendono uno dei migliori strumenti (a basso costo) sulla piazza per chiunque abbia bisogno di fare ricerche su fonti aperte e non.

Quello che si nota quando
lo si utilizza un po’ più frequentemente è la necessità di crearsi delle Entity
adatte per le proprie investigazioni, specie per chi opera nel teatro italiano.

Questo piccolo tutorial si focalizza sulla creazione di una Dead End Entity "Codice Fiscale”: un’entità insomma che sia la rappresentazione del Codice Fiscale italiano e che, per il momento, non sia collegata a nessuna transform.

Avviare il New Entity Wizard

Per avviare il New Entity Wizard Seleziona la tab Entities e segui le istruzioni indicate nell'immagine seguente

Nella prima scheda del New Entity Wizard hai la possibilità di configurare buona parte dei dati della tua nuova Entity:

Scegliere l'icona adatta

Il prossimo passo è
scegliere un’icona che rappresenti l’entity. Per questo tutorial partiremo dal
presupposto che tu abbiamo deciso di caricarne una tua e non di usare quelle
già presenti in Maltego.

In questa schermata dell’Icon
Manager
puoi iniziare la procedura per installare la tua icona.

In questa finestra poi
cercare e caricare l’icona che intendi utilizzare.

Ora puoi scegliere in che
categoria inserire la tua icona. In questo caso prenderemo Custom.

Premi Close per
terminare la procedura di importazione dell’icona.

Ora puoi scegliere l’icona
appena caricata (ricorda che sarà inserita come ultima del gruppo che hai
scelto).

Impostare la Proprietà principale dell'Entity

Passa ora a personalizzare le voci riguardi la proprietà principale di questa entity.

Ricorda che la Main Property sarà quella che molto probabilmente verrà visualizzata nella Palette e nel grafo.

Nello Step 3 ti è possibile aggiungere ulteriori proprietà secondarie (es. Nome, Cognome, data di nascita, sesso, ecc.).

In questo tutorial NON ne aggiungeremo altre.

Nello STEP 4 in realtà si possono fare un sacco di cose interessanti. Per questa prima volta lascia tutto così.

Nello Step seguente, al punto 3, ti farò inserire una espressione regolare.

Grazie alla loro implementazione in Maltego, è possibile fare in modo che il tuo client riconosca più facilmente il dato che stai aggiungendo tramite Copia/Incolla al grafo.

In questo esempio ho utilizzato questa espressione molto semplice, in grado di riconoscere solo i codici fiscali scritti in minuscolo:

^[a-z]{6}[0-9]{2}[a-z][0-9]{2}[a-z][0-9]{3}[a-z]$

Ti suggerisco piuttosto di
adottare questa:

[a-zA-Z]{6}[0-9]{2}[abcdehlmprstABCDEHLMPRST]{1}[0-9]{2}([a-zA-Z]{1}[0-9]{3})[a-zA-Z]{1}$

Hai ora terminato il processo di creazione dell’entity.

Check finale

Controlliamo se l'entity che hai creato è presente nella Palette:

Per testare in funzionamento
dell’espressione regolare, copia e incolla questo codice fiscale in un grafo
vuoto:

rsslsn99b26g914v

Se tutto è andato come
sarebbe dovuto andare, dovresti aver ottenuto un risultato simile a questo:

Prova a fare un altro test con questo codice fiscale

MRAPPA89P41L219X

Ultime considerazioni

Come anticipato con questo tutorial hai creato una entity definita dead end che torna utile alle tue esigenze (ad esempio devi solo rappresentare delle informazioni che hai già nel grafo o il codice fiscale è il risultato finale di una transform).

Ci sono altri casi in cui questa "limitazione" deve essere superata e devi progettare come rendere "compatibili" le tue entity con le trasformate già presenti. Prova ad immaginare ad esempio di voler importare in un grafo i dati prodotti da uno script come harpoon ed arricchirli con le trasform di SocialNet.

Sarebbe tutto più facile se le entity che ti sei personalizzato fossero già compatibili con quelle di Socialnet.

Pensandoci sopra... forse è il caso di dedicare qualche post sulla modellazione e normalizzazione dei dati data l'importanza di questo argomento. Magari Convinco @zarathustra a scrivere qualcosa in merito :D

Note finali

  • Le espressioni regolari utilizzate in questo esempio non fanno alcun controllo di coerenza dell'informazione inserita: i dati contenuti nel codice fiscale potrebbero essere errati e non concordare con il valore finale di controllo ma rientrare nei parametri dell'espressione regolare. Per cercare di mitigare questo problema si potrebbe utilizzare anche un’espressione regolare più complessa, come ad esempio quella presente alla fine di questo post, per verificare la coerenza dell'informazione ed una transform ad hoc per un controllo con il sito dell’AdE.

  • Durante l’ultimo corso dedicato alle FF.OO che ho tenuto su Maltego è emersa nuovamente l'eventualità che una stringa possa rientrare nel range dell'espressione regolare di più entity. Riteniamo che in questo caso venga presa in considerazione l’entity che è stata installa per prima, ignorando le eventuali altre entity installate dopo.

È comunque possibile indicare a Maltego il tipo di entity che deve utilizzare nel classificare il dato che stiamo inserendo facendo precedere al dato stesso il tipo di entity che deve essere utilizzata:

 maltego.Alias#Signor Lupo

Tags:
VM for Osint
Sandro Rossetti
Post by Sandro Rossetti
December 18, 2019
Sandro is interested in CTI and Osint by day, reads and blogs by night. He lives and works in Rome. He is the one with a fixation on language (and that says it all!) who corrects and puts his hand to almost every article that is published on this blog.

Comments