2011-10-31 69 views
1

我發現了一個客戶的計算機上的client.jar中的文件,其中包含我可以反編譯到這個兩個文件的兩個.class文件:「無法從client.jar加載主類清單屬性」放入可能的惡意軟件.jar文件中?

Client.java

I.java

而且有一個I.gif這是顯然沒有GIF用十六進制編輯器查看它。

他們顯然混淆了,我沒有進入Java那麼多。我嘗試在VM中運行,但它告訴我「無法從Client.jar加載主類清單屬性」

可能是,主類不在清單中,但是如何解決這個問題? 這是否意味着它無法在客戶的計算機上運行?

還有一個META-INF文件夾包含文件MANIFEST.MF,ME.DSA,ME.SF.

MANIFEST.MF看起來像這樣:

Manifest-Version: 1.0 
Created-By: 1.6.0_20 (Sun Microsystems Inc.) 

Name: Client.class 
SHA1-Digest: ex7bAth9HYUTIi8EcpeOc1OsVMg= 

Name: I/I.class 
SHA1-Digest: 0H6A7/XmOCNhayPI9TwC45Mky4s= 

Name: I/I.gif 
SHA1-Digest: AzzSpXaRFMYvtYJvrnFsHQDvJkE= 

我想在沙盤或虛擬機中運行它進一步分析,什麼是錯誤的意思我該怎麼辦好呢?

這顯然是某種惡意軟件,所以只有專家才能回答這個問題。提前致謝!

+0

你能否給我們提供I.gif?顯然,對任何想使用它的人發出強烈的警告......我想初始化'I'類並查看它從該文件中提取的信息。別擔心,我會小心:) –

+0

正如您在源代碼中看到的,字符串是從I.gif構建的,並用作http連接的url。 – Stephan

+0

@Stephan是的,我知道。但是我想知道它指向哪裏,或者它想要寫什麼文件。 –

回答

2

爲了從jar文件啓動Java應用程序,它必須知道哪個類形成了入口點。該課程需要使用main方法。它可以在jar的MANIFEST.MF文件中指定,也可以在運行時指定(例如,從命令行)。

反編譯的類(確實似乎被模糊處理)不包含main方法。所以這不會是一個可以作爲獨立應用程序運行的jar。但是,Client擴展了Applet,表示這是爲了在瀏覽器中作爲Web小程序運行。檢查this page以瞭解如何運行它。

如果您懷疑它是惡意的,可能最好通過一堆病毒/間諜軟件/廣告軟件掃描程序來運行它。

編輯:改變代碼,並與GIF運行它(!如果你不能確定你在做什麼不這樣做),我得出的結論是,在此之後發生了什麼事情:

首先,「gif」將以稍微圓潤的方式解碼。它的前三個字節決定了gif的其餘部分將被加載到的字節數組的大小。該字節數組的一部分用於構造applet中使用的字符串。

當小程序初始化時,它將獲取小程序參數AMLMAFOIEA的值。該參數需要在包含applet的HTML中設置,因此該值將取決於運行applet的頁面。 Here's the details of how this is set.

之後,它會得到環境變量TEMP的值。在我的情況下,這指向我的用戶目錄中的AppData\Local\Temp。它會追加\JavaLoad.exe這個,並使用該路徑來創建一個FileOutputStream,所以顯然它試圖寫出一個JavaLoad.exe文件在您的臨時文件夾中。

然後,它將建立到AMLMAFOIEA小程序參數指定的URL的HTTP連接,將其請求方法設置爲GET。將從連接打開一個流,並將其內容轉儲到JavaLoad.exe文件中。

代碼塊

if ((this.b == this.c) && (this.b + I.I(1) == this.c + I.I(1))) 
    { 
    this.b = I.I(4); 
    this.c = I.I(6); 
    this.b = this.c; 
    } 

的不斷重複,似乎什麼也不做。它可能已經被混淆器添加了,因爲這似乎沒有任何功能影響。所有重要的東西都是在這些測試之外完成的,並且字段bc似乎沒有用於任何真正有用的功能,只有字段a用於保存目標URL字符串。

因此,總之,這看起來確實很可疑。但是它真正嘗試下載的東西取決於applet的環境。不幸的是,這並不意味着我們有任何真正的來源。也許這是一個普通的木馬客戶端,打算供任何希望通過帶applet的網站傳遞惡意負載的人使用。由於小程序在有限權限的沙箱中運行,因此我不確定這是否可行。我也不知道它最終如何運行JavaLoad.exe。我想它依賴於其他一些預計這個文件存在的過程,也許通常是無害的。

這很有趣。感謝您的資源。如果您不是Java開發人員,並且不知道如何從代碼中取出危險部分,我建議您不要自己嘗試運行這些東西。

1

MANIFEST.MF不包含主要的類屬性,就像您在帖子中看到的那樣。這可能是一個troyan下載程序,它明確地打開一個httpconnection,下載文件並執行它們。 gif文件似乎包含網址。

我強烈建議刪除此jar文件並掃描計算機中的惡意軟件!不要試圖執行它。

相關問題