最初に、いくつかの導入ノート。 最初の観察:かっこいい右手に関連して、タイピングは私にとって不便です。 2番目のコメント:誰かにとって、上記のすべては新しいものではないかもしれませんが、あなたは何ができますか! しかし、残りは面白いと思います。 行こう!
多くのユーザーは、ファイアウォールおよびトラフィックフィルターがウイルスに対する信頼できる保護を検討している 一般に、これらのツールを構成してウイルスの寿命を大幅に複雑にすることができますが、これはかなり難しい問題です。 私が直面しなければならないいくつかのポイントについて、私は伝えます。 カットの下では、いつものように、多くの技術的な詳細、コード、一貫性のない考えの場所があります。
剖検時-DrWebの用語によると、Trojan.DownLoad.921。
ファイルのサイズは20992バイトで、UPXで圧縮されています。 これは、ClearAVとDoWorkという2つのエクスポートされた関数を持つDLLです。 PEiDからの情報によれば、VC 6バージョンに書かれています。
足跡
いくつかの機能の先頭にあるコードのトロイの木馬の興味深い特徴:
.text:10004490
.text:10004490; BOOL __stdcall DllMain(HINSTANCE hinstDLL、DWORD fdwReason、LPVOID lpvReserved)
.text:10004490 _DllMain @ 12 :; コードXREF:DllEntryPoint + 4Bp
.text:10004490 push ebp
.text:10004491 mov ebp、esp
.text:10004493 sub esp、108h
.text:10004499 push esi
.text:1000449A push edi
.text:1000449B nop
.text:1000449C nop
.text:1000449D clc
.text:1000449E jnbはptr loc_100044A0 + 1の近くで短い
.text:100044A0
.text:100044A0 loc_100044A0 :; コードXREF:.text:1000449Ej
.text:100044A0 ptr loc_1000468C + 1付近の呼び出し
.text:100044A5 cl、chを追加
.text:100044A7 pop edx
または、より理解しやすい方法で:
.text:10004490
.text:10004490; BOOL __stdcall DllMain(HINSTANCE hinstDLL、DWORD fdwReason、LPVOID lpvReserved)
.text:10004490 _DllMain @ 12 :; コードXREF:DllEntryPoint + 4Bp
.text:10004490 push ebp
.text:10004491 mov ebp、esp
.text:10004493 sub esp、108h
.text:10004499 push esi
.text:1000449A push edi
.text:1000449B nop
.text:1000449C nop
.text:1000449D clc
.text:1000449E jnb short loc_100044A1
.text:1000449E; -.text:100044A0 db 0E8h; w
.text:100044A1; -.text:100044A1
.text:100044A1 loc_100044A1 :; コードXREF:.text:1000449Ej
.text:100044A1 call loc_100044A7
.text:100044A1; -.text:100044A6 db 0E9h; あなたは
.text:100044A7; -.text:100044A7
.text:100044A7 loc_100044A7 :; コードXREF:.text:loc_100044A1j
.text:100044A7 pop edx
条件付きジャンプ(この場合、アドレス1000449E)は常に実行されます。つまり、呼び出しの代わりにjnb + callが実行されます。 かなり特徴的な「指紋」は、分析を複雑にするのに役立つと思います。 しかし、IDAを使用すると、このようなコードを簡単に操作できます。
犠牲者
トロイの木馬は起動コードを実行した後、どのプロセスがそれをダウンロードしたかを確認します。 flashget.exe、Thunder.exe、QQMusic.exe、QQLive.exe、QQDownload.exe、svchost.exe、explorer.exeという名前のプロセスのみがトロイの木馬を満たします。 プログラムの名前から、トロイの木馬が主に中国のユーザーを対象にしていることは明らかです。 ロードされたDLLアプリケーションがトロイの木馬を満たす場合、ペイロードを含む新しいアプリケーションスレッドが作成されます。 それ以降のアクションは、新しいスレッドですでに実行されています。
ペイロード
このトロイの木馬のアクティブな有効性は、URLの復号化(復号化アルゴリズムが解析されなかった)から始まり、現在のユーザーの一時ディレクトリにあるpackage.tmpというファイルのserver.com/logo1.gifアドレスからファイルをダウンロードします。 ダウンロードファイルは実際にはgif画像ですが、Hiewで表示すると、EXEファイルが内部に表示されます! ステガノグラフィがあります-余分なものを送信するという事実の隠蔽。 (他のすべてのダウンロードされたファイルと同様に)ファイルをダウンロードしようとする試みは、20秒で5回停止されます。 ダウンロードしたファイルの最後の4バイトは、EXEファイルの長さを含む、ファイルの先頭からの「トロイの木馬」情報のオフセットです。 埋め込みファイルは、現在のユーザーの一時ディレクトリに取得されます。 ファイルを正常に抽出した後、DeleteUrlCacheEntryが呼び出されて、ファイルがロードされたという事実を隠していると思います。 server.com/logo2.gif、server.com/logo3.gifおよびserver.com/logo4.gifファイルも同じ方法でダウンロードされます。 総容量は約860 Kbです!
ファイルがダウンロードされた後、完全に理解できない操作が実行されます。ネットワークカードのMACアドレスが取得され、2つのハードワイヤードアドレスと比較されます。 さらに、製造業者だけでなく、住所全体が比較されます。 また、非VMWareカードのアドレスは保護されています。 唯一の論理的なアイデアは、著者を子孫から保護することです。 MACアドレスの取得は残酷な方法で行われます-ipconfig / allを呼び出して解析応答を行います! MACアドレスが一致しても、トロイの木馬はシャットダウンせず、コードをスキップするだけです。
MACアドレスが一致しない場合、ウィンドウ検索が実行されます。 どうやら、ウィンドウは、QQ2006-ICQの中国のアナログを探しています。 確かに、検索は完全な見出し(ビルド番号を含む)で行われますが、これはおそらく著者の間違いでしょう。 ウィンドウが見つかった場合、制御はMACアドレスが一致したときと同じコードに転送されます。 それ以外の場合、 server2.cn / logo.gifファイルがダウンロードされて保存されます(プロセスは上記のプロセスと同様です)。
その後、GIFファイルから抽出されたフラグメントを開始しようとしますが、 server2.cn / logo.gifから抽出されたファイルは開始されません。 起動の成功はチェックされませんが、試行が失敗した場合、非常に多くのことがあります。
ウイルスのアップグレード
次に、iniファイルであるserver.com/xin/version.gifファイルがダウンロードされます。 これにはバージョン番号が含まれており、その番号が読み取られ、本体に組み込まれたトロイの木馬のバージョンと比較されます。 INIファイルが正常にダウンロードされ、その中のバージョンがトロイの木馬よりも大きい場合、 server.com / xin / update.gifファイルがロードされます(ただし、これは既に通常のEXEファイルです)。
作業の最後に、MAYASYSデバイスにアクセスします。 おそらく、更新手順でダウンロードされたファイルは、このデバイスに直接関連しています。
その他の機能
ClearAVは、おそらく、MAYASYSデバイスとやり取りしながら特定のプロセスを隠します(もちろん、システムにはありません)。 トロイの木馬は設計された条件ではなく起動されたため、どのプロセスを非表示にする必要があるかは明確ではありません。
機能のさらなるアクションは、その名前から明らかです:動作中のウイルス対策を殺します:Casper、Rising Personal FireWall、Symantec(と思われます)、および完全に理解できないウイルス対策(そしておそらくウイルス:-)。
DoWork関数はClearAVを呼び出し、プロセスexplorer.exeにInjectを生成します
ファイアウォールに立ち向かう
トロイの木馬から保護する最も明白な方法は、明示的に指定されたものを除くすべてのアプリケーションへのデータ転送を禁止することです。 しかし、ここでは動作しません。トロイの木馬はDLLであり、svchostおよびexplorerからロードされるように設計されています。 そして、エクスプローラのネットワーク活動の禁止-これはまだ理解できる場合、svchost禁止は悪いことです。 これはポートによるフィルタリングの順番です。トロイの木馬は80番目を望んでおり、svchostは通常それなしで実行できます。 トロイの木馬をメモリにロードできるQQもあります。 このソフトウェアのネットワーク操作の機能はわかりませんが、80番目のポートを使用していると推測できます。 さあ、港とアプリケーションの禁止はもうできません。 要求されたファイルを見ると、すべてが無害になります-gif-pictures。 コンテンツフィルタリングが必要であり、それも簡単ではありません。 簡単な方法では、必要に応じてフィルターがバイパスされます。 フィルタをバイパスするより深刻な方法は、Chris Kasperskyの記事の1つで説明されています。 ところで、彼の著者のすべての記事を読むことを強くお勧めします;-)
おわりに
複雑な悪意のあるプログラムの一部であるトロイの木馬が分析されました。 少なくとも、分析されたDLLをディスクにドロップし、システムに書き込むMAYASYSデバイスドライバーとドロッパーを含める必要があります。 将来、発見されたのはドライバーとドロッパーでした。 かなり単純で独創的な方法で、トロイの木馬はファイアウォールをバイパスし、感染から保護します。
不明な点:ClearAV機能は実際にルートキットとして機能しますか? MACアドレスがチェックされるのはなぜですか? トロイの木馬はどのウィンドウを探していますか? 実行されないファイルをダウンロードする理由