Webエンジニア向けプログラミング解説動画をYouTubeで配信中!
▶ チャンネル登録はこちら

【ITニュース解説】LoLBins

2025年09月27日に「Dev.to」が公開したITニュース「LoLBins」について初心者にもわかりやすく解説しています。

作成日: 更新日:

ITニュース概要

LoLBinsは、OSに元々ある正規のプログラムだ。攻撃者はこれらを悪用し、新たなソフトを入れずにシステムへ侵入・攻撃する。ウイルス対策ソフトなどの検出を回避し、コード実行、データ抜き取り、システム永続化、ネットワーク内の移動など、多様な目的で利用される。

出典: LoLBins | Dev.to公開日:

ITニュース解説

LoLBins(Living-off-the-Land Binaries)とは、コンピュータのオペレーティングシステムに元々備わっている、正規のプログラムやツールが、悪意ある攻撃者によって不正に利用される現象を指す。これらのプログラムはシステムにとって信頼できるものとして扱われるため、攻撃者はこれらを悪用することで、新しい悪意のあるソフトウェアをシステムにインストールすることなく、攻撃を実行できる点が特徴だ。

LoLBinsという言葉は、より広い概念であるLOLBAS(Living-off-the-Land Binaries, Scripts and Libraries)の一部であり、バイナリだけでなく、システムに元々存在するスクリプトやライブラリも含まれる。これらは高度なサイバー攻撃などで、洗練された攻撃手法として活用されることが多い。

あるプログラムがLoLBinまたはLOLBASとみなされるには、いくつかの条件がある。まず、それがシステム自体やMicrosoftによってデジタル署名された、正規のファイルであること。次に、そのプログラムが本来の用途とは異なる、「予期せぬ」機能を持っており、それが悪意ある目的に利用されうること。そして、コードの実行、ネットワーク内での横方向への移動(ラテラルムーブメント)、システムへの継続的なアクセス(永続性)など、攻撃者の目的達成に役立つ機能を持つことが挙げられる。

LoLBinsの主な目的は、従来のセキュリティ対策の検出を回避することにある。これらのツールはシステムに既に存在するため、それらを利用した攻撃は目立ちにくく、アンチウイルスソフトウェアやデジタル署名によるチェックなどのセキュリティメカニズムをすり抜けやすい。さらに、LoLBinsはファイルレスマルウェア攻撃を可能にする。これは、悪意のあるファイルをディスクに作成することなく攻撃を実行するため、検出をさらに困難にする。簡単に言えば、攻撃者は侵害したシステム上で「土地に住む」ように、既存のツールやリソースを最大限に活用し、隠密かつ効率的に目的を達成しようとするのだ。

具体的なLoLBinsの例を見てみよう。サイバーセキュリティ企業CrowdStrikeの調査によると、2021年7月から2022年6月までの期間で最も悪用されたLoLBinsは、Rundll32、Regsvr32、Msiexec、Mshta、Certutil、MSBuild、WMIC、WmiPrvSeなどであった。また、KasperskyはPowerShellを最も一般的なLoLBinとし、rundll32.exe、te.exe、PsExec.exe、CertUtil.exe、Reg.exe、wscript.exeがそれに続くと報告している。

いくつかの主要なLoLBinsとその悪用例を挙げる。 cmd.exeはWindowsのコマンドプロンプトで、悪意のあるコマンドの実行や、他のバイナリを隠蔽して実行するプロキシ実行などに使われる。 powershell.exeは強力なコマンドラインシェル兼スクリプト言語で、攻撃に広く利用される。攻撃指令サーバー(C2)からペイロードをダウンロードして実行したり、メモリ上で直接コードを実行するファイルレスマルウェア攻撃に特に多用される。 regsvr32.exeはDLLやActiveXコントロールの登録ツールだが、アプリケーションの許可リストを回避してリモートからペイロードを実行する「Squiblydoo」のような高度なテクニックにも利用される。 mshta.exeはHTMLアプリケーション(HTAファイル)やインラインスクリプトを実行し、ファイルレスマルウェア攻撃にも用いられ、その実行はユーザーから見えにくいことが多い。 rundll32.exeはDLL内の関数を実行するツールで、悪意のあるDLLを実行したり、正規のDLLを悪用して資格情報を盗んだり、ホワイトリストによる防御を回避するのに使われる。 certutil.exeは証明書管理ツールだが、ファイルのダウンロードやBase64形式のデータのデコード、悪意のある証明書のインストールにも悪用される。 他にも、msiexec.exeはソフトウェアや悪意のあるDLLをサイレントモードでインストールし、msbuild.exeは被害者のマシン上で悪意のあるコードを直接コンパイルできる。wmic.exewmiprvse.exeは、リモートからのコマンド実行やシステム管理に利用される。

攻撃者はLoLBinsを様々な目的で再利用する。 まず「コード実行」だ。攻撃者は新しい実行ファイルをインストールすることなく、悪意のあるスクリプトやプログラムを実行できる。Rundll32.exeはDLLを悪用して資格情報を盗んだりペイロードを実行し、Mshta.exePowerShell.exeはディスクにファイルを残さずにコードをメモリ上で直接実行する。WMIC.exeはPowerShellスクリプトなどを実行するために利用され、Cmd.exeは他のLoLBinsの実行を連鎖させる。

次に「ラテラルムーブメント」、つまりネットワーク内で他のシステムへ移動することだ。WMIC.exeは有効な資格情報を使ってリモートシステム上でプロセスを実行できる。PsExec.exeもリモートでプロセスを実行するために頻繁に用いられ、ランサムウェア攻撃などでも使われる。Linux/Unixシステムではssh.exeが悪用されることもある。

「永続性」も重要な目的の一つだ。これは、システムが再起動されたり、パスワードなどの資格情報が変更されたりしても、攻撃者が継続的にアクセスを維持するための手法である。Schtasks.exeは悪意のあるペイロードを定期的に実行するためのスケジュールタスクを作成するのに使われ、Regsvr32.exeは悪意のあるDLLを毎日実行するタスクに登録したりする。Reg.exeはレジストリキーを変更または追加して、継続的な実行を保証するために使われる。

さらに「データ窃取」の目的でもLoLBinsは利用される。Certutil.exeはメモリダンプなどのデータをBase64エンコード・デコードすることで、データ窃取の検出を回避しながら情報を抜き出すのに役立つ。WMIC.exeはホストやネットワークの情報を収集し、後にそれらを窃取するために使われる。Bitsadmin.exeはファイルを転送し、リモートで悪意のあるコードを実行できる。

最後に、そして最も重要な目的の一つが「セキュリティ回避」だ。LoLBinsは正規の信頼できる署名済み実行ファイルであるため、防御システムやセキュリティポリシーを迂回できる。 彼らが用いる主な回避技術は多岐にわたる。多くのLoLBinsはMicrosoftによって署名されているため、セキュリティ製品がそれらを信頼してしまい、システム上でアラートなしに実行される「署名ベースの回避」が可能となる。 Rundll32Regsvr32MsiexecMSBuildなどのLoLBinsは、アプリケーションの実行が厳しく制限された環境(許可リスト方式)であっても、ペイロードを実行できるため、「許可リストの回避」に利用される。 「アンチウイルスやEDR(Endpoint Detection and Response)の回避」もLoLBinsの得意とするところだ。ファイルレスマルウェア攻撃や、予期せぬ機能の悪用は、これらの高度なセキュリティソリューションでも検出を困難にする。 「UAC(User Account Control)の回避」も可能だ。例えばRundll32のようなLoLBinsは、身元検証なしに高い権限でCOMオブジェクトをロードできる場合がある。 MshtaPowerShellはファイルをディスクに書き込まず、メモリ上で直接コードを実行するため、ディスク上の悪意あるファイルを検出するタイプのセキュリティ製品を回避できる「ファイルレスマルウェア攻撃」を可能にする。 また、Mshtaによるウィンドウの隠蔽や、MSBuildの応答ファイル利用のように、ユーザーから悪意のあるアクションを隠す「活動隠蔽」の技術も用いられる。 さらに、ファイルやスクリプトを合法的なものに見せかけたり、システムのプロセスに統合させたりすることで、攻撃の意図を隠す「マスキング」もLoLBinsを使った手口の一つだ。例えばWMICがXSLファイルを使用してこの目的を達成することがある。

このように、LoLBinsはシステムに元々存在する正規のツールが悪用されるという点で、従来のマルウェアとは異なる性質を持つ。システムエンジニアを目指す上では、こうした正規ツールの不正利用という脅威を理解し、それらの活動を監視・検出するための知識を身につけることが極めて重要となるだろう。

関連コンテンツ

関連IT用語