利用Shodan搜尋網路漏洞的7個簡單步驟
通過下述一些簡單的步驟,就能將物聯網搜尋引擎Shodan轉變為安全專業人士的強大武器。
什麼是Shodan?
Shodan是一個搜尋引擎,但它與Google這種搜尋網址的搜尋引擎不同,Shodan是用來搜尋網路空間中線上裝置的,你可以通過Shodan搜尋引擎查詢帶有網路地址的特定型別計算機、SCADA(管理控制與資料獲取系統)硬體和應用程式等。
Shodan搜尋引擎可以看作是一種面向網路專業人員的現代漏洞評估工具,它可以掃描網際網路和解析各種裝置返回的標識(Banners)及其他資訊。利用這些資料,Shodan計算機搜尋引擎就可以確定哪一些資料庫和版本是最流行的,一個特定的位置有多少個網路攝像頭,以及這些裝置的製造商和型號,或是網路中到底存在多少可匿名登入的FTP伺服器等。
雖然有人認為Shodan等網站可能會給黑客攻擊漏洞提供方便,但是實際上IT與安全人員有必要知道與攻擊者一樣多的資訊,這樣才能建立有效的防禦。因此,學習如何使用Shodan查詢漏洞,也一樣能夠讓他們受益。
當然,使用Shodan的方式有很多種,但是為了讓您少走彎路,我們總結了7點建議來幫助您更好、更有效地運用Shodan搜尋網路漏洞:
有效使用Shodan的7點建議
1. 瞭解什麼是“系統旗標資訊”(Banners)
Shodan不像Google等傳統的搜尋引擎,利用Web爬蟲去遍歷你整個網站,而是直接進入網際網路的背後通道,審計裝置的各類埠,一刻不停的尋找著所有和網際網路關聯的伺服器、攝像頭、印表機、路由器等等。
Shodan的工作原理是對各類裝置的埠產生的系統旗標資訊(banners)進行審計而產生搜尋結果,所以當你使用它的時候,需要懂一點“系統旗標資訊”的知識。
所謂Banners,實際上就是服務在查詢時返回的資訊塊。根據響應的服務不同,Banners可以包含軟體名稱和版本、安裝日期以及其他不同的資訊塊。當然,Banners也可能會被更復雜的所有者欺騙,因此要知道Shodan看到的是服務返回的內容,而不一定是它實際包含的內容。
重要的是要意識到banners來自服務,而不是伺服器或主機。這也就意味著,具有多種服務的單個裝置(例如HTTP服務、FTP服務或SNMP服務)可以返回各種不同的banners以響應不同的查詢。
這些不同的服務也可以返回包含大量不同型別和數量資訊的banners,這一點在構建複雜查詢時非常重要。瞭解返回標頭的格式意味著您將能夠更好地解釋Shodan提供的資料。
2. 求助專業書籍
開發Shodan(於2009年釋出)的John Matherly也寫了一本關於它的電子書——《Shodan指導手冊》(The Complete Guide to Shodan)。通過這本書,使用者能夠更好、更充分地理解並運用Shodan搜尋引擎。例如,Matherly在書中詳盡地解釋了Shodan爬蟲的工作內容以及執行原理。這對於那些想要了解Shodan搜尋引擎能夠做什麼,以及如何做的人士來說非常重要。
除此之外,這本書還解釋瞭如何構建多部分(multipart)查詢,並在附錄中列出了可用於搜尋的所有過濾器。在Shodan中,過濾功能非常強大,使用者可以使用各種過濾器查詢連線到網際網路的特定型別的計算機(網路攝像頭、路由器、伺服器等)。
書中的大部分內容也可以從其他來源處獲取,而低成本的電子出版物顯然更方便易用。
3. 獲取合適的賬號
Shodan有許多不同的服務等級,價格從免費到每月數百美元不等。瞭解每個等級為您提供的內容以及如何使用它是問題的關鍵。
對於新手來說,Shodan上至少有6個單獨的專案可供選擇。任何人都可以訪問該搜尋引擎並輸入查詢,但返回的結果數量將受到限制。註冊網站能夠增加您獲得的結果數量。而當你選擇付費服務時,返回的結果數量以及可用的過濾器數量都會大大增加。
最基礎的付費專案是49美元的一次性付款,該專案允許您使用大多數過濾器,並返回大型資料集。價格更高的專案會返回更多查詢結果,並提供更多過濾器,這對安全專業人員來說非常重要。因為像“vuln”過濾器允許通過CVE進行搜尋,並返回易受特定CVE攻擊的裝置。但是,這種過濾器並非所有人都能夠使用,您必須至少具備小型企業開發者會員資格(每月299美元)或學術會員資源才能使用該過濾器。
4. 使用API
毫無疑問,能夠訪問shodan.ai網站,輸入搜尋條目並最終獲得結果,這是一個很愉快的過程。但是,出於許多安全目的,通過API呼叫將Shodan繫結為安全基礎架構的一部分,將極大的提高搜尋引擎的功效和實用性。
藉助API,Shodan結果可以直接提供給安全資訊和事件管理系統以及其他安全分析引擎,以支援用於網路防禦的資料集。此外,搜尋結果也可以以各種不同的格式輸入系統——從.XLS到持續流式(constantly streamed)實時資料的“firehose”。
Shodan提供了許多不同語言和框架的API呼叫。此外,Github和線上論壇中也提供了許多不同的API使用示例,這些示例可作為將Shodan與其他產品相關聯的應用程式和粘合應用程式的基礎。您可以使用Bishop Fox的一系列工具作為入門基礎,其中包括組成SearchDiggity工具包一部分的ShodanDiggity。
5. 越具體越有效
廣泛的查詢可能很有趣(例如“向我展示網路攝像頭”),但真正有用的情報往往存在於高度針對性的搜尋之中。學習如何儘可能具體地進行查詢,可能是使用Shodan資料進行有效防禦的關鍵所在。
在Shodan中,您能夠獲取到的具體程度將取決於您所擁有的會員資格,如果您已經至少達到49美元的終身會員資格,那麼您將能夠使用許多現有的過濾器。關於如何更好的實現這一點還有許多其他資源,包括Github和許多其他平臺上的基礎專案等。
與大多數搜尋引擎一樣,想要獲取特定內容的關鍵是通過堆疊術語。如此一來,您就可以在特定IP地址範圍內查詢網路攝像頭,在特定城市中查詢特定型別的路由器,或查詢具有特定國家/地區特定配置詳細資訊的特定工業控制器。如果您試圖找出您認為已部署的內容與使用者實際放在網路上的內容之間存在差異,那麼這些資訊可能很有價值。
6. 引入另一個瀏覽器
雖然Shodan很強大,但它與標準搜尋引擎(例如Bing或Google)不同。例如,如果您正在尋找來自一位19世紀作者的一個“舉證”(quote),那麼Shodan並不能幫到您什麼忙。這也就解釋了為什麼Shodan和另一個瀏覽器組合可以發揮更強大的功效。
那麼如何同時使用兩個瀏覽器呢?如果你是一名滲透測試人員,你可能會這麼做:你先使用Shodan搜尋特定裝置。假設您已經具體搜尋了特定的製造商和型號,並且您已將物理位置和IP範圍縮小到目標系統。那麼接下來,您會使用Google搜尋該裝置的預設使用者名稱和密碼。找到相關資訊後,你會看目標裝置是否通過了“Basic Security 101”。
我們在此要強調的重點是,關於物聯網裝置有很多不同型別的資訊,而Shodan並不能搜尋到所有這些資訊。不可否認,Shodan是一個功能強大的工具,但它並不是工具包中唯一的可用工具。
7. 影象結果同樣重要
當我們分析搜尋結果時(特別是有關物聯網的結果),我們更傾向於分析文字,但是有時候長文字列表的複雜性可能會帶給分析人員巨大的工作負擔,甚至可能這些文字別表根本是無意義的。這就是Shodan提供影象資訊的原因所在,其目的就是為了更為直觀地顯示該搜尋引擎發現的結果。
Shodan搜尋引擎的兩個基於影象的結果頁面分別是Shodan Maps和Shodan Images。當您嘗試圍繞事件爆發、漏洞和裝置分佈設定某種全域性環境/上下文時,這種影象結果是非常有用的。當然,影象頁面也可用於其他目的,例如研究人員可以檢視以前未遇到過的裝置的登入和管理螢幕示例。有趣的是,它也再次證實了計算機UI設計師喜歡藍色的程度。