GNU/Linux >> Znalost Linux >  >> Linux

Steganografie – Skrytí souborů uvnitř obrázků v Linuxu

Steganografie je proces skrytí souboru, obrázku, videa, textu do jiného souboru. Jak je uvedeno na Wikipedii, steganografie je spojením dvou řeckých slov steganos což znamená „zakrytý, skrytý nebo chráněný“ a grafein což znamená "psaní". Zdroje uvedly, že tuto metodu jako první následoval Histiaeus , starověký řecký král, již v roce 440 před naším letopočtem. Oholil hlavu svému nejdůvěryhodnějšímu služebníkovi a označil si na hlavu tajnou zprávu. Poté, co vlasy znovu dorostly, poslal toho sluhu k jednomu ze svých vazalů, aby předal zprávu, která obsahuje nějaké informace o nadcházejícím útoku na Řecko. Nyní, v moderní době, byla steganografie vyvinuta, mnohem vylepšena a široce používána k odesílání a přijímání digitálních tajných zpráv jejich ukrýváním do jiných souborů. Další podrobnosti o steganografii naleznete tento odkaz . Podívejme se nyní, jak skrýt soubory uvnitř obrázků v Linuxu.

Odmítnutí odpovědnosti:

Steganografie je rozsáhlé téma. Tento tutoriál popisuje pouze to, jak skrýt soubory uvnitř obrázků, což je základní koncept steganografie. Nepředpokládejte prosím, že to nemůže prolomit žádný bezpečnostní expert. Zde popsaná metoda je velmi základní, takže i středně pokročilý bezpečnostní profesionál ji může snadno prolomit během několika hodin. Tyto níže popsané kroky jsou čistě pro vzdělávací účely. Neneseme odpovědnost za jakýkoli druh zneužití.

Skrýt soubory uvnitř obrázků v Linuxu

Soubory můžeme skrýt do obrázků různými způsoby. Zde jsem uvedl 5 metod.

Metoda 1

Tato metoda nevyžaduje žádný další software. Stačí základní znalost příkazového řádku Linuxu.

Mám jeden soubor obrázku s názvem image.jpg a adresář s názvem sk . Uvnitř tohoto adresáře je soubor s názvem secret.txt která má nějakou důvěrnou zprávu. Toto je soubor, který se chystáme vložit do souboru image.jpg. Do tohoto adresáře můžete umístit libovolný počet souborů, které chcete skrýt. Poté zkomprimuji adresář sk a uložte jej jako secret.zip  aby to bylo jako jeden soubor. Nakonec zřetězím soubor zip (secret.zip) a soubor obrázku (image.jpg) pomocí cat a uložte jej jako ostechnix.jpg .

Aby to bylo jasnější,

  1. obrazek.jpg - Náhodný soubor obrázku.
  2. sk - Adresář, který obsahuje všechny tajné soubory.
  3. secret.zip - Archiv sk adresář.
  4. ostechnix.jpg – Výstupní soubor obrázku, který obsahuje jak secret.zip, tak image.jpg.

Krok 1:  Vložte soubor obrázku a adresář do složky. Oba jsem je vložil do Dokumentů složka.

Krok 2: Přesuňte všechny soubory, které chcete skrýt, do složky "sk". Poté tuto složku zkomprimujte a uložte jako "secret.zip" . Chcete-li složku komprimovat, klikněte na ni pravým tlačítkem a vyberte možnost komprimovat .

Krok 3: Dále otevřete Terminál. Přejděte do umístění, kde jste uložili soubory zip a obrázky (v našem případě je to Dokumenty ). Nakonec zřetězte secret.zip a test.jpg a uložte je jako ostechnix.jpg pomocí cat příkaz.

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

To je vše. Důvěrné soubory jsme nyní skryli do ostechnix.jpg . Je to důležitý soubor. Stačí smazat všechny ostatní soubory kromě ostechnix.jpg .

ostechnix.jpg bude vypadat jako běžný obrázkový soubor a kdokoli jej může zobrazit pomocí libovolné aplikace pro prohlížení obrázků. Ale nemusí vědět, že tento soubor obsahuje nějaký důvěrný soubor.

Chcete-li zobrazit skryté soubory v souboru obrázku ostechnix.jpg , stačí jej rozbalit pomocí následujícího příkazu:

$ unzip ostechnix.jpg

Nebo

$ unzip -t ostechnix.jpg

Ukázkový výstup:

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

Rozbalte soubor obrázku

Jak vidíte ve výše uvedeném výstupu, adresář sk který má uvnitř tajné soubory, byl extrahován. Nyní se vraťte do složky a zkontrolujte její obsah. Uvidíte tam všechny soubory.

Jednou nevýhodou této metody je, že do souboru obrázku nemůžeme přidat žádnou přístupovou frázi. Bez obav! V následujících metodách můžeme k výstupním souborům přidat přístupovou frázi.

Metoda 2 – pomocí Steghide

Steghide je nástroj příkazového řádku, který nám pomáhá skrýt důvěrná data uvnitř obrázku nebo zvukového souboru. Podporuje soubory JPEG, BMP, WAV a AU.

Steghide je k dispozici ve výchozích úložištích mnoha distribucí Linuxu.

Na Arch Linux a jeho variantách jej můžete nainstalovat pomocí příkazu:

$ sudo pacman -S steghide

Na Debianu, Ubuntu:

$ sudo apt install steghide

Nyní můžete skrýt svůj důvěrný soubor do obrázku nebo zvuku, jak je uvedeno níže. Předpokládám, že jste do stejné složky vložili důvěrný soubor, který chcete zašifrovat, a obrazový nebo zvukový soubor. Pokud je vložíte do jiné složky, musíte v následujícím příkazu zadat úplnou cestu.

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

Budete požádáni o zadání přístupové fráze.

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

Skryjte soubory do obrázku pomocí Steghide

Ve výše uvedeném příkladu jsem vložil textový soubor s názvem secret.txt do souboru obrázku s názvem ostechnix.jpg . Nyní můžete odstranit původní soubor secret.txt. Protože jsme právě vložili do souboru obrázku. Pokud chcete vložit více souborů, vložte je do jedné složky, zazipujte ji a poté ji skryjte, jak je popsáno výše.

Chcete-li extrahovat tajný soubor z obrázku, jednoduše spusťte:

$ steghide extract -sf ostechnix.jpg

Chcete-li jej extrahovat, zadejte přístupovou frázi:

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

Extrahujte soubory z obrázku pomocí steghide

Další podrobnosti naleznete na manuálových stránkách

$ man steghide

Metoda 3 – pomocí Outguess

Outguess je dalším stegografickým nástrojem příkazového řádku pro skrytí důvěrných souborů uvnitř obrázku. V současné době podporuje obrazové formáty PPM, PNM a JPEG.

Chcete-li jej nainstalovat na Debian, Ubuntu a další systémy založené na DEB, spusťte:

$ sudo apt install outguess

Po instalaci přejděte do umístění, kde jste uchovali tajný soubor a obraz, a vložte tajný soubor do obrazu pomocí následujícího příkazu:

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

Ukázkový výstup:

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

Zde je output.jpg soubor je ten, který má náš soubor důvěrných dat. uchovejte jej v bezpečí a smažte vše ostatní.

Do výstupního souboru můžete také přidat přístupovou frázi, jak je uvedeno níže.

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

Nahraďte „můj tajný klíč“ svou vlastní přístupovou frází.

Chcete-li soubor rozbalit, jednoduše postupujte takto:

$ outguess -r output.jpg secret.txt

Ukázkový výstup:

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

Pokud jste použili přístupovou frázi, použijte místo toho tento příkaz:

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

Další podrobnosti naleznete na manuálových stránkách.

$ man outguess

Viděli jsme tři nástroje příkazového řádku pro skrytí souborů uvnitř obrázků nebo zvuku. Pokud se vám nelíbí způsob příkazového řádku, zde jsou dva grafické steganografické nástroje.

Metoda 4 – pomocí Stegosuite

Stegosuite je grafický steganografický nástroj pro skrytí souborů uvnitř obrázků. Je to bezplatný a open source steganografický nástroj napsaný v Jáva . Používá AES metoda šifrování pro vkládání dat. Podporuje obrazové formáty BMP, GIF a JPG.

Chcete-li jej nainstalovat na Debian, Ubuntu a další systémy založené na DEB, spusťte:

$ sudo apt install stegosuite

Po instalaci spusťte Stegosuite z Dash nebo Menu.

Rozhraní Stegosuite

Klikněte na Soubor -> Otevřít z panelu nabídek a vyberte obrázek, který chcete použít ke skrytí souborů. Poté zadejte zprávu do prvního sloupce. Klikněte pravým tlačítkem na druhý sloupec a vyberte "Přidat soubor...". Nakonec zadejte heslo do třetího sloupce.

Přidejte soubory do stegosuite

Nakonec klikněte na Vložit tlačítko ve spodní části rozhraní Stegosuite.

Vkládání souborů pomocí stegosuite

Nyní bude vytvořen nový soubor obrázku s názvem "filename_embed" ve stejné složce, ze které jste obrázek vybrali. Pokud jste například vybrali obrázek s názvem „image.jpg“ ze složky Dokumenty, vytvoří se nový soubor obrázku s názvem „image_embed.jpg“ v samotné složce Dokumenty.

Chcete-li z obrázku extrahovat tajné soubory, stačí jej znovu otevřít v rozhraní Stegosuite, zadat přístupovou frázi a kliknout na Extrahovat tlačítko.

Extrahujte soubory pomocí stegosuite

Všechny soubory budou extrahovány do stejné složky.

Další podrobnosti naleznete na webu Stegosuite .

Metoda 5 – pomocí Steg

Steg je jednoduchý, multiplatformní a grafický steganografický nástroj napsaný pomocí C++ programovací jazyk. Jedná se o přenosný software, takže si jej stačí stáhnout, přenést kamkoli a začít jej okamžitě používat, bez ohledu na jakýkoli operační systém, který používáte. Steg podporuje obrazové formáty JPEG, JPG, TIFF, PNG a BMP. Používá techniky steganografie a kryptografie ke skrytí dat uvnitř komprimovaných nebo nekomprimovaných obrázků.

Využití

Klikněte na tento odkaz ke stažení aplikace Steg. Je k dispozici pro 32 i 64bitové architektury.

Nebo stačí ke stažení použít následující příkaz v závislosti na architektuře, kterou používáte.

Pro 64bitovou verzi:

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

Pro 32bitovou verzi:

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

Po stažení jej rozbalte pomocí příkazu:

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

Přejděte do adresáře Steg:

$ cd steg-v1.0.0.2-linux64/

A spusťte jej zadáním následujícího příkazu.

$ ./steg.sh

Klikněte na Ano přijmout licenční smlouvu.

Pokračujte kliknutím na tlačítko OK.

Takto vypadá výchozí rozhraní aplikace Steg.

Nyní skryjme některá data do obrázku.

Chcete-li to provést, přejděte na Soubor -> Otevřít obecný obrázek neboOtevřít obrázek JPEG . Ujistěte se, že jste vybrali obrázek velké velikosti pro uložení více dat v něm. Čím větší obrázek vyberete, tím více můžete do obrázku uložit.

Po otevření obrázku se v levém a pravém panelu zobrazí původní obrázek a upravený obrázek (výstupní obrázek). Také zobrazuje dostupnou velikost pro uložení dat uvnitř obrázku v pravém dolním rohu.

Skrýt soubory uvnitř obrázků v Linuxu pomocí Steg

Nyní přejděte na Skrýt -> Skrýt data z horní lišty nabídek. Vyberte soubor, který chcete skrýt. Ujistěte se, že vybraný soubor je menší než dostupné místo v upraveném obrázku. Po přidání dat se zobrazí potvrzovací dialogové okno, které říká:Data byla úspěšně skryta .

Tady přichází důležitá část. Můžete si vybrat různé režimy šifrování.

  • Automaticky: Data budou zašifrována, ale k extrakci dat nebudete potřebovat přístupové heslo nebo klíče.
  • Symetrický: K zašifrování dat musíte zadat PassPhrase a příjemce bude potřebovat stejné PassPhrase, aby je mohl extrahovat.
  • Asymetrický bez znaménka: když chcete skrýt data (vy jste odesílatel), je vyžadován pouze veřejný klíč příjemce. Když chcete extrahovat data (vy jste příjemce), je vyžadován pouze váš soukromý klíč.
  • Asymetrické znaménko: když chcete skrýt data (vy jste odesílatel), je vyžadován veřejný klíč příjemce a váš soukromý klíč. Když chcete extrahovat data (jste příjemce), je vyžadován pouze váš soukromý klíč, ale je vyžadován veřejný klíč odesílatele. Pokud neposkytnete veřejný klíč odesílatele, na konci procesu extrakce budete upozorněni, že identita odesílatele není ověřena. Pokud poskytnete veřejný klíč odesílatele, budete informováni, zda ověření podpisu proběhlo úspěšně.

Můžete si vybrat jakékoli kryptografické metody podle svého výběru.

Chcete-li vybrat konkrétní metodu kryptografie, přejděte na Upravit -> Konfigurace  z panelu nabídek. Výchozí metoda šifrování je automatická . Pokud chcete, můžete do souboru také vložit nějaké zprávy.

Jakmile je vše v pořádku, klikněte na Uložit na panelu nástrojů a uložte jej na libovolné místo, které chcete.

Hotovo! Obrazová data jsou uvnitř obrazu zašifrována. Tento obrázek bude vypadat jako běžný obrázek. Můžete jej zobrazit pomocí libovolné aplikace pro prohlížení obrázků.

Chcete-li extrahovat skrytá data, stačí otevřít zašifrovaný obrázek v aplikaci Steg. Chcete-li tak učinit, přejděte na Extrahovat -> Extrahovat data z panelu nabídek.

Vyberte umístění, kam chcete uložit data. Hotovo!

To je vše. Nyní budete moci zobrazit data.

Jak můžete vidět, je to extrémně snadné a nevyžaduje žádné speciální dovednosti. Stačí otevřít obrázek, skrýt některá důvěrná data a předat je dál.

Další podrobnosti o Steg naleznete na oficiálním webu .


Linux
  1. Zkopírujte soubory v terminálu Linux

  2. Přesunout soubory v terminálu Linux

  3. Snadný způsob, jak skrýt soubory a adresáře v Linuxu

  1. Skript pro zjištění, zda jsou soubory obrázky?

  2. Komprimovaný souborový systém uvnitř souboru v Linuxu?

  3. Co jsou řídké soubory v Linuxu

  1. Přesouvání souborů na Linuxu bez mv

  2. Linux přejmenovává soubory na velká písmena

  3. Proč systém Windows nerozpozná soubory uvnitř oddílů Linux?