如果後續想接收本站有關 網站架設網站安全網站漏洞防範 等訊息
您可以透過以下表單留下您的電子郵件信箱來訂閱我們的電子報

CyberPanel 2.3.6 版漏洞被駭與加密檔案復原指南

網站主機管理面板 CyberPanel 2.3.6 版被發現存在未經身份驗證的遠端代碼執行 (RCE)漏洞,導致眾多伺服器遭受勒索軟體和惡意程式攻擊,影響範圍廣泛。CyberPanel 團隊雖已釋出修補程式,但因缺乏即時公告,許多用戶未能及時更新,致使伺服器暴露於風險之中。若伺服器已遭攻擊並檔案被加密,可試著使用本文提供的解密腳本解密 .psaux 擴展檔案,並進行惡意程式清理。

如果您的網站主機 CPU 使用率像下圖這樣突然滿載, 那很有可能就是這一篇的苦主,先別慌或許還有救喔。

CyberPanel Server Hacked

一、漏洞背景與影響

就在昨天 (10/30) CyberPanel 的官方在 Facebook 社團貼出 CyberPanel 的 2.3.6 版本被發現存在一個未經身份驗證的遠端代碼執行漏洞 (RCE)。此漏洞允許攻擊者在無需身份驗證的情況下遠端執行任意指令,並取得伺服器的完整控制權。該漏洞最早是由安全專家 DreyAnd 發現,並在2024年10月27日公開詳細的 PoC (概念驗證)。此漏洞的影響範圍極廣,已導致眾多伺服器已被入侵並遭勒索軟體攻擊災情慘重。


二、漏洞修補與公告延遲

奇怪的是 CyberPanel 團隊在一周前已獲知此一漏洞並快速釋出修補程式,但並未即時通知用戶也未公佈任何修補公告。儘管已經在GitHub進行了程式提交,但未將該更新納入正式的版本釋出,導致大部分用戶無法察覺此重要更新並及時修補漏洞。直到攻擊發生後,CyberPanel 官方才發佈漏洞修補通知,並建議所有用戶立即更新。

漏洞修補:CyberPanel bug fix: pre-auth usmannasir – GitHub

官方漏洞公告:Detials and fix of recent security issue and patch of CyberPanel


三、攻擊細節

此漏洞主要存在於 CyberPanel 的 views.py 檔案中的身份驗證檢查邏輯失誤,允許攻擊者通過 HTTP OPTIONS 或 PUT 請求繞過安全性中介程式 (middleware),直接操作 upgrademysqlstatus 路由,從而在系統上執行任意指令。

目前發現的攻擊模式包括:

  1. 資料加密勒索:攻擊者會使用勒索軟體加密伺服器上的文件,並留下支付指示的 README 檔案。
  2. 惡意軟體植入:例如 “Kinsing” 惡意軟體會透過惡意 cron 工作或系統守護進程不斷重複感染伺服器。
  3. 多重加密:目前有三個攻擊集團加密 CyberPanel 檔案,分別留下 .locked、.encryp 和 .psaux 的副檔名。

四、CyberPanel 社群提供的清除惡意軟體步驟

來源網址:Critical Security Alert: Vulnerable CyberPanel Instance Detected on Your Network

步驟 1:停止可疑的程序

首先,暫停或停止與惡意軟體相關的任何程序:

  1. 查看執行程序清單::ps aux | grep -E 'kinsing|udiskssd|kdevtmpfsi|bash2'
  1. 然後檢查程序 kdevtmpfsi 的狀態: systemctl status <PID>複製檔案呼叫路徑並在下面的步驟中刪除
  1. 停止惡意軟體進程:sudo kill -9 <PID>(將 <PID> 替換為 kinsing 程序或其他可疑進程序的 ID。)

步驟 2:刪除可疑服務

檢查並移除 bot.service:sudo systemctl stop bot.service
sudo systemctl disable bot.service
sudo rm /lib/systemd/system/bot.service
sudo systemctl daemon-reload

步驟 3:刪除惡意軟體檔案

從系統中刪除惡意軟體檔案,例如 /etc/data/kinsing 和 /tmp/kdevtmpfsisudo rm -f /etc/data/kinsing
sudo rm -f /etc/kinsing
sudo rm -f /tmp/kdevtmpfsi

如果有刪除不掉的檔案,請用下列的指令刪除pkill -f udiskssd
chattr -i /usr/lib/secure/
rm -f /usr/lib/secure/udiskssd
chattr -ia /etc/cron.hourly/oanacroner
rm -f /etc/cron.hourly/oanacroner

步驟 4:刪除可疑的 Cron 作業

惡意軟體會新增排程至 crontab 以自動重新啟動。要刪除可疑的 crontab 項目:

  1. 打開 crontab:sudo crontab -e
  1. 刪除任何未知或可疑的排程列。如果排程無法刪除請先執行下列的指令解除鎖定:chattr -ia /var/spool/cron/root
    chattr -ia /etc/cron.d/root
    chattr -ia /etc/cron.d/apache
    chattr -ia /etc/cron.d/nginx

步驟 5:檢查最近2天內被修改的檔案

find /etc /tmp /var /usr -mtime 2 -type f -exec grep -El 'kinsing|udiskssd|kdevtmpfsi|bash2|bash3|\.network-setup|syshd|atdb' {} +

步驟 6:也要備份

mv /etc/systemd/system/systemd_s.service /etc/systemd/system/systemd_s.service.bak
mv /etc/systemd/system/sshd-network-service.service /etc/systemd/system/sshd-network-service.service.bak
mv /etc/systemd/system/network-monitor.service /etc/systemd/system/network-monitor.service.bak
mv /usr/bin/network-setup.sh /usr/bin/network-setup.sh.bak

mv /etc/systemd/system/multi-user.target.wants/systemd_s.service /etc/systemd/system/multi-user.target.wants/systemd_s.service.bak
mv /etc/systemd/system/multi-user.target.wants/sshd-network-service.service /etc/systemd/system/multi-user.target.wants/sshd-network-service.service.bak
mv /etc/systemd/system/multi-user.target.wants/network-monitor.service /etc/systemd/system/multi-user.target.wants/network-monitor.service.bak

也要檢查 /root/.ssh/known_hosts 看是不是有奇怪的主機設定,有的話把它刪除。

Managing WP 提供的清除方法

來源網址:CyberPanel Servers Hacked via pre-auth RCE October 28th 2024

在這一篇文章詳細說明了 Kinsing 惡意軟體的清除方法,包括使用他們提供的自動清理腳本

腳本網址:managingwp/cyberpanel-rce-auth-bypass – GitHub

或是以下的手動清除步驟

第 1 步:禁用 Cron

該惡意軟體將使用系統 cron 重新感染伺服器,因此現在我們將停止 cron。systemctl stop cron

步驟 2:刪除惡意軟體檔案

刪除以下檔案以阻止惡意軟體。rm -f /etc/data/kinsing
rm -f /etc/kinsing
rm -f /tmp/kdevtmpfsi
rm -rf /usr/lib/secure
rm -f /usr/lib/secure/udiskssd
rm -f /usr/bin/network-setup.sh
rm -f /usr/.sshd-network-service.sh
rm -rf /usr/.network-setup
rm -f /usr/.network-setup/config.json
rm -f /usr/.network-setup/xmrig-*tar.gz
rm -f /usr/.network-watchdog.sh'
rm -f /tmp/kdevtmpfsi
rm -f /etc/data/libsystem.so
rm -f /etc/data/kinsing
rm -f /dev/shm/kdevtmpfsi

如果任何檔案無法刪除,您可能需要從檔案和目錄中刪除不可變標誌。chattr -i secure/udiskssd
chattr -i secure

步驟 3:刪除可疑服務

systemctl stop bot.service
systemctl disable bot.service
rm /lib/systemd/system/bot.service
systemctl daemon-reload
systemctl stop systemd_s.service
systemctl disable systemd_s.service
rm /etc/systemd/system/systemd_s.service
systemctl stop sshd-network-service.service
systemctl disable sshd-network-service.service
rm /etc/systemd/system/sshd-network-service.service
systemctl stop network-monitor.service
systemctl disable network-monitor.service
rm /etc/systemd/system/network-monitor.service

第四步:殺死可疑程序

ps -aux | grep -E 'kinsing|udiskssd|kdevtmpfsi|bash2|.network-setup|syshd|atdb' | awk {' print $2 '} | xargs kill -9

步驟5:卸載預先載入的程式庫(刪除/etc/ld.so.preload)

  1. 如果檔案 /etc/ld.so.preload 歸檔為存在以下內容:/etc/data/libsystem.so
  2. 刪除這個檔案rm /etc/ld.so.preload
  3. 找到所有載入 libsystem.so 的程序並殺死它們。lsof | grep libsystem.so | awk {' print $2 '} | xargs kill -9

步驟 6:刪除可疑的 Cron 作業

惡意軟體經常將任務新增至 crontab 以自動重新啟動。要刪除可疑的 crontab 項目:

  1. 打開根 crontab:sudo crontab -e
  2. 刪除任何未知或可疑的列,例如下列的例子。* Crons for user root: in /var/spool/cron/crontabs/root:
    */3 * * * * /usr/lib/secure/atdb

    如果刪除 crontab 時出錯,請執行下列指令:chattr -ia /var/spool/cron/crontabs/root
    chattr -ia /var/spool/cron/root

額外的清除感染步驟

您還應該考慮完成以下步驟,以確保您已完全清除感染。

  1. 安裝 chkrootkit 及 rkhunter
    您可以在阻止感染反覆產生並進一步清理系統後執行此操作。apt-get install chkrootkit rkhunter
    然後進行掃描rkhunter --check
    然後查看日誌中是否有「警告」。
  2. 使用 find -mtime
    您可以使用 find 來尋找最近 2 天內修改過的文件。find . -mtime 2
    您可以將前一天修改的文件的 2 更改為 1,或將過去 24 小時內修改的文件更改為 0。

五、被加密檔案的復原步驟

若您的檔案已被加密,請依照以下步驟來解密並還原檔案。

受到 PSAUX 勒索軟體攻擊且檔案被加密為 .psaux 副檔名的情況

原始檔案請參考:gboddin/00-README.md -GitHub

  1. 確認伺服器被 PSAUX 勒索軟體攻擊
    如果您的伺服器僅是 PSAUX 的目標且檔案具有 .psaux 副檔名,則由於 PSAUX 實作中的缺陷,您應該能夠使用解密器。
  2. 下載並準備解密腳本
    PSAUX 勒索軟體存在加密缺陷,因此可以利用上述連結提供的解密腳本進行檔案還原。將下列解密腳本 (例如 1-decrypt.sh) 儲存至伺服器,並確認腳本具有執行權限
  3. 執行解密腳本 儲存並執行此解密腳本,以還原所有被 PSAUX 加密的檔案。請務必在運行前備份被加密的檔案以避免資料遺失。bash 1-decrypt.sh
  4. 確認檔案復原狀況
    檢查還原後的檔案,以確認所有檔案已成功解密。如仍有問題,建議尋求專業的資安協助。

六、防範與修復建議

  1. 立即更新 CyberPanel 運行以下指令更新 CyberPanel 至最新版本,以修補 RCE 漏洞:sh <(curl https://raw.githubusercontent.com/usmannasir/cyberpanel/stable/preUpgrade.sh || wget -O - https://raw.githubusercontent.com/usmannasir/cyberpanel/stable/preUpgrade.sh)
  2. 檢查並加強系統安全設置
    • 停用未使用的網路連接埠,尤其是TCP 8090,以減少攻擊面。
    • 啟用防火牆,僅允許信任來源存取關鍵服務。
    • 設定 SSH 使用公私鑰驗證,並禁用密碼登入,防止暴力破解。
  3. 檢查並刪除系統中的惡意程式 若伺服器已受惡意程式感染,請執行以下步驟清理 Kinsing 惡意程式的感染:
    • 停用 cron,避免惡意程式重新感染伺服器。systemctl stop cron
    • 移除已知的惡意檔案:rm -f /etc/data/kinsing /tmp/kdevtmpfsi /usr/lib/secure/udiskssd
    • 移除可疑的服務:systemctl stop bot.servicesy
      stemctl disable bot.service
      rm /lib/systemd/system/bot.service
      sudo systemctl daemon-reload
    • 終止可疑程序:ps -aux | grep -E 'kinsing|udiskssd|kdevtmpfsi' | awk '{print $2}' | xargs kill -9
  4. 監控與定期檢查
    • 安裝系統檢測工具 chkrootkit 和 rkhunter,並定期檢查伺服器狀態。apt-get install chkrootkit rkhunter rkhunter --check
    • 使用 find -mtime 尋找最近被修改的文件,以及早發現可能的可疑檔案。find / -mtime -2
  5. 建立可靠的備份計畫
    • 確保建立並維護最新的備份。建議採用異地備份來提高資料的安全性。
    • 定期測試備份的完整性,確保資料可隨時還原。

六、個人感想

以一個免費的開源主機管理面板遭受這樣大的打擊我們有一些話要說:

  • 不管是付費或是免費的軟體都一樣存在有風險,現在的駭客不會因為你的免費而放過你。
  • 只要一有漏洞出現,各方駭客就會蜂擁而上,所以目前看到已經有三個駭客團體來撈錢了。
  • 最難搞的是檔案被加密,這個絕大部分是無解,這次有 PSAUX 的解法算是少數中的少數。
  • 這次 CyberPanel 的漏洞事件再次突顯出伺服器安全更新的重要性。透過即時更新與加強系統安全設定,可以有效降低類似攻擊的風險。
  • 若您的伺服器已受到攻擊,採取上列步驟看能不能復原,如果萬幸可以的話還要加強安全防護,確保系統不再受到類似威脅的影響。

如有進一步需求,可聯絡 CyberPanel 支援團隊或連絡我們協助處理。

輸入您的信箱訂閱電子報


發表迴響

這個網站採用 Akismet 服務減少垃圾留言。進一步了解 Akismet 如何處理網站訪客的留言資料