近日 ,國家信息安全漏洞庫(CNNVD)收到關於roels 、req-tools和dark-magic三個Python第三方惡意庫情況的報送 。這三個庫分別部署在Python官方的第三方庫下載網站(https://pypi.org)上 ,當用戶安裝使用上述Python第三方庫時可能被安裝惡意程序 。
一 、 情況介紹
這種攻擊情況屬於Python庫供應鏈攻擊 ,這三個惡意庫的在Python官方的第三方庫下載網站上的鏈接如下 :
roels : https://pypi.org/project/reols
req-tools : https://pypi.org/project/req-tools
dark-magic : https://pypi.org/project/dark-magic
惡意庫roels和req-tools是一個木馬程序 ,它們的名稱與正常的Python第三方庫roles和reqtools名稱相近, 當用戶在通過Python內置命令pip安裝roles或reqtools庫時,可能因為輸入錯誤導致下載安裝惡意庫reols或req-tools 。通過對roels和req-tools兩個Python第三方惡意庫的代碼分析 ,發現reols和req-tools兩個python第三方惡意庫在安裝引用之後 ,會主動連接一個命令和控製服務器(Command and Control Server, C&C 服務器) ,該服務器域名為 :securedmaininfo5.zapto.org 。目前 ,該域名已經失效 ,但不排除未來有啟用的可能 。
roels和req-tools兩個Python第三方惡意庫中包含了多種惡意功能 ,包括 :檢查受害者機器是否為虛擬機或沙箱環境 、獲取鍵盤輸入 、截屏操作 、獲取受害者主機上文件 、盜取瀏覽器存儲的密碼和執行任意係統命令等功能 。
dark-magic惡意庫的功能描述是一個對偶形式的線性約束方程的求解器 ,當用戶在安裝該惡意庫時可能會被安裝上惡意程序 。通過對dark-magic庫的分析 ,發現在其安裝程序中隱藏了一段加密的惡意代碼 ,代碼功能是從遠程下載一個偽裝成圖片格式的可執行程序並開始執行。遠程下載鏈接為 :https://somwhereinrussia.ru/win/kitten.jpg 。目前 ,該鏈接已經失效 ,但不排除未來有啟用的可能 。
二 、危害影響
具有一定編程能力的Python使用者 ,可能受到這三個惡意庫的影響 ,一旦受害者主機安裝上這三個Python第三方惡意庫 ,同時攻擊者激活命令和控製服務器和惡意程序下載鏈接 ,就可以完全控製受害者的電腦。目前 ,Python官方的第三方庫下載網站(https://pypi.org)尚未清除這三個惡意庫 。
三 、修複建議
目前 ,Python官方的第三方庫下載網站(https://pypi.org)尚未清除這三個惡意庫, 建議檢查自己的主機 ,查看是否安裝過roels 、req-tools和dark-magic這三個Python第三方惡意庫 ,及時排查相關引入這三個庫的項目 。