昨今、Webサーバなど公開サーバへの攻撃で「Webシェル」(web shell)というツールが用いられていることが確認されています。「Webシェル」とは、Web経由でのコマンド実行を可能にするバックドアの一種であり、主にサイバー犯罪者がインターネット上の公開サーバに対する遠隔操作を実現するために使用します。トレンドマイクロでは7月以降、新たな Webシェルである「Ensiko」の攻撃を確認しています。Ensikoはランサムウェア機能を備えているなど、これまでのWebシェルよりも危険性が高いものとなっています。
PHP WebシェルであるEnsikoはPHPがインストールされていればLinux、Windows、macOSなど異なるプラットフォームでも攻撃対象とすることが可能です。感染サーバ上でシェルコマンドを実行し、PHPリバースシェルによって攻撃者に結果を送信します。Ensikoは、Webサーバをスキャンして他のWebシェルの存在を確認する、Webサイトを改ざんする、メール爆撃を実行する、リモートのファイルをダウンロードする、感染サーバに関する情報を開示する、FTP・cPanel・Telnetに対するブルートフォース攻撃を実行する、指定された拡張子を持つファイルを上書きするなど、様々な機能を実行できます。
■Ensikoの詳細
Webシェル認証機能
Ensikoには、パスワード保護の機能が備えられています。Ensikoへのアクセス時には認証のために、非表示のログインフォームが隠されている[Not Found]ページを表示します(図1と2)。これは自身が設置したWebシェルを他のサイバー犯罪者などに使用されないようにするためのものと考えられます。
図1:[Not Found]ページに隠されたログインフォーム
図2:パスワード認証のためのPHPコード
以下の図は、ローカルの検証環境でキャプチャしたWeb シェルのパネルへの認証リクエストのネットワークトラフィックを示しています。このサンプルのパスワードは「RaBiitch」であることが確認できます。
図3: Ensikoにアクセスする際のネットワークトラフィックのキャプチャ例
図4:Ensiko Webシェルの外観
「Ensiko」の機能
以下は、Ensikoが備える機能一覧です。
機能 | 説明 |
Priv Index | ensikology.phpをPastebinからダウンロード |
Ransomware | CBCモードでRIJNDAEL 128を使用してファイルを暗号化 |
CGI Telnet | CGI-telnetバージョン1.3をPastebinからダウンロード(CGI-Telnetは、Webサーバ上でコマンドを実行可能にするCGIスクリプト) |
Reverse Shell | PHPリバースシェル |
Mini Shell 2 | ./tools_ensikologyへ、Webshellペイロード「Mini Shell 2」をドロップ |
IndoXploit | ./tools_ensikology/へ、Webshellペイロード「IndoXploit」をドロップ |
Sound Cloud | SoundCloud(サウンドクラウド)を表示 |
Realtime DDOS Map | FortinetによるDDoSマップ |
Encode/Decode | 文字列バッファのエンコードおよびデコード |
Safe Mode Fucker | PHPセーフモードを無効化 |
Dir Listing Forbidden | ディレクトリインデックスをオフ |
Mass Mailer | メール爆撃 |
cPanel Crack | FTP、cPanel、telnetへのブルートフォース攻撃 |
Backdoor Scan | リモートサーバにWebシェルがないかをチェック |
Exploit Details | システム情報とバージョン管理を表示 |
Remote Server Scan | リモートサーバにWebシェルがないかをチェック |
Remote File Downloader | CURLまたはwgetによってリモートサーバからファイルをダウンロード |
Hex Encode/Decode | 16進エンコードあるいはデコード |
FTP Anonymous Access Scanner | 匿名FTPの検索 |
Mass Deface | 改ざん |
Config Grabber | 「/etc/passwd」などのシステム設定をグラブ |
SymLink | リンク |
Cookie Hijack | セッションハイジャック |
Secure Shell | SSH |
Mass Overwrite | 指定したファイルタイプにデータを再書き込みまたは追加 |
FTP Manager | FTPマネージャ |
Check Steganologer | EXIFヘッダによって画像を検出 |
Adminer | PHPデータベース管理ツール「Adminer」を「./tools_ensikology/」へダウンロード |
PHP Info | PHP設定に関する情報 |
Byksw Translate | 文字置換 |
Suicide | 自身の削除 |
図5:Ensikoが持つ機能のコード一覧
ランサムウェア機能の解析
Ensikoは、Webシェルディレクトリおよびサブディレクトリ内のファイルを、CBCモードでPHP RIJNDAEL_128を使用して暗号化し、ファイル名に「.bak」拡張子を付加します。以下のコードはこの動作の部分を示しています。
図6:暗号化活動のコード
図7:暗号化及び復号コード
図8:Webシェルのランサムウェアの鍵入力部分
図9:暗号化されるファイルのログ
図10:ディレクトリ下にある暗号化されたファイル
図11:感染サーバへのPOSTリクエスト
Ensikoはまたindex.phpファイルを作成し、.htaccessファイルを使用してデフォルトページとして設定します。 攻撃者へはこのアクションが電子メールで通知されます。 以下は、この動作を示すコード部分です。
図12:作成される.htaccessページのコード
図13:index.phpがアクセスされると表示される通知
図14:index.phpページの外観
図15:index.phpの暗号化されたフォーム
図16:デコードされたindex.php
ツールセット
より多くのタスクを実行するために、Ensikoはさまざまなツールを感染システムに追加でダウンロードすることができます。ツールのほとんどは「Pastebin」から読み込まれ、次にツールを格納するためにtools_ensikologyというディレクトリが作成されます。
図17:Pastebinから読み込まれるツール
Steganologer
EXIF(Exchangeable image file format)形式の画像ファイルのヘッダ内にコードを隠し、exif_read_dataというPHP関数を使用して、感染サーバでこのコードを抽出して実行するステガノグラフィの手法があります。Ensikoが備える「Steganologer」と呼ばれる機能は、EXIFのヘッダで画像を識別し、Logger(ロガー)としてラベル付けします。以下に示すtest1.jpgとtest2.jpgには、コードが隠蔽されているEXIFヘッダがあり、これによりファイルが識別されます。
図18:隠しコードが含まれたファイル
図19:隠しコードによってファイルを識別するコード
Shell Finderがバックドアをスキャン
Shell Finder機能は、ハードコードされたリストによって、指定したリモートのサーバにWebシェルが存在するかどうかをチェックします。
図20および21:感染サーバに他のWebシェルが存在するかチェックするコード
Remote File Checkがリモートサーバをスキャン
Shell Finderと同様、Remote File Checkも、リモートのサーバ内の他のWebシェルについてチェックしますが、ハードコードされたリストではなく手動入力によるファイル検索を実行します。
図22:他のWebシェルを検索するRemote File Checkのインターフェイス
図23: Remote File Checkのコード
Mass Rewriteによる一括上書き機能
Mass Rewrite機能は、Webシェルのすべてのサブディレクトリを含む、指定された拡張子とディレクトリを持つすべてのファイルのコンテンツの書き換えおよび追加を可能にします。
図24:ファイルを上書きするMass Rewrite機能のUI
図25:Mass Rewrite機能のコード
■まとめ
Ensikoは感染したWebサーバをリモート管理し、ファイルの暗号化その他多くの不正活動を可能にするWebシェルです。通常攻撃者は、Webアプリケーションの脆弱性を悪用するか、すでに侵害したサーバへアクセスすることによってWebシェルをサーバへデプロイします。さらにEnsikoは、感染Webサーバ上のファイルをRIJNDAEL暗号化アルゴリズムを使用して暗号化するランサムウェア機能を備えています。また、サーバをスキャンして他のWebシェルの存在を確認する、Webサイトを改ざんする、大量の電子メールを送付する「メール爆撃」の実行、リモートからファイルをダウンロードする、感染サーバの情報を開示する、データベースへのアクセス権を取得する、ファイル転送プロトコル(FTP)・cPanel・Telnetに対するブルートフォース攻撃の実行、指定された拡張子を持つファイルを上書きするなど、多様な攻撃を実行することができます。
■侵入の痕跡(Indicators of Compromise、IoC)
今回の記事に関する侵入の痕跡はこちらを参照してください。
■トレンドマイクロの対策
トレンドマイクロの「Hybrid Cloud Security」では、物理・仮想・クラウドの混在環境にシンプルな自動化されたセキュリティを提供し、環境を問わずにワークロードを保護します。特にTrend Micro Cloud One™ Workload Security(現製品名:Trend Micro Deep Security ™ as a Service)は、機械学習型検索や仮想パッチなどのセキュリティ機能により、対象サーバを保護します。
参考記事:
- 「Ensiko: A Webshell With Ransomware Capabilities」
by Aliakbar Zahravi
翻訳: 室賀 美和(Core Technology Marketing, Trend Micro™ Research)