惡意軟體已迅速成為危害現代技術的主要問題之一,每年會產生數百萬種新形式的惡意軟體(按照某些估計,每個小時都有約1200個新惡意軟體被製造出來)。
在滲透測試期間使用或編寫惡意軟體可能有所幫助,但如果使用不當,他也可能是非常危險的工具。例如,使用一個惡意軟體測試防病毒軟體,或在系統中植入後門程式可能有用,但是如果後門程式意。外擴散到預期的目標之外,並感染未參加測試的其他系統(甚至是其他公司),情況會十分嚴重。當前,此類問題很容易讓你陷入法律困境。
 並不是所有的惡意軟體都是一回事。惡意軟體(malware)是指一系列具有惡意的軟體的統稱。廣義上講,惡意軟體是指任何無意義地消耗資源和時間,並使用這些資源執行一些損害所有者最大利益操作的軟體。為更直觀形象的說明惡意軟體,以下說明各種惡意軟體的型別。
病毒(Viruses)
病毒採用複製自身將其附加到(即“感染”)目標系統上的其他檔案。病毒需要執行一個主機程式用來啟動感染過程。病毒自20世紀70年代以來,就已經成為一種惡意軟體。
蠕蟲(Worms)
這種形式的惡意軟體自20世紀80年代你末出現以來,已經出現了各種形式。雖然第一代蠕蟲危險程度遠不如現在,但他們仍然有害。他們不需要任何使用者互動就能快速繁殖和傳播。
間諜軟體(Spyware)
這類軟體設計用來隱祕的收集使用者相關活動資訊。
木馬(Trojan Horses)
此類別中的各類惡意軟體與木馬非常相似;他們是用社會工程或其他方式誘使使用者啟用他們。將惡意軟體捆綁到使用者想要的內容中,可以增加使用者執行惡意軟體而導致感染的概率。
Rookit
Rookit是能夠隱藏在系統的硬體或軟體中的惡意軟體形式之一。這型別的軟體更具有破壞性,因為由於他們的系統核心級別進行感染活動,所以很難檢測得到。大多數防毒軟體沒有訪問核心或者系統中的其他應用程式的許可權。
加密病毒(Cryptoviruses)、勒索軟體(ransomware)
此類軟體用於定位和加密受害者硬碟資料,目的在於勒索贖金。受害者的計算機被感染後,就會收到一條資訊,一條關於支付贖金用來解鎖檔案金鑰的資訊。
病毒是最古老的惡意軟體,是到現在為止廣為人知的惡意軟體型別,到底什麼是病毒?和其他惡意軟體有什麼區別?
病毒的生命週期
簡而言之,歸類為病毒的惡意軟體有以下特徵:自我複製,並將自身附加到其他可執行程式之上並感染應用程式。很多病毒一旦執行就會立即感染主機,而另一些則會潛伏下來等待預定的觸發事件或時間,然後執行指令。
在感染病毒後會有什麼特徵?
- 篡改資料
- 感染其他應用程式
- 複製
- 加密自身
- 將自身變為另一種形態
- 修改配置設定
- 破壞資料
- 擾亂或毀壞硬體
那麼病毒作者為什麼要製造他們?要細化到某個具體的原因比較難,常見的原因有竊取資訊、破壞裝置和軟體、影響公司正常運轉、到用時很粉,或者某些情況下只是為了“製造病毒”。
在滲透測試中可能會發現,製造病毒是測試軟體和策略等防禦措施的有效手段。然而,如果在測試中使用這些軟體,應採取防護措施,以確保它不會超出目標的範圍。如果最終惡意軟體擴散到超出預期目標之外,結果可能是嚴厲的法律懲罰。為確保安全,最好在測試環境而不是生產環境中使用惡意軟體。
製作一個病毒可能是一個非常複雜的過程,也可能只需要點選幾下按鈕。一般高階程式設計師可能會從頭編寫病毒,購買程式碼,或者使用一個“地下”病毒生成器。最後,對於最基礎水平的人,可能獲取預先構建的程式碼直接使用。
製作一個簡單的病毒其實很容易,只需要開啟記事本輸入以下內容,並將內容改為任意名.bat檔案,最後用相關軟體(如Bat2Com)進行轉換為其他型別檔案。
注:千萬不要執行這個程式,以下程式碼只為舉例證明使用。在系統執行以下程式碼可能會導致系統損壞,可能需要大量時間進行修復!!!
@echo off
Del C:\windows\system32\*.*
Del C:\windows\*.*
當然,為了建立更復雜的病毒,只需要瀏覽相關網站,搜尋病毒製作工具包或者病毒軟體開發包(SDK)。每個包都有不同的選項和功能,需要大家進行探索。但是,如果要深入瞭解病毒建立工具包的世界,請務必小心,儘量使用虛擬機器或獨立系統執行它們。病毒製作工具例項如圖所示。
病毒的型別
所有的病毒並非都是一個模子裡刻出來的。即使無法記住病毒可能具備的所有形式,也應知道他們有多種不同的型別。瞭解某個病毒的不同形式,有助於排除故障和診斷。
引導扇區病毒(Boot Sector Virus)
此類病毒專門以驅動器的引導扇區或某幾種作業系統儲存引導資訊的位置為目標。這種型別的病毒首先出現在MS-DOS時代,但現在仍然存活,並隨機出現。
瀏覽器劫持者(Browser Hijacker)
這是一種常見的病毒,通過利用網路瀏覽器中包含的漏洞或功能進行傳播。此類病毒以篡改主頁或強制將其他資訊下載到計算機等行為為主。我們通常都見過某345的瀏覽器劫持操作,所以就不舉例說明了。
檔案感染型病毒(File Infector Virus)
這種病毒是最常見的病毒之一。檔案感染型病毒必須具備的特徵是,感染程式必須將自身嵌入檔案中,並等待該檔案執行。此類病毒與直接操作性病毒之間的區別在於,該型別會覆蓋宿主檔案,或對主機檔案造成其它型別的損壞。
巨集病毒(Macro Virus)
這種型別的惡意軟體使用Microsoft Office應用程式以及其他應用程式內建的巨集語言。這種病毒可以嵌入到一個無害的文件中,等待文件載入並執行巨集。
混合型病毒
這種型別的病毒特別令人討厭,因為他同時使用多種方法進行傳播。感染的方法可能多種多樣,取決於應用程式、作業系統版本以及病毒作者期望的病毒執行方式。
多形病毒(Polymorphic Virus)
此類病毒特徵是在一段時間內反覆重寫自身。通過這種方式,病毒變得更難以檢測,因為如果再次被捕獲,他看起來會和上次不同,此類病毒中的一些更為先進的變種,甚至會採取加密隱藏其行為。
常駐病毒(Resident Virus)
這種寬泛的病毒分類定義於適用任何執行後將自身載入到記憶體中,等待感染其目標檔案的病毒。
Web指令碼病毒(Web Scripting Virus)
許多網站執行復雜的程式碼以提供有趣的內容。當然這些程式碼有時可被利用。使得病毒通過網站感染或操作計算機成為可能。
加密病毒(Encrypted Viruses)
這種型別的病毒包括配對的一個載荷和一個用於加密整個病毒包的加密引擎。病毒通過使用加密技術,使防毒軟體難以檢測。
電子郵件病毒(Email Virus)
這是一種通過電子郵件傳播的病毒,此類病毒會隱藏在電子郵件中,當收件人開啟郵件時,病毒載荷將執行並造成破壞。
邏輯炸彈(Logic Bomb)
人們不認為邏輯炸彈是病毒,因為他們不會複製,甚至不是獨立的程式,而是其他程式中偽裝的部分。邏輯炸彈的目標是一旦滿足某些條件,就破壞計算機上的資料。邏輯炸彈在執行之前檢測不到,其後果可能是災難性的。
本作品採用《CC 協議》,轉載必須註明作者和本文連結