unfilter for Invisible Challenge

ほぼこもセキュリティニュース By Terilogy Worx

TikTokは利用者の多いサービスです。
いろいろな新しいチャレンジが企画され、利用者の興味を持続させます。
結構前になりますが、アイスバケツチャレンジとかありましたよね、ああいうのです。

最近注目の集まっているチャレンジがあります。
#invisiblechallenge です。
TikTokでは多くの動画が公開されます。
いかに面白いものを作るかで注目度合いが変わります。
提供されたフィルターに人の体が見えなくなる効果の出るものが追加されました。
invisible filterです。
これを使って多くの人が動画を公開しています。
このフィルターを使うと、フィルターが有効な間だけ体がマスクされた状態にすることができます。
たとえばうまく使うと透明人間になるような動画も作ることができるというわけです。

たとえばこういうものです。
マスクされた髪の長い人が踊っています。
マスクされているので顔はわかりませんが髪が長いことはわかります。
そしてその踊っている人は体に巻いていたバスタオルを体から外すような動きをします。
外したバスタオルを地面に落としました。
ここでフィルタが解除されます。
実はタオルを頭に髪のように巻いた、カジュアルウェアを着た男性でした、というようなものです。

こういう動画が流行するとそのフィルターを解除したいという考えが一定数出てきます。
はい、出てきました、「unfilter」です。
unfilterを使うとInvisible Challengeで投稿されている動画からInvisibleフィルターの効果を除去できるというネタです。

この手のネタは興味がある人が多いようです。
たとえば「How To Remove TikTok Filter」としてgoogleで検索すると2022/11/29時点で1億1000万件以上がヒットします。
こういったなかにこの攻撃は潜んでいました。

攻撃者はいろいろなコンテンツでこのネタを拡散します。
その情報にたどり着いた被害者候補の人は解除のための手順があることを知ります。
被害者候補の人のなかには実際にその手順を実行してみる人がいます。
実行すると、マルウェアに感染します。
問題のコードはGitHubで公開されています。
攻撃がうまくいきすぎてマルウェアを配布するGitHubのそのリポジトリはGitHubでトレンド入りしてしまいました。
これによってより一層被害者が増えていく条件になってしまっています。

攻撃者が提示した手順はそんなに難しいものではありませんでした。

  • GitHubで公開されているPythonのパッケージを入手する
  • 環境にpythonの実行環境がない場合はpythonをインストールする
  • 配布物に含まれるsetup.batを実行する
  • 配布物に含まれるmethod.pyをpythonで実行する
  • 配布物に含まれるmain.pyをpythonで実行する

これだけです。
あとはフィルターを解除したいビデオのURLを入力するだけでフィルターが解除できると書かれています。

すでにこのリポジトリは公開を停止されていますが、公開されているときは技術的に見た場合も、悪賢い動きをしていました。
unfilterは悪意あるpythonパッケージを読み込ませて動作させるのですが、その読み込ませる悪意あるパッケージがPyPIで報告されて削除されてしまうと同じ内容のコードを別の名前で公開し、それをまたこのunfilterで利用するのです。
この他にもStarJacking手法を使っていました。
他のパッケージの評判を自分のパッケージの評判であるかのように見せます。

多くの人が試しているから大丈夫だろう、お気に入りにしている人がたくさんいるから大丈夫だろう、トレンド入りしているから大丈夫だろう。
それが大丈夫かどうかは、こういったこととは関係性が薄いようです。

参考記事(外部リンク):Attacker Uses a Popular TikTok Challenge to Lure Users Into
Installing Malicious Package

medium.com/checkmarx-security/attacker-uses-a-popular-tiktok-challenge-to-lure-users-into-installing-malicious-package-fe6248dfe0ae