Giovanni Bassetti Immagine
 Blog personale di Nanni Bassetti... di Admin
 
"
Un computer sicuro è un computer spento e gettato in fondo al mare, con l'hard disk sbriciolato

N.B.
"
 

\\ Home Page : Articolo
BrutalStego, steganografia semplice ma efficace
Di Admin (del 12/11/2008 @ 07:55:42, in Computer Forensics, linkato 6866 volte)

Per divertirmi mi sono chiesto, cosa succederebbe ad un'immagine JPG o ad un MP3 se inserissi del codice esadecimale o del testo al loro interno, senza un orientamento ben preciso, insomma una steganografia manuale.
Quindi ho deciso di provare a tradurre in esadecimale una frase:

$ echo "ciao mondo! Uffa sempre questa come frase esempio :)" | xxd -p

6369616f206d6f6e646f2120556666612073656d70726520717565737461
20636f6d65206672617365206573656d70696f203a290a

Ottenendo la conversione in esadecimale della frase, poi aprendo con un editor esadecimale una JPG ho provato ad incollare il suddetto codice, partendo dall'offset 11 (in decimale), salvo l'immagine modificata e provo a visualizzarla...tutto ok! L'immagine non presenta alterazioni visibili. :)

Se faccio l'operazione inversa:
$ echo "6369616f206d6f6e646f2120556666612073656d70726520717565737461
20636f6d65206672617365206573656d70696f203a290a" | xxd -r -p
ciao mondo! Uffa sempre questa come frase esempio :)

Quindi ho pensato di automatizzare il procedimento di steganografia ed è nato bsteg.sh che riporto qui:

#!/bin/bash
# BrutalStego - by Nanni Bassetti - http://www.nannibassetti.com -
nannib@libero.it
# a simple steganographic tool for Linux
echo "Insert the message to hide:"
read ms

echo "Insert the file where to hide:"
read fl
echo "Insert the file name of the new file:"
read nfl
echo $ms | xxd -p>steg.bin
len=$(wc -c steg.bin)
dd if=$fl of=temp1.jpg bs=1c count=11
dd if=$fl of=temp2.jpg bs=1c skip=11
cat temp1.jpg steg.bin temp2.jpg > $nfl
len=$(wc -c steg.bin|awk '{print $1 }')
echo "Mesg lenght: "$len" for revealing the hidden message you have to cut from 11 to "$len
echo "dd if="$nfl" bs=1c skip=11 count="$len" | xxd -r -p"
rm temp1.jpg
rm temp2.jpg
rm steg.bin
echo " "
echo " -------------------------- "
echo " "
dd if=$nfl bs=1c skip=11 count=$len status=noxfer | xxd -r -p

Lo script funziona così:
1) Chiede il messaggio da nascondere
2) Chiede il nome del file si vuol nascondere il messaggio
3) Chiede il NUOVO nome del file alterato (così da non sovrascirvere l'originale)
4) Crea un file "steg.bin" che contiene il messaggio codificato in esadecimale
5) Calcola la lunghezza del file steg.bin
6) Ritaglia la "testa" del file dove si andrà a nascondere il messaggio, la testa è dal byte 0 al byte 11
7) Ritaglia il resto del file dal byte 11 in poi
8) Concatena e salva nel file nuovo i pezzi: testa + steg.bin + restante_del_file
9) A video ci dice qual'è la lunghezza del messaggio codificato e ci mostra la decodifica, per dimostrare che tutto è andato bene.

Alla fine, a qualcuno basterebbe avere la lunghezza del messaggio codificato es. "112" e sapendo che deve cominciare dal byte 11, con un semplice editor esadecimale o con un dd dovrebbe tagliare la parte da 11 a 112 del file per ottenere il messaggio originale.

Testato su JPG e MP3 e tutto funziona benissimo....chiaramente ci si può sbizzarrire parametrizzando anche il punto di partenza, che non deve essere necessariamente 11.
Un esempio per passare la lunghezza all'amico che dovrà decodificare il messaggio?

"Ciao, ma con tutto il casino che hai combinato ieri dovevamo chiamare il 112? : - D"

Facile no? ;)
L'evoluzione di BrutalStego la trovi cliccando QUI!

Articolo Articolo  Storico Storico Stampa Stampa
Ci sono 1124 persone collegate

< aprile 2025 >
L
M
M
G
V
S
D
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
       
             

Cerca per parola chiave
 

Titolo
Annunci (68)
CHI SONO (4)
Computer Forensics (108)
SICUREZZA INFORMATICA (7)
TuttoStorto (16)

Catalogati per mese:
Marzo 2018
Aprile 2018
Maggio 2018
Giugno 2018
Luglio 2018
Agosto 2018
Settembre 2018
Ottobre 2018
Novembre 2018
Dicembre 2018
Gennaio 2019
Febbraio 2019
Marzo 2019
Aprile 2019
Maggio 2019
Giugno 2019
Luglio 2019
Agosto 2019
Settembre 2019
Ottobre 2019
Novembre 2019
Dicembre 2019
Gennaio 2020
Febbraio 2020
Marzo 2020
Aprile 2020
Maggio 2020
Giugno 2020
Luglio 2020
Agosto 2020
Settembre 2020
Ottobre 2020
Novembre 2020
Dicembre 2020
Gennaio 2021
Febbraio 2021
Marzo 2021
Aprile 2021
Maggio 2021
Giugno 2021
Luglio 2021
Agosto 2021
Settembre 2021
Ottobre 2021
Novembre 2021
Dicembre 2021
Gennaio 2022
Febbraio 2022
Marzo 2022
Aprile 2022
Maggio 2022
Giugno 2022
Luglio 2022
Agosto 2022
Settembre 2022
Ottobre 2022
Novembre 2022
Dicembre 2022
Gennaio 2023
Febbraio 2023
Marzo 2023
Aprile 2023
Maggio 2023
Giugno 2023
Luglio 2023
Agosto 2023
Settembre 2023
Ottobre 2023
Novembre 2023
Dicembre 2023
Gennaio 2024
Febbraio 2024
Marzo 2024
Aprile 2024
Maggio 2024
Giugno 2024
Luglio 2024
Agosto 2024
Settembre 2024
Ottobre 2024
Novembre 2024
Dicembre 2024
Gennaio 2025
Febbraio 2025
Marzo 2025
Aprile 2025

Gli interventi più cliccati






23/04/2025 @ 13:50:44
script eseguito in 29 ms