Press "Enter" to skip to content

Maltego: creiamo una custom entity adatta alla nostre esigenze

Last updated on 15 Dicembre 2019

7 min read

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 😀

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

Print Friendly, PDF & Email