GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Steganographie – Dateien in Bildern unter Linux verstecken

Steganographie ist ein Prozess, bei dem eine Datei, ein Bild, ein Video oder ein Text in einer anderen Datei versteckt wird. Wie in Wikipedia erwähnt, ist Steganographie die Kombination zweier griechischer Wörter, steganos was „bedeckt, verborgen oder geschützt“ bedeutet, und Graphein was „schreiben“ bedeutet. Die Quellen sagten, dass diese Methode zuerst von Histiaeus befolgt wurde , ein altgriechischer König, im Jahr 440 v. Er rasierte den Kopf seines vertrauenswürdigsten Dieners und markierte die geheime Botschaft auf seinem Kopf. Nachdem die Haare nachgewachsen waren, schickte er diesen Diener zu einem seiner Vasallen, um die Nachricht zu überbringen, die einige Informationen über den bevorstehenden Angriff auf Griechenland enthielt. Jetzt, in der Neuzeit, wurde die Steganographie weiterentwickelt, stark verbessert und weit verbreitet, um digitale geheime Nachrichten zu senden und zu empfangen, indem sie in anderen Dateien versteckt werden. Weitere Einzelheiten zu Steganographie finden Sie unter diesem Link . Sehen wir uns nun an, wie man unter Linux Dateien in Bildern versteckt.

Haftungsausschluss:

Steganographie ist ein weites Feld. Dieses Tutorial behandelt nur das Verstecken von Dateien in Bildern, was das Kernkonzept von Steganographie ist. Bitte gehen Sie nicht davon aus, dass dies von keinem Sicherheitsexperten geknackt werden kann. Die hier beschriebene Methode ist sehr einfach, sodass selbst ein fortgeschrittener Sicherheitsexperte sie in wenigen Stunden leicht knacken kann. Diese unten beschriebenen Schritte dienen ausschließlich Bildungszwecken. Wir sind nicht verantwortlich für jegliche Art von Missbrauch.

Dateien in Bildern unter Linux verstecken

Wir können Dateien auf verschiedene Weise in Bildern verstecken. Hier habe ich 5 Methoden angegeben.

Methode 1

Diese Methode erfordert keine zusätzliche Software. Nur grundlegende Linux-Kommandozeilenkenntnisse reichen aus.

Ich habe eine Bilddatei namens image.jpg und ein Verzeichnis namens sk . In diesem Verzeichnis befindet sich eine Datei namens secret.txt die eine vertrauliche Nachricht enthält. Dies ist die Datei, die wir in die Datei image.jpg einbetten werden. Sie können beliebig viele Dateien, die Sie verstecken möchten, in diesem Verzeichnis ablegen. Dann werde ich das Verzeichnis sk komprimieren und speichern Sie es als secret.zip  um es als einzelne Datei zu machen. Schließlich werde ich die Zip-Datei (secret.zip) und die Bilddatei (image.jpg) mit cat verketten Befehl und speichern Sie es als ostechnix.jpg .

Um die Dinge klarer auszudrücken,

  1. Bild.jpg - Eine zufällige Bilddatei.
  2. sk - Das Verzeichnis, das alle geheimen Dateien enthält.
  3. secret.zip - Archiv von sk Verzeichnis.
  4. ostechnix.jpg - Die Ausgabebilddatei, die sowohl secret.zip als auch image.jpg enthält.

Schritt 1:  Legen Sie die Bilddatei und das Verzeichnis in einem Ordner ab. Ich habe sie beide in Dokumente eingefügt Ordner.

Schritt 2: Verschieben Sie alle Dateien, die Sie verstecken möchten, in den Ordner "sk". Komprimieren Sie dann diesen Ordner und speichern Sie ihn als "secret.zip" . Um den Ordner zu komprimieren, klicken Sie einfach mit der rechten Maustaste darauf und wählen Sie komprimieren .

Schritt 3: Öffnen Sie als nächstes das Terminal. Gehen Sie zu dem Ort, an dem Sie die ZIP- und Bilddateien gespeichert haben (in unserem Fall ist es Dokumente ). Verketten Sie abschließend die secret.zip und test.jpg Dateien und speichern Sie sie als ostechnix.jpg mit cat Befehl.

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

Das war's. Wir haben jetzt die vertraulichen Dateien in ostechnix.jpg versteckt . Es ist die wichtige Datei. Löschen Sie einfach alle anderen Dateien außer ostechnix.jpg .

Die ostechnix.jpg sieht wie eine gewöhnliche Bilddatei aus und jeder kann sie mit jeder Bildbetrachteranwendung anzeigen. Aber sie wissen vielleicht nicht, dass diese Datei eine vertrauliche Datei enthält.

Zum Anzeigen der versteckten Dateien in der Bilddatei otechnix.jpg , dekomprimieren Sie es einfach mit dem folgenden Befehl:

$ unzip ostechnix.jpg

Oder,

$ unzip -t ostechnix.jpg

Beispielausgabe:

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

Bilddatei entpacken

Wie Sie in der obigen Ausgabe sehen, ist das Verzeichnis sk das geheime Dateien enthält, wurde extrahiert. Gehen Sie jetzt zurück zum Ordner und überprüfen Sie den Inhalt. Dort sehen Sie alle Dateien.

Ein Nachteil dieser Methode ist, dass wir der Bilddatei keine Passphrase hinzufügen können. Keine Bange! Bei den folgenden Methoden können wir den Ausgabedateien eine Passphrase hinzufügen.

Methode 2 - mit Steghide

Steghide ist ein Befehlszeilenprogramm, das uns hilft, die vertraulichen Daten in einer Bild- oder Audiodatei zu verbergen. Es unterstützt JPEG-, BMP-, WAV- und AU-Dateien.

Steghide ist in den Standard-Repositories vieler Linux-Distributionen verfügbar.

Unter Arch Linux und seinen Varianten können Sie es mit folgendem Befehl installieren:

$ sudo pacman -S steghide

Unter Debian, Ubuntu:

$ sudo apt install steghide

Jetzt können Sie Ihre vertrauliche Datei wie unten in einem Bild oder Audio verstecken. Ich nehme an, Sie haben die vertrauliche Datei, die Sie verschlüsseln möchten, und die Bild- oder Audiodatei im selben Ordner abgelegt. Wenn Sie sie in einem anderen Ordner ablegen, müssen Sie im folgenden Befehl den vollständigen Pfad angeben.

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

Sie werden aufgefordert, eine Passphrase einzugeben.

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

Dateien mit Steghide im Bild verstecken

Im obigen Beispiel habe ich eine Textdatei namens secret.txt eingebettet in eine Bilddatei namens ostechnix.jpg . Sie können jetzt die ursprüngliche Datei secret.txt löschen. Weil wir gerade in eine Bilddatei eingebettet haben. Wenn Sie mehrere Dateien einbetten möchten, legen Sie sie in einen Ordner und zippen Sie sie und verstecken Sie sie dann wie oben beschrieben.

Um die geheime Datei aus dem Image zu extrahieren, führen Sie einfach Folgendes aus:

$ steghide extract -sf ostechnix.jpg

Geben Sie die Passphrase ein, um sie zu extrahieren:

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

Extrahieren Sie Dateien aus dem Bild mit Steghide

Weitere Einzelheiten finden Sie in den Manpages,

$ man steghide

Methode 3 – Outguess verwenden

Erwartung ist ein weiteres stegnografisches Kommandozeilen-Tool, um vertrauliche Dateien in einem Bild zu verstecken. Derzeit werden die Bildformate PPM, PNM und JPEG unterstützt.

Um es auf Debian, Ubuntu und anderen DEB-basierten Systemen zu installieren, führen Sie Folgendes aus:

$ sudo apt install outguess

Wechseln Sie nach der Installation zu dem Speicherort, an dem Sie die geheime Datei und das Image aufbewahrt haben, und betten Sie die geheime Datei mit dem folgenden Befehl in das Image ein:

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

Beispielausgabe:

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....

Hier die output.jpg Datei ist diejenige, die unsere vertrauliche Datendatei enthält. bewahre es sicher auf und lösche alles andere.

Sie können der Ausgabedatei auch wie unten eine Passphrase hinzufügen.

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

Ersetzen Sie „my secret key“ durch Ihre eigene Passphrase.

Um die Datei zu extrahieren, tun Sie einfach:

$ outguess -r output.jpg secret.txt

Beispielausgabe:

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

Wenn Sie eine Passphrase verwendet haben, verwenden Sie stattdessen diesen Befehl:

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

Weitere Einzelheiten finden Sie in den Manpages.

$ man outguess

Wir haben drei Befehlszeilenprogramme gesehen, um Dateien in Bildern oder Audio zu verstecken. Wenn Sie die Befehlszeile nicht mögen, hier sind zwei grafische steganografische Tools.

Methode 4 - mit Stegosuite

Stegosuite ist ein grafisches steganografisches Tool zum Verstecken von Dateien in Bildern. Es ist ein kostenloses und Open-Source-Steganographie-Tool, das in Java geschrieben ist . Es verwendet AES Verschlüsselungsverfahren zum Einbetten von Daten. Es unterstützt die Bildformate BMP, GIF und JPG.

Um es auf Debian, Ubuntu und anderen DEB-basierten Systemen zu installieren, führen Sie Folgendes aus:

$ sudo apt install stegosuite

Starten Sie nach der Installation Stegosuite über Dash oder Menü.

Stegosuite-Oberfläche

Klicken Sie auf Datei -> Öffnen aus der Menüleiste und wählen Sie ein Bild aus, das Sie zum Ausblenden der Dateien verwenden möchten. Geben Sie dann die Nachricht in die erste Spalte ein. Klicken Sie mit der rechten Maustaste auf die zweite Spalte und wählen Sie "Datei hinzufügen...". Geben Sie schließlich die Passphrase in der dritten Spalte ein.

Dateien in Stegosuite hinzufügen

Klicken Sie abschließend auf Einbetten Schaltfläche am unteren Rand der Stegosuite-Oberfläche.

Dateien mit Stegosuite einbetten

Jetzt wird eine neue Bilddatei mit dem Namen "Dateiname_embed" im selben Ordner selbst erstellt, aus dem Sie das Bild ausgewählt haben. Wenn Sie beispielsweise das Bild „image.jpg“ aus dem Ordner „Dokumente“ ausgewählt haben, wird eine neue Bilddatei mit dem Namen „image_embed.jpg“ im Ordner „Dokumente“ selbst erstellt.

Um die geheimen Dateien aus dem Image zu extrahieren, öffnen Sie es einfach erneut in der Stegosuite-Oberfläche, geben Sie die Passphrase ein und klicken Sie auf Extrahieren Schaltfläche.

Dateien mit Stegosuite extrahieren

Alle Dateien werden in denselben Ordner selbst extrahiert.

Weitere Einzelheiten finden Sie auf der Stegosuite-Website .

Methode 5 - mit Steg

Steg ist ein einfaches, plattformübergreifendes und grafisches steganografisches Tool, das mit C++ geschrieben wurde Programmiersprache. Es ist eine tragbare Software, also laden Sie sie einfach herunter, tragen Sie sie überall hin und verwenden Sie sie im Handumdrehen, unabhängig davon, welches Betriebssystem Sie verwenden. Steg unterstützt die Bildformate JPEG, JPG, TIFF, PNG und BMP. Es verwendet Steganographie- und Kryptographietechniken, um Daten in komprimierten oder unkomprimierten Bildern zu verstecken.

Verwendung

Klicken Sie auf diesen Link um die Steg-Anwendung herunterzuladen. Es ist sowohl für 32- als auch für 64-Bit-Architekturen verfügbar.

Oder verwenden Sie einfach den folgenden Befehl, um es je nach verwendeter Architektur herunterzuladen.

Für 64-Bit:

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

Für 32-Bit:

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

Extrahieren Sie es nach dem Herunterladen mit dem Befehl:

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

Gehe zum Steg-Verzeichnis:

$ cd steg-v1.0.0.2-linux64/

Und geben Sie den folgenden Befehl ein, um es auszuführen.

$ ./steg.sh

Klicken Sie auf Ja um die Lizenzvereinbarung zu akzeptieren.

Klicken Sie auf "OK", um fortzufahren.

So sieht die Standardoberfläche der Steg-Anwendung aus.

Lassen Sie uns nun einige Daten in einem Bild verstecken.

Gehen Sie dazu zu Datei -> Generisches Bild öffnen oder JPEG-Bild öffnen . Stellen Sie sicher, dass Sie ein großes Bild ausgewählt haben um mehr Daten darin zu speichern. Je größer das Bild, das Sie auswählen, desto mehr können Sie im Bild speichern.

Nachdem Sie das Bild geöffnet haben, werden das Originalbild und das geänderte Bild (Ausgabebild) im linken bzw. rechten Bereich angezeigt. Außerdem zeigt es die verfügbare Größe zum Speichern von Daten innerhalb des Bildes in der unteren rechten Ecke an.

Dateien in Bildern unter Linux mit Steg verstecken

Gehen Sie nun zu Hide -> Hide Data aus der oberen Menüleiste. Wählen Sie die Datei aus, die Sie ausblenden möchten. Stellen Sie sicher, dass die ausgewählte Datei kleiner ist als der verfügbare Platz im geänderten Bild. Nachdem Sie die Daten hinzugefügt haben, sehen Sie ein Bestätigungsdialogfeld mit der Meldung:Daten erfolgreich ausgeblendet .

Hier kommt der wichtige Teil. Sie können verschiedene Verschlüsselungsmodi wählen.

  • Automatisch: Die Daten werden verschlüsselt, aber es werden keine Passphrase oder Schlüssel benötigt, um Daten zu extrahieren.
  • Symmetrisch: Sie müssen eine Passphrase angeben, um die Daten zu verschlüsseln, und der Empfänger benötigt die gleiche Passphrase, um sie zu extrahieren.
  • Asymmetrisch ohne Vorzeichen: Wenn Sie Daten verbergen möchten (Sie sind der Absender), wird nur der öffentliche Schlüssel des Empfängers benötigt. Wenn Sie Daten extrahieren möchten (Sie sind der Empfänger), wird nur Ihr privater Schlüssel benötigt.
  • Asymmetrisch signiert: Wenn Sie Daten verbergen möchten (Sie sind der Absender), werden der öffentliche Schlüssel des Empfängers und Ihr privater Schlüssel benötigt. Wenn Sie Daten extrahieren möchten (Sie sind der Empfänger), wird nur Ihr privater Schlüssel benötigt, aber der öffentliche Schlüssel des Senders wird angefordert. Wenn Sie den öffentlichen Schlüssel des Absenders nicht angeben, werden Sie am Ende des Extraktionsprozesses gewarnt, dass die Identität des Absenders nicht verifiziert ist. Wenn Sie den öffentlichen Schlüssel des Absenders angeben, werden Sie darüber informiert, ob die Signaturprüfung erfolgreich war.

Sie können beliebige Kryptografiemethoden Ihrer Wahl auswählen.

Um eine bestimmte Kryptografiemethode auszuwählen, gehen Sie zu Bearbeiten -> Konfiguration  aus der Menüleiste. Die standardmäßige Kryptografiemethode ist auto . Sie können auch einige Nachrichten in die Datei einbetten, wenn Sie möchten.

Sobald alles in Ordnung ist, klicken Sie auf Speichern Schaltfläche in der Symbolleiste und speichern Sie es an einem beliebigen Ort.

Fertig! Die Bilddaten werden innerhalb des Bildes verschlüsselt. Dieses Bild wird wie ein normales Bild aussehen. Sie können es mit jeder Bildbetrachteranwendung anzeigen.

Um die versteckten Daten zu extrahieren, öffnen Sie einfach das verschlüsselte Bild in der Steg-Anwendung. Gehen Sie dazu auf Extrahieren -> Daten extrahieren aus der Menüleiste.

Wählen Sie den Ort aus, an dem Sie Ihre Daten speichern möchten. Fertig!

Das war's. Sie können nun die Daten einsehen.

Wie Sie sehen können, ist dies extrem einfach zu befolgen und erfordert keine besonderen Fähigkeiten. Öffnen Sie einfach ein Bild, verbergen Sie einige vertrauliche Daten und geben Sie es weiter.

Weitere Einzelheiten zu Steg finden Sie auf der offiziellen Website .


Linux
  1. Kopieren Sie Dateien im Linux-Terminal

  2. Verschieben Sie Dateien im Linux-Terminal

  3. Verschieben von Dateien unter Linux ohne mv

  4. Eine einfache Möglichkeit, Dateien und Verzeichnisse in Linux zu verstecken

  5. Skript, um festzustellen, ob Dateien Bilder sind?

ls-Befehl in Linux zum Auflisten von Dateien

So benennen Sie eine Datei (en) in Linux um

So verstecken Sie Dateien in Bildern in Ubuntu mit Steganographie

So verstecken Sie vertrauliche Dateien in Bildern unter Debian mit Steganographie

So verstecken Sie vertrauliche Dateien in Bildern auf Ubuntu mit Steganographie

So komprimieren Sie eine Datei unter Linux