文章列表

EP39 - 用偽裝的檔案抓住駭客的小辮子

Podcast 連結


前情提要 - Honeypot 蜜罐

偽裝成重要的東西的一個特別伺服器或電腦,公司會把它取名叫密碼資料庫或是機密文件資料庫等等看起來重要的名稱。

Honeypot 唯一的目的就是為了吸引駭客和攻擊者,除了吸引攻擊者外沒有任何其他的作用,因此不管是外面的駭客或是公司內部的員工,如果有任何人嘗試連到 Honeypot,都是很可疑的。

公司會將 Honeypot 用來監視系統中是否有惡意的活動,有的 Honeypot 內還會有監控軟體,觀察著連到 Honeypot 的人做了哪些事,到底想幹嘛。

也有很多資安公司和防毒軟體公司會在公開的網路上架設很多 Honeypot,利用他們來搜集和調查最新的駭客攻擊手法以及惡意程式的樣本。

Canarytoken

Canarytoken 是由一家叫做Thinkst的資安公司推出的服務,這家公司主要在做的就是提供企業跟組織 honeypot 的相關服務,Canarytoken 是他們在 2015 年推出的一個免費而且開源的服務。

Canarytoken 的概念跟 Honeypot 有點類似,但在使用上更容易也更方便。

Canarytoken 簡單來說就是一個可以被放在很多不同地方的感應器,目的跟 Honeypot 一樣,是用來吸引駭客或是監視有沒有可疑的活動。但在使用上,Canarytoken 不像 Honeypot 那樣需要架設一台專門的電腦或伺服器那麼複雜。

Canarytoken 官網:https://canarytokens.org/
Canarytoken 官方說明文件:https://docs.canarytokens.org/guide/
Canarytoken 原始碼:https://github.com/thinkst/canarytokens

為什麼叫做 Canary?

Canary(金絲雀)在過去科技沒有那麼進步的時候,會被很多礦場用來偵測毒氣。

金絲雀對於瓦斯和毒氣很敏感,只要空氣中有瓦斯或是毒氣,他們就會很焦躁發出很多聲音,因此過去很多礦工會在深入地底挖礦的時候帶著金絲雀,如果發現金絲雀開始焦躁不安或甚至是死了,他們就會知道礦場中有過多的瓦斯和毒氣,可能會有生命危險,應該要儘快離開。

後來金絲雀 Canary 這個詞就有了預警、警告的含義。這也是為什麼 Canarytoken 會使用 Canary 這個字了。

使用方法

Canary_home

Canarytoken 的使用方法非常的簡單

  1. 首先開啟Canarytokens.org網站
  2. 選擇你要哪種類型的 token,
  3. 提供 email,告訴他如果這個 Canarytoken 被觸發了要寄信到哪裡通知你
  4. 有些類型的 token 會要求多提供額外的資訊,如網址或檔案
  5. 還可以加個註解提醒自己這個 token 是幹嘛的
  6. 最後按下下方的按鈕,網站就會幫我們生成我們指定的 Canarytoken 格式讓我們複製或是下載

他們提供的 token 格式非常的多元,從一些基本的像是網址、email、文件檔案或是 exe 執行檔,到一些比較進階的像是 DNS、資料庫、金鑰和 API 等等

當這些 token 被觸發的時候,Canarytoken 會寄 email 通知我們

Canary_email_notification

除了 email 以外,還會提供我們一寫有關觸發 token 的人的資訊,像是他的 IP 是什麼?他使用的是哪些系統等等的基本資訊。這些資訊也會因為使用的 token 格式不同而有一些變化,有些格式的 token 可以蒐集到很多資訊,但有些就只能知道最基本的資訊。

Canary_example

使用範例

官網的說明文件不只有教我們怎麼使用,還提供了一些常見的用法。

這邊舉幾個例子跟大家分享

文件檔

最簡單的方式就是利用 Word 或是 PDF 之類的文件檔

透過 Canarytoken 生成了我們需要的文件檔以後,我們可以把它命名為「帳號密碼」或是「銀行帳戶」之類的看起來很重要的檔案,然後把它放在我們的電腦、外接硬碟、或是雲端上。

如果有人打開這些文件偷看的話,他就會觸發這個 Canarytoken,我們就會收到 email 通知。

Email 地址、網址

我們也可以建立網址或是 email 地址形式的 Canarytoken,任何人點開了連結、或是寄信到這個 Email 的時候,就會觸發這些 token,我們就會收到通知。

使用方法跟文件檔有點像,但多了一些變化性,我們可以把這個網址或是 email 地址放在一些看起來很重要的文件裡面吸引攻擊者去點他。如果有人打開了這個連結或是寄信到了這個 email 地址,可能就代表我們的電腦被入侵了。

我們也可以把這些資訊透過 email 寄給自己,在 email 的標題寫上聳動吸引人注意的內容,並且把 email 留在收件夾裡不要刪掉。這樣如果駭客入侵了我們的 email 帳戶,在信箱裡面尋找重要資料的時候就有可以不小心打開這些 Canarytoken,讓我們知道。

網站和資料庫

如果是有自己架網站的人,我們可以利用 Canarytoken 來建立一些假網頁並且把這個假網頁放在我們網站上正常人不可能會造訪的地方,如果 token 被觸發了就代表可能有人正在掃描我們的網站,我們就可以多加注意接下來可能會發生的攻擊。

在資料庫上的應用的話,我們也可以配合 Canarytoken 建立一些假資料,並把他們存在資料庫中。因為是假資料,所以在正常使用資料庫的過程中應該不會讀取到這些資料。

如果有人想要對整個資料庫的內容做讀取或是變更的話,就會觸發到這些假資料中的 Canarytoken,讓我們知道有人正在試圖做這些事。

偵測勒索病毒

資安公司 NCC Group 就找到一個辦法可以透過 Canarytoken 來監測一款勒索軟體 Ryuk 的活動。

NCC Group 知道 Ryuk 在發動攻擊以前會先殺掉一些電腦上正在運行的服務,來避免他們的攻擊行動會被干擾。因此 NCC Group 就在電腦上透過含有 Canarytoken 的軟體,監控著電腦上正在運行的服務和數量,如果有服務不正常的被大量關閉,含有 Canarytoken 的軟體就會被觸發並且發送警示通知管理者。

NCC Group - Deception Engineering: exploring the use of Windows Service Canaries against ransomware

Canarytoken 的限制

雖然說 Canarytoken 很方便也很好用,但我想要在這邊提醒大家一下他還是有許多限制,並不是萬能的。

  • 只是警示作用: Canarytoken 可以幫助我們在被攻擊的時候能夠盡快的發現和作出反應而已,他並不能幫我們擋下攻擊或是避免我們被攻擊
  • 沒有被觸發並不代表沒有被入侵: 有可能今天入侵的駭客剛好對這些檔案和資料都沒有興趣,因此沒有觸發到這些 token,但他們可能還是有讀取跟偷走一些其他重要資訊
  • 可以被繞過: 而且如果駭客在入侵你的電腦跟帳號的時候很小心,他們是可以透過不同的方法發現並且避開這些 Canarytoken 的。

不能因為設下的 Canarytoken 沒有被觸發,就斷定自己是安全的

Canarytoken 讓我們可以透過很容易的方式簡單的監控我們的電腦和帳戶,提供我們多一層的警示。

但大家在使用的時候不要只仰賴 Canarytoken 來告訴你你安不安全,還是要搭配其他的防護措施和工具,像是防毒軟體、好的使用習慣等等的,建立起由多層防護所組成的縱深防禦才會是最好的方法。

發佈於 2021年3月7日

資安解壓縮網站內容除特別註記外皆以CC BY-SA 4.0方式授權
對於這個節目有什麼想法,或想要聽什麼內容都歡迎到聯絡資訊告訴我們