1. 程式人生 > >在Linux上實現將檔案隱藏到影象中

在Linux上實現將檔案隱藏到影象中

Steganography(隱寫術)是一個寬泛的話題。這個教程只涉及如何將檔案掩藏到影象檔案中,這也是Steganography的核心。不要認為安全專家不能破解這個方法。

這裡描述的方法是非常簡單的,因此即使是一箇中級的安全專家也可以在幾小時內將其破解掉。這裡描述的內容只是出於教學目的,我們不對所有的濫用行為負責。

方法一

這個方法不需要任何額外的軟體。只需擁有基本的Linux命令行知識即可。
我有一個影象檔案image.jpg以及一個目錄sk。在目錄中,有一個叫做secret.txt的檔案,其包含有加密資訊,也是我們將要嵌入到image.jpg中的檔案。你可以將任何數量的檔案放到sk目錄中。然後我將會把sk目錄壓縮為一個secret.zip檔案以使得其成為一個檔案。最終,我將使用cat

命令將secret.zip檔案與影象檔案(image.jpg)複合在一起並儲存為ostechnix.jpg檔案。
更清晰的描述是:
image.jpg-任意一個影象檔案
sk-包含有所有祕密檔案的資料夾
secret.zip-sk目錄的一個壓縮檔
ostechnix.jpg-輸出的包含secret.zip和image.jpg兩個檔案的檔案
步驟 1:將影象和資料夾放在同一個目錄中。我將它們都放在了Documents目錄中。
步驟 2:將所有你想隱藏的檔案放在"sk"資料夾中。然後將該檔案壓縮得到"secret.zip"檔案。
在Linux上實現將檔案隱藏到影象中在Linux上實現將檔案隱藏到影象中
步驟 3:下面開啟終端。前往你儲存壓縮檔案和影象檔案的目錄(這裡就是Documents)。最後使用cat命令將secret.zip
test.jpg檔案儲存為一個檔案ostechnix.jpg

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

在Linux上實現將檔案隱藏到影象中在Linux上實現將檔案隱藏到影象中
對就是那樣。現在我們已經將祕密檔案隱藏到了ostechnix.jpg之中。它是唯一的重要的檔案,其它的檔案都可以刪除掉了。
ostechnix.jpg檔案將會看起來就像一個普通檔案一樣,任何人都可以私用一個照片檢視器來檢視它。但是,他們不大可能知道這個檔案藏有重要的東西。
要檢視隱藏在ostechnix.jpg檔案中的隱藏檔案,只需要使用下面的命令將其解壓即可:

$ unzip ostechnix.jpg

或者,

$ unzip -t ostechnix.jpg

輸出示例:

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

在Linux上實現將檔案隱藏到影象中在Linux上實現將檔案隱藏到影象中
解壓影象檔案
如你在上面的輸出中所見,sk目錄現在又重新出現了,它包含有之前放入的隱藏檔案。現在,回到資料夾中檢視一下內容是否與變化吧。你將發現檔案都還在那裡沒有丟失。
這個方法的一個壞處就是我們想影象檔案傳遞密碼。不用擔心!下面的方法中,我們可以將一個口令新增到輸出的檔案中。

方法二: 使用Steghide

Stephide是一個能夠幫助我們將資料隱藏到一個影象或者音訊檔案的命令列工具。它支援JPEG,BMP,WAV和AU檔案。
Stephide在許多Linux發行版的預設倉庫中均可獲取。
在Arch Linux及其衍生系統上,你可以使用下面的命令安裝它:

$ sudo pacman -S steghide

在Debian和Ubuntu上:

$ sudo apt install steghide

現在,你可以向下面這樣將重要檔案隱藏到一個影象或者音訊檔案中。我假設你將所有的需要隱藏的檔案都放在了同一個目錄中。如果你將它們放在不同的資料夾中,你需要在下面的命令中給出完整路徑。

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

你會被提示輸入一個口令:

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

在Linux上實現將檔案隱藏到影象中在Linux上實現將檔案隱藏到影象中
使用stephide將檔案隱藏到影象中
在上面的例子中,我將一個叫做secret.txt的檔案嵌入到了一個叫做ostechnix.jpg的檔案中。你現在可以刪除原始的secert.txt檔案。因為,我們已將將其嵌入到了影象檔案中了。如果你想嵌入多個檔案,將它們都放在一個資料夾中並壓縮,然後重複上面描述的掩藏操作。
要從影象中提取隱藏檔案,只需要執行:

$ steghide extract -sf ostechnix.jpg

輸入密碼口令來提取檔案:

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

在Linux上實現將檔案隱藏到影象中在Linux上實現將檔案隱藏到影象中
使用stephide從影象中提取隱藏檔案
欲知到更多資訊,參見manpage,

$ man steghide

本文地址:https://www.linuxprobe.com/hidefiles-into-imagesonlinux.ht