1

顧客のコンピューターで Client.jar ファイルを見つけました。このファイルには、次の 2 つのファイルに逆コンパイルできる 2 つの .class ファイルが含まれています。

クライアント.java

I.java

さらに、16 進エディタで見ると明らかに GIF ではない I.gif があります。

それらは明らかに難読化されており、私は Java にはあまり興味がありません。VM で実行しようとしましたが、「Client.jar から Main-Class マニフェスト属性を読み込めませんでした」と表示されます。

メインクラスがマニフェストにない可能性がありますが、これを修正するにはどうすればよいですか? これは、顧客のコンピュータで実行できなかったということですか?

ファイル MANIFEST.MF、ME.DSA、ME.SF を含む META-INF フォルダーもあります。

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=

サンドボックスまたは VM で実行して、これをさらに分析したいのですが、どのように実行すればよいでしょうか?

これは明らかにある種のマルウェアであるため、専門家のみがこれに回答する必要があります。前もって感謝します!

4

2 に答える 2

2

jar ファイルから Java アプリケーションを開始するには、エントリ ポイントを形成するクラスを認識している必要があります。そのクラスにはmainメソッドが必要です。jar のMANIFEST.MFファイルで指定するか、実行時に (たとえば、コマンド ラインから) 指定することができます。

逆コンパイルされたクラス (実際には難読化されているように見えます) には、main メソッドが含まれていません。したがって、これはスタンドアロン アプリとして実行可能な jar にはなりません。ただし、Clientextends はApplet、これがブラウザで Web アプレットとして実行されることを意図していたことを示しています。このページをチェックして、実行方法を確認してください。

悪意があると思われる場合は、一連のウイルス/スパイウェア/アドウェア スキャナーを実行することをお勧めします。

編集:コードを変更してgifで実行した後(自分が何をしているのかわからない場合はこれを行わないでください!)、これが起こるという結論に達しました:

まず、「gif」はやや回りくどい方法でデコードされます。最初の 3 バイトは、残りの gif がロードされるバイト配列のサイズを決定します。このバイト配列の一部は、アプレットで使用される文字列を構築するために使用されます。

アプレットが初期化されると、アプレット パラメータの値が取得されますAMLMAFOIEA。このパラメーターは、アプレットを含む HTML で設定する必要があるため、値はアプレットが実行されるページに依存します。これがどのように設定されているかの詳細です。

その後、環境変数の値を取得しますTEMPAppData\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;
  }

まったく何もしないようです。これは、機能にまったく影響を与えていないように見えるため、難読化ツールによってトラックから外れるように追加された可能性があります。重要なことはすべて、これらのテストとフィールドの外で行われ、実際に機能するものには使用されていないようです。フィールドのみbがターゲット URL 文字列を保持するために使用されます。ca

結論から言うと、これは非常に疑わしいと思われます。しかし、実際にどの URL からダウンロードしようとするかは、アプレットの環境によって異なります。残念ながら、これは真の情報源を示していません。おそらくこれは、アプレットを含むサイトを介して悪意のあるペイロードを配信したい人が使用することを意図した、一般的なトロイの木馬クライアントです。アプレットはアクセス許可が制限されたサンドボックスで実行されるため、これが機能するかどうかはわかりません。また、最終的にJavaLoad.exeを実行する方法もわかりません。このファイルが存在することを期待する他のプロセスに依存していると思いますが、通常は無害なものかもしれません。

これは面白かったです。リソースをありがとう。Java 開発者でなく、コードから危険な部分を取り除く方法がわからない場合は、このようなことを自分で実行しようとしないことをお勧めします。

于 2011-10-31T17:23:24.103 に答える
1

投稿でわかるように、MANIFEST.MF にはメイン クラス属性が含まれていません。これはトロイのダウンローダである可能性があり、確実に http 接続を開き、ファイルをダウンロードして実行します。gif ファイルには URL が含まれているようです。

この jar を削除し、コンピューターのマルウェアをスキャンすることを強くお勧めします。実行しようとしないでください。

于 2011-10-31T17:21:53.010 に答える