今天要來聊聊幾個…呃,該怎麼說呢,算是網路世界的「地下Google」吧。就是 FOFA、Shodan.io 跟 Hunter.io。老實說,一般人可能一輩子都用不到,但如果你是做資安研究、網站管理,或是純粹對網路世界的「另一面」感到好奇,那這幾個工具真的會打開你的新世界。
它們不是讓你找貓咪影片或餐廳評論的,它們找的是那些暴露在網路上、沒人注意的伺服器、攝影機、資料庫,甚至是某間公司所有員工的 Email 格式。聽起來有點毛毛的?對,所以今天不只會聊怎麼用,更重要的是要聊「界線在哪裡」。
先說結論:這三個工具到底差在哪?
在我們一個一個拆解之前,我覺得先用一個比較好懂的方式來區分它們很重要。不然你可能會覺得,啊不都一樣是搜尋?差遠了。我自己是把它們這樣分的:
| 工具名稱 | 主要用途(白話文) | 我最常用它的時候 | 新手注意事項 |
|---|---|---|---|
| FOFA | 網路資產的「戶口名簿」。專門找出哪個 IP、哪個網站用了什麼技術、開了什麼服務。有點像中國版的 Shodan,但資料庫和語法習慣不太一樣。 | 想針對亞洲或中國地區的網路資產做大範圍盤點的時候。它的 `title` 或 `body` 搜尋在找特定網站系統時,真的蠻好用的。 | 免費版功能有限,而且因為是中國開發的,對英文世界的某些資料覆蓋率可能…嗯,你懂的。語法要稍微學一下。 |
| Shodan.io | 物聯網裝置的「上帝視角」。它是這領域的始祖,專門掃描全世界連上網的各種怪東西,從紅綠燈、工廠控制器到你家的智慧冰箱。 | 當我想知道某個特定漏洞(例如 CVE 編號)影響了多少設備,或是想找特定廠牌的網路攝影機時。它的過濾器超強。 | 免費版能查到的結果很少,大概只能體驗個感覺。真正強大的功能都要付錢。而且,千萬不要亂連找到的設備! |
| Hunter.io | 公司的「Email通訊錄產生器」。它不管技術細節,只專注在一件事:猜出某個公司網域底下所有人的 Email 地址格式。 | 在需要聯繫某間公司特定部門,但找不到聯絡方式時。或是做市場分析,想了解對手公司的組織架構。 | 它只是「猜測」和「驗證」,不保證 100% 正確。而且,拿來做釣魚或發垃圾信是絕對禁止的,這會觸犯個資法。 |
FOFA:從網站標題和內容挖線索
好,我們先從 FOFA 開始。它的全名是 FOrensics FOr All,聽起來很專業,但你只要記得它是個「網路空間搜索引擎」就好。你可以把它想像成一個超大的資料庫,裡面記錄了網路上各種伺服器、網站的「特徵」。
註冊帳號很簡單,免費的就能玩玩基本功能。它的介面…就是一個搜尋框,精華全在於你下的「咒語」,也就是查詢語法。
我自己最常用這幾個:
title="WordPress":這指令超直覺,就是找所有網頁標題裡有 "WordPress" 這個字的網站。這有什麼用?比方說,如果某個 WordPress 外掛爆出嚴重漏洞,你就可以用這個語法,再搭配其他條件,快速匡列出可能受影響的網站範圍。當然,你可以把 "WordPress" 換成任何你想找的系統名稱,比如 `title="管理後台"`。body="admin login":這個就更深入了,它會去掃描整個網頁的原始碼,找裡面有沒有 "admin login" 這段文字。很多時候,一些粗心的開發者會把測試用或內部的登入頁面意外暴露在網路上,用這個就有機會找到。port="3389":這個是針對「服務埠」的搜尋。懂點網路的都知道,不同服務會開在不同 port 上。例如 22 通常是 SSH(遠端命令列),3389 則是 Windows 的遠端桌面(RDP)。下這個指令,等於在問:「嘿 FOFA,告訴我網路上有哪些電腦大喇喇地開著遠端桌面,等著人來連?」找到一堆不代表你可以去連喔,這只是資訊蒐集。country="TW":這個就不用多說了,直接鎖定特定國家或地區的資產。當你想了解台灣有多少機器開著某個特定服務時,這個就超實用。
你可以把這些語法用 `&&` (AND) 或 `||` (OR) 組合起來,變成更複雜的查詢。例如:country="TW" && port="3389",就是找台灣地區所有開著 3389 port 的主機。你看,這樣一組合,目標範圍是不是就精準很多了?
Shodan:物聯網世界的探索者
再來聊聊 Shodan。如果說 FOFA 是戶口名簿,那 Shodan 就像是…嗯,一本全世界所有「電器」的說明書大全。它是這個領域的開山始祖,由 John Matherly 創立,專門掃描那些我們平常不會注意到的「連網裝置」。
它的原理是去讀取各種裝置回應的「Banner」資訊。這個 Banner 有點像裝置的名片,上面會寫著它的廠牌、型號、軟體版本等等。Shodan 把這些名片收集起來,讓你搜尋。
Shodan 的語法跟 FOFA 有點不同,但觀念是相通的。幾個好用的:
product:Apache:直接找特定產品,例如 Apache 網頁伺服器。你也可以找 `product:"nginx"` 或其他任何你知道的伺服器軟體。version:1.1.2:搭配 `product` 一起用,威力更強。當你知道某個軟體的 1.1.2 版本有漏洞時,就可以用 `product:SomeSoftware version:1.1.2` 來找出網路上所有還在裸奔的受害者。org:"Chunghwa Telecom":這個很有趣,可以鎖定特定組織或公司。例如,你想看看中華電信底下有多少資產被 Shodan 掃到,就可以這樣用。這對於企業做自我資產盤點很有幫助,看看自己有沒有什麼東西忘在外面了。vuln:CVE-2021-44228:這是我覺得 Shodan 最強大的地方之一。它整合了 CVE(通用漏洞披露)資料庫。當一個像 Log4j 這種核彈級漏洞爆發時,你就可以直接用它的 CVE 編號來搜尋,馬上知道全世界有多少設備可能受到影響。這對資安研究員來說,根本是神器。
說真的,Shodan 的資料深度和廣度還是很驚人。雖然要付費,但如果你是專業人士,這筆投資是值得的。它提供的歷史資料、地理位置資訊都非常詳細,可以讓你看到一個資產的「前世今生」。
Hunter.io:找出那個「對的人」的 Email
最後是 Hunter.io。這個工具跟前面兩個的畫風完全不一樣。它不關心你的伺服器、不關心你的漏洞,它只關心「人」。
它的核心功能就是「Domain Search」。你給它一個公司網址,例如 `company.com`,它就會去網路上各種公開的蛛絲馬跡(像是新聞稿、作者介紹頁、領英資料)裡面去撈,然後…猜出這家公司的 Email 命名規則。
例如,它可能會發現這家公司的 Email 都是「名字.姓氏@company.com」的格式,然後它就會給你一整串它找到或猜出來的 Email 列表,還會附上一個「信心指數」,告訴你這個 Email 有多大的機率是真的。
這有什麼用?
- 組織結構分析:你可以大概看出這家公司有哪些部門、哪些職位的人。對於做 B2B 業務開發或市場研究的人來說,這簡直是金礦。
- 聯絡資訊查找:有時候你想聯繫某個大公司的特定人員,但官網只有一個客服信箱。透過 Hunter.io,你可能有機會找到更直接的聯絡方式。(當然,怎麼使用這個資訊,就是另一門學問了,後面會講到道德問題。)
- 社交工程演練:對於企業內部的資安演練,這工具可以模擬駭客如何蒐集員工 Email,來進行釣魚郵件的測試。
Hunter.io 還有個「Email Verifier」功能,可以幫你檢查一個 Email 地址是不是還有效,避免你寄信到一個已經不存在的信箱。我自己是覺得,它最強大的地方在於把「人的情報」跟「數位足跡」連結起來了。
怎麼把它們串起來用?一個典型的偵察流程
講了這麼多,但真正的高手,是把這三個工具當成一個組合技來用。單用一個,你能看到的很有限。串起來,整個輪廓就清楚了。
分享一個我習慣的流程,當然這不是絕對的:
第一步:海選(用 FOFA 或 Shodan)
假設你的目標是一家公司,先用 `org:"公司名稱"` 或其他你知道的線索(例如 IP 段),在 Shodan 或 FOFA 上做個大範圍的掃描。目的是盤點出這家公司有哪些網站、伺服器、網路服務暴露在外面。這一步你會得到一堆 IP 地址、網域名稱和開了哪些 port。
第二步:深挖(交叉使用 FOFA 和 Shodan)
從第一步的結果中,挑出幾個看起來比較可疑或重要的目標。例如,一個標題是「內部測試系統」的網站,或是一個開了奇怪 port 的伺服器。然後用更精準的語法去深挖它的技術細節,看看它用了什麼軟體、哪個版本,有沒有已知的漏洞。
第三步:人的情報(輪到 Hunter.io 上場)
現在你對目標的「技術面」有了一些了解。接著,把目標公司的網域名稱丟到 Hunter.io。你會得到一份潛在的員工 Email 列表。這份列表本身可能沒什麼,但跟前面的技術資訊一對照…事情就變得有趣了。
第四步:拼湊全貌
你可以開始把線索串起來了。例如:你在 Shodan 發現某個 IP 開了一個老舊又不安全的 FTP 服務,然後在 Hunter.io 發現這家公司 IT 部門員工的 Email 格式。這時候,一個潛在的攻擊路徑或風險點就浮現了——駭客可能會針對這些 IT 人員發動釣魚郵件,試圖騙取 FTP 的帳號密碼。你看,這就是從「點」到「線」再到「面」的過程。
最重要的事:道德界線與法律紅線
好,前面講的都很酷,但現在要講最嚴肅、也最重要的部分。這些工具是中性的,但使用者的「意圖」決定了你是白帽、灰帽還是黑帽。如果你不是在法律授權的範圍內(例如公司請你做滲透測試),或是做純粹的學術研究,很多行為都可能觸法。
你必須知道幾件事:
- 未經授權的掃描與存取:用 FOFA 或 Shodan「看」公開資訊,這通常在灰色地帶的邊緣。但只要你試圖「連線」或「登入」你找到的任何設備,那就 однозначно (編按: однозначно 是俄文,意指「明確地、毫無疑問地」) 是違法的,這構成「妨害電腦使用罪」。千萬、千萬不要手癢去試。
- 個人資料的蒐集與利用:Hunter.io 找出來的 Email,在台灣受到「個資法」(個人資料保護法)的規範。你不能拿著這份名單去亂發廣告信(Spam),更不能拿去做詐騙或釣魚。國外有更嚴格的 GDPR (歐盟通用資料保護規則),精神都是一樣的:尊重個人隱私,合法使用資料。
- 負責任的漏洞揭露:如果你透過這些工具,真的發現了某個網站或系統有嚴重漏洞,該怎麼辦?正確的做法是「負責任的漏洞揭露」(Responsible Disclosure)。試著聯繫該組織的 IT 或資安部門,私下告知他們漏洞細節,並給他們足夠的時間修補。而不是直接公開在網路上,那只會害了大家。像一些國外的非營利組織,例如電子前哨基金會 (Electronic Frontier Foundation),就有很多關於這方面的指導原則。
簡單講,你的所有行為,都應該基於一個原則:我做這件事,是為了讓網路更安全,還是為了滿足我自己的好奇心或私利?想清楚這個問題,你大概就知道那條紅線在哪裡了。
審核清單(簡式)
為了避免你興奮過頭,這邊提供一個超簡單的檢查清單。每次要用這些工具前,在心裡過一遍:
- [ ] 我有合法的授權或正當的研究目的嗎?
- [ ] 我的目標是「看」,還是「碰」?(記住,只能看)
- [ ] 我蒐集到的任何個資,會如何儲存和使用?符合個資法嗎?
- [ ] 如果發現漏洞,我知道該如何透過正當管道回報嗎?
- [ ] 我做這件事,會不會對任何人或系統造成傷害?
總之,工具本身不帶善惡,它們放大了使用者的能力,也放大了使用者的責任。希望今天這篇…嗯…有點長的自言自語,能讓你對這個領域有更立體的認識。它不只是電影裡敲敲鍵盤的酷炫畫面,背後有著深刻的技術、邏輯,以及最重要的——道德準則。
除了這三個,你還用過什麼有趣的偵察工具嗎?或是有什麼獨門的查詢語法?在下面留言分享一下吧!交流一下,大家一起進步。
