[04][主機防禦-SvrGuard] Mac mini 也會被駭嗎?

Mac mini 被駭:深夜書桌上剛被喚醒的 Mac mini 與路由器

繼 Ubuntu 被駭後,想著不同的平台會有同問題嗎?一樣都是 Unix 類的系統,被駭的理由應該差不多吧!果然沒多久又來一個受害者……

這次我也很好奇它是如何駭進 Mac mini 的,調整了哪些程序,到底跟 Ubuntu 有甚麼不同。整個過程只讀不改:用自己的金鑰登入,被植入的檔案一支都不執行,只用 cat、ls、stat 這類唯讀的指令去看。

既然被駭,對這台機器只能保持懷疑小心的心態來處理了。我發現植入的檔案,修改時間全被改成 1970 年 1 月 1 日,照時間排序根本看不到它們。好在 ctime(檔案屬性最後被變更的時間)改不掉,時間軸就靠它排:最早的痕跡在 8 月 4 日,最後一次植入在 10 月 9 日。

那它到底做了什麼:

  • 不用密碼就拿 root:/etc/sudoers.d/ 被放了一行「所有人都可以免密碼當 root」,前後放了 12 份。
  • 冒充 Apple 的常駐程式:16 個名字叫 com.apple.* 的 LaunchDaemon,執行藏在 /var/tmp 的腳本,其中一部分每 5 分鐘執行一次。
  • 一開 shell 就執行:/etc/zshenv 被加了一段,想讓任何人一打開終端機,就在背景啟動挖礦。
  • 定期排程也放一份:每日、每週、每月的排程各一批。
  • root 的 SSH 後門:root 的 authorized_keys 每一輪植入就多一把。
  • 反向 shell:用 perl 主動連回對方的電腦,把 shell 交出去。
  • 挖礦:挖門羅幣,走 443 埠,程式名稱改成 com.apple.airportd,看起來像系統的網路程式。
  • 兩批人:第二批的腳本把第一批的錢包標成「敵人」,先清掉對方的,再放自己的。

那它是怎麼進來的?答案很可能是螢幕共享的一個漏洞:CVE-2026-65400。

Apple 在 8 月 6 日的安全更新裡寫得很清楚:網路上的攻擊者,可能不需要有效的帳號密碼,就能通過螢幕共享的認證。也就是說,對方不一定要知道密碼。荷蘭國家網路安全中心(NCSC)隨後的公告也提到,這個漏洞已經被實際拿來攻擊,被入侵的都是 5900 埠從網際網路連得到的 Mac,每一台都被拿到 root、裝上門羅幣挖礦程式,和這台的情況相同。

這台中招的條件剛好全部具備:

  • 螢幕共享(5900 埠)從網際網路連得到。
  • 系統停在 macOS 26.5.2,一直沒更新到修補版 26.6.1。
  • 最早的痕跡在 8 月 4 日,比 Apple 釋出修補還早兩天;如果入口就是這個漏洞,代表它在修補之前就已經被利用了。

系統日誌只留到 10 月初,這段期間對方以 root 身分從兩個位址登入成功 52 次,一次失敗都沒有,也符合「不需要密碼」的樣子。

更狡猾的是網路喚醒。這台 Mac 開著「網路喚醒」,對方送一個封包把睡著的 Mac 叫醒,登入、植入,一兩分鐘後 Mac 又睡回去。把植入檔案的 ctime 和系統的開機、睡眠紀錄對起來,逐秒吻合。Mac 幾乎整天都在睡,只在半夜或晚上醒來一兩分鐘,所以兩個月都沒人發現。

Mac mini 被駭的循環:叫醒、登入、植入、睡回去

修掉的方式是:先停掉 16 個冒名的常駐程式,再把所有植入物搬進一個隔離資料夾,不刪,留著可以查。判斷的依據很簡單:系統位置裡,修改時間早於 1971 年的檔案。一共搬走了 120 個檔案。重開機後再驗一次,常駐程式、排程、/var/tmp 都乾淨了,對外連線只剩 Apple、CDN 等正常服務。

清完之後還要把門關上。中間有個插曲:為了觀察,把 5900 重新開放了一小時,一千多條連線幾乎都是掃描,但對方第一次嘗試就用 root 登進來了,還好只開到登入畫面,沒有進桌面、也沒有寫任何檔案。這也說明,只要 5900 還開著、系統沒更新,清得再乾淨,對方隨時能再進來。之後把門關好:

  • 把 macOS 更新到已修補的版本。
  • 停用 root,而且實際驗證過它真的停了。
  • 路由器不再把 5900 轉送到這台 Mac。
  • 螢幕共享只允許指定的使用者帳號。
  • SSH 只收金鑰,不收密碼。

這台 Mac mini 上看到的手法,後來也整合進 SvrGuard 的 Mac 版:從暫存目錄執行程式的 LaunchDaemon 與排程、sudoers 裡的免密碼 root、被改成 1970 年的檔案時間、在 shell 啟動檔裡執行暫存目錄的程式、暫存目錄裡的反向 shell 和挖礦腳本、root 被放了好幾份的 SSH 金鑰,以及沒有任何帳號使用的家目錄裡卻放著 SSH 金鑰。Mac 版的 SvrGuard 會用 pf 擋下攻擊來源,螢幕共享或遠端管理的埠從外面連得到時也會通知。

看來 Unix 的世界,被駭的情況不管是 Ubuntu/Debian 等 Linux 陣營或 Apple Mac 的 Unix 陣營,隨時都有機會發生。現實沒有一個保護預防措施,就像是去打仗卻沒帶任何武器及護具,隨時被秒了,搞不好都不知道。


本系列文章:主機防禦系統-SvrGuard。想了解更多 SvrGuard,歡迎造訪 SvrGuard 官方網站,有問題或想法歡迎到 SvrGuard 討論區。

分類: 主機防禦系統-SvrGuard,標籤: , , , , , , , 。這篇內容的永久連結。

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *