文章列表

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來告訴你你安不安全,還是要搭配其他的防護措施和工具,像是防毒軟體、好的使用習慣等等的,建立起由多層防護所組成的縱深防禦才會是最好的方法。