Drovorub マルウェア複合体が Linux OS に感染

国家安全保障局と米国連邦捜査局 報告書を発行しました、それによると、85番目の特別サービスの主要センター ロシア軍参謀本部本局 (85 GCSS GRU) 「Drovorub」と呼ばれるマルウェア複合体が使用されています。 Drovorub には、Linux カーネル モジュールの形式のルートキット、ファイルの転送とネットワーク ポートのリダイレクトのためのツール、および制御サーバーが含まれています。クライアント部分は、ファイルのダウンロードとアップロード、root ユーザーとしての任意のコマンドの実行、およびネットワーク ポートを他のネットワーク ノードにリダイレクトできます。

Drovorub コントロール センターは、コマンド ライン引数として構成ファイルへのパスを JSON 形式で受け取ります。

{
"db_host" : "",
"db_port" : "",
"db_db" : "",
"db_user" : "",
"db_password" : "",

"lport" : "",
"lhost" : "",
"ping_sec" : "",

"priv_key_file" : "",
"フレーズ" : ""
}

MySQL DBMS がバックエンドとして使用されます。 WebSocket プロトコルはクライアントの接続に使用されます。

クライアントには、サーバー URL、その RSA 公開キー、ユーザー名、パスワードを含む組み込みの構成があります。ルートキットをインストールすると、設定は JSON 形式のテキスト ファイルとして保存され、Drovoruba カーネル モジュールによってシステムから隠蔽されます。

{
«id» : «cbcf6abc-466b-11e9-853b-000c29cb9f6f»,
"キー": "Y2xpZW50a2V5"
}

ここで、「id」はサーバーによって発行される一意の識別子で、最後の 48 ビットはサーバーのネットワーク インターフェイスの MAC アドレスに対応します。デフォルトの「key」パラメータは、初期ハンドシェイク中にサーバーによって使用されるbase64でエンコードされた文字列「clientkey」です。さらに、構成ファイルには、隠しファイル、モジュール、ネットワーク ポートに関する情報が含まれる場合があります。

{
«id» : «6fa41616-aff1-11ea-acd5-000c29283bbc»,
"キー": "Y2xpZW50a2V5",
「モニター」: {
"ファイル" : [
{
"アクティブ" : "真"
«id» : «d9dc492b-5a32-8e5f-0724-845aa13fff98»,
"マスク" : "テストファイル1"
}
],
「モジュール」: [
{
"アクティブ" : "真"
«id» : «48a5e9d0-74c7-cc17-2966-0ea17a1d997a»,
"マスク" : "テストモジュール1"
}
],
"ネット" : [
{
"アクティブ" : "真"
«id» : «4f355d5d-9753-76c7-161e-7ef051654a2b»,
"ポート" : "12345",
"プロトコル" : "tcp"
}
] }
}

Drovorub のもう XNUMX つのコンポーネントはエージェントであり、その構成ファイルにはサーバーに接続するための情報が含まれています。

{
"client_login" : "user123",
"client_pass" : "pass4567",
"クライアントID": "e391847c-bae7-11ea-b4bc-000c29130b71",
«clientkey_base64» : «Y2xpZW50a2V5»,
"pub_key_file" :"公開キー",
"サーバーホスト" : "192.168.57.100​​XNUMX",
"サーバーポート" :"45122",
"server_uri" :"/ws"
}

「clientid」フィールドと「clientkey_base64」フィールドは最初は欠落していますが、サーバーでの初期登録後に追加されます。

インストール後、次の操作が実行されます。

  • カーネル モジュールがロードされ、システム コールのフックが登録されます。
  • クライアントはカーネルモジュールに登録します。
  • カーネル モジュールは、実行中のクライアント プロセスとその実行可能ファイルをディスク上に隠します。

擬似デバイス (/dev/zero など) は、クライアントとカーネル モジュール間の通信に使用されます。カーネル モジュールはデバイスに書き込まれたすべてのデータを解析し、逆方向の送信の場合は SIGUSR1 信号をクライアントに送信し、その後同じデバイスからデータを読み取ります。

Lumberjack を検出するには、NIDS を使用したネットワーク トラフィック分析を使用できます (カーネル モジュールは使用するネットワーク ソケット、ネットフィルター ルール、生のソケットによって傍受される可能性のあるパケットを隠すため、感染したシステム自体の悪意のあるネットワーク アクティビティは検出できません)。 。 Drovorub がインストールされているシステムでは、ファイルを非表示にするコマンドをカーネル モジュールに送信することで、カーネル モジュールを検出できます。

タッチテストファイル
echo “ASDFZXCV:hf:testfile” > /dev/zero
ls

作成された「testfile」ファイルは非表示になります。

他の検出方法には、メモリやディスクの内容の分析などがあります。感染を防ぐために、Linux カーネル バージョン 3.7 以降で利用可能な、カーネルとモジュールの必須署名検証を使用することをお勧めします。

レポートには、Drovorub のネットワーク アクティビティを検出するための Snort ルールと、そのコンポーネントを検出するための Yara ルールが含まれています。

第 85 GTSSS GRU (軍事部隊 26165) がこのグループに関連付けられていることを思い出してください。 APT28 (ファンシーベア)、数多くのサイバー攻撃を担当。

出所: オープンネット.ru