国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

攻擊者使用 Python 編譯的字節(jié)碼來(lái)逃避檢測(cè)

這篇具有很好參考價(jià)值的文章主要介紹了攻擊者使用 Python 編譯的字節(jié)碼來(lái)逃避檢測(cè)。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

攻擊者使用 Python 編譯的字節(jié)碼來(lái)逃避檢測(cè)

以 PyPI(Python 包索引)等開(kāi)源包存儲(chǔ)庫(kù)為目標(biāo)的攻擊者設(shè)計(jì)了一種新技術(shù),可以將他們的惡意代碼隱藏在安全掃描器、人工審查和其他形式的安全分析中。

在一次事件中,研究人員發(fā)現(xiàn)惡意軟件代碼隱藏在 Python 字節(jié)碼 (PYC) 文件中,該文件可以直接執(zhí)行,而不是源代碼文件由 Python 運(yùn)行時(shí)解釋。

安全公司 ReversingLabs 的研究人員在一份報(bào)告中說(shuō):這可能是第一個(gè)利用 Python 字節(jié)碼文件可以直接執(zhí)行這一事實(shí)的供應(yīng)鏈攻擊,而且它是在惡意提交到 Python Package Index 的激增之際發(fā)生的。

如果是這樣,它會(huì)帶來(lái)另一個(gè)供應(yīng)鏈風(fēng)險(xiǎn),因?yàn)榇蠖鄶?shù)安全工具可能會(huì)錯(cuò)過(guò)這種類型的攻擊,這些工具只掃描 Python 源代碼 (PY) 文件。

編譯代碼與源代碼

在公共存儲(chǔ)庫(kù)(例如用于 JavaScript 的 npm、用于 Python 的 PyPI 和用于 Ruby 的 RubyGems)中發(fā)現(xiàn)的絕大多數(shù)包都包含打包到存檔中的開(kāi)源代碼文件。它們很容易解包和閱讀,因此已經(jīng)為這些存儲(chǔ)庫(kù)構(gòu)建了安全掃描器來(lái)處理這種類型的包裝。

攻擊者一直在與安全公司進(jìn)行斗爭(zhēng)以逃避檢測(cè),而對(duì)于明文代碼,最常見(jiàn)的逃避技術(shù)是混淆。這包括使用編程語(yǔ)言本身的特性,如編碼、解碼或評(píng)估,使代碼不可讀但功能正常。例如,用base64編碼惡意代碼是一種常用的技術(shù),但安全工具可以處理這種編碼。

在 PyPI 生態(tài)系統(tǒng)中,W4SP Stealer 惡意軟件背后的網(wǎng)絡(luò)犯罪分子以采用包括 base64 編碼、LZMA 壓縮和縮小在內(nèi)的技術(shù)而聞名,從代碼中刪除空格和注釋以使其更緊湊但也更難閱讀。

該小組使用一些第三方開(kāi)源工具來(lái)實(shí)現(xiàn)這一點(diǎn),例如 pyminifier、Kramer 或 Hyperion。在 W4SP 攻擊的一種變體中,文件中混淆的惡意代碼被移動(dòng)到默認(rèn)屏幕邊框的邊緣之外,這樣手動(dòng)查看源代碼文件的人就看不到它了。

但是,PYC 文件不同。它們不像純文本 PY 腳本那樣是人類可讀的。PYC 文件是在 Python 解釋器導(dǎo)入或執(zhí)行 Python 腳本時(shí)生成的。因?yàn)樗鼈円呀?jīng)是解釋(編譯)代碼,所以它們稍后可以由 Python 解釋器直接執(zhí)行,而無(wú)需重新解釋原始腳本。這有助于提高性能,因?yàn)樗哂懈斓膱?zhí)行時(shí)間,并且此類文件最常見(jiàn)的用途是分發(fā) Python 模塊。

在大多數(shù) PyPI 惡意軟件實(shí)例中,惡意混淆代碼旨在訪問(wèn)外部 URL 并下載惡意軟件,通常是信息竊取程序,這是安全工具檢測(cè)可疑行為的另一個(gè)機(jī)會(huì)。

在最近的這起事件中,一個(gè)名為 fshec2 的包被發(fā)現(xiàn)包含一個(gè)惡意 PYC 文件,完整的惡意負(fù)載可以隱藏在文件中,如果安全工具不是為反編譯它而設(shè)計(jì)的,就很難檢測(cè)到它。

在 fshec2 包中發(fā)現(xiàn)的加載程序腳本包含最少的 Python 代碼,并執(zhí)行一個(gè)簡(jiǎn)單的操作:加載已編譯的 Python 模塊,它恰好是一個(gè)惡意模塊。

檢查器是 PyPI 安全團(tuán)隊(duì)提供的用于分析 PyPI 包的默認(rèn)工具,目前不提供任何分析二進(jìn)制文件以發(fā)現(xiàn)惡意行為的方法。編譯代碼來(lái)自.PYC 文件需要反編譯才能分析其內(nèi)容。

發(fā)現(xiàn)的 fshec2 包表現(xiàn)出可能意在逃避檢測(cè)的額外行為。通常,使用 import 指令從 Python 腳本導(dǎo)入模塊。然而,在這種情況下,惡意 PYC 模塊是使用 importlib 加載的,importlib 是一個(gè)實(shí)現(xiàn)導(dǎo)入功能的單獨(dú)包,僅用于特定情況,例如在導(dǎo)入時(shí)動(dòng)態(tài)修改導(dǎo)入的庫(kù)。

在這種情況下,惡意 PYC 沒(méi)有被修改,因此除了避免使用常規(guī)導(dǎo)入指令之外,沒(méi)有技術(shù)理由使用 importlib,可能是為了逃避檢測(cè)。

憑證竊取似乎是主要目標(biāo)

一旦在機(jī)器上執(zhí)行,fshec2 惡意負(fù)載會(huì)收集有關(guān)系統(tǒng)的信息,例如用戶名、目錄列表和主機(jī)名,然后在 Linux 上設(shè)置 cron 作業(yè)或在 Windows 上設(shè)置計(jì)劃任務(wù)以執(zhí)行從遠(yuǎn)程服務(wù)器獲取的命令。

這些命令允許惡意軟件自我更新,攻擊者能夠提供新版本以及 Python 腳本形式的其他有效負(fù)載。

研究人員分析了命令和控制服務(wù)器,發(fā)現(xiàn)了允許他們?yōu)g覽某些信息的錯(cuò)誤配置。例如,他們發(fā)現(xiàn)受害者機(jī)器被賦予了一個(gè)遞增的 ID,并且能夠確認(rèn)該惡意軟件確實(shí)是由多個(gè)受害者執(zhí)行的。

這些錯(cuò)誤的數(shù)量之多可能會(huì)讓我們得出這樣的結(jié)論,即這次攻擊不是國(guó)家支持的行為者所為,也不是高級(jí)持續(xù)威脅 (APT)。雖然團(tuán)隊(duì)沒(méi)有收集到足夠的證據(jù)來(lái)以某種方式證明這一假設(shè),但通過(guò)增加文件 ID 來(lái)收集文件名讓我們確定在某些情況下攻擊是成功的。

我們的研究人員仍然無(wú)法說(shuō)出目標(biāo)是誰(shuí)或什么是。但是,我們可以確認(rèn)開(kāi)發(fā)人員確實(shí)安裝了惡意 PyPI 包,并且他們的機(jī)器名稱、用戶名和目錄列表因此被收集。

在服務(wù)器上發(fā)現(xiàn)的一些文件名表明攻擊者在一些機(jī)器上部署了鍵盤(pán)記錄功能。

從歷史上看,npm 一直是不幸的領(lǐng)導(dǎo)者,PyPI 也參加了比賽,看看哪個(gè)開(kāi)源平臺(tái)最受惡意軟件作者的關(guān)注。然而,在過(guò)去六個(gè)月中,我們和其他人觀察到發(fā)布到 PyPI 的惡意軟件數(shù)量顯著增加。事實(shí)上,在 5 月份,在 PyPI 上創(chuàng)建新用戶帳戶和項(xiàng)目被暫停了幾個(gè)小時(shí),因?yàn)榇罅康膼阂饣顒?dòng)。

我們向 PyPI 安全團(tuán)隊(duì)報(bào)告了新的攻擊媒介,他們刪除了軟件包并表示他們之前從未見(jiàn)過(guò)這種攻擊技術(shù)。這并不排除其他類似包進(jìn)入存儲(chǔ)庫(kù)的可能性。

為了應(yīng)對(duì)這些現(xiàn)代軟件供應(yīng)鏈威脅,組織需要的不僅僅是靜態(tài)代碼分析解決方案。

他們需要的工具還可以監(jiān)控敏感的開(kāi)發(fā)系統(tǒng),以發(fā)現(xiàn)可疑進(jìn)程創(chuàng)建、文件執(zhí)行、未經(jīng)授權(quán)的 URL 訪問(wèn)、信息收集命令以及使用 get_path 或 importlib 等易于濫用的功能。文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-471046.html

到了這里,關(guān)于攻擊者使用 Python 編譯的字節(jié)碼來(lái)逃避檢測(cè)的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 通過(guò)蜜罐技術(shù)獲取攻擊者手機(jī)號(hào)、微信號(hào)【網(wǎng)絡(luò)安全】

    通過(guò)蜜罐技術(shù)獲取攻擊者手機(jī)號(hào)、微信號(hào)【網(wǎng)絡(luò)安全】

    相關(guān)聲明: 以下內(nèi)容僅限用于紅藍(lán)攻防對(duì)抗等專業(yè)領(lǐng)域,請(qǐng)勿用于非法用途。 首先,我們先講一下蜜罐的概念,你可以簡(jiǎn)單理解較為蜜罐就是一個(gè)陷阱,故意暴露一些我們?nèi)藶樵O(shè)計(jì)好的漏洞,讓攻擊者自投羅網(wǎng)。 蜜罐是對(duì)攻擊者的欺騙技術(shù),用以監(jiān)視、檢測(cè)、分析和溯源攻

    2024年02月12日
    瀏覽(13)
  • 專門針對(duì)開(kāi)發(fā)人員,攻擊者利用Rust獲取操作系統(tǒng)信息

    專門針對(duì)開(kāi)發(fā)人員,攻擊者利用Rust獲取操作系統(tǒng)信息

    近日,研究人員在 Rust 編程語(yǔ)言的 crate 注冊(cè)表中發(fā)現(xiàn)了一些惡意軟件包,專門針對(duì)開(kāi)發(fā)人員。 Phylum 在上周發(fā)布的一份報(bào)告中稱,這些庫(kù)是由一個(gè)名為 \\\"amaperf \\\"的用戶在 2023 年 8 月 14 日至 16 日之間上傳的?,F(xiàn)已刪除的軟件包名稱如下:postgress、if-cfg、xrvrv、serd、oncecell、laz

    2024年02月10日
    瀏覽(25)
  • 危險(xiǎn)的套娃:攻擊者在 PDF 文件中隱藏惡意Word 文檔

    危險(xiǎn)的套娃:攻擊者在 PDF 文件中隱藏惡意Word 文檔

    據(jù)BleepingComputer消息,日本計(jì)算機(jī)緊急響應(yīng)小組 (JPCERT) 日前分享了在2023 年 7 月檢測(cè)到的利用PDF文檔的新型攻擊——PDF MalDoc攻擊,能將惡意 Word 文件嵌入 PDF 來(lái)繞過(guò)安全檢測(cè)。 JPCERT采樣了一種多格式文件,能被大多數(shù)掃描引擎和工具識(shí)別為 PDF,但辦公應(yīng)用程序可以將其作為常

    2024年02月11日
    瀏覽(14)
  • D-LINK SQL注入漏洞讓攻擊者獲得管理員權(quán)限

    D-LINK SQL注入漏洞讓攻擊者獲得管理員權(quán)限

    D-Link DAR-7000 設(shè)備中發(fā)現(xiàn)了一個(gè)名為 SQL 注入的安全漏洞。 SQL注入是一種惡意攻擊,它利用Web應(yīng)用程序中的漏洞注入惡意SQL語(yǔ)句并獲得對(duì)數(shù)據(jù)庫(kù)的未經(jīng)授權(quán)的訪問(wèn)。 此技術(shù)允許攻擊者查看、修改和刪除數(shù)據(jù)庫(kù)中的數(shù)據(jù),這可能對(duì)數(shù)據(jù)的機(jī)密性、完整性和可用性構(gòu)成重大威脅。

    2024年02月07日
    瀏覽(30)
  • Mybatils 中使用$代碼逃避掃描漏洞

    解決$在mybatis中權(quán)限注入導(dǎo)致的安全問(wèn)題 @Slf4j @Component public class MybatisSecureProcessor implements BeanPostProcessor { //自定義的符號(hào) private char customToken = \\\'@\\\'; //Mybatis的配置變量 private Properties mybatisVariables; @Override public Object postProcessAfterInitialization(Object bean, String beanName) throws BeansException

    2024年02月11日
    瀏覽(24)
  • 漏洞攻擊中怎么去做最全面覆蓋的sql注入漏洞攻擊?表信息是如何泄露的?預(yù)編譯就一定安全?最受歡迎的十款SQL注入工具配置及使用

    漏洞攻擊中怎么去做最全面覆蓋的sql注入漏洞攻擊?表信息是如何泄露的?預(yù)編譯就一定安全?最受歡迎的十款SQL注入工具配置及使用

    漏洞攻擊中怎么去做最全面覆蓋的sql注入漏洞攻擊?表信息是如何泄露的?預(yù)編譯就一定安全?最受歡迎的十款SQL注入工具配置及使用。 SQL注入是因?yàn)楹笈_(tái)SQL語(yǔ)句拼接了用戶的輸入,而且Web應(yīng)用程序?qū)τ脩糨斎霐?shù)據(jù)的合法性沒(méi)有判斷和過(guò)濾,前端傳入后端的參數(shù)是攻擊者可控

    2024年01月24日
    瀏覽(25)
  • C語(yǔ)言筆記-1 編譯過(guò)程&字節(jié)數(shù)

    C語(yǔ)言筆記-1 編譯過(guò)程&字節(jié)數(shù)

    概述 C語(yǔ)言編譯過(guò)程包括了預(yù)處理、編譯、匯編和鏈接四個(gè)主要階段。下面是對(duì)每個(gè)階段的簡(jiǎn)要介紹: 預(yù)處理(Preprocessing):在這個(gè)階段,預(yù)處理器根據(jù)預(yù)處理指令(以 # 開(kāi)頭的指令)對(duì)源代碼進(jìn)行處理。預(yù)處理器執(zhí)行宏展開(kāi)、條件編譯、頭文件包含等操作,生成經(jīng)過(guò)預(yù)處理

    2024年02月11日
    瀏覽(25)
  • 【項(xiàng)目源碼】反編譯Java字節(jié)碼生成源碼

    【項(xiàng)目源碼】反編譯Java字節(jié)碼生成源碼

    參考資料 反編譯GUI工具:jadx 最好的java反編譯工具是哪個(gè)? - JavaGuide的回答 - 知乎 jadx Github開(kāi)源項(xiàng)目地址 IDEA的插件: Java Bytecode Decomplier IDEA反編譯出整個(gè)jar包源碼 IDEA 反編譯出整個(gè)Jar包源碼 IDEA—使用插件反編譯jar包 IDEA上查看并下載源碼 一、什么是反編譯? 參考什么是反

    2024年02月05日
    瀏覽(18)
  • C/C++編譯器的字節(jié)對(duì)齊方式

    C/C++編譯器的字節(jié)對(duì)齊方式

    C/C++編譯器的缺省字節(jié)對(duì)齊方式為自然對(duì)界。即在缺省情況下,編譯器為每一個(gè)變量或是數(shù)據(jù)單元按其自然對(duì)界條件分配空間。 在結(jié)構(gòu)中,編譯器為結(jié)構(gòu)的每個(gè)成員按其自然對(duì)界(alignment)條件分配空間。各個(gè)成員按照它們被聲明的順序在內(nèi)存中順序存儲(chǔ)(成員之間可能有插

    2024年01月19日
    瀏覽(18)
  • JVM——類加載與字節(jié)碼技術(shù)—編譯期處理+類加載階段

    JVM——類加載與字節(jié)碼技術(shù)—編譯期處理+類加載階段

    編譯期優(yōu)化稱為語(yǔ)法糖 java基本類型和包裝類型之間的自動(dòng)轉(zhuǎn)換。 ? ? 在字節(jié)碼中可以看見(jiàn),泛型擦除就是字節(jié)碼中的執(zhí)行代碼不區(qū)分是String還是Integer了,統(tǒng)一用Object.? 對(duì)于取出的Object,這個(gè)checkcast用于轉(zhuǎn)換Object為Integer類型。? 可以看見(jiàn) 局部變量類型表 里面包含了方法參

    2024年02月11日
    瀏覽(25)

覺(jué)得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包