GNU/Linux >> Linux Esercitazione >  >> Linux

Steganografia:nascondi i file all'interno delle immagini in Linux

Steganografia è un processo per nascondere un file, un'immagine, un video, un testo all'interno di un altro file. Come accennato in Wikipedia, la steganografia è la combinazione di due parole greche, steganos che significa "coperto, nascosto o protetto" e graphein che significa "scrivere". Le fonti hanno affermato che questo metodo è stato seguito per la prima volta da Histiaeus , un antico re greco, nel 440 a.C. Rasò la testa del suo più fidato servitore e segnò il messaggio segreto sulla sua testa. Dopo che i capelli erano ricresciuti, ha inviato quel servitore a uno dei suoi vassalli per trasmettere il messaggio che contiene alcune informazioni sull'imminente attacco alla Grecia. Ora, nell'era moderna, la steganografia si è evoluta, molto migliorata e ampiamente utilizzata per inviare e ricevere messaggi segreti digitali nascondendoli in altri file. Per maggiori dettagli sulla steganografia, fai riferimento a questo link . Vediamo ora come nascondere i file all'interno delle immagini in Linux.

Disclaimer:

La steganografia è un argomento vasto. Questo tutorial spiega solo come nascondere i file all'interno delle immagini, che è il concetto centrale della steganografia. Per favore, non dare per scontato che questo non possa essere violato da nessun esperto di sicurezza. Il metodo qui descritto è molto semplice, quindi anche un professionista della sicurezza intermedio può facilmente violarlo in un paio d'ore. Questi passaggi descritti di seguito sono puramente a scopo didattico. Non siamo responsabili di alcun tipo di uso improprio.

Nascondi i file all'interno delle immagini in Linux

Possiamo nascondere i file all'interno delle immagini in diversi metodi. Qui ho dato 5 metodi.

Metodo 1

Questo metodo non richiede alcun software aggiuntivo. È sufficiente una conoscenza di base della riga di comando di Linux.

Ho un file immagine chiamato image.jpg e una directory chiamata sk . All'interno di questa directory, c'è un file chiamato secret.txt che contiene un messaggio riservato. Questo è il file che incorporeremo nel file image.jpg. Puoi inserire un numero qualsiasi di file che desideri nascondere all'interno di questa directory. Quindi, comprimerò la directory sk e salvalo come secret.zip  per renderlo come un unico file. Infine, concatenerò il file zip (secret.zip) e il file immagine (image.jpg) usando cat comando e salvalo come otechnix.jpg .

Per mettere le cose in modo più chiaro,

  1. immagine.jpg - Un file immagine casuale.
  2. sk - La directory che contiene tutti i file segreti.
  3. secret.zip - Archivio di sk directory.
  4. otechnix.jpg - Il file immagine di output che contiene sia secret.zip che image.jpg.

Passaggio 1:  Metti il ​​file immagine e la directory in una cartella. Li ho inseriti entrambi in Documenti cartella.

Passaggio 2: Sposta tutti i file che vuoi nascondere all'interno della cartella "sk". Quindi, comprimi questa cartella e salvala come "secret.zip" . Per comprimere la cartella, fai clic con il pulsante destro del mouse su di essa e seleziona comprimi .

Passaggio 3: Quindi apri il Terminale. Vai alla posizione in cui hai archiviato i file zip e immagine (nel nostro caso si tratta di Documenti ). Infine, concatena il secret.zip e test.jpg file e salvali come ostechnix.jpg utilizzando cat comando.

$ cd Documents
$ cat image.jpg secret.zip > ostechnix.jpg

Ecco fatto. Ora abbiamo nascosto i file riservati all'interno di otechnix.jpg . È il file importante. Elimina tutti gli altri file tranne otechnix.jpg .

Il otechnix.jpg avrà l'aspetto di un normale file immagine e chiunque può visualizzarlo utilizzando qualsiasi applicazione di visualizzazione di immagini. Ma potrebbero non sapere che questo file contiene dei file riservati.

Per visualizzare i file nascosti all'interno del file immagine otechnix.jpg , decomprimilo usando il seguente comando:

$ unzip ostechnix.jpg

Oppure,

$ unzip -t ostechnix.jpg

Output di esempio:

Archive:  ostechnix.jpg
warning [ostechnix.jpg]:  712139 extra bytes at beginning or within zipfile
  (attempting to process anyway)
   creating: sk/
  inflating: sk/secret.txt

Decomprimi il file immagine

Come vedi nell'output sopra, la directory sk che contiene file segreti all'interno è stato estratto. Ora torna alla cartella e controlla il contenuto. Vedrai tutti i file lì dentro.

Uno svantaggio di questo metodo è che non possiamo aggiungere alcuna passphrase al file immagine. Nessun problema! Nei seguenti metodi, possiamo aggiungere passphrase ai file di output.

Metodo 2:utilizzo di Steghide

Steghide è un'utilità della riga di comando che ci aiuta a nascondere i dati riservati all'interno di un'immagine o di un file audio. Supporta file JPEG, BMP, WAV e AU.

Steghide è disponibile nei repository predefiniti di molte distribuzioni Linux.

Su Arch Linux e le sue varianti, puoi installarlo usando il comando:

$ sudo pacman -S steghide

Su Debian, Ubuntu:

$ sudo apt install steghide

Ora puoi nascondere il tuo file riservato all'interno di un'immagine o di un audio come di seguito. Presumo che tu abbia inserito il file riservato che desideri crittografare e il file immagine o audio nella stessa cartella. Se li metti in una cartella diversa, devi fornire il percorso completo nel comando seguente.

$ steghide embed -ef secret.txt -cf ostechnix.jpg

Ti verrà chiesto di inserire una passphrase.

Enter passphrase: 
Re-Enter passphrase: 
embedding "secret.txt" in "ostechnix.jpg"... done

Nascondi i file nell'immagine usando Steghide

Nell'esempio sopra, ho incorporato un file di testo chiamato secret.txt in un file immagine denominato otechnix.jpg . Ora puoi eliminare il file secret.txt originale. Perché abbiamo appena incorporato un file immagine. Se vuoi incorporare più file, mettili in una cartella e comprimila e poi nascondila come descritto sopra.

Per estrarre il file segreto dall'immagine, esegui semplicemente:

$ steghide extract -sf ostechnix.jpg

Inserisci la passphrase per estrarla:

Enter passphrase: 
wrote extracted data to "secret.txt".

Estrai i file dall'immagine usando steghide

Per maggiori dettagli, fare riferimento alle pagine man,

$ man steghide

Metodo 3:utilizzo di Outguess

Indovina è un altro strumento stegnografico da riga di comando per nascondere i file riservati all'interno di un'immagine. Attualmente supporta i formati immagine PPM, PNM e JPEG.

Per installarlo su Debian, Ubuntu e altri sistemi basati su DEB, esegui:

$ sudo apt install outguess

Una volta installato, vai nella posizione in cui hai conservato il file segreto e l'immagine e incorpora il file segreto nell'immagine usando il seguente comando:

$ outguess -d secret.txt ostechnix.jpg output.jpg

Risultato di esempio:

Reading ostechnix.jpg....
JPEG compression quality set to 75
Extracting usable bits: 158203 bits
Correctable message size: 77641 bits, 49.08%
Encoded 'secret.txt': 160 bits, 20 bytes
Finding best embedding...
0: 88(45.8%)[55.0%], bias -17(-0.19), saved: -1, total: 0.06%
1: 90(46.9%)[56.2%], bias -27(-0.30), saved: -1, total: 0.06%
12: 85(44.3%)[53.1%], bias -36(-0.42), saved: 0, total: 0.05%
26: 91(47.4%)[56.9%], bias -45(-0.49), saved: -1, total: 0.06%
174: 87(45.8%)[54.4%], bias -48(-0.55), saved: 0, total: 0.05%
174, 39: Embedding data: 160 in 158203
Bits embedded: 190, changed: 87(45.8%)[54.4%], bias: -48, tot: 158844, skip: 158654
Foiling statistics: corrections: 77, failed: 6, offset: 864.696970 +- 310.577032
Total bits changed: 39 (change 87 + bias -48)
Storing bitmap into data...
Writing output.jpg....

Qui, il output.jpg file è quello che contiene il nostro file di dati riservati. tienilo al sicuro ed elimina tutto il resto.

Puoi anche aggiungere una passphrase al file di output come di seguito.

$ outguess -k "my secret key" -d secret.txt ostechnix.jpg output.jpg

Sostituisci "la mia chiave segreta" con la tua passphrase.

Per estrarre il file, fai semplicemente:

$ outguess -r output.jpg secret.txt

Risultato di esempio:

Reading output.jpg....
Extracting usable bits: 158203 bits
Steg retrieve: seed: 174, len: 20

Se hai usato una passphrase, usa invece questo comando:

$ outguess -k "my secret key" -r output.jpg secret.txt

Per maggiori dettagli, fare riferimento alle pagine man.

$ man outguess

Abbiamo visto tre utilità da riga di comando per nascondere i file all'interno di immagini o audio. Se non ti piace il modo della riga di comando, ecco due strumenti grafici steganografici.

Metodo 4:utilizzo di Stegosuite

Stegosuite è uno strumento grafico steganografico per nascondere i file all'interno delle immagini. È uno strumento di steganografia gratuito e open source scritto in Java . Utilizza AES metodo di crittografia per incorporare i dati. Supporta i formati immagine BMP, GIF e JPG.

Per installarlo su Debian, Ubuntu e altri sistemi basati su DEB, esegui:

$ sudo apt install stegosuite

Una volta installato, avvia Stegosuite da Dash o Menu.

Interfaccia Stegosuite

Fai clic su File -> Apri dalla barra dei menu e scegli un'immagine che desideri utilizzare per nascondere i file. Quindi inserisci il messaggio nella prima colonna. Fare clic con il tasto destro sulla seconda colonna e scegliere "Aggiungi file...". Infine, inserisci la passphrase nella terza colonna.

Aggiungi file in stegosuite

Infine, fai clic su Incorpora pulsante nella parte inferiore dell'interfaccia di Stegosuite.

Incorpora i file usando stegosuite

Ora verrà creato un nuovo file immagine con il nome "nomefile_embed" nella stessa cartella da cui hai scelto l'immagine. Ad esempio, se hai selezionato l'immagine denominata "image.jpg" dalla cartella Documenti, verrà creato un nuovo file immagine con il nome "image_embed.jpg" nella cartella Documenti stessa.

Per estrarre i file segreti dall'immagine, è sufficiente riaprirla nell'interfaccia di Stegosuite, inserire la passphrase e fare clic su Estrai pulsante.

Estrai i file usando stegosuite

Tutti i file verranno estratti nella stessa cartella stessa.

Per maggiori dettagli, fare riferimento al sito Web Stegosuite .

Metodo 5:utilizzo di Steg

Steg è uno strumento steganografico semplice, multipiattaforma e grafico, scritto utilizzando C++ linguaggio di programmazione. È un software portatile, quindi scaricalo, portalo ovunque e inizia a usarlo in pochissimo tempo, indipendentemente dal sistema operativo in uso. Steg supporta i formati immagine JPEG, JPG, TIFF, PNG e BMP. Utilizza tecniche di steganografia e crittografia per nascondere i dati all'interno di immagini compresse o non compresse.

Utilizzo

Fai clic su questo link per scaricare l'applicazione Steg. È disponibile per entrambe le architetture a 32 e 64 bit.

Oppure usa il seguente comando per scaricarlo a seconda dell'architettura che usi.

Per 64 bit:

$ wget https://googledrive.com/host/0B-_yxJMDtRxyUExLZzZ3S2VDbjQ/steg-v1.0.0.2-linux64.tgz

Per 32 bit:

$ wget https://googledrive.com/host/0B-_yxJMDtRxyRDNGNk1YcXR0UTg/steg-v1.0.0.2-linux32.tgz

Dopo il download, estrailo usando il comando:

$ tar -xvzf steg-v1.0.0.2-linux64.tgz

Vai alla directory Steg:

$ cd steg-v1.0.0.2-linux64/

E digita il seguente comando per eseguirlo.

$ ./steg.sh

Fai clic su per accettare il contratto di licenza.

Fai clic su OK per continuare.

Ecco come appare l'interfaccia predefinita dell'applicazione Steg.

Ora nascondiamo alcuni dati all'interno di un'immagine.

Per farlo, vai su File -> Apri immagine generica oppure Apri immagine JPEG . Assicurati di aver scelto un'immagine di grandi dimensioni per memorizzare più dati al suo interno. Più grande è l'immagine che scegli, più puoi salvare all'interno dell'immagine.

Dopo aver aperto l'immagine, l'immagine originale e l'immagine modificata (immagine di output) verranno mostrate rispettivamente nei pannelli sinistro e destro. Inoltre, mostra le dimensioni disponibili per memorizzare i dati all'interno dell'immagine nell'angolo in basso a destra.

Nascondi i file all'interno delle immagini in Linux usando Steg

Ora vai su Nascondi -> Nascondi dati dalla barra dei menu in alto. Seleziona il file che vuoi nascondere. Assicurati che il file selezionato sia più piccolo dello spazio disponibile nell'immagine modificata. Dopo aver aggiunto i dati, vedrai una finestra di dialogo di conferma che dice:Dati nascosti con successo .

Ecco la parte importante. Puoi scegliere diverse modalità di crittografia.

  • Automatico: I dati verranno crittografati, ma non esiste una passphrase o saranno necessarie chiavi per estrarre i dati.
  • Simmetrico: Devi fornire una PassPhrase per crittografare i dati e il destinatario avrà bisogno della stessa PassPhrase per estrarli.
  • Asimmetrico senza segno: quando vuoi nascondere i dati (sei il mittente) è richiesta solo la chiave pubblica del destinatario. Quando vuoi estrarre i dati (tu sei il destinatario) è richiesta solo la tua chiave privata.
  • Firmato asimmetrico: quando vuoi nascondere i dati (tu sei il mittente) sono richieste la chiave pubblica del destinatario e la tua chiave privata. Quando vuoi estrarre i dati (tu sei il destinatario) è richiesta solo la tua chiave privata ma è richiesta la chiave pubblica del mittente. Se non fornisci la chiave pubblica del mittente, al termine del processo di estrazione, verrai avvisato che l'identità del mittente non è verificata. Se fornisci la chiave pubblica del mittente sarai informato se la verifica del segno è riuscita.

Puoi scegliere qualsiasi metodo di crittografia a tua scelta.

Per scegliere un metodo di crittografia specifico, vai su Modifica -> Configurazione  dalla barra dei menu. Il metodo di crittografia predefinito è auto . Inoltre, se lo desideri, puoi incorporare alcuni messaggi nel file.

Quando tutto è a posto, fai clic su Salva pulsante sulla barra degli strumenti e salvalo nella posizione che preferisci.

Fatto! I dati dell'immagine sono crittografati all'interno dell'immagine. Questa immagine apparirà come un'immagine normale. Puoi visualizzarlo utilizzando qualsiasi applicazione di visualizzazione di immagini.

Per estrarre i dati nascosti, apri l'immagine crittografata nell'applicazione Steg. Per farlo, vai su Estrai -> Estrai dati dalla barra dei menu.

Seleziona la posizione in cui desideri salvare i tuoi dati. Fatto!

Ecco fatto. Ora sarai in grado di visualizzare i dati.

Come puoi vedere, questo è estremamente facile da seguire e non richiede abilità speciali. Basta aprire un'immagine, nascondere alcuni dati riservati e passarla.

Per maggiori dettagli su Steg, controlla il sito ufficiale .


Linux
  1. Copia i file nel terminale Linux

  2. Sposta i file nel terminale Linux

  3. Spostare file su Linux senza mv

  4. Un modo semplice per nascondere file e directory in Linux

  5. Script per determinare se i file sono immagini?

Comando ls in Linux per elencare i file

Come rinominare uno o più file in Linux

Come nascondere i file all'interno delle immagini in Ubuntu usando la steganografia

Come nascondere i file riservati nelle immagini su Debian usando la steganografia

Come nascondere i file riservati nelle immagini su Ubuntu usando la steganografia

Come comprimere un file in Linux