MAYHEMは* NIXサーバー用の多目的ボットです。 Yandexセキュリティ調査

UPD Habréでの公開から数時間後、Yandex Safe Searchチームのこの研究の英語版がVirus Bulletinでリリースされました もう少し詳細と参考文献へのリンク。



nixベースのOSを実行している感染したサーバーからのボットネットは、サイバー犯罪者にますます人気を集めています。 幅広いチャネル、優れた稼働時間、強力なハードウェアにより、サーバーは感染の標的になります。 * nixシステムに完全に感染するには、root権限が必要であることが一般に受け入れられています。 ただし、攻撃者は、感染したサーバーから最大限の利益を引き出す一方で、小さな特権を持つコンテンツである新しい方法を次々と考案します。 この投稿では、感染したサーバーで構成されるMAYHEMと呼ばれるかなり標準外のボットネットについて説明します。







当初、MAYHEMはphpスクリプトであり、起動後、システムのアーキテクチャ(x86またはx64)および現在のディレクトリへの書き込み権限の可用性を決定します。 ほとんどの場合、これらの特権は、Webサーバーを実行しているユーザーが利用できます。この場合、ボットが機能するには十分です。







php-scriptが現在のユーザーの下で実行されているすべての「/ usr / bin / host」プロセスを強制終了し、目的のアーキテクチャ(x86またはx64)から共有オブジェクトを抽出し、そこにロードされた共有オブジェクトで「/ usr / bin / host」プロセスを開始しますLD_PRELOADテクニックを使用します。



LD_PRELOADテクニックは非常によく説明されています。 これにより、元の実行可能ファイルの前に、プロセスのアドレス空間に共有オブジェクトをロードできます。 また、この手法により、標準ライブラリなどの関数の置換が可能になります。 つまり、LD_PRELOADを介してロードされたオブジェクトが、他の共有オブジェクトの関数と一致する関数をエクスポートする場合、この関数が使用されます。



したがって、LD_PRELOADテクニックを使用すると、サイバー犯罪者が使用する機能を簡単に傍受できます。 この場合、悪意のあるオブジェクトは「終了」機能を傍受します。



悪意のある共有オブジェクトは、起動して制御を受け取った後、環境変数LD_PRELOADとその本体をディスクから削除し、さらにいくつかのアンチデバッグトリックを実行します。 その結果、ディスク上にその存在の痕跡は事実上ありません。



さらに、すべてが正常である場合、このオブジェクトのデータセグメントにある構成が復号化されます。 構成は、ECBモードでXTEAアルゴリズム(32ラウンド)を使用して暗号化されます。







この構成には、コマンドサーバーURL(C&C)、隠しファイルシステムを含むファイルの名前、隠しファイルシステムのサイズの3つのパラメーターのみが含まれます。



初期セットアップの後、ボットは隠しファイルシステムがすでに作成されているかどうかを判断します。 そうでない場合、彼はそれを作成します。 隠しファイルシステムは、FATファイルシステムを使用したディスクイメージであり、各ブロックはXTEAアルゴリズム(32ラウンド、ECBモード)で暗号化されています。 FATの操作は、オープンソースライブラリFAT 16/32ファイルシステムライブラリを使用して行われ、暗号化キーはファイルシステムのブロック番号から生成され、この番号のみに依存します。 このファイルシステムは、サービスファイルとボットプラグインの保存に使用されます。







ファイルシステムが正常に初期化されるか、以前に作成された場合、ボットはその主な機能に進みます。 まず、作業の開始についてコマンドサーバー(C&C)に通知し、コマンドを受信して​​実行します。必要なプラグインとそのタスクをダウンロードし、多数のワークフローを作成してタスクに進みます。



前述のように、ボットはプラグインを使用して機能を拡張します。 調査中に、それらの一部を検出および分析することができました。 プラグインのセットにより、ボットネットは次のタスクを実行できます。



  1. リモートファイルインクルージョン(RFI)に対して脆弱なサイトを検索します。 スクリーンショットは、サイトのテストに使用されるリストの一部を示しています。







  2. Wordpress CMSに基づくサイトのユーザー名の定義。 ボットは、Wordpressを実行しているサイトのリストをコマンドサーバーから受け取り、その過程で、そのような各サイトの登録ユーザーのリストを受け取ります。 これは、次の形式の要求を使用して行われます: < >/?author=<ID >



    。 ユーザーIDは1〜5の範囲でソートされます。将来、収集されたデータはパスワードの選択に使用されます。
  3. JoomlaおよびWordpressサイトの検索許可ページ。 ボットは、C&Cからサイトのリストを受け取り、ページ/wp-login.phpまたは/ administration /を取得しようとしています。 成功すると、これらのページが見つかったサイトのリストをコマンドサーバーに返します。
  4. CMSおよびISPパネルの認証ページのパスワードを検索します。 このプラグインは、柔軟なルールシステムを使用して構成されており、ほとんどすべての認証ページのパスワードをソートできます。 このプラグインの設定例は、以下のスクリーンショットで見ることができます。







    総当たり攻撃では、長さが1〜32文字の17,911パスワードで構成される辞書を使用します。 これらのパスワードのクラウドは、この投稿のタイトル画像として機能します。
  5. 特定のトピックのページを検索します。 プラグインはサイトのリストを受け取り、それらを再帰的にバイパスし(構成でクロールの深さを設定します)、特定のルールセットを満たすページのアドレスを収集します。 このような一連のルールの例を、下のスクリーンショットに示します。







  6. FTPアカウントのパスワードを検索するためのプラグイン、IPアドレスの範囲をバイパスするためのプラグイン、phpMyAdminを検索するなど。
  7. また、HeartBleed脆弱性を悪用するためのプラグインについても検討する必要があります。 多くのシステム管理者がすでにOpenSSLを更新しているという事実にもかかわらず、インターネット上には依然として非常に多くの脆弱なサーバーがあります。


したがって、モジュール構造により、さまざまなタスクにボットネットを使用できます。 C&Cについて説明しましょう。 研究の過程で、3つの異なるコマンドサーバーを検出することができました。 そのうちの1つは機能しなくなり、残りの2つは1,400を超えるボットの管理に使用されました。



2つのコマンドサーバーのうち最大のものを分析しました。 ボットネット制御システムの一般的なビューは次のようになります。







このサーバーの制御下で、約1100個のボットが機能しました。 国別の感染サーバーの分布は、以下の地図で確認できます。 暗いトーンは、感染したサーバーが多いことを意味します。







したがって、ボットネットの主要部分は、ロシア、米国、ドイツ、およびカナダにあるサーバーで構成されていました。



そして、ボットネット全体またはボットの個々のグループに割り当てを与えることができるインターフェースがあります:







調査の時点では、このボットネットはWordpress CMSベースのサイトの管理部分のパスワードを分類していました。 以下の図は、タスクの進行状況と選択したパスワードを含むファイルの一部を示しています。完了した作業に関するレポートです。











ご覧のとおり、ユーザーはブルートフォースに対して不安定な弱いパスワードを使用しました。



したがって、感染したサーバーからボットネットを作成するために、ルート権限でサーバーにアクセスする必要はありません。 攻撃者は、脆弱なサイトやサーバーを効果的に使用するための新しい方法を常に発明しています。 今日、彼らはシステム内の小さな特権でさえ満足する準備ができています。 サーバーの管理とWebアプリケーションの開発、ブルートフォースパスワードの使用、OpenSSLの定期的な更新、Webアプリケーションのセキュリティの監視を行う際には、このことに留意してください。



ユーザーとWebサーバーの世話をします。



All Articles