バックドアに仕込まれたバックドア侵入 — もう1つの20ドルのドメイン、さらに多くの政府機関
(labs.watchtowr.com)- watchTowr Labsは期限切れ・放置されたドメインを再登録し、Webシェル内部のバックドアコールバックを横取りして、4,000件を超える一意の稼働中バックドアが報告してくるトラフィックを観測した
- Webシェルに、配置先やパスワードを元の作者のドメインへ送る隠し機能がある場合、ドメイン失効後は新しい所有者がコールバックログを受け取れる
- 観測対象にはBangladesh、China、Nigeriaの政府システムや、Thailand、China、South Koreaなどの大学・高等教育機関が含まれ、ログは300MB以上蓄積した
- 研究チームは40件以上のドメインを登録した後、AWS Route53、ワイルドカードTLS証明書、Apacheロギングサーバーを構成し、リクエストを記録したうえで404レスポンスのみを返した
- 放置インフラはTLS/SSL CA検証だけでなく、攻撃者が使うWebシェルのエコシステムにおいても実際のアクセス経路になり得るものであり、関連ドメインはThe Shadowserver Foundationが引き継いでシンクホール化する予定だ
期限切れインフラがバックドアへのアクセス経路になる
- watchTowr Labsは2024年の .MOBI研究で、未登録ドメインがTLS/SSL CAのドメイン所有権検証プロセスに影響を与え得ることを示し、その後GoogleはCAB ForumにWHOISベースの所有権検証の廃止を請願した
- 今回の研究は、同じ問題群である期限切れ・放置インフラをWebシェルとバックドアのエコシステムに適用したもの
- 研究チームは、バックドアの中に組み込まれた別のバックドアが依存していた失効ドメインを再登録し、感染ホストが送信するトラフィックを観測した
- この手法は理論上、侵害されたホストを掌握・制御できる位置を生み出すが、研究チームはシステムに追加のリスクを作らないようホスト名の大半を難読化した
- 現時点で4,000件を超える一意の稼働中バックドアが観測されており、その数は増え続けている
Webシェルは侵害後に残される遠隔制御手段
- WebシェルはWebサーバー侵害後に配備されるコードで、攻撃者が後続行為を実行できるようにするバックドアとして機能する
- 単純な形では、PHPで
<?php system($_GET['exec']);?>のようにコマンドを実行するコードである - 複雑な形としては
c99shell、r57shell、China ChopperのようなWebシェルがあり、次の機能を含み得る- コマンド実行
- ファイル削除・修正・アップロード・移動・リネーム
- コード実行
- 自己削除
- connect-back、bindshell など追加バックドアの配備
- FTP総当たり
- SQLクライアント
c99shellとr57shellは過去に広く使われたWebシェルとして紹介されている
Webシェル作者に配置場所が漏れる
r57shellにはrst.void.ruから0バイト画像を読み込むコードが含まれており、表向きは現在のシェルのバージョン情報を送るように見える- 実際にはHTTPリクエストのRefererヘッダーを通じて、新たに配置されたWebシェルの場所が
rst.void.ruの所有者に露出する - 攻撃者が標的を侵害してWebシェルを設置しても、その場所をWebシェル作者が受け取れる構造になっている
c99shellの事例では認証情報がハードコードされているが、@extract($_REQUEST["c99shcook"])呼び出しが現在のスコープ内の変数を上書きできるextractは信頼できないデータに対して安全ではなく、攻撃者はc99shcookリクエストパラメータにmd5_passとloginの値を入れて既存の認証変数を書き換え、認証を通過できる
40件以上のドメインでコールバックだけを記録
- 研究チームは複数の言語・標的・年代のWebシェルを収集し、base64などで難読化されたコードを解いて、コールバックに使われているとみられる未登録ドメインを抽出した
- その後、AWS Route53 APIで40件以上のドメインを一括登録した
- 例として
aljazeera7.com、alturks.com、caspian-pirates.org、h0ld-up.info、w2img.com、odayexp.com、nettekiadres.comなどのドメインが含まれる - ワイルドカードTLS証明書とApache Webサーバーを構成し、新しいドメインをロギングサーバーへ向けた
- ロギングサーバーは入ってくるリクエストだけを記録して404を返し、研究チームはシステムが自発的に送ったリクエストを受け取っただけで、コードを実行するよう応答しなかった
Lazarusのツールと思われるWebシェルのコールバック
w2img.com系ドメインへ.gif画像を取得するリクエストが数千件観測された- 研究チームはそのリクエストを生成するバックドアサンプルを見つけ、2020年の Lazarusが使用したとされるバージョン に類似していると判断した
- 難読化を解除すると、CSSの
background:url(...)形式でimg2.w2img.comの.gifファイルを読み込むコードが現れる - ブラウザが画像をリクエストすると、サーバーログにはリクエストとともにRefererが残り、Webシェルが配置された場所を把握できる
- このバックドア1つだけで、3,900件を超える一意の侵害ドメインが観測された
- 最近のブラウザはRefererにドメインのみを露出するよう変わっているが、古いブラウザを使う攻撃者はWebシェルの完全なURLを送っていた事例がある
政府ドメインと高等教育機関も含まれる
- ログのRefererから
.govドメインを探した結果、複数の政府関連ドメインが見つかった - 確認された例は次のとおり
fhc.gov.ng: Nigeria Federal High Courtgov.cn系ドメインgov.bd系ドメインcourt.gov.cn系ドメイン
- Nigeria Federal High Courtの事例では、4つの異なるバックドアが情報を送っており、リクエストを受け取ったドメインもそれぞれ異なっていた
- 研究チームは、全4,000超の侵害システムのうち
.govシステムは4件だとまとめている - Thailand、China、South Korea各地の大学・高等教育機関も侵害対象として観測された
パスワードを平文で送るWebシェル
- 別のタイプのバックドアは、画像読み込みやRefererに依存せず、URLと特定情報をパラメータで直接送信する
odayexp.comに向かったリクエストには、urlパラメータとともにpパラメータが含まれていた- ASP Webシェルのコードでは
pの値はUserPass変数であり、これはWebシェルへのログインに必要なパスワードだった - 攻撃者はWebシェルにパスワードを設定していたが、そのパスワードが平文で
odayexp.comに送信される構造になっていた - watchTowrがそのドメインを所有するようになったことで、Webシェルの場所とパスワードが研究チームのロギングサーバーへ送られるようになった
- ログには
localhost、プライベートIP、テスト用パスを含むリクエストも残っており、誰かがこの機能を改変または試験していた痕跡が見られる
解釈の限界と後続対応
- 観測されたシェルはChina向けに偏っていたが、研究チームはこれがサンプルデータの反映である可能性があるとみている
- 送信元IPはプロキシ利用が容易なため根拠にしにくいが、攻撃者トラフィック、または特異な管理方式のトラフィックとみられるリクエストはHong KongおよびChinaのIP帯に強く偏っていた
- オープンなWebシェル、失効ドメイン、バックドアを仕込まれたソフトウェアの利用は、攻撃者も防御側と同様にミスを犯すことを示している
- 以前の .MOBI研究と同様、ドメインを再び失効させれば同じ問題が繰り返され得るため、責任の問題が残る
- The Shadowserver Foundation が今回の研究に関連するドメインを引き継ぎ、シンクホール化する予定だ
1件のコメント
Hacker Newsのコメント
CFAAが怖いので自分では試しませんが、この取り組みは本当に見事です。特に、ある政府ドメインに寄生バックドアが4つもぶら下がっていたというのが笑えます。
スクリプトキディはシステムを乗っ取るとき、他のスクリプトキディのバックドアを消して独占したりはしないのでしょうか。
ドメインについて「購入」や「所有」という表現は、もうみんなでやめたほうがいいと思います。「賃借」や「レンタル」のほうが正確で、本当に買えるものなら今回のように再利用可能になったりはしなかったはずです。
そのため、大半のgTLDルールはccTLDには適用されません。国家が「所有している」と言えるのは、ICANNやroot-servers.netのサーバー群がそのTLDを正しく解釈しなくなった場合に、軍事力によって自国のccTLD利用を防衛できるという意味においてだけでしょう。
泥くさい現実は常識として前提化されているか、そもそも論点とは無関係だと見なされる、そういう概念上の短縮表現です。
この記事は本当に良かったです。軽く読める一方で公開が及ぼす影響を意識しており、すべての内容に根拠がありながら、自分を過度に深刻に見せようともしていません。
深刻なセキュリティ問題を、面白く読める形でうまく扱っています。
内容は充実していて無駄がなく、こうした点をしばしば取りこぼす多くのブログ記事やセキュリティ分析記事と比べると新鮮です。
このWebシェルのバックドアを逆用してWebシェルを削除したら、何が起きるのか気になります。
この記事の著者たちも述べているように、彼らはトラフィックを受信・記録するところに慎重にとどめており、興味を引く応答を返したり、Webシェルと相互作用したりはしていません。
[1] https://www.malwarebytes.com/blog/news/2024/02/fbi-removes-m...
[2] https://www.zdnet.com/article/a-mysterious-grey-hat-is-patch...
この箇所を正しく理解できているのか分かりません。CSSに特定のURLから背景画像を読み込ませることで、ブラウザがw2img.comの.gifファイルを要求するという説明と、最近のブラウザはリファラとしてドメインだけを公開する一方、古いブラウザを使う攻撃者はシェルの完全なURLを送っていた、という説明があります。
ですが、「攻撃者が古いブラウザを使う」という表現は奇妙に思えます。そもそも攻撃者はCSSを提供するサーバーを掌握しており、ブラウザはその侵害されたサーバーを訪れる無実のユーザーのものではないのでしょうか。だとすれば、ブラウザを使っているのは被害者であって攻撃者ではないように思えます。
どんな状況で攻撃者がブラウザを使うのか理解できません。
ただし、こうした既製のWebシェルファイルは別の攻撃者が作成したもので、すでにバックドアが仕込まれた状態で配布されています。この場合、Webシェル内のCSSが攻撃者のブラウザにWebシェルの場所を元の作成者が管理するドメインへ漏らさせる仕組みになっています。
少し話はそれますが、この記事でyの字のフォントがなぜああ見えるのか分かりません。あまりに目立っていて気が散ります。
デザイナーが独特のスタイルを求めるのは理解できますが、最終的な利用者としては、そういうものを望むことはめったにありません。
目立つ部分は少し苛立たせることを意図しているのかもしれませんが、挑発的な発言のように、それでもある程度は筋が通っていなければなりません。これは、一部のオンライン上の人物が特定の単語を意識的に繰り返し誤って発音したり、抑揚を大げさにしたりする戦略に似ています。
フォントの話に戻ると、Geniusの歌詞サイトも以前しばらく似た手法を使っていた記憶があります。定着期にはProgrammeフォントの四角ばった文字形を使っていて、下のリンクで確認できます。今もProgrammeを使っていますが、かなり前から通常形に戻したようで、実際に煩わしく可読性を損ねていたからだと思われます。
https://www.typewolf.com/programme
記事には誤字がいくつかあります。「with the hopes of painting a paint a clear picture」ではa paintが不要で、「we the following stood out」ではweが不要です。
また、「Atleast there will be memes...」の「Atleast」も誤字です。
h0noへの言及を見て、急に昔を思い出しました。darpanet/m00/#darknet/diklineの時代に戻った気分です。
ほとんどすべてのドメインは伏せているのに、なぜFederal High Court of Nigeriaのドメインだけ残したのか気になります。
明示的には書かれていませんが、責任ある開示プロセスを踏んでいたことを願います。
99%は期限切れドメインの確保に基づいているように見えるのに、どうやったのかについては何も言っていないのでしょうか。
説明していない唯一の部分は、どうやってオンライン上でシェルを見つけたかですが、それには明白な理由があり、著者の表現を借りれば「トラックの荷台から落ちていた」ものだからです。