PXS_installer.sh – l’installatore PTK indipendente

novembre 21st, 2008

installatoreNei giorni scorsi ho dedicato un po’ di tempo alla realizzazione di uno script che semplificasse l’installazione di PTK su macchine con sistema operativo Ubuntu (e derivate).
Il desiderio era quello di fornire un metodo semplice, alla portata di chiunque, per avere PTK funzionante sulla propria macchina.
In realtà i passi per ottenere una installazione funzionante del tool di DFLabs sono riportati sulle pagine web del prodotto, nella sezione dedicata ai “practice cases” , dove viene proposta sia l’installazione con Apache+MySql+Php sempre attivi, che con XAMPP, il pacchetto stand-alone preconfigurato, avviabile e stoppabile con estrema semplicità.

Si trattava più che altro di rendere meno tedioso controllare la presenza dei singoli pacchetti ed installarli, se necessario, con un occhio di riguardo all’esigenza di rendere i formati AFF ed EWF leggibili dallo SleuthKit.

Lo script bash è di per se estremamente semplice, dando un occhiata ai sorgenti si comprende tutto con facilità.
Ma vediamone brevemente il funzionamento analizzando insieme il log dell’attività di shell.
Dopo aver dato allo script i diritti di esecuzione (chmod + x PXS_installer.sh) ed averlo lanciato da sudo (sudo ./PXS_installer.sh) si viene accolti dalle prime righe di presentazione

Osservando il codice si noterà che la presenza di connettività viene verificata non solo attraverso il ping, ma anche attraverso l’esecuzione di un comando whois.
Ho adottato questo escamotage perchè con alcune tipologie di connessioni, ad esempio con il cellulare con l’opzione naviga.tre di H3G, il ping non funziona.
Viene quindi verificato se il repository Universe è abilitato per poter effettuare il download dei pacchetti forensi (dcfldd, foremost, ecc…), nel caso non lo sia si provvede in tal senso, abilitando
deb http://archive.ubuntu.com/ubuntu $NAME universe
dove la variabile $NAME corrisponde alla versione di Ubuntu in uso. Viene quindi effettuato l’update della lista di pacchetti disponibili.

A questo punto lo script chiede all’utente se parte dei pacchetti sono già stati scaricati, in caso affermativo gli si deve indicare il percorso della directory in cui questi sono contenuti, in modo che li copi nella propria directory di lavoro (/tmp).

Ho adottato questa soluzione in modo da consentire l’installazione di PTK anche su macchine dotate di connessione lenta, o limitata.
Se ad esempio si vuole utilizzare il cellulare con opzione naviga.tre (non si tratta di pubblicità, semplicemente è quanto utilizzo io quando l’adsl non è disponibile) si ha un limite di 50 MB al giorno (sottoscrivendo l’opzione mensilmente, 100MB se la si sottoscrive settimanalmente). Gran parte di questi MB verrebbero consumati dal download del solo XAMPP (oltre 40 MB), senza contare il tempo che si impiegherebbe.
Il mio consiglio è quindi di scaricare via ADSL, quando se ne ha l’occasione, i seguenti pacchetti:

memorizzandoli su un supporto rimovibile in modo da poterli poi “passare” allo script eseguito anche su macchine con connessione lenta.
In tal modo rimarrà da scaricare una quantità di pacchetti limitata e di piccole dimensioni, con un consumo che si attesta al di sotto dei 5 MB.

A questo punto lo script verifica la presenza di alcuni pacchetti (g++, zlib, libssl-dev, uuid-dev) necessari all’installazione dei sorgenti “forensi” indispensabili al funzionamento di PTK e se non li rileva installati procede a tal fine.

Si prosegue quindi verificando la presenza di LibEwf, AffLib e SleuthKit, installandoli se non presenti.
Compariranno in output solo eventuali errori e warning dei comandi configure, make e make install.
L’output del comando ./configure, per tutti e tre questi pacchetti viene inserito nel file di log /tmp/PXS_log.txt, al fine di consentire l’individuazione delle cause di possibili malfunzionamenti.

Le LibEwf sono installate prima delle AffLib, in quanto durante la configurazione di queste ultime viene ricercata la presenza delle prime.
Nel caso lo SleuthKit risulti installato, viene verificato se si tratta di una versione inferiore alla 3.0.0. In tale eventualità si procede alla rimozione del pacchetto ed all’installazione della versione più aggiornata.
Terminata l’installazione dello SleuthKit si evidenzia, attraverso l’esecuzione del comando

#fls -i list

le tipologie di immagini/formati supportate dal tool di Carrier.

Sfortunatamente ed incomprensibilmente non mi è riuscito di reindirizzare tale output nel file di log. Sebbene l’operazione mi riesca da riga di comando, integrando il tutto nello script non ottengo lo stesso risultato.

Lo script prosegue quindi con l’installazione (se non presenti) dei pacchetti forensi (dcfldd, foremsot, scalpel, ecc..) recuperandoli dal repository Universe.

Al termine di questa parte si ha il download di tre icone che verranno utilizzate per l’inserimento nel menù di Gnome (Applicazioni>>Altro) di tre pulsanti relativi all’avvio ed allo stop di XAMPP ed al lancio di PTK (Firefox all’url locale opportuno) e del pacchetto di XAMPP.
Quest’ultimo rappresenta una nota dolente, in quanto il server risponde con una lentezza veramente esasperante, può capitare di restare diversi minuti in attesa che il download inizi e trattandosi di oltre 40 MB impiega comunque qualche minuto.
Una volta scaricato il tarball, questo viene scompattato e spostato nella directory opportuna.

È quindi la volta di PTK che dopo essere stato scaricato e correttamente posizionato riceve l’assegnazione dei permessi necessari (chmod 777), come indicato nel tutorial precedentemente linkato.

Si provvede quindi a impostare nel file php.ini di XAMPP le seguenti stringhe:

XAMPP attiva sulla macchina, nella quale viene eseguito, i server Apache, MySql ed Ftp, che vengono gestiti attraverso una interfaccia web.
La configurazione e gestione di tali servizi deve naturalmente essere tutelata attraverso minime policy di sicurezza, quali la configurazione di password per alcuni utenti. Se vengono lasciate le credenziali di default, note a tutti, si rischia di lasciare la macchina in balia del primo furbacchione.

Lo script provvede quindi a lanciare il comando

# /opt/lamp/lamp security

attraverso il quale avvengono le configurazioni di sicurezza.
Bisogna porre attenzione al settaggio della password di root per MySql (evidenziata in rosso nell’immagine sottostante), che di default è vuota. Questa password ci verrà successivamente richiesta durante la configurazione di PTK, quindi è bene ricordarsela!!
Inoltre alla domanda se si desidera inibire l’accesso via rete a MySql (evidenziato in verde) bisogna rispondere NO, altrimenti PTK non riuscirà a colloquiare con il data base.

Nel caso si siano commessi errori e si desideri ripetere tali configurazioni è sufficiente lanciare da sudo in un altro terminale, il comando “/opt/lamp/lamp security”, ponendo attenzione affinché XAMPP sia avviato.
Potrebbe quindi convenire disattivarlo (sudo /opt/lampp/lampp stop), riavviarlo (sudo /opt/lampp/lampp start) e ripetere la configurazione di sicurezza (sudo   /opt/lamp/lamp security).

Siamo così giunti al termine dell’installazione!

Lo script indica la posizione del file di log (ecco un esempio),  invita l’utente a completare la configurazione di PTK aprendo il browser all’indirizzo http://127.0.0.1/ptk e gli ricorda che successivamente potrà operare con XAMPP e PTK direttamente dal menù di Gnome.
Aprendo il browser all’indirizzo indicato si viene accolti dalla pagine di configurazione di PTK

nella quale inserire la password per l’utente root di MySql (vedasi le righe precedenti relative alle impostazioni di sicurezza di XAMPP) e settare le credenziali di acceso per la gestione di PTK.
Terminate tali operazioni, se tutto è andato a buon fine, si viene accolti dalla pagine riepilogativa, che ci informa della corretta installazione di PTK !!

Lo screenshot che precede queste righe e quello che le segue sono il risultato di una installazione di PTK, con questo script, su un sistema live-cd standard Ubuntu 8.10 :-D

Come ho accennato sopra, lo script creerà i lanciatori nel menù di Gnome. Sebbene questi siano configurati correttamente può capitare che invece di essere visualizzati così

Appaiano con le icone standard (orribili)

Per visualizzare le icone correttamente dovrebbe bastare riavviare la sessione, se ciò non funzionasse è sufficiente agire dal gestore del menù principale (Sistema>>Preferenze), selezionare il lanciatore, tasto destro>>proprietà e cliccare sull’icona. Navigando tra le icone proposte nel percorso standard troverete (correttamente posizionate) quelle da me definite, selezionatele ed il gioco è fatto!

Concludo specificando che questo script è il risultato di un lavoro individuale, non legato a DFLabs. Si tratta di una versione beta, quindi eventuali malfunzionamenti potrebbero essere dovuti alla mancata soddisfazione di talune dipendenze, o all’ordine di installazione non corretto.
Mentre scrivevo questo articolo ho aggiunto qualche riga di output allo script, giusto per rendere più evidente l’esecuzione delle operazioni di installazione dei binari.

PXS_installer sta per “PTK+XAMPP+STK installer”, giusto per non usare nel nome dello script il nome/marchio di prodotti non miei, che sono proprietà delle rispettive aziende/sviluppatori.
Ripeto: si tratta di una versione beta!
Segnalatemi eventuali errori e/o malfunzionamenti e datemi pure consigli sull’ottimizzazione del codice.

PXS_installer.sh lo scaricate dalla pagina ad esso dedicata.

Commenti a webmasterCHICCIOLAdenisfratiPUNTOit

Forensics, Linux, Tools | Comments | Trackback

Leave a Reply

  1.  
  2.  
  3.  
  4. XHTML: You can use these tags: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>
You can keep track of new comments to this post with the comments feed.

Cerca

 

settembre: 2010
L M M G V S D
« ago    
 12345
6789101112
13141516171819
20212223242526
27282930  

Categorie

Blogroll

Feed