Di seguito tutti gli interventi pubblicati sul sito, in ordine cronologico.
Spesso accade di dimenticare tutte le potenzialità ed i tools di Sleuthkit, quindi ho deciso di scrivere una piccola guida veloce per illustrare gli usi più prêt-à-porter di questa utilissima suite di strumenti per la computer forensics, sviluppata da Brian Carrier.
Iniziamo dal disco/immagine
mmls /dev/sdaX o mmls disk.dd
serve a visualizzare le partizioni di un device o di un file immagine, fornendoci in output lo starting sector, molto utile per determinare l'offset di inizio partizione. 'Mmls' è simile a' fdisk-lu 'in Linux con alcune differenze. Vale a dire, che mostra i settori che non sono stati utilizzati in modo tale che questi possono essere usati per cercare dei dati nascosti. Inoltre, fornisce anche il valore della lunghezza delle partizioni in modo che possa essere usato con 'dd' più facilmente per estrarle.
fsstat -f file_system -o offset disk.dd
serve a fornire dati importanti sul file system presente sul dispositivo o file immagine del dispositivo in analisi, compreso un dato particolarmente interessante, ossia il block/cluster size.
ifind -f file_system -o offset -d numero_del_cluster disk.dd
serve a fornire l'i-node appartenente a quel determinato cluster. Il numero del cluster si ricava dall'offset decimale in bytes, che stiamo osservando, diviso la dimensione del cluster/blocco determinata da fsstat. Se troviamo, per esempio, una stringa che inizia all'offset decimale 101345 in un file immagine DD, per ricavare l'i-node effettueremo 101345/dim_cluster.
ffind -f file_system -o offset disk.dd i-node
serve a fornire il nome del file corrispondente all'i-node.
istat -f file system -o offset disk.dd i-node
serve a fornire i metadati relativi al file corrsipondente a quell'i-node.
fls -d -r -p -f file_system -o offset disk.dd
serve a visualizzare i file cancellati, ricorsivamente in tutte le sottocartelle e col percorso completo (-p).
fls -a -l -p -r -f file_system -o offset disk.dd
lista tutti i files non cancellati.
icat -f file_system -o offset -r disk.dd i-node > nomefile.ext
Serve ad esportare il contenuto del file relativo all'i-node su file (nomefile.ext).
sigfind -t file_system disk.dd
Serve a cercare le "firme" che identificano i vari file system, -t list per visualizzare i vari file system supportati.
Altre informazioni preziose sono: http://wiki.sleuthkit.org/index.php?title=FS_Analysis
The SleuthKit Manual: http://wiki.sleuthkit.org/index.php?title=TSK_Tool_Overview
Esempio di come estrarre una stringa da uno spazio non allocato
Normalmente per cercare le stringhe utlizziamo la pipe di comandi:
strings -t d disk.dd | grep -i "abcd" ("-t d" genera l'offset in decimale)
che risulta essere più veloce del comando:
grep -iaob "abcd" disk.dd
-i ignora il maiuscolo/minuscolo; -a tratta il file binario come se fosse testuale; -b stampa il byte offset; -o Mostra solo la parte di linea che coincide con la stringa cercata;
$ mmls disk.dd DOS Partition Table Offset Sector: 0 Units are in 512-byte sectors
Slot Start End Length Description 00: Meta 0000000000 0000000000 0000000001 Primary Tabl 01: ----- 0000000000 0000000062 0000000063 Unallocated 02: 00:00 0000000063 0174000014 0173999952 NTFS (0x07)
Se vogliamo cercare le stringhe nello spazio non allocato di disk.dd e considerando che lo starting sector della partizione sia 63 e che il file system sia NTFS, allora:
1) Estraiamo lo spazio non allocato dal disco blkls -f ntfs -o 63 disk.dd > disk.blkls
2) Estraiamo le stringhe e prendiamo solo quelle che contengono "abcdefg", dal solo spazio non allocato estratto da blkls (disk.blkls) strings -t d disk.blkls | grep -i "abcdefg" per esempio un risultato potrebbe essere: 10389739: abcdefg dove 10389739 è l'offset in bytes
3) Troviamo la dimensione del cluster impostata nel file system: fsstat -f ntfs -o 63 disk.dd <...> CONTENT INFORMATION ---------------------------------- Sector Size: 512 Cluster Size: 1024 Total Cluster Range: 0 - 21749992 Total Sector Range: 0 - 173999950
4) Dividiamo 10389739 per 1024 ed otteniamo il numero 10146 che è il cluster che contiene la stringa "abcdefg", però nel file disk.blkls e non nel file immagine, quindi dobbiamo convertire l'indirizzo del cluster del file immagine disk.blkls in un indirizzo reale del file immagine originale, cioè disk.dd
5) blkcalc -f ntfs -o 63 -u 10146 disk.dd otteniamo 59382 che è l'indirizzo reale del cluster che contiene la stringa cercata.
6) Possiamo visualizzare il cluster usando il comando: blkcat -f ntfs -o 63 disk.dd 59382 | less
7) Adesso cerchiamo l'i-node che ha un pointer al cluster 59382 ifind -f ntfs -o 63 -a -d 59382 disk.dd che ci ritorna il numero 493-128-1 come risultato.
8) Reperiamo informazioni sui metadati che si riferiscono all'i-node 493: istat -f ntfs -o 63 disk.dd 493 <...> $FILE_NAME Attribute Values: Flags: Archive Name: pippo.jpg Parent MFT Entry: 458 Sequence: 122 Allocated Size: 0 Actual Size: 0 Created: Tue Mar 18 15:05:19 2008 File Modified: Tue Mar 18 15:05:19 2008 MFT Modified: Tue Mar 18 15:05:19 2008 Accessed: Tue Mar 18 15:05:19 2008
9) Vediamo se c'è ancora un file associato all'i-node: ffind -f ntfs -o 63 -a disk.dd 493 /Document and Settings/spectra/Documenti/pippo.jpg abbiamo trovato un file che si chiama pippo.jpg.
10) Recuperiamo il file pippo.jpg icat -f ntfs -o 63 -r disk.dd 493 > pippo.jpg
Consideriamo che lo starting sector della partizione sia 63, che disk.dd sia NTFS, tramite il comando icat esportiamo il contenuto del file basandoci sul suo numero di i-node.
Spero che questo piccolo manualetto pratico sia utile a tutti quelli, che come me, cominciano ad avere l'had disk biologico sempre più full 
Nanni Bassetti
Oggi abbiamo rilasciato CAINE 0.5, la Linux live computer forensics distro, realizzata nell'Università di Modena, nella figura del suo project manager Giancarlo Giustini e con tutto il Caine Team:
Giancarlo Giustini, Michele Colajanni, Giordano Lanzi, Nanni Bassetti e Denis Frati.
Le principali novità sono: - WinTaylor, forensic frontend for Windows environment (interfaccia per live analysis da Windows) - New boot option: text mode (boot anche in modalità testuale per le macchine più vecchie) - Ubuntu 8.04 packages updated (tutti i pacchetti aggiornati) - Firefox 3.0.6 - Multi-languages report (report semi-automatico in 5 lingue, Inglese, Francese, Portoghese, Tedesco ed Italiano)
Più altri tools non presenti nelle versioni precedenti.
SITO UFFICIALE 
Di Admin (del 12/02/2009 @ 19:12:53, in Annunci, linkato 2687 volte)
Il giorno 23 Febbraio 2009 si terrà a Bari l' OWASP Day III, un evento nato dalla collaborazione di OWASP Italy con il Centro di Competenza della Regione Puglia (in allegato l'invito ufficiale con tutti i dettagli).
INCONCEPIBILE!
Questa è la parola....ieri ho seguti Annozero e c'era Gioacchino Genchi, il super consulente tecnico dell'inchiesta Why Not, ecc. ecc. Dopo che su Matrix si era visto Mastella, l'ex-ministro della Giustizia, che confondeva il concetto di tabulato con il concetto di intercettazione, ieri si è visto di tutto e di più....per chi l'ha perso si tenga forte sulla sedia, sto per arrivarci.
Genchi dopo aver spiegato mille volte che un CTU o un CTP del PM non può fare le cose di testa propria, ma solo sotto ordine del giudice, ha dovuto pure spiegare che dopo la nomina si diventa automaticamente e per il tempo dell'indagine un ausiliario di Polizia Giudiziaria o quantomeno un pubblico ufficiale pro tempore, ma come mai si devono spiegare queste cose a gente che parla di giustizia, ex ministri (Claudio Martelli), giornalisti, ecc. ?
Ma andiamo alle castronerie più folli, non ricordo che carica ricoprisse, comunque abbastanza importante, ma un tale del Corriere della Sera, all'obiezione di Genchi all'accusa di conservare i dati delle sue perizie, spiegando che servirebbe uno spazio ingente per lo stoccaggio, il tipo ribatte dicendo: "suvvia, lo sanno tutti che oggi ci sono le chiavette ed i dischetti...."
ORRORE!
Ma adesso arriva la bomba, alla fine della trasmissione Claudio Martelli, chiede a Genchi, chi lui fosse, nel senso come mai un privato cittadino, può diventare CT di un PM e fare quel lavoro, quando gli spiegano che in Italia è così da sempre, che è la legge, che i PM possono richiedere una perizia a chiunque, se lo reputano competente in materia, Martelli rimane allibito e sentenzia:
"Ma allora bisogna cambiare la legge"......
DE PROFUNDIS.....ORRORE E ORRORE.....
un ex ministro di Grazie e Giustizia della Repubblica Italiana, che scopre solo oggi, nel 2009, come funziona la Giustizia italiana, scopre solo oggi che cosa sono i consulenti tecnici, è dovuto interventire Marco Travaglio a spiegargli, che se c'è un procedimento su una lesione biologica, è chiaro che il giudice deve nominare un esperto in medicina, mica può sapere cose simili, dato che un giudice è in genere laureato in giurisprudenza...
Chissà perchè, ma una vocina mi dice che se Genchi fosse stato un CT, medico, ingegnere, psicologo, ecc. Martelli non si sarebbe mai posto il problema, ma quando entra in ballo la tecnologia, ecco che tutti cascano, non capiscono più niente e non sanno più niente...come faremo ad andare avanti in queste condizioni?
Emigriamo tutti a Bora Bora?
Di Admin (del 04/02/2009 @ 08:17:22, in Annunci, linkato 2420 volte)
Segnalo l'egregio lavoro effettuato da Gianni Amato e Davide Baglieri
http://www.gianniamato.it/2009/02/whoishimcom-un-solo-link-per-trovarti.html
NON è un meta-motore di ricerca, nel senso più conosciuto, infatti WhoIsHim, non si occupa di cercare qualcuno per nome e cognome, su tutto il web e tirar fuori i risultati, ma cerca sui più importnati motori e communities online, in seguito l'utente, assegna un voto di bookmarking alla risorsa che ha soddisfatto meglio le sue aspettative....
Tramite un algoritmo particolare, ci sarà un rating, che assegnerà, mediante codice cromatico (grigio, giallo e verde), la rilevanza statistica che un certo sito/community/motore soddisfa meglio, secondo gli utenti che hanno cercato una determinata persona.
I punti di forza sono evidenti, è uno strumento molto utile per chi fa scouting su qualcuno, usando il web, per reperire informazioni, farsi un'idea e magari un inizio di profiling, sulla persona target.
Il punto debole è rappresentato dall'improbabile accumulazione di voti di bookmarking, per singolo nome e cognome, visto che difficilmente ci saranno più ricerche effettuate da più utenti nel mondo, su di uno stesso nome, a meno di casi famosi....
Conclusioni: bravi ragazzi! Good Job! 
Premetto che quest'articolo è solo a fini didattici, detto questo possiamo iniziare a parlare di come approntare il nostro netbook Samsung NC 10 per il wep cracking.
Primo step (Linux onboard):
Installare Linux Ubuntu o Kubuntu su una partizione libera oppure tramite Wubi, quest'ultimo sistema, vi permette di installare Linux direttamente da Windows, evitando così tutti i problemi di partizionamento ed una volta installato, al reboot del computer, avrete la doppia scelta Windows o Linux.
Secondo step (installiamo i driver MadWifi):
Facciamo il boot da Linux. Installiamo i drivers wireless per Linux: bisogna installare il pacchetto build-essential e compilare i driver madwifi ed i madwifi-tools (sudo apt-get install madwifi-tools), ma occorre disabilitiare i driver con restrizioni che riconoscono la scheda ma non le permettono di funzionare: Sistema>Amministrazione>Driver Hardware e cliccare sul tasto Disattiva in basso a destra, quindi riavviare il sistema. Dopo queste operazioni, scarichiamo gli ultimi driver madwifi da qui, ed estraiamoli sul Desktop, apriamo un terminale e digitiamo: sudo apt-get install build-essential, che è il pacchetto contenente i software necessari alla compilazione dei driver, quindi sempre da terminale, si passerà alla compilazione dei drivers: cd Scrivania/madwifi-hal* (se abbiamo scompattato i drivers sul Desktop) sudo make sudo make install sudo modprobe ath_pci
Per far sì che i drivers siano caricati automaticamente all’avvio. sudo gedit /etc/modules o sudo kate /etc/modules e in fondo al file, aggiungiamo: ath_pci salviamo e riavviamo. Al riavvio successivo, la scheda wireless dovrebbe essere visibile e configurabile cliccando sull’icona di Network Manager nel tray, oppure, vi consiglio di usare WiCd e disinstallare il Networtk Manager. (Nota personale: dopo tutta questa procedura, ho pure ripristinato i driver con restrizioni e tutto funziona)
Terzo Step (armiamo il sistema):
Scarichiamo la suite Aircrack-ng da Installa pacchetti o da terminal windows digitando:
sudo apt-get install aircrack-ng
Dopo quest'operazione digitiamo in terminal window il comando:... Continua a leggere...
Ecco l'evoluzione di MultiFat, questo script permette di trovare vari file system annidati, di tipo FAT12, FAT16,FAT32, NTFS e EXT2/3 ;)
Si lancia così sh multifs.sh fat disco.dd oppure /dev/sdx; per NTFS: sh multifs.sh ntfs disco.dd, per ext2: multifs.sh ext2 disco.dd per ext3: multifs.sh ext3 disco.dd
#!/bin/bash # MultiFS detector and extractor by Nanni Bassetti - Blog: http://www.nannibassetti.com/dblog WEB Site: http://www.nannibassetti.com # It can detect and extract hidden file systems and partitions from the mass memory support. # It runs in this way e.g.: sh multifs.sh fat disk.dd or multifs.sh fat /dev/sda # It works only on ntfs,fat12,fat16,fat32, ext2,ext3. # Important things: # FATx: sector size; bytes 11-12 # ext2/3: Block size (saved as the number of places to shift 1,024 to the left); bytes 24-27 # NTFS: sector size bytes; from 11 to 12 # ReiserFs: sector size bytes; 12-13
file=$2 # file or dev fs=$1 # file system date # looking for the signatures sigfind -t $fs $file > sigs.txt # FAT case if [ "$fs" = "fat" ] then # taking only the sectors for i in $(cat sigs.txt | awk -F "Block:" '{print $2}'|awk '{print $1}') do offset=$(( $i*512 )) j=$(( j+1 )) # controlling the word "FAT" inside the target partition fat_flag=$(xxd -s $offset -l 512 $file| grep -i FAT) if [ "$fat_flag" ] then # looking for the sector size start_bs=$(echo $offset + 11 | bc) xxd -s $start_bs -l 2 $file | awk -F ":" '{print $2}' | xxd -p -r >bs.bin #converting in big endian dd if=bs.bin of=b1 skip=1 count=1 bs=1c dd if=bs.bin of=b2 skip=0 count=1 bs=1c cat b1 b2 > bs.dat rm b1 rm b2 rm bs.bin #calculating the sector size length lenbs=$(cat bs.dat|xxd -p | tr [:lower:] [:upper:]) # converting in decimal bs=$(echo "obase=10; ibase=16; $lenbs" | bc) # check if byte 32-35 are 0 then the fat type is fat12 start_byte_fat_len=$(echo $offset + 32 | bc) check_fat12=$(xxd -s $start_byte_fat_len -l 4 $file | awk -F ":" '{print $2}' | xxd -p -r) if [ ! "$check_fat12" ] then echo "File System chosen: FAT12" start_byte_fat_len=$(echo $offset + 19 | bc) # extracting bytes 19-20 from FAT xxd -s $start_byte_fat_len -l 2 $file | awk -F ":" '{print $2}' | xxd -p -r >lung.bin #converting in big endian dd if=lung.bin of=l1 skip=1 count=1 bs=1c dd if=lung.bin of=l2 skip=0 count=1 bs=1c cat l1 l2 > l.dat rm l1 rm l2 rm lung.bin #calculating the partition length len=$(cat l.dat|xxd -p | tr [:lower:] [:upper:]) # converting in decimal len2=$(echo "obase=10; ibase=16; $len" | bc) dd if=$file of=hidden$j.dd skip=$i count=$len2 bs=$bs rm l.dat ls -l *.dd else echo "File System chosen: $fs" echo "Sector size: "$bs start_byte_fat_len=$(echo $offset + 32 | bc) # extracting bytes 32-35 from FAT xxd -s $start_byte_fat_len -l 4 $file | awk -F ":" '{print $2}' | xxd -p -r >lung.bin #converting in big endian dd if=lung.bin of=l1 skip=3 count=1 bs=1c dd if=lung.bin of=l2 skip=2 count=1 bs=1c dd if=lung.bin of=l3 skip=1 count=1 bs=1c dd if=lung.bin of=l4 skip=0 count=1 bs=1c cat l1 l2 l3 l4 > l.dat rm l1 rm l2 rm l3 rm l4 rm lung.bin #calculating the partition length len=$(cat l.dat|xxd -p | tr [:lower:] [:upper:]) # converting in decimal len2=$(echo "obase=10; ibase=16; $len" | bc) dd if=$file of=hidden$j.dd skip=$i count=$len2 bs=$bs rm l.dat ls -l *.dd fi # end check FAT12 fi # end check if there is the FAT word done echo "File System chosen: $fs" echo "Sector size: "$bs fi # end check if fs is FAT type
# NTFS CASE if [ "$fs" = "ntfs" ] then
# taking only the sectors for i in $(cat sigs.txt | awk -F "Block:" '{print $2}'|awk '{print $1}') do offset=$(( $i*512 )) j=$(( j+1 ))
# controlling the word "NTFS" inside the target partition fat_flag=$(xxd -s $offset -l 512 $file| grep -i ntfs) if [ "$fat_flag" ] then # looking for the sector size start_bs=$(echo $offset + 11 | bc) xxd -s $start_bs -l 2 $file | awk -F ":" '{print $2}' | xxd -p -r >bs.bin #converting in big endian dd if=bs.bin of=b1 skip=1 count=1 bs=1c dd if=bs.bin of=b2 skip=0 count=1 bs=1c cat b1 b2 > bs.dat rm b1 rm b2 rm bs.bin #calculating the sector size length lenbs=$(cat bs.dat|xxd -p | tr [:lower:] [:upper:]) # converting in decimal bs=$(echo "obase=10; ibase=16; $lenbs" | bc) echo "File System chosen: $fs" echo "Sector size: "$bs # extracting bytes 40-47 from the NTFS boot sector start_byte_fat_len=$(echo $offset + 40 | bc) xxd -s $start_byte_fat_len -l 8 $file | awk -F ":" '{print $2}' | xxd -p -r >lung.bin #converting in big endian dd if=lung.bin of=l1 skip=7 count=1 bs=1c dd if=lung.bin of=l2 skip=6 count=1 bs=1c dd if=lung.bin of=l3 skip=5 count=1 bs=1c dd if=lung.bin of=l4 skip=4 count=1 bs=1c dd if=lung.bin of=l5 skip=3 count=1 bs=1c dd if=lung.bin of=l6 skip=2 count=1 bs=1c dd if=lung.bin of=l7 skip=1 count=1 bs=1c dd if=lung.bin of=l8 skip=0 count=1 bs=1c cat l1 l2 l3 l4 l5 l6 l7 l8> l.dat rm l1 rm l2 rm l3 rm l4 rm l5 rm l6 rm l7 rm l8 rm lung.bin #calculating the partition length len=$(cat l.dat|xxd -p | tr [:lower:] [:upper:]) # converting in decimal len2=$(echo "obase=10; ibase=16; $len" | bc) dd if=$file of=hidden$j.dd skip=$i count=$len2 bs=$bs rm l.dat fi done ls -l *.dd echo "File System chosen: $fs" echo "Sector size: "$bs fi
# ext2/3 case (please test it!) if [ "$fs" = "ext2" ] || [ "$fs" = "ext3" ] then # taking only the sectors for i in $(cat sigs.txt | awk -F "Block:" '{print $2}'|awk '{print $1}') do offset=$(( $i*512 )) j=$(( j+1 ))
# looking for the blocks size start_bs=$(echo $offset + 24 | bc) xxd -s $start_bs -l 4 $file | awk -F ":" '{print $2}' | xxd -p -r >bs.bin #converting in big endian dd if=bs.bin of=b1 skip=3 count=1 bs=1c dd if=bs.bin of=b2 skip=2 count=1 bs=1c dd if=bs.bin of=b3 skip=1 count=1 bs=1c dd if=bs.bin of=b4 skip=0 count=1 bs=1c cat b1 b2 b3 b4 > bs.dat rm b1 rm b2 rm b3 rm b4 rm bs.bin #calculating the sector size length lenbs=$(cat bs.dat|xxd -p | tr [:lower:] [:upper:]) # converting in decimal lenbs2=$(echo "obase=10; ibase=16; $lenbs" | bc) #Block size (saved as the number of places to shift 1,024 to the left) # "<<" is the left shift bitwise operator bs=$[ "1024 << $lenbs2" ] echo "File System chosen: $fs" echo "Sector size: "$bs echo $start_byte_fat_len # extracting bytes 4-7 from the EXT Superblock start_byte_fat_len=$(echo $offset + 4 | bc) xxd -s $start_byte_fat_len -l 4 $file | awk -F ":" '{print $2}' | xxd -p -r >lung.bin #converting in big endian dd if=lung.bin of=l1 skip=3 count=1 bs=1c dd if=lung.bin of=l2 skip=2 count=1 bs=1c dd if=lung.bin of=l3 skip=1 count=1 bs=1c dd if=lung.bin of=l4 skip=0 count=1 bs=1c
cat l1 l2 l3 l4 > l.dat rm l1 rm l2 rm l3 rm l4 rm lung.bin #calculating the partition length len=$(cat l.dat|xxd -p | tr [:lower:] [:upper:]) # converting in decimal len2=$(echo "obase=10; ibase=16; $len" | bc) # $(($i-2)) because it starts 2 sectors before the signature dd if=$file of=hidden$j.dd skip=$(($i-2)) count=$len2 bs=$bs rm l.dat rm bs.dat done ls -l *.dd echo "File System chosen: $fs" echo "Sector size: "$bs fi
date exit
Click here to DOWNLOAD
Dall'esercizio proposto da Mario Pascucci (QUI), mi è venuta l'ispirazione per scrivere questo scriptino, che non fa altro che cercare, tramite sigfind, le signature 55AA delle partizioni FATx, e poi dagli offset, ricavati dalla moltiplicazione del numero di settore, trovato da sigfind, per 512 bytes, ricava il valore dei byte 32,33,34,35 delle FATx trovate e li converte in Big Endian, per poi calcolare la lunghezza totale della partizione in settori. Infine, crea tutte le immagini dd contenenti le possibili partizioni nascoste.
Sicuramente è grezzo, però abbastanza veloce, su 2Gb di pen-drive con tre strati, ci ha messo poco più di 20 minuti.
Mi piacerebbe renderlo multi File System, ma c'è da studiarsi bene i bytes che contengono i total sectors, dei vari file systems....e poi si potrebbe espanderlo con più features...comunque è un inizio ;)
#!/bin/bash # MultiFat detector by Nanni Bassetti - http://www.nannibassetti.com # It runs in this way: sh multiFat.sh disk.dd fat (e.g.) file=$1 fs=$2 # looking for the signatures date sigfind -t $fs $file > sigs.txt # taking only the sectors for i in $(cat sigs.txt | awk -F "Block:" '{print $2}'|awk '{print $1}') do offset=$(( $i*512 )) j=$(( j+1 )) start_byte_fat_len=$(echo $offset + 32 | bc) # controlling the word "FAT" inside the target partition fat_flag=$(xxd -s $offset -l 512 $file| grep -i FAT) if [ "$fat_flag" ] then # extracting bytes 32-35 from FAT xxd -s $start_byte_fat_len -l 4 $file | awk -F ":" '{print $2}' | xxd -p -r >lung.bin #converting in big endian dd if=lung.bin of=l1 skip=3 count=1 bs=1c dd if=lung.bin of=l2 skip=2 count=1 bs=1c dd if=lung.bin of=l3 skip=1 count=1 bs=1c dd if=lung.bin of=l4 skip=0 count=1 bs=1c cat l1 l2 l3 l4 > l.dat rm l1 rm l2 rm l3 rm l4 rm lung.bin #calculating the partition length len=$(cat l.dat|xxd -p | tr [:lower:] [:upper:]) # converting in decimal len2=$(echo "obase=10; ibase=16; $len" | bc) dd if=$file of=hidden$j.dd skip=$i count=$len2 bs=512 rm l.dat fi done ls -l *.dd date exit
Non scagliate i pomodori...è solo un piccolo esercizio ;) ! (Test sono graditi)
QUI c'è l'evoluzione del programmino...
Il bravo Mario Pascucci ha pubblicato la soluzione al suo test/esercizio di computer forensics QUI :)
Il caro amico Denis Frati ha risolto meglio di tutti i partecipanti...quindi COMPLIMENTI!!!!
Ma vediamo come ho agito io, superficialmente e non dedicandomi a fondo, peccato, ma quando c'è agonismo mi faccio prendere dalla fretta , un difetto che mi porto dietro da quando ero piccolo, mi sa che mi converrebbe un corso di Yoga 
Ok, vediamo le mie soluzioni:
Lancio FTK Imager da Windows è vedo subito che: La partizione visibile si chiama: data-hide seriale 48FD-A890 img_0085.jpg img_0090.jpg img_0112.jpg img_0133.jpg linux_virus.pdf ... Continua a leggere...
Non so perchè, ma mi sono dedicato all'evoluzione di BrutalStego, ho scritto, infatti, un nuovo bash script, che fa realmente una steganografia di un testo, lo cripta in AES256 e lo nasconde in esadecimale nel file vettore.
La cosa che mi interessava era poter criptare il testo, nasconderlo e poterlo rilevare tramite immissione di password, insomma un tool di steganografia reale!
Strumenti usati: grep, awk, dd, bc, wc, xxd, openssl
In sostanza funziona così: si inserisce il nome del file vettore, si inserisce il nome del nuovo file (quello contenente il messaggio segreto), si inserisce il messaggio ed infine si inserisce la password. Dopo questi input, il programmino cripta con OpenSSL in AES256 il messaggio segreto, poi lo converte in esadecimale e lo posiziona all'interno del nuovo file vettore. L'ho testato sulle JPG e sugli MP3 e non si nota alcuna perturbazione. Rilanciando il programmino, si può andare a svelare il messaggio segreto, inserendo il nome del file vettore e la password 
Ecco lo script:... Continua a leggere...
|