Python 供應(yīng)鏈攻擊層出不窮,研究人員又發(fā)現(xiàn)一例
2022 年 12 月 9 日,研究人員在 PyPI 中發(fā)現(xiàn)又一個(gè)供應(yīng)鏈攻擊。2022 年 12 月 6 日名為 aioconsol 的 Python 包發(fā)布,同一天發(fā)布了三個(gè)版本。與此前披露的名為 shaderz 的 Python 包類似,并沒有相關(guān)的描述信息。
項(xiàng)目描述
版本發(fā)布
該 Python 包的 2.0 版在 setup.py 腳本中包含惡意代碼,將二進(jìn)制內(nèi)容寫入名為 test.exe 的文件,這作為安裝過程中的一部分。
2.0 版的 setup.py
在 0.0 版本與 1.0 版本中,__init__.py腳本也有類似的惡意代碼,如下所示:
1.0 版惡意代碼
0.0 版惡意代碼
VirusTotal 中部分引擎將該 EXE 可執(zhí)行文件標(biāo)記為惡意:
VirusTotal 檢測信息
具體行為
執(zhí)行該 EXE 可執(zhí)行文件,創(chuàng)建名為 stub.exe 的子進(jìn)程。
進(jìn)程運(yùn)行
程序在 %USER%\AppData\Local\Temp\onefile_%PID_%TIME%處釋放多個(gè)文件:
釋放文件
釋放的可執(zhí)行文件 stub.exe 被少數(shù)引擎檢出:
VirusTotal 檢測信息
執(zhí)行 test.exe 后,會(huì)將自身復(fù)制到 %USER%\AppData\Local\WindowsControl名為 Control.exe 以及釋放 run.bat 的批處理文件。
創(chuàng)建文件
run.bat 腳本顯示文件 Control.exe 的路徑,確保在啟動(dòng)時(shí)運(yùn)行。
run.bat
嘗試連接到多個(gè) IP 地址,進(jìn)行敏感數(shù)據(jù)的泄露:
與 104.20.67.143 的網(wǎng)絡(luò)連接
與 104.20.68.143 的網(wǎng)絡(luò)連接
與 172.67.34.170 的網(wǎng)絡(luò)連接
與 185.106.92.188 的網(wǎng)絡(luò)連接
雙方通信的加密數(shù)據(jù)
結(jié)論
研究人員在不到一周的時(shí)間內(nèi)兩次發(fā)現(xiàn)針對(duì) Python 的供應(yīng)鏈攻擊,這說明攻擊者對(duì)這種攻擊方式非常青睞。用戶也需要高度警惕不明來源安裝的 Python 包,其中很可能包含惡意軟件。