MSF MS11-050/10-087/Adobe攻擊實踐及內存保護技術

MSF MS11-050/10-087/Adobe攻擊實踐及內存保護技術

內存攻擊指的是攻擊者利用軟件安全漏洞,構造惡意輸入致使軟件在處理輸入數據時出現非預期錯誤,將輸入數據寫入內存中的某些特定敏感位置,從而劫持軟件控制流,轉而執行外部輸入的指令代碼,形成目標系統被獲取遠程控制或被拒絕服務。內存攻擊表面緣由是軟件編寫錯誤,注入過濾輸入的條件設置缺陷、變量類型轉換錯誤等,但根本緣由是,現代電子計算機在實現圖靈機模型時,沒有在內存中嚴格區分數據和指令,這就存在程序外部輸入數據稱爲指令代碼從而被執行的可能。任何操做系統級別的防禦措施都不可能徹底根除現代計算機體系結構上的這個弊端,只能試圖去阻止攻擊者利用。html

1、 瀏覽器滲透攻擊實例——MS11-050安全漏洞

攻擊實踐過程

在MSF終端搜索ms11_050,能夠找到針對漏洞的攻擊模塊,名稱爲ms11_050_mshtml_pcobjectelement。windows

  1. 加載該模塊並info查看基本信息。以下圖所示:瀏覽器

  2. 設置相關信息。具體操做命令以下:安全

    (1) 設置攻擊載荷爲Meterpreter中的reverse_http,此載荷會給監聽端返回一個遵循HTTP協議的Shell。服務器

    (2) 設置監聽端IP地址爲攻擊機的IP地址10.10.10.128。網絡

    (3) 將含有滲透代碼的網頁連接設置爲http://10.10.10.128:8080/ms11050。session

    運行exploit命令生成惡意攻擊網頁:
    架構

  3. 在靶機中啓動IE瀏覽器,訪問該連接。此時在攻擊機的MSF終端中,能夠看到以下信息:(此處沒有成功,我在考慮是不是靶機瀏覽器版本問題)工具

    在客戶端訪問該滲透攻擊連接以後,MS11=050滲透模塊發送了相關的滲透網頁給瀏覽器,而且成功地植入Meterpreter到進程ID號爲2844的notepad.exe中,隨後返回給監聽端一個會話。因爲前面設置了該載荷回連的監聽端主機位攻擊機IP,因此在攻擊機上就能獲得返回的會話。測試

    在靶機端,能夠看到IE瀏覽器已經被溢出,查看進程列表,可能植入了Meterpreter的notepad.exe進程。
  4. 在Meterpreter的監聽端介入會話,具體操做命令以下:

    先試用sessions –1命令查看當前監聽端的活動會話,而後運行session –i 1命令,選擇介入ID號爲1的當前靶機回連的會話。隨後,輸入sysinfo等命令,查看靶機的相關信息。

2、針對Office軟件的滲透攻擊示例——MS10-087安全漏洞

(一)攻擊實踐過程

在MSF終端搜索ms10_087,能夠找到針對漏洞的攻擊模塊,名稱爲ms10_087_rtf_pfragments_bof,滲透模塊代碼路徑爲/modules/exploit/windows/fileformat/。

  1. 加載該模塊並顯示基本信息

    產生漏洞的緣由是Office程序在處理某些特殊構造RTF文件時,相應解析程序在處理一個名爲pFragments的參數時存在棧緩衝區溢出錯誤,致使異常發生。
    RTF文件屬於Office軟件中Word應用程序處理的文件格式。一個後綴名爲rtf的文件在改成doc後不影響其使用。因此,用戶收到這樣一個惡意構造的RTF文件以後,從外觀上沒法找出與正常Word文件的區別。該漏洞幾乎影響全部版本的Office軟件。
  2. 設置該滲透模塊的攻擊載荷爲運行一個計算器
  3. 運行模塊

    設定測試文件名爲ms10087.rtf,並輸入exploit運行該模塊,如圖所示:

    滲透文件已經產生,路徑爲/root/.msf4/local/ms10087.rtf。而後,在系統上找到此文件複製至靶機環境中,雙擊打開該文件。發現,Word程序在啓動打開這個攻擊文件時,其中存在的相應安全漏洞被利用,從而執行Metasploit的攻擊載荷,彈出計算器程序。如圖所示:(因爲上步未成功,因此等待文件複製成功)

(二)攻擊機理分析

這一漏洞的利用方式是經典的SEH利用方式。SEH(Structured Exception Handling)亦即結構化異常處理,是Windows操做系統提供處理程序錯誤或異常的機制。

  • MS10-087滲透攻擊模塊中描述目標的Target信息,針對MOS2003 SP3 English on Windows XP SP3English靶機目標環境,定義了兩個變量參數:
    Offsets偏移量爲「[24580,51156]」,表示24580~51156的範圍集合。
    Ret返回地址指向0x30001bdd地址,在名爲winword.exe的Word進程中,這一地址開始的指令應爲一段「POP/POP/RET」模式的指令。

  • 包含Shellcode的變量sploit被填充至名爲pFragments的屬性參數中,此變量過長致使了緩衝區溢出。

3、Adobe閱讀器滲透攻擊實戰案例——加急的項目進展報告

  1. 加載模塊

    加載模塊,輸入info命令能夠查看模塊信息。此漏洞針對Adobe閱讀器9.3.4以前的版本,產生原理是一個名爲SING表對象中一個名爲uniqueName的參數形成站緩衝區溢出。這個模塊採用ROP技術繞過DEP,針對的目標系統包括開啓DEP的Win七、WinXP-SP3。

  2. 配置測試模塊

    設置載荷爲windows/meterpreter/reverse_http,監聽端爲測試主機的IP地址,產生的文件名爲2.pdf。

  3. 啓動監聽端

    在測試主機啓動一個對應於載荷的監聽端,等待靶機回連,並執行exploit:

  4. 查詢靶機環境

    將測試文件2.pdf複製到測試靶機中,雙擊打開該文件,監聽端接到來自靶機的Meterpreter鏈接,執行命令對靶機環境進行基本的查詢,結果以下。

    相應的查看測試靶機中的情形,啓動查看進程的工具Process Explorer與查看網絡鏈接的TCPView,結果以下(問題與實踐二相同)

註釋:

(1) 被溢出的Adobe Reader軟件對應的進程AcroRd32.exe並無產生新的子進程,說明Meterpreter已經移植到溢出進程的空間中。

(2) 網絡鏈接顯示一個與測試主機之間有一個活動的TCP鏈接。

(3) 閱讀軟件被一處以後處於崩潰狀態,不能正常顯示。

4、內存保護技術

1.高級ECC

  • 目前服務器上廣泛應用了高級ECC技術,,ECC的英文全稱是Error Checking and Correcting,即錯誤檢查和糾正。ECC是一種內存的糾錯技術,與奇偶校驗技術不一樣,ECC能夠發現和糾正數據寫入內存和從內存讀出時的錯誤,ECC技術能夠檢測單DRAM芯片上發生的任意兩個隨機錯誤,最高能夠檢查到4比特的錯誤,可是ECC只能修正1比特的錯誤。

  • 高級ECC技術是ECC技術的加強版,能夠發現和糾正單一內存芯片上的多比特錯誤,也能夠糾正內存條上單芯片的失效,進一步提升了內存可用性,爲服務器提供了更高級別的內存故障保護。 在一個4比特的高級ECC內存中,每一個芯片能夠向數據字提供4比特數據,這4比特數據被分給4個ECC設備,每一個設備1比特,因此4比特的高級ECC內存能夠同時處理4個獨立的錯誤。

2.在線內存備份技術

  在線備分內存模式是比高級ECC更高級別的內存保護技術,在該模式下,系統將內存分爲3組,分別爲系統主內存,擴展內存,備用內存(容量大於或等於主內存),當檢測到主內存發生錯誤時,系統自動將主內存存儲的數據複製到備用內存,而且中止使用主內存,而不影響系統和程序的正常運行,並經過管理軟件向系統管理員發出警報,直到出錯內存更換。

3.鏡像內存技術

  • 內存鏡像至關於磁盤上應用的RAID-1, 是將兩組或四組內存互相作鏡像,當一組內存出錯,另一組立刻接替工做。使用鏡像技術時,實際使用容量爲安裝內存容量的一半,而且須要在內存專用工具裏開啓鏡像功能。

  • 鏡像內存和主內存互成對角線分佈,若是其中一個通道出現故障不能繼續工做,另外一個通道仍然具備故障通道的內存數據,有效防止了因爲內存通道故障致使的數據丟失,極大提高了服務器可靠性。鏡像內存的容量要大於等於主內存容量,當系統工做時,鏡像內存不會被系統識別。

4.熱插拔RAID內存技術

  • 熱插拔RAID內存(Hp Hot Plug Raid Memory)在概念上和RAID 4磁盤存儲技術是類似的,在系統架構上更像一個硬盤,因此採用熱插拔的RAID內存保護模式的系統能夠達到像RAID硬盤同樣隨意替換內存的效果。

  • 採用熱插拔RAID內存方式的服務器使用5個內存控制器來控制5個內存盒(memory cartridges)。每一個盒能夠安裝最多8個工業標準DIMM ,當內存控制器要向內存中寫數據的時候,它們會把數據分紅4塊寫入4個內存盒,並計算奇偶信息存放在第5個內存盒。利用4個內存盒中的數據和第5個內存盒中奇偶信息,數據能夠徹底恢復,即便是任何DIMM工做故障,或任何一個內存盒被拆掉了,也能夠作到不丟失數據。

相關文章
相關標籤/搜索