最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊(cè)

PyPI惡意存儲(chǔ)庫(kù)fshec2攻擊分析

2023-06-09 18:30 作者:洞源實(shí)驗(yàn)室  | 我要投稿


0x00 事件背景

PyPI(Python Package Index)是Python官方的包索引和分發(fā)平臺(tái)。它是一個(gè)公共的、全球性的存儲(chǔ)庫(kù),用于存儲(chǔ)、發(fā)布和安裝Python包和模塊。

PyPI允許開發(fā)者將他們編寫的Python代碼打包為可重用的模塊或庫(kù),并將其發(fā)布到PyPI上供其他開發(fā)者使用。開發(fā)者可以通過(guò)使用pip工具(Python的包管理工具)從PyPI上安裝所需的模塊或庫(kù)。PyPI提供了一個(gè)廣泛的Python包,涵蓋了各種用途和領(lǐng)域的功能。


0x01 事件過(guò)程

2023年4月17日ReversingLabs公司的安全團(tuán)隊(duì)向PyPI團(tuán)隊(duì)報(bào)告了名為fshec2的惡意包。同一天該包從PyPI存儲(chǔ)庫(kù)中刪除。


0x02 技術(shù)分析

該包安裝后,會(huì)產(chǎn)生__init__.py,full.pyc,main.py三個(gè)文件。

__init__.py從main模塊中導(dǎo)入load_path函數(shù)。

main.py中的load_path函數(shù)通過(guò)importlib庫(kù)加載full.pyc文件并將其作為模塊對(duì)象,最后調(diào)用該對(duì)象的get_path函數(shù)。

從full.pyc的文件頭中可知,該文件是3.10b版本Python編寫的,部分工具如pycdc,uncompyle6無(wú)法完整的反編譯出py源碼。手動(dòng)反編譯結(jié)果如下:

get_path函數(shù)首先會(huì)根據(jù)宿主的系統(tǒng)決定相關(guān)的行為,在Windows下,該函數(shù)會(huì)向C2服務(wù)器發(fā)送自己的hostname和user信息,并且將C盤用戶根目錄下的目錄結(jié)構(gòu)發(fā)送給C2服務(wù)器。同時(shí)還會(huì)將從C2服務(wù)器上獲取的commands寫入本地。

隨后會(huì)通過(guò)create_windows_task函數(shù)獲取Python路徑和惡意腳本路徑,再使用命令:

schtasks /create /tn "{task_name}" /tr "{python_path} {script_path}" /sc minute /mo {trigger_interval} /F /RL HIGHEST /NP

添加Windows計(jì)劃任務(wù)。這個(gè)命令將創(chuàng)建一個(gè)計(jì)劃任務(wù),定期以最高權(quán)限運(yùn)行指定的 Python 腳本。

在Linux下,同樣會(huì)向C2服務(wù)器發(fā)送自己的hostname和user信息,隨后將當(dāng)前的計(jì)劃任務(wù)寫入到了__crontabl\_default.txt文件下。

最后會(huì)用subprocess.call添加計(jì)劃任務(wù),任務(wù)為:

*/10 * * * * /usr/bin/python3 {file_path_user} >> {dir_path}/{file_path_all}run.log 2>&1

含義是每隔 10 分鐘執(zhí)行一次 /usr/bin/python3 {file_path_user} 命令,并將輸出結(jié)果追加到 {dir_path}/{file_path_all}run.log 文件中。

send_file函數(shù)會(huì)向C2服務(wù)器的uploads目錄上傳文件。

通過(guò)以上的函數(shù)結(jié)合,該惡意庫(kù)的攻擊行為可以進(jìn)化。

第一階段會(huì)從C2下載的新的Python文件,通過(guò)其中的execute_commands_as_per_url函數(shù)進(jìn)行第二階段的payload下載。

隨后的攻擊行為是多變而且可控的,由于在本文章編寫的2023年6月5日,C2服務(wù)器的相關(guān)目錄已刪除,無(wú)法獲取后續(xù)的payload,分析結(jié)束。


0x03 相關(guān)反應(yīng)

2023年4月17日,該惡意包從PyPI存儲(chǔ)庫(kù)中刪除。

2023年6月5日,仍能從國(guó)內(nèi)鏡像網(wǎng)站上下載到該惡意包。

至2023年6月6日,微步未對(duì)該IP進(jìn)行標(biāo)記,VirusTotal上ADMINUSLabs,CRDF,CyRadar,ESET,ESTsecurity,Kaspersky共6家安全公司對(duì)該IP進(jìn)行了標(biāo)記。


0x04 事件啟示

如今,基于第三方庫(kù)的攻擊事件變得非常普遍,對(duì)于Python來(lái)說(shuō),即使PyPI對(duì)發(fā)布的軟件包進(jìn)行了源碼檢測(cè),仍然會(huì)有一些惡意軟件包能夠逃脫檢測(cè)并被上傳。例如pyrologin、easytimestamp、discorder、discord-dev等惡意Python庫(kù),它們采用了與通用庫(kù)相似的名稱,導(dǎo)致程序員在使用pip install命令時(shí)意外安裝這些惡意庫(kù),最后在調(diào)用惡意庫(kù)的導(dǎo)出函數(shù)時(shí)進(jìn)行了惡意操作。

本次的fshec2攻擊示例,盡管沒(méi)有采用先進(jìn)的攻擊技術(shù),但它卻成功地利用了pyc文件繞過(guò)了PyPI對(duì)源代碼的檢測(cè)以及殺毒軟件的檢測(cè)。這種可以簡(jiǎn)單復(fù)現(xiàn)的攻擊手法需要引起安全相關(guān)人員和互聯(lián)網(wǎng)公司的重視。

這種攻擊手法提醒我們,盡管PyPI等開源庫(kù)平臺(tái)已經(jīng)采取了一系列安全措施,但我們?nèi)匀恍枰3指叨染琛?/strong>作為開發(fā)者和用戶,我們應(yīng)該對(duì)第三方庫(kù)的使用持謹(jǐn)慎態(tài)度,并采取一些預(yù)防措施來(lái)減少潛在的風(fēng)險(xiǎn)。具體措施如下:

  • 仔細(xì)驗(yàn)證和核實(shí)要安裝的庫(kù)的來(lái)源及可信度。確保庫(kù)的作者是可信賴的,并檢查庫(kù)的下載來(lái)源是否是官方渠道;

  • 避免在生產(chǎn)環(huán)境中直接安裝不受信任的庫(kù)。使用庫(kù)時(shí),可以先在開發(fā)環(huán)境中進(jìn)行測(cè)試和評(píng)估,確保庫(kù)的功能和安全性符合預(yù)期;

  • 及時(shí)更新已安裝的庫(kù)。隨著安全漏洞的不斷發(fā)現(xiàn)和修復(fù),開源庫(kù)的更新版本通常會(huì)修復(fù)已知的漏洞和安全問(wèn)題;

  • 在使用任何第三方庫(kù)之前,應(yīng)仔細(xì)閱讀其文檔、查看其社區(qū)反饋和評(píng)價(jià),了解庫(kù)的使用方式、功能和潛在風(fēng)險(xiǎn)。

洞源實(shí)驗(yàn)室

安全工程師:hu1y40

2023 年 6 月 9?日



PyPI惡意存儲(chǔ)庫(kù)fshec2攻擊分析的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國(guó)家法律
东丰县| 滦南县| 辉南县| 靖江市| 抚松县| 神木县| 泰和县| 宣武区| 哈尔滨市| 闽清县| 龙门县| 镇远县| 八宿县| 聂荣县| 盐边县| 九江县| 彭泽县| 民勤县| 望江县| 隆回县| 汨罗市| 嫩江县| 福泉市| 日照市| 秦皇岛市| 玉树县| 云和县| 乐安县| 洛川县| 沅陵县| 美姑县| 连云港市| 乐亭县| 灵台县| 元朗区| 神木县| 亚东县| 马山县| 图木舒克市| 泌阳县| 太谷县|