免殺基礎學習記錄-殺軟特性、查殺方式、術語
當前位置:點晴教程→知識管理交流
→『 技術文檔交流 』
前言參考SecretTeam安全團隊的學習記錄 什么是免殺?免殺(Bypass AV, Anti-Virus Evasion)是指惡意軟件通過各種手段規避殺毒軟件和安全檢測系統的識別和攔截,從而在目標系統中成功執行。這種技術不僅用于惡意軟件的傳播,也被信息安全研究人員用來測試和提升安全防護系統的能力。根據有無源碼,免殺可以分為以下兩種情況:
直接對一個二進制程序進行免殺,通過修改數據,加殼加花,定位修改特征碼等等黑盒方式
通過修改源碼來進行免殺(大概率成為今后免殺的主流) 直接對一個二進制程序來進行免殺技術難度較高,免殺效果也不好,所以通常將二進制程序轉換成一段shellcode,使用加載器來執行shellcode的方式來進行從無源碼免殺向有源碼免殺的轉換,根據免殺階段還分為以下兩個階段:
靜態免殺主要是為了抵抗殺毒軟件的靜態掃描,殺毒軟件的靜態掃描一般會通過提取文件中的一段特征串來與自身的病毒庫中的特征碼進行對比來判斷該文件是否為惡意文件,因此我們一般圍繞修改或是掩蓋文件的特征碼來實現靜態免殺
動態免殺主要是為了抵抗殺毒軟件的動態查殺,如內存掃描,行為分析等 殺軟特性360360有點全能了,在國內基本各個方面都是頂尖
金山毒霸金山走的是云安全,云防護,云鑒定這些云安全路線,所以,斷了網后金山就是個廢 江民主要是對特征碼和資源進行定位查殺 瑞星主要是主動防御查殺 卡巴斯基非常變態的一款殺軟,誤報低,查殺率高,特征碼+輸入表變態查殺+靜動態啟發式+強力的虛擬機脫殼技術。人類已經無法阻止卡巴斯基的輸入表查殺了,在反匯編下,你無論對輸入表怎么重建,移位都不行,需要進行手動異或加密。 小紅傘,木傘小紅傘的特征碼定位抗干擾技術和啟發式比較好 火絨主要是主動防御這塊,靜態查殺也比較嚴格,不過很好做免殺 Windows Defender靜態查殺能力較強,動態查殺較強,監控 HTTP 流量 殺軟的查殺方式特征碼特征碼是什么?特征碼就是病毒分析師從病毒中提取的不大眾化的不大于64字節的特征串。通過判斷是否有這個特征字符串從而確定是否為病毒。通常為了減少誤報,一個病毒會取數個特征碼。舉個例子,一款很出名的木馬,它的名字就能被當作特征碼。 靜態啟發式靜態啟發式即對整個軟件進行分析,殺軟會指定一系列的規則,然后對軟件進行掃描,當掃描出匹配這些規則的字符串等等之類時,殺軟會將軟件標記成懷疑對象,匹配到的規則越多,軟件的可疑程度越高,到一定程度,就成了惡意軟件了 動態啟發式動態啟發式又叫虛擬機查殺技術,會模擬出一個近似于windows的系統,殺軟將軟件放入這個虛擬機運行,監測它的行為,如果操作越可疑,就越容易被定為病毒 HIPSHIPS可以說是主動防御,何為主動防御,一個病毒或木馬如果通過了表面查殺,那么主動防御就是最后一道防線,HIPS主要是對一個軟件運行時的操作進行檢測,如果發現軟件有注冊表操作,加載驅動這些一般程序不應操作的操作時,那么他就會以他R0級的優勢,攔截掉并將程序暫停運行,也就是掛起,詢問用戶是否進行該操作。 云查殺殺軟那里有一套規則,如果一個軟件觸犯了這些規則,則殺軟會上報至云服務器,到了云服務器后,則會對上報文件進行鑒定,可能會是人工鑒定,這樣的效果比殺軟查殺效果要好得多。那么如果分析出這個程序是病毒,那么就會將這個程序的MD5發生至云中心,用戶在聯網狀態下殺毒的話,就與云中心核對MD5,如果對上了,無條件認定為病毒。相當于安裝了殺軟的所有用戶給云上提供素材,一旦素材在一臺電腦上被認定為病毒,則所有安裝了該殺軟的用戶都會查殺這個素材 免殺中的術語API泛指Windows的API函數,Windows編程中的內容。Windows API是一套用來控制Windows的各個部件的外觀和行為的預先定義的Windows函數,對Windows系統中的東西進行操作都會用到API,比如我移動個鼠標,點擊個鍵盤都會有相對于的API函數 花指令一段無意義的代碼,用來迷惑殺軟或則其它的反匯編工具,例如在匯編里:add eax, 1; sub eax, 1 輸入表(導入表)輸入表就相當于EXE文件與DLL文件溝通的鑰匙,形象的可以比喻成兩個城市之間交流的高速公路,所有的導入函數信息都會寫入輸入表中,在PE 文件映射到內存后,Windows 將相應的DLL文件裝入,EXE 文件通過“輸入表”找到相應的DLL 中的導入函數,從而完成程序的正常運行,這一動態連接的過程都是由“輸入表”參與的。 區段PE結構中的區段, 加殼加殼分為加壓縮殼和保護殼〔加密殼〕壓縮殼是目的是使程序變小,但沒有防止被反破解的作用。保護殼恰恰相反,保護殼的目的是使程序盡量防止被反匯編,但好的保護殼會給程序植入大量垃圾代碼,以干擾破解版者,所以程序會變大。 反啟發即加入對殺軟的啟發式干擾的代碼 隱藏輸入表通過自定義API的方式隱藏導入表中的惡意API 混淆這是一種將代碼轉換為難以理解的形式的技術,使得分析者難以從字節碼中理解程序的邏輯。混淆可以應用于源代碼、編譯后的代碼或二進制文件 代碼注入將惡意代碼注入到合法程序中,使得惡意代碼在合法程序的執行過程中被執行,從而避開殺毒軟件的檢測。 內存執行惡意代碼不在磁盤上留下痕跡,而是直接在內存中執行,這樣可以減少被殺毒軟件掃描到的機會 文件加密將惡意文件加密存儲,只有在執行時才解密,這樣可以避免殺毒軟件通過文件內容進行檢測。 多態生成多個變種的惡意代碼,每種變種都有不同的特征,使得殺毒軟件難以通過單一的特征碼來識別。 行為混淆通過改變程序的行為模式,使得惡意行為看起來像是正常行為,從而避開基于行為分析的檢測 0day利用操作系統或應用程序的0day漏洞來執行惡意代碼,殺毒軟件無法檢測到 簽名使用合法的數字證書簽名惡意軟件,以欺騙用戶和殺毒軟件,使其看起來像是可信的軟件 沙箱逃逸沙箱是一種檢測惡意軟件的環境,它模擬了一個安全的執行環境。沙箱逃逸技術是指惡意軟件能夠檢測到自己是否在沙箱中運行,并在檢測到沙箱時改變行為,以避免被檢測。 利用系統服務通過操作系統服務來執行惡意行為,因為系統服務通常具有較高的權限,可以繞過一些安全措施 利用云服務將惡意代碼或數據存儲在云服務上,通過云服務來分發或執行惡意行為,這樣可以分散風險并增加檢測難度 殺軟報毒命名規則殺毒軟件的報毒基本遵循一套原則,就是
前綴該前綴標識檢測到該對象的子系統。 行為威脅類型/行為代表主要威脅類別,描述威脅的主要行為是什么
平臺通常指win32,x64,linux,mac os 家族用于表示一組具有相同來源(作者、源代碼)、操作原理或有效負載的檢測到的對象。每個家族都是根據其表現的行為來命名的。常見的就是:Generic、Infector、AntiAV、KillFiles等。 變體為了識別一個家族中不同惡意軟件的變體,字母按順序使用并稱為變體,從“.a”開始:“.a”-“.z”、“.aa”-“.zz”等 報毒案例
轉自https://www.cnblogs.com/F12-blog/p/18362694 該文章在 2024/11/13 8:59:59 編輯過 |
關鍵字查詢
相關文章
正在查詢... |