最近 XMR(非比特幣)挖礦程式,就是疑似在尚未安裝 March 21, 2017 發布 Security Vulnerabilities Addressed in QTS 4.2.4 Build 20170313 的 NAS-201703-21 的 QNAP NAS 上被安裝 CPUMiner 到 mineXMR.com 幫忙挖礦的事件,初版已經先整理好在這裡,我還在潤稿與翻譯中,陸續發佈更新與翻譯:
Check And Solve If Your QNAP NAS Has been Injected a CPUMiner Program
Wish it helps!
我將電腦方面的心得記錄並分享在 Amigo's Technical Notes
基本上就是個 shell script,沒有針對 x86-64 的執行檔案,換句話說,可以用在 ARM 系列上!
我將電腦方面的心得記錄並分享在 Amigo's Technical Notes
前者增加一個變數紀錄掃描結果,與對應的 log 訊息;後者增加安裝時加入 cron 的設定值。
詳細程式碼檔案比較結果分享,請參考 Detail Explain of QNAP Malware Remover 2.1.0 的 Update: 2.1.1 Add To Scan at 3:00AM Everyday 小節。
我將電腦方面的心得記錄並分享在 Amigo's Technical Notes
這個問題在 2017/4/18 開始在社群出現,在 2017/4/28 停止討論,4/28 快速在台灣社群討論,一開始大家以為是 4.3.3 的問題,最後發現是有不明程式的挖礦程式在執行。
1. 發生什麼事
CPUMiner 被植入的 QNAP NAS,透過 tcp 4444 為 mineXMR.com 提供運算。
CPUMiner (forked by LucasJones & Wolf) 在 GitHub: OhGodAPet/cpuminer-multi 可以下載,該程式僅能在 x86-64 執行。
2. 如何判斷是否有 CPUMiner 在我的 NAS
2.1 CPU 總是很忙
如果在 [CPU usage] 看到即使沒有在工作,也總是維持在 30% 以上,你要注意並且繼續下面的步驟。
2.2 不明 Process
使用 ps 檢查是否有 /mnt/HDA_ROOT/disk_manage.cgi 在執行,有的話很有可能中獎,繼續下個檢查。
disk_manage.cgi 是標準 process,但是 /mnt/HDA_ROOT/disk_manage.cgi 並不是,注意兩者不同。
這次一共有三個可疑程式:
a. /mnt/HDA_ROOT/disk_manage.cgi
b. /mnt/HDA_ROOT/qwatchdogd.cgi
c. /mnt/HDA_ROOT/rcu_shed.cgi
2.3 不明排程工作
如果在 cron 之中看到有 /mnt/HDA_ROOT/rcu_shed,應該就是中獎了。
3. 解決方案
3.1 殺掉 Process
[~] # kill -KILL PID_OF_/mnt/HDA_ROOT/disk_manage.cgi
[~] # kill -KILL PID_OF_/mnt/HDA_ROOT/qwatchdogd.cgi
[~] # kill -KILL PID_OF_/mnt/HDA_ROOT/rcu_shed.cgi
3.2 停止自動載入
編輯 cron 設定檔案,移除這列指令: "*/3 * * * * /mnt/ext/opt/apache/bin/php /mnt/HDA_ROOT/rcu_shed",並且覆寫檔案
3.3 趕緊上補丁
4.2.x 使用者趕緊裝上 Security Vulnerabilities Addressed in QTS 4.2.3 Builds 20170121 and 20170124 與 Security Vulnerabilities Addressed in QTS 4.2.4 Build 20170313.
4.3.x 使用者可以安裝新韌體版本 4.3.3.0174 build 20170503
3.4 刪除殘渣
最後記得刪除 /mnt/HDA_ROOT/ 的 disk_manage.cgi, qwatchdogd, rcu_shed, 與 rcu_shed.json 這四個檔案
3.5 使用 QNAP Malware Remover
請在 QTS 的 [App Center] 搜尋並安裝 Malware Remover,也可以直接下載 檔案
第一次安裝後會立刻執行,並且回報在 [System Logs]。之後每天凌晨三點會自動執行。
結語
建議同時閱讀 Synology Security Issue and How-to Harden your NAS ,內容有 QNAP, Asustor, Thecus, 與 Synology 的資安相關設定。
Just my two cents.
我將電腦方面的心得記錄並分享在 Amigo's Technical Notes
去看了一下..
/etc/config/crontab
目前是沒看到 /mnt/HDA_ROOT/rcu_shed 這一行~~
也去安裝 QNAP Malware Remover 但,看了 Log 沒掃到什麼東西~
不過~ CPU 倒是 3% ~ 50% 之間 上上下下 的~
還是有點覺得怪怪的~ 也把一些應用關掉了~ 例: 備份之類的~
狀況還是一樣~
另外, 目前硬碟休眠的功能, 也暫時失效了~
剛升 v4.3.3.0154 前一段時間, 都還有注意到休眠功能正常~
(因為就在桌面螢幕旁邊, 所以硬碟啟動會聽到啟動的聲音)
直到發現 XMR挖礦木馬 的相關討論~ 就注意到~ 沒在休眠了~
圖一:低檔時數據

圖二:高檔時數據

圖三:CPU使用率

在圖三裡~
有個 _thttpd_ 不知道這是什麼~怪怪的~
不知道我這樣的狀況是否正常~
我的主機型號:TS-853A / 8G / v4.3.3.0154 (目前最新版本沒有更新的版本)
當初撰寫 Files Contain Windows Invalid Characters Transferred from QNAP to Asustor Using rsync 這篇是針對有非 Windows 裝置在網路內,而且混用 Asustor 與 QNAP NAS 的使用情境所遇到的檔案名稱中如果使用到
Windows 非法字元 所遭遇的狀況。
後來繼續研究之後,發現這是 Samba 的預設行為,為了提供 Windows 相容的檔案讀取功能。一般可以在 smb.conf 使用 mangled names = no 避免字元被自動置換,但在 ADM 下是無效的。
解決方案是使用 AFP 存取,如果你沒有在 ADM 開啟 "Advertise AFP service over Bonjour",在 OSX Finder 不會顯示在左方的圖示,而必須透過指令,或在 Network 中尋找。這個使用習慣與 QNAP QTS 的預設開啟是不同的。
文章中另外說明如何從 QNAP NAS 利用 rsync 複製檔案到 Asustor NAS,協助你在多廠牌 NAS 的混合網路中交換或備份資料。
Wish it helps!
我將電腦方面的心得記錄並分享在 Amigo's Technical Notes
更新 Check And Solve If Your QNAP NAS Has been Injected a CPUMiner Program 內文,增加下列章節:
1. How It Hacks 如何入侵 - 簡言之,使用 Command Injection
2. How to Prevent from Command Injection 如何避免 Command Injection - 要進入系統修改設定,分配適當的執行權限
你可能需要參考:
1. QNAP QTS Configuration and Executable Files - 說明各設定檔案在哪個資料夾
2. phpinfo() Reports on NAS - 提供各家(QNAP, Asustor, Thecus, Synology)NAS 的執行報告下載
Have a nice weekend!
我將電腦方面的心得記錄並分享在 Amigo's Technical Notes