在程式開發與資料科學領域常用的Jupyter Notebook,傳出遭到網路攻擊鎖定的情況,今年7月有人將其用於散布惡意程式PyLoose,將這種伺服器拿來挖礦牟利,如今針對這類運算平臺的攻擊行動再度出現。

資安業者Cado揭露的Qubitstrike,正是這種型態的惡意行為,但不同的地方在於,駭客除了將伺服器的運算資源拿來挖礦,也企圖找尋組織的雲端服務帳密資料,進一步擴大危害的範圍。

研究人員從他們建置的Juypter密罐陷阱(Honeypot)察覺這起攻擊行動。駭客疑似來自突尼西亞首都突尼斯的IP位址,透過物聯網搜尋引擎Shodan,尋找曝露在網際網路上的Jupyter Notebook伺服器下手,先是確認處理器的型號,以及能否存取root帳號,並尋找可下手的帳密資料。由於上述命令執行的時間長達195秒,他們推測,駭客應該是透過手動操作的方式執行。

接著駭客目標系統是否存在curl元件,然後下載、執行以Base64演算法加密的指令碼mi.sh,啟動挖礦軟體XMRig,並植入攻擊者的SSH金鑰,以便持續存取root帳號,隨後部署名為Diamorphine的Rootkit程式,以及竊取AWS、Google Cloud等帳密資料,並透過SSH將這些資訊外流,最終使用Telegram機器人的API回傳給駭客。

攻擊者採取多種措施來讓挖礦行動更為隱密

駭客為了避免挖礦過程受到干擾,他們在執行挖礦軟體之前採取了多項措施。首先,攻擊者將curl、wget等多種常見的資料傳輸程式檔案重新命名,而使得其他不知道檔案名稱的人士無法執行。再者,則是針對常見的挖礦軟體終止相關的處理程序,以免其他攻擊者佔用運算資源。

過程中駭客也利用名為kthreadd的工具清除其他攻擊者的惡意酬載,以及下達netstat指令而關閉其他連線。研究人員還看到名為log_f()的功能函數,攻擊者一旦呼叫,就能刪除多種Linux的事件記錄檔案,來防範鑑識人員採集證據。

完成上述一系列的回避偵測工作,mi.sh才會從程式碼代管平臺Codeberg下載XMRig,並以python-dev的檔案名稱存放於受害主機,目的應該是讓挖礦程式的處理程序看起來較為無害。而這起事故,是他們首度看到有人濫用Codeberg的挖礦攻擊行動。

從濫用的儲存庫找到駭客架設於Discord的C2中繼站

研究人員針對駭客濫用的Codeberg儲存庫進行調查,看到多個駭客存放的指令碼,其中一個名為kdfs.py的Python指令碼引起他們關注,這個指令碼本身是代理程式,並連線至以即時通訊軟體Discord機器人架設的C2伺服器,而使得攻擊行動更難被察覺。特別的是,對方在指令碼嵌入Discord的Token,但透過Base64、Base32、ROT13演算法進行處理,目的可能是防堵其他人解讀Token內容。

值得留意的是,攻擊者也透過類似蠕蟲的方式散布作案工具,感染其他Jupyter Notebook主機。他們使用正規表示法列出SSH的known_hosts儲存的IP位址列表,並透過bash指令散布mi.sh檔案。

熱門新聞

Advertisement