Luaはスクリプト言語に分類されるプログラミング言語です。
そして、スクリプト言語およびその処理系の実装をLuaと呼びます。
1993年に公開されたプログラミング言語なので新しいものではありませんが、このLuaを使った脅威活動が増加しています。
その動きの中に、学生ゲーマーを中心としたコンピュータゲームの人気を悪用したキャンペーンが確認されています。
ゲーマーは自分の好きなゲームの中でなんとか活躍したいと頑張ります。
多くのゲーマーは文字通り頑張ることになるのですが、なかには違う動きをする人もいます。
チートです。
チートとは英語でcheatと書き、直訳すると「騙す」や「あざむく」という意味で、日本語では「ペテン師」に相当します。
プログラムそのものを改変して有利に動作するようにする、別のプログラムを動作させて不正に自動で長期間動作させて有利にレベル上げする、などです。
もちろん、チート行為は認められるものではありません。
しかし、一部の人には魅力的なものとして認識されています。
チート行為を実現するとき、いくつかの方法があるようです。
よくあるのは、なんらかのファイルを入手して、それを実行するとチートされた状態にシステムを変更できるというものです。
チートは認められた正規のものではありませんので、入手したファイルはそのまま実行できないこともあるでしょう。
アンチウイルスに引っかかるようなことがあるかもしれませんし、なんらかの警告が表示されて「それでも実行しますか」というダイアログが表示されることもあるかもしれません。
しかし、チートを実行しようとしている人は悪いことをしている認識がありますので、そのまま実行してしまうことがあるでしょう。
こういったことがこの脅威キャンペーンの背景となっています。
最近の例ではどんなものがあったのか見てみましょう。
- SEOポイズニング
始まりは検索エンジンの利用です。
チートを探している人が良く検索するキーワードでSEOを設定します。
期待する属性を持った人を誘い込むことができます。 - ダウンロード
検索結果で誘い込む場所はGitHubです。
そこではチートに利用できるものが配布されていてダウンロードできるようになっています。
ダウンロードされたものは、コンパイラーとLuaのソースコードです。
Luaのコードはシンプルなものになっています。
Luaはバイトコードの状態で配布することもできますが、ソースコードで配布するほうが疑われる可能性を下げることができると考えられているのか、ソースの形式で配布されます。 - 多重ロード
ダウンロードしたのはコンパイラーとソースですが、そのままでは実行できません。
コンパイラーはダウンローダーの機能も持ち、Luaの実行のためのランタイムライブラリであるDLLをダウンロードします。
そして、ダウンロード済みのシンプルなコードを実行します。
実行されたコードは複雑に難読化されたコードをロードします。 - 難読化
難読化したコードには仕掛けがされています。
読みやすいように変更された場合にその変更を検出して実行を継続できないようにする機構が実装されています。
この機構は改行を挿入するような小さな変更も検出します。
難読化にはPrometheus Obfuscatorが利用されています。これは難読化ツールです。これもGitHubで入手できます。 - 永続化
この脅威はその機構の中に永続化の機構も持っています。
自分自身を実行するタスクを設置し、永続化を実現します。 - 情報収集
マルウェアは動作環境の情報を収集し、脅威アクターに送信します。
送信される情報の中身は収集した情報と画面キャプチャなどです。
このマルウェアは最終的にRedlineを環境に投下します。
こんな内容での動作となりますので、この脅威での直接の被害は情報を抜き取られることとなります。
しかし、被害はそれで終わりではありません。
抜き取られた情報の中の認証情報がダークウェブで販売され、それを入手した別の脅威アクターの活動へとつながってしまいます。
ちょっとチートしようと思っただけ、かもしれませんが、代償は大きいものとなってしまうことがあります。
Not All Fun and Games: Lua Malware Targets Educational Sector and Student Gaming Engines
https://blog.morphisec.com/threat-analysis-lua-malware
この記事をシェア |
---|