2024年セキュリティの現状:競争が激化するAIの活用
先進的なサイバーセキュリティ対策を推進する組織がどのように課題を克服し、AIを活用してイノベーションを推進し、デジタルレジリエンスを強化しているかをご確認ください。
Microsoft社は、Windowsオペレーティングシステムでの悪質なコードの実行を監視および防止するための機能を継続的に開発、更新、改善しています。その1つがAppLockerです。AppLockerはソフトウェア制限ポリシーの機能を進化させたものです。管理者は、アプリケーション固有の識別子(ファイルハッシュなど)に基づいてアプリケーションの実行を特定のユーザーやグループに許可または禁止するルールを作成できます。
AppLockerでは、実行可能ファイル(.exe、.com)、スクリプト(.js、.ps1、.vbs、.cmd、.bat)、Windowsインストーラー(.msi、.mst、.msp)、DLLモジュール、パッケージアプリケーション、アプリケーションインストーラーの実行を制御できます。
このAppLockerを悪用するマルウェアが確認されています。その1つが「Azorult loader」で、このペイロードは防御を回避する目的で、いくつかのウイルス対策コンポーネントの実行を拒否する独自のAppLockerポリシーをインポートします。
このブログ記事では、Splunk脅威調査チームがAzorult loaderといくつかのコンポーネントを解析して、その戦術と技法を明らかにします。SOCアナリストやブルーチームのメンバーの方は、このタイプの脅威を防御するためにお役立てください。
(この図の拡大版はこちらから参照できます)
Azorult loaderは従来型の「トロイの木馬」で、複数のコンポーネントで構成され、Azorultマルウェア本体のほかに、リモートアクセスやデータ収集のための埋め込みファイルが含まれます。このローダーの実体はコンパイル済みのAutoIt実行可能ファイルで、リソースセクションには複数のファイルとともに自己解凍ストリームが含まれます。
Azorultには、サンドボックス回避チェックリストがハードコードされています。このリストに基づいて、ターゲットホスト上で特定のユーザー名、デスクトップ上のファイル、ホスト名、実行プロセスを探します。見つかれば、それが存在していることがわかります。また、ターゲットホストのOSのバージョンが「winxp」の場合は実行を終了します。
ユーザー名 |
コンピューター名 |
デスクトップ上のファイル |
プロセス |
Peter Wilson Acme BOBSPC Johnson John John Doe Rivest mw me sys Apiary STRAZNJICA.GRUBUTT Phil Customer shimamu |
RALPHS-PC ABC-WIN7 man-PC luser-PC Klone-PC tpt-PC BOBSPC WillCarter-PC PETER-PC David-PC ART-PC TOM-PC |
@DesktopDir +\secret.txt @DesktopDir + \my.txt @DesktopDir +\report.odt @DesktopDir +\report.rtf @DesktopDir + \Incidents.pptx |
Joeboxcontrol.exe Joeboxserver.exe Frida-winjector-helper-32.exe analyzer.exe |
「msseces.exe」プロセスが実行されている場合は、次のwmic.exeコマンドを使って「Microsoft Security Client」をアンインストールしようとします。
C:\Windows\System32\wbem\wmic.exe product where name="Microsoft Security Client" call uninstall /nointeractive
また、検出を回避するために、Windows Defenderアプリケーションの機能やその他のウイルス対策製品に関連するいくつかのレジストリキーを無効にします。図1.1と図1.2に、これらのレジストリの値を変更するAutoItスクリプトコードのスクリーンショットを示します。
図1.1
図1.2
さらに、実行の一部としていくつかのサービスを停止、削除、さらには設定変更することで、ウイルス対策製品の無効化を試みます。図2に、対象となるサービスのコードリストを示します。
図2
次に、SMBポート(445と139)をブロックし、投下(ドロップ)した悪質なファイルがネットワークに接続できるようにファイアウォール設定を更新します。図3に、ファイアウォールルールを変更するnetshコマンドを示します。
図3
その後、Windowsバイナリのattribとicaclsを使って、いくつかのウイルス対策製品のインストールルートフォルダーに対して隠しファイル属性とアクセス権拒否を設定します。図4と図5にそのコードを示します。
図4
図5
ローダーは図6に示すファイルを投下します。「temp.bat」は、投下したファイルのいくつかを削除し、「C:\ProgramData\Windows」に作成したディレクトリに隠しファイル属性を追加する、クリーンアップのためのバッチファイルです。「clean.bat」は、Malwarebytesの「mbamservice.exe」プロセスを終了(kill)し、ウイルス対策製品やMinerGateなどのコインマイナー(仮想通貨マイニングプログラム)に関連するサービスを停止または削除します。
図6
「H.bat」は、ターゲットホストの「%SystemRoot%\System32\drivers\etc\hosts」にエントリを追加し、ウイルス対策製品、コインマイナー、一部のGitHub WebサイトをそのローカルホストIPアドレスにリダイレクトすることによってブロックします。図7に、ブロックの対象となるURLリンクと、ホストファイルにエントリを追加するコードを示します。
図7
「5.xml」は、このマルウェアの特徴的な部分です。このファイルには、防御回避のためのAppLockerルールが含まれます。このファイルについては、ルールをインポートするコンポーネントの分析で詳しく取り上げます。「ink.exe」はAzorultマルウェアの本体です。図8.1に、認証情報などの機密情報を収集するためにブラウザデータベースを解析するためのstringsコマンドを示します。
図8.1
図8.2に、ターゲットホストに保存されたTelegram、Skype、ビットコインウォレット情報を解析して盗み出し、C2サーバーに送信するコードを示します。
図8.2
投下される実行ファイルの1つが「wini.exe」です。これは自己解凍アーカイブ(sfx)です。自己解凍アーカイブは実行可能モジュールと組み合わされ、Windowsユーザーは解凍プログラムを使わずにアーカイブ内のファイルを展開できます。攻撃者は、サンドボックスやサンドボックスを使用しないエミュレーションを回避する目的でマルウェアをパスワードで保護するため、このタイプのファイルをよく利用します。
図9に、パスワードを指定せずに実行したときに表示されるパスワード入力ダイアログボックスを示します。
図9
ローダーのAutoItスクリプトを詳しく調べると、このsfxファイルを実行するコマンドラインとパスワードを指定する次のコードが見つかりました。
Run("C:\ProgramData\Microsoft\Intel\wini.exe -pnaxui")
wini.exeは、「rfusclient.exe」と「rutserv.exe」で構成される、リモート管理のためのRMS (Remote Manipulator System)ツールを投下します。その後、このツールをインストールするために「install.vbs」を投下して、このファイルから別の投下ファイル「install.bat」を実行します。install.batは、Windows Defenderアプリケーションを無効にし、RMSツールのレジストリを設定してから(「reg1.reg」と「reg2.reg」)、RMSサーバーのrutserv.exeを実行し、そのサービスを設定します。
図10に、reg1.regファイルに書き込まれるRMSツール関連のレジストリを示します。また、図11に、install.batのコードを示します。
図10
図11
さらに「winit.exe」という名前の実行可能ファイルを投下します。 これは、インストールされているウイルス対策製品、OSバージョン、ビデオアダプターなど、ターゲットホストの情報を収集するコンパイル済みのAutoItバイナリです。収集した情報は、SMTP経由または特定のメールおよび本文形式のメールで外部に送信されます。最後に「del.bat」を実行して自身を削除します。
図12.1に、この実行可能ファイルのコードと、特定のメールアドレスに送信されるメール本文の作成コードを示します。
図12.1
図12.2
「cheat.exe」はwini.exeと同じくパスワードで保護されたsfxファイルで、パスワードは「naxui」です。このファイルは「P.exe」を投下し、P.exeが「1.exe」を投下および実行します。1.exeは、WebBrowserPassView.exeツールのコピーです。WebBrowserPassView.exeは、ブラウザに保存されたパスワードなどの認証情報を解析するNirSoftツールです。cheat.exeは「taskhost.exe」も投下します。このファイルが「P.exe」、「R8.exe」、「taskhostw.exe」を実行します。また、Khronos OpenCl ICDローダーの「OpenCL.dll」コンポーネントをインストールして、ユーザーが特定のOpenCL実装に対応するアプリケーションをビルドできるようにします。
taskhost.exeは、投下ファイル「taskhostw.exe」と「winlogon.exe」の永続化メカニズムとしてスケジュールタスクを作成します。さらに、特定のFTPサーバー(109.248.203.81)からファイルをダウンロードし、「C:\ProgramData\WindowsTask\temp.exe」として保存してから、ファイルを復号して実行します。残念ながら、執筆時点ではこのFTPサーバーにアクセスできませんでした。
図13に、FTPクライアントへの接続を設定して、いくつかのURLリンクの認証情報を解析するコードを示します。
図13
「winlogon.exe」もコンパイル済みAutoItファイルで、「KMSAutoNet」、「KMS」、「KMSAuto」を含むスケジュールタスクを探します。図14に、「/query list」コマンドを使ってすべてのスケジュールタスクをリストし、regexを使って目的のタスクを探すコードを示します。
図14
cheat.exeは「winlog.exe」という実行可能ファイルも投下します。このファイルが「winlogon.exe」を「C:\ProgramData\Microsoft\Intel」に投下します。「C:\ProgramData\Microsoft\Intel\winlogon.exe」は、実行可能ファイルに変換されたPowerShellスクリプトで、ローダー本体が投下した「5.xml」ファイル内のAppLockerポリシーをインポートするPowerShellコマンドを実行します。
図15に、複数のウイルス対策製品のアクションを拒否するAppLockerルールポリシーの適用コードの一部を示します。
図15
このAppLockerポリシーは、PowerShellコマンドを使ってインポートされます。
“Import-Module applocker" ; "Set-AppLockerPolicy -XMLPolicy C:\ProgramData\microsoft\Temp\5.xml”
このXMLは適切に整形されており、図16に示すように、AppLockerルールセットにインポートしてすぐに、ウイルス対策製品の該当するアクションが実行を拒否されていることが確認されました。
図16
Grzegorz Tworek氏が述べているとおり、AppLockerでは、トークンに「NT AUTHORITY\SERVICE」が含まれるプロセスをブロックすることもログに記録することもできません。多くのウイルス対策エンジンでは、防止コンポーネントにこのトークンが使用されます。ただし、検出したイベントに関するユーザーへのアラートや通知に使用されるコンポーネントは、より低い権限で実行されます。Azorultが投下するAppLockerポリシーでは、これらのコンポーネントのみが実行を阻止されます。
最後の投下ファイル「R8.exe」もsfxファイルで、「db.rar」を解凍します。「db.rar」には「install.vbs」が含まれ、そのスクリプトによって「bat.bat」が実行され、「John」という名前の非表示の特殊ユーザーアカウントが作成されて、RDP接続が有効になり、「RDPWinst.exe」が実行されます。続いて、この実行ファイルによってリモートデスクトップホストのサポートと機能が制限されたシステムでのRDPの複数同時セッションが有効になり、ローカルグループユーザーが作成され、「net accounts /maxpwage:unlimited」による無期限のパスワードが設定されて、非表示属性が設定された後、ファイル自体が削除されます。
図17に、bat.batファイルのコードの一部を示します。
図17
以下では、このマルウェアの戦術と技法の検出に使用できる、脅威調査チームが開発した既存のサーチと新しいサーチをご紹介します。
この分析では、RMSリモート管理ツールで使われるデフォルトまたは公表済みの名前付きパイプの使用を検出します。
`sysmon` EventCode IN (17, 18) EventType IN ( "CreatePipe", "ConnectPipe") PipeName IN ("\\RManFUSServerNotify32", "\\RManFUSCallbackNotify32", "\\RMSPrint*") | stats min(_time) as firstTime max(_time) as lastTime count by Image EventType ProcessId PipeName Computer UserID | `security_content_ctime(firstTime)` | `security_content_ctime(lastTime)` | `windows_application_layer_protocol_rms_radmin_tool_namedpipe_filter`
この分析では、既知のIPのWebサービスに接続しようとするプロセスを検出します。
`sysmon` EventCode=22 QueryName IN ("*wtfismyip.com", "*checkip.amazonaws.com", "*ipecho.net", "*ipinfo.io", "*api.ipify.org", "*icanhazip.com", "*ip.anysrc.com","*api.ip.sb", "ident.me", "www.myexternalip.com", "*zen.spamhaus.org", "*cbl.abuseat.org", "*b.barracudacentral.org", "*dnsbl-1.uceprotect.net", "*spam.dnsbl.sorbs.net", "*iplogger.org*", "*ip-api.com*") | stats min(_time) as firstTime max(_time) as lastTime count by Image ProcessId QueryName QueryStatus QueryResults Computer EventCode | `security_content_ctime(firstTime)` | `security_content_ctime(lastTime)` | `windows_gather_victim_network_info_through_ip_check_web_services_filter`
この分析では、PowerShellコマンドレットを使ってXML形式のAppLockerルールをインポートするプロセスを検出します。
| tstats `security_content_summariesonly` values(Processes.process) as process min(_time) as firstTime max(_time) as lastTime from datamodel=Endpoint.Processes where (Processes.process_name=pwsh.exe OR Processes.process_name=sqlps.exe OR Processes.process_name=sqltoolsps.exe OR Processes.process_name=powershell.exe OR Processes.process_name=powershell_ise.exe OR Processes.original_file_name=pwsh.dll OR Processes.original_file_name=PowerShell.EXE OR Processes.original_file_name=powershell_ise.EXE) AND Processes.process="*Import-Module Applocker*" AND Processes.process="*Set-AppLockerPolicy *" AND Processes.process="* -XMLPolicy *" by Processes.dest Processes.user Processes.parent_process Processes.process_name Processes.original_file_name Processes.process Processes.process_id Processes.parent_process_id | `drop_dm_object_name(Processes)` | `security_content_ctime(firstTime)` | `security_content_ctime(lastTime)` | `windows_impair_defense_add_xml_applocker_rules_filter`
この分析では、AppLockerアプリケーションによる、複数のセキュリティ製品の実行拒否に関連するWindowsレジストリの詳細またはレジストリデータ値の変更を検出します。
| tstats `security_content_summariesonly` count min(_time) as firstTime max(_time) as lastTime FROM datamodel=Endpoint.Registry where (Registry.registry_path= "*\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Group Policy Objects\\*" AND Registry.registry_path= "*}Machine\\Software\\Policies\\Microsoft\\Windows\\SrpV2*") OR Registry.registry_path="*\\Software\\Policies\\Microsoft\\Windows\\SrpV2*" AND Registry.registry_value_data = "*Action\=\"Deny\"*" AND Registry.registry_value_data IN("*O=SYMANTEC*","*O=MCAFEE*","*O=KASPERSKY*","*O=BLEEPING COMPUTER*", "*O=PANDA SECURITY*","*O=SYSTWEAK SOFTWARE*", "*O=TREND MICRO*", "*O=AVAST*", "*O=GRIDINSOFT*", "*O=MICROSOFT*", "*O=NANO SECURITY*", "*O=SUPERANTISPYWARE.COM*", "*O=DOCTOR WEB*", "*O=MALWAREBYTES*", "*O=ESET*", "*O=AVIRA*", "*O=WEBROOT*") by Registry.user Registry.registry_path Registry.registry_value_data Registry.action Registry.registry_key_name Registry.dest | `drop_dm_object_name(Registry)` | `security_content_ctime(firstTime)` | `security_content_ctime(lastTime)` | `windows_impair_defense_deny_security_software_with_applocker_filter`
この分析では、PowerShellコマンドレットを使ってXML形式のAppLockerルールをインポートするプロセスを検出します。
`powershell` EventCode=4104 ScriptBlockText="*Import-Module Applocker*" ScriptBlockText="*Set-AppLockerPolicy *" ScriptBlockText="* -XMLPolicy *" | stats count min(_time) as firstTime max(_time) as lastTime by EventCode ScriptBlockText Computer user_id | `security_content_ctime(firstTime)` | `security_content_ctime(lastTime)` | `windows_powershell_import_applocker_policy_filter`
この分析では、RMS (Remote Manipulator System)リモート管理ツールに関連するWindowsレジストリの変更または作成を検出します。
| tstats `security_content_summariesonly` count min(_time) as firstTime max(_time) as lastTime FROM datamodel=Endpoint.Registry where Registry.registry_path= "*\\SYSTEM\\Remote Manipulator System*" by Registry.registry_key_name Registry.user Registry.registry_path Registry.registry_value_data Registry.action Registry.dest | `drop_dm_object_name(Registry)` | `security_content_ctime(firstTime)` | `security_content_ctime(lastTime)` | `windows_remote_access_software_rms_registry_filter`
この分析では、ユーザーアカウントのパスワード要件ポリシーを変更してパスワードを無期限にするプロセスを検出します。
| tstats `security_content_summariesonly` values(Processes.process) as process min(_time) as firstTime max(_time) as lastTime from datamodel=Endpoint.Processes where (Processes.process_name="net.exe" OR Processes.original_file_name="net.exe" OR Processes.process_name="net1.exe" OR Processes.original_file_name="net1.exe") AND Processes.process="* accounts *" AND Processes.process="* /maxpwage:unlimited" by Processes.dest Processes.user Processes.parent_process Processes.process_name Processes.original_file_name Processes.process Processes.process_id Processes.parent_process_id | `drop_dm_object_name(Processes)` | `security_content_ctime(firstTime)` | `security_content_ctime(lastTime)` | `windows_valid_account_with_never_expires_password_filter`
この分析では、通知バナー(トースト)を無効にするためのWindowsレジストリの変更を検出します。
| tstats `security_content_summariesonly` count min(_time) as firstTime max(_time) as lastTime FROM datamodel=Endpoint.Registry where Registry.registry_path= "*\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\PushNotifications\\ToastEnabled*" Registry.registry_value_data="0x00000000" by Registry.registry_key_name Registry.user Registry.registry_path Registry.registry_value_data Registry.action Registry.dest | `drop_dm_object_name(Registry)` | `security_content_ctime(firstTime)` | `security_content_ctime(lastTime)` | `windows_modify_registry_disable_toast_notifications_filter`
この分析では、Windows通知センターでの通知を無効にするためのWindowsレジストリの変更を検出します。
| tstats `security_content_summariesonly` count min(_time) as firstTime max(_time) as lastTime FROM datamodel=Endpoint.Registry where Registry.registry_path= "*\\Windows\\CurrentVersion\\ImmersiveShell\\UseActionCenterExperience*" Registry.registry_value_data="0x00000000" by Registry.registry_key_name Registry.user Registry.registry_path Registry.registry_value_data Registry.action Registry.dest | `drop_dm_object_name(Registry)` | `security_content_ctime(firstTime)` | `security_content_ctime(lastTime)` | `windows_modify_registry_disable_windows_security_center_notif_filter`
この分析では、Windows Defenderの通知を抑制するためのWindowsレジストリの変更を検出します。
| tstats `security_content_summariesonly` count min(_time) as firstTime max(_time) as lastTime FROM datamodel=Endpoint.Registry where Registry.registry_path= "*\\Windows Defender\\UX Configuration\\Notification_Suppress*" Registry.registry_value_data="0x00000001" by Registry.registry_key_name Registry.user Registry.registry_path Registry.registry_value_data Registry.action Registry.dest | `drop_dm_object_name(Registry)` | `security_content_ctime(firstTime)` | `security_content_ctime(lastTime)` | `windows_modify_registry_suppress_win_defender_notif_filter`
この分析では、ターゲットマシンでRDP (リモートデスクトッププロトコル)を有効にするためのWindowsファイアウォールの変更を検出します。
| tstats `security_content_summariesonly` values(Processes.process) as cmdline values(Processes.parent_process_name) as parent_process values(Processes.process_name) count min(_time) as firstTime max(_time) as lastTime from datamodel=Endpoint.Processes where (Processes.process_name = "netsh.exe" OR Processes.original_file_name= "netsh.exe") AND Processes.process = "*firewall*" AND Processes.process = "*add*" AND Processes.process = "*protocol=TCP*" AND Processes.process = "*localport=3389*" AND Processes.process = "*action=allow*" by Processes.dest Processes.user Processes.parent_process Processes.process_name Processes.process Processes.process_id Processes.parent_process_id | `drop_dm_object_name(Processes)` | `security_content_ctime(firstTime)` | `security_content_ctime(lastTime)` | `windows_remote_services_allow_rdp_in_firewall_filter`
この分析では、ターゲットマシンでリモートデスクトップアシスタンスを有効にするためのWindowsレジストリの変更を検出します。
| tstats `security_content_summariesonly` count min(_time) as firstTime max(_time) as lastTime FROM datamodel=Endpoint.Registry where Registry.registry_path= "*\\Control\\Terminal Server\\fAllowToGetHelp*" Registry.registry_value_data="0x00000001" by Registry.registry_key_name Registry.user Registry.registry_path Registry.registry_value_data Registry.action Registry.dest | `drop_dm_object_name(Registry)` | `security_content_ctime(firstTime)` | `security_content_ctime(lastTime)` | `windows_remote_services_allow_remote_assistance_filter`
この分析では、ターゲットマシンでRDP (リモートデスクトッププロトコル)を有効にするためのWindowsレジストリの変更を検出します。
| tstats `security_content_summariesonly` count min(_time) as firstTime max(_time) as lastTime FROM datamodel=Endpoint.Registry where Registry.registry_path= "*\\Control\\Terminal Server\\fDenyTSConnections*" Registry.registry_value_data="0x00000000" by Registry.registry_key_name Registry.user Registry.registry_path Registry.registry_value_data Registry.action Registry.dest | `drop_dm_object_name(Registry)` | `security_content_ctime(firstTime)` | `security_content_ctime(lastTime)` | `windows_remote_services_rdp_enable_filter`
この分析では、サービスを削除しようとするWindowsサービスコントロール「sc.exe」を検出します。
| tstats `security_content_summariesonly` values(Processes.process) as process min(_time) as firstTime max(_time) as lastTime from datamodel=Endpoint.Processes where (Processes.process_name = sc.exe OR Processes.original_file_name = sc.exe) Processes.process="* delete *" by Processes.dest Processes.user Processes.parent_process Processes.process_name Processes.original_file_name Processes.process Processes.process_id Processes.parent_process_id | `drop_dm_object_name(Processes)` | `security_content_ctime(firstTime)` | `security_content_ctime(lastTime)` | `windows_service_stop_by_deletion_filter`
この分析では、Windows Defenderのraw書き込み通知機能を無効にするためのWindowsレジストリの変更を検出します。
| tstats `security_content_summariesonly` count min(_time) as firstTime max(_time) as lastTime FROM datamodel=Endpoint.Registry where Registry.registry_path= "*\\Windows Defender\\Real-Time Protection\\DisableRawWriteNotification*" Registry.registry_value_data="0x00000001" by Registry.registry_key_name Registry.user Registry.registry_path Registry.registry_value_data Registry.action Registry.dest | `drop_dm_object_name(Registry)` | `security_content_ctime(firstTime)` | `security_content_ctime(lastTime)` | `windows_modify_registry_disable_win_defender_raw_write_notif_filter`
この分析では、Windowsエラーレポートの設定を無効にするためのWindowsレジストリの変更を検出します。
| tstats `security_content_summariesonly` count min(_time) as firstTime max(_time) as lastTime FROM datamodel=Endpoint.Registry where Registry.registry_path= "*\\SOFTWARE\\Microsoft\\Windows\\Windows Error Reporting\\disable*" Registry.registry_value_data="0x00000001" by Registry.registry_key_name Registry.user Registry.registry_path Registry.registry_value_data Registry.action Registry.dest | `drop_dm_object_name(Registry)` | `security_content_ctime(firstTime)` | `security_content_ctime(lastTime)` | `windows_modify_registry_disabling_wer_settings_filter`
この分析では、マルウェアの手動削除やセキュリティ製品によるマルウェア検出に関連する特定のコンピュータープログラムをユーザーが実行できないようにするためのWindowsレジストリの変更を検出します。
| tstats `security_content_summariesonly` count min(_time) as firstTime max(_time) as lastTime FROM datamodel=Endpoint.Registry where Registry.registry_path= "*\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Policies\\Explorer\\DisallowRun*" Registry.registry_value_data="0x00000001" by Registry.registry_key_name Registry.user Registry.registry_path Registry.registry_value_data Registry.action Registry.dest | `drop_dm_object_name(Registry)` | `security_content_ctime(firstTime)` | `security_content_ctime(lastTime)` | `windows_modify_registry_disallow_windows_app_filter`
この分析では、regedit.exeアプリケーションとサイレントモードパラメーターを使ってWindowsレジストリが変更された可能性を検出します。
| tstats `security_content_summariesonly` values(Processes.process) as process min(_time) as firstTime max(_time) as lastTime from datamodel=Endpoint.Processes where (Processes.process_name="regedit.exe" OR Processes.original_file_name="regedit.exe") AND Processes.process="* /s *" AND Processes.process="*.reg*" by Processes.dest Processes.user Processes.parent_process Processes.process_name Processes.original_file_name Processes.process Processes.process_id Processes.parent_process_id | `drop_dm_object_name(Processes)` | `security_content_ctime(firstTime)` | `security_content_ctime(lastTime)` | `windows_modify_registry_regedit_silent_reg_import_filter`
この分析では、リモートデスクトップホストのサポートと機能制限下でのRDPの複数同時セッションを有効にするRDPラッパーライブラリツール「RDPWInst.exe」のプロセスを検出します。
| tstats `security_content_summariesonly` values(Processes.process) as process min(_time) as firstTime max(_time) as lastTime from datamodel=Endpoint.Processes where (Processes.process_name="RDPWInst.exe" OR Processes.original_file_name="RDPWInst.exe") AND Processes.process IN ("* -i*", "* -s*", "* -o*", "* -w*", "* -r*") by Processes.dest Processes.user Processes.parent_process Processes.process_name Processes.original_file_name Processes.process Processes.process_id Processes.parent_process_id | `drop_dm_object_name(Processes)` | `security_content_ctime(firstTime)` | `security_content_ctime(lastTime)` | `windows_remote_service_rdpwinst_tool_execution_filter`
タイプ | 名前 | Technique ID | Tactic | 説明 |
---|---|---|---|---|
TTP |
このサーチでは、エンドポイントでセキュリティ関連のサービスを停止しようとする挙動を検出します。 |
|||
TTP |
このサーチでは、chcp.exeアプリケーションの実行を検出します。 |
|||
ハンティング |
この分析では、cmd.exe /cを使ってプログラムを実行するコマンドライン引数を検出します。 |
|||
TTP |
永続化 |
このサーチでは、net.exeを使用したローカル管理者アカウントの作成を検出します。 |
||
TTP |
このサーチでは、cmd.exeを親とするcscript.exeまたはwscript.exeプロセスの実行を検出します。 |
|||
異常 |
この分析では、複数のサービスを無効にする一連の不審なコマンドラインを検出します。 |
|||
異常 |
この分析では、ファイルまたはフォルダーの権限を変更するための、cacls.exe、xcacls.exe、icacls.exeアプリケーションの過度な使用を検出します。 |
|||
異常 |
この分析では、net.exeまたはnet1.exeの過度な使用を検出します。 |
|||
異常 |
このサーチでは、ホストマシンでのsc.exeの不審な過度の使用を検出します。 |
|||
異常 |
この分析では、taskkill.exeアプリケーションの過度な使用を検出します。 |
|||
TTP |
このサーチでは、Windows内の不審なファイルパスのリストの中から不審な実行可能ファイルやスクリプト(既知のファイル拡張子)を検出します。 |
|||
異常 |
この分析では、特定のアプリケーションの実行を許可するようにファイアウォールルールが不正に変更された可能性を検出します。 |
|||
TTP |
この分析では、Windowsログイン画面でユーザーアカウントを非表示にする不審なレジストリ変更を検出します。 |
|||
TTP |
このサーチでは、既存のWindowsバイナリ「attrib.exe」を使って特定のフラグを設定することで特定のファイルを非表示にし、ユーザーに見えないようにする攻撃を検出します。 |
|||
TTP |
この分析では、特定のファイルまたはディレクトリのセキュリティ権限を変更する攻撃を受けた可能性を検出します。 |
|||
ハンティング |
このハンティング分析では、net localgroupを使用したローカルグループ検索の使用を検出します。 |
|||
ハンティング |
この分析では、ターゲットシステムでネットワーク接続のリストを取得するためのコマンドライン引数が指定されたnet.exeの実行を検出します。 |
|||
TTP |
このサーチでは、netsh.exeを起動するプロセスを検出します。 |
|||
TTP |
このサーチでは、Windowsサービスの作成または変更を示すsc.exeの引数を検出します。 |
|||
TTP |
実行、永続化、権限昇格 |
この分析では、コマンドラインでcreateまたはdeleteのフラグを指定したschtasks.exeの実行によるスケジュールタスクの作成または削除を検出します。 |
||
異常 |
実行、永続化、権限昇格 |
この検出では、users\public、\programdata\、\windows\tempを含むパブリックディレクトリから実行される、バイナリまたはスクリプトを登録するスケジュールタスク(新しいタスクの作成)を検出します。 |
||
TTP |
実行、永続化、権限昇格 |
この分析では、権限昇格が必要な操作を同意または認証情報なしで実行することをConsent Adminに許可するレジストリ変更を検出します。 |
||
TTP |
この分析では、Windows Defenderの機能を無効にする不審なレジストリ変更を検出します。 |
|||
TTP |
防御回避、権限昇格 |
このサーチでは、Windowsユーザーアカウント制御(UAC)の適用を制御するレジストリキーの変更を検出します。 |
||
TTP |
このサーチでは、レジストリキー「DisableAntiSpyware」の無効化を検出します。このサーチは、多数のエンドポイントのRyuk感染に対応します。 |
|||
TTP |
この分析では、隠しファイル属性が設定されたすべてのファイルをユーザーが表示できないようにするためのWindowsレジストリの変更を検出します。 |
|||
異常 |
認証情報アクセス |
このサーチでは、FireFox以外のプロセスがそのプロファイルフォルダー内のファイルにアクセスする異常なイベントを検出します。 |
||
TTP |
永続化、権限昇格 |
このサーチでは、システム起動時にアプリケーションやサービスを開始するために使用されるレジストリキーの変更を検出します。 |
||
TTP |
この分析では、Windows Defenderの除外機能に関連するレジストリを変更する不審なプロセスを検出します。 |
|||
TTP |
この分析では、Windows Defenderの機能を無効にする不審なレジストリ変更を検出します。 |
|||
TTP |
この分析では、Windows Defenderでユーザーまたは管理者がアラートの表示/非表示を設定できる拡張通知機能を無効にして検出を回避する技法を検出します。 |
|||
TTP |
この分析では、Windows Defenderのテレメトリに使用されるSpyNetレポートを無効にして検出を回避する技法を検出します。 |
|||
異常 |
この分析では、通知バナー(トースト)を無効にするためのWindowsレジストリの変更を検出します。 |
|||
異常 |
Windows Modify Registry Disable Windows Security Center Notif (新規) |
この分析では、Windows通知センターでの通知を無効にするためのWindowsレジストリの変更を検出します。 |
||
異常 |
この分析では、Windows Defenderの通知を抑制するためのWindowsレジストリの変更を検出します。 |
|||
異常 |
この分析では、ターゲットマシンでRDP (リモートデスクトッププロトコル)を有効にするためのWindowsファイアウォールの変更を検出します。 |
|||
異常 |
この分析では、ターゲットマシンでリモートデスクトップアシスタンスを有効にするためのWindowsレジストリの変更を検出します。 |
|||
TTP |
この分析では、サービスを削除しようとするWindowsサービスコントロール「sc.exe」を検出します。 |
|||
TTP |
この分析では、ターゲットマシンでRDP (リモートデスクトッププロトコル)を有効にするためのWindowsレジストリの変更を検出します。 |
|||
TTP |
Windows Application Layer Protocol RMS Radmin Tool Namedpipe (新規) |
この分析では、RMSリモート管理ツールで使われるデフォルトまたは公表済みの名前付きパイプの使用を検出します。 |
||
TTP |
この分析では、パブリックプロファイルで特定のポートでの受信トラフィックを許可するようにファイアウォールルールレジストリが不正に変更された可能性を検出します。 |
|||
ハンティング |
Windows Gather Victim Network Info Through Ip Check Web Services (新規) |
この分析では、既知のIPのWebサービスに接続しようとするプロセスを検出します。 |
||
ハンティング |
この分析では、PowerShellコマンドレットを使ってXML形式のAppLockerルールをインポートするプロセスを検出します。 |
|||
TTP |
Windows Impair Defense Deny Security Software With AppLocker (新規) |
この分析では、AppLockerアプリケーションによる、複数のセキュリティ製品の実行拒否に関連するWindowsレジストリの詳細またはレジストリデータ値の変更を検出します。 |
||
TTP |
この分析では、PowerShellコマンドレットを使ってXML形式のAppLockerルールをインポートするプロセスを検出します。 |
|||
TTP |
この分析では、RMS (Remote Manipulator System)リモート管理ツールに関連するWindowsレジストリの変更または作成を検出します。 |
|||
TTP |
この分析では、ユーザーアカウントのパスワード要件ポリシーを変更してパスワードを無期限にするプロセスを検出します。 |
|||
異常 |
Windows Modify Registry Disable Win Defender Raw Write Notif (新規) |
この分析では、Windows Defenderのraw書き込み通知機能を無効にするためのWindowsレジストリの変更を検出します。 |
||
TTP |
この分析では、Windowsエラーレポートの設定を無効にするためのWindowsレジストリの変更を検出します。 |
|||
この分析では、マルウェアの手動削除やセキュリティ製品によるマルウェア検出に関連する特定のコンピュータープログラムをユーザーが実行できないようにするためのWindowsレジストリの変更を検出します。 |
||||
TTP |
この分析では、regedit.exeアプリケーションとサイレントモードパラメーターを使ってWindowsレジストリが変更された可能性を検出します。 |
|||
TTP |
この分析では、リモートデスクトップホストのサポートと機能制限下でのRDPの複数同時セッションを有効にするRDPラッパーライブラリツール「RDPWInst.exe」のプロセスを検出します。 |
ファイル名:5.xml SHA256:9a8efbd09c9cc1ee7e8ff76ea60846b5cd5a47cdaae8e92331f3b7b6a5db4be5 |
ファイル名:cheat.exe SHA256:b80857cd30e6ec64e470480aae3c90f513115163c74bb584fa27adf434075ab2 |
ファイル名:clean.bat SHA256:1134b862f4d0ce10466742beb334c06c2386e85acad72725ddb1cecb1871b312 |
ファイル名:db.rar SHA256:534e0430f7e8883b352e7cba4fa666d2f574170915caa8601352d5285eee5432 |
ファイル名:h.bat SHA256:a33af2b70ad8fea8900b6bd31ac7b0aab8a2b8b79e3e27adafbd34bdfcb67549 |
ファイル名:ink.exe SHA256:136590cb329a56375d6336b12878e18035412abf44c60bebdaa6c37840840040 |
ファイル名: Install cheat 1_7.bin SHA256:dd396a3f66ad728660023cb116235f3cb1c35d679a155b08ec6a9ccaf966c360 |
ファイル名: P.exe SHA256:8215e35c9ce15a7b7373871b27100577d3e609856eac71080ac13972a6a6748b |
ファイル名:R8.exe SHA256:40d4931bbb3234a2e399e2e3e0dcfe4b7b05362c58d549569f2888d5b210ebbd |
ファイル名:taskhost.exe SHA256:892e0afefca9c88d43bdd1beea0f09faadef618af0226e7cd1acdb47e871a0db |
ファイル名:temp.bat SHA256:ccf47d036ccfe0c8d0fe2854d14ca21d99be5fa11d0fbb16edcc1d6c10de3512 |
ファイル名:wini.exe SHA256:9276d1bb2cd48fdf46161deaf7ad4b0dbcef9655d462584e104bd3f2a8c944ce |
ファイル名:winlog.exe SHA256:54eda5cc37afb3b725fa2078941b3b93b6aec7b8c61cd83b9b2580263ce54724 |
ファイル名:cheat_exe\P\1.exe SHA256:7f11dabe46bf0af8973ce849194a587bd0ba1452e165faf028983f85b2b624c2 |
ファイル名:cheat_exe\R8\db.rar SHA256:534e0430f7e8883b352e7cba4fa666d2f574170915caa8601352d5285eee5432 |
ファイル名:cheat_exe\R8\pause.bat SHA256:46565c0588b170ae02573fde80ba9c0a2bfe3c6501237404d9bd105a2af01cba |
ファイル名:cheat_exe\R8\Rar.exe SHA256:2356220cfa9159b463d762e2833f647a04fa58b4c627fcb4fb1773d199656ab8 |
ファイル名:cheat_exe\R8\run.vbs SHA256:c7758bb2fdf207306a5b83c9916bfffcc5e85efe14c8f00d18e2b6639b9780fe |
ファイル名:cheat_exe\taskhost\opencl.dll SHA256:7cc0d32b00f4596bf0a193f9929e6c628bc1b9354678327f59db0bd516a0dd6b |
ファイル名:cheat_exe\taskhost\taskhostw.exe SHA256:00cb457c1bf203fdb75da2cb0ba517d177ea5decc071f27f6a5ba3ee7d30da93 |
ファイル名:cheat_exe\taskhost\taskhostw\winlogon.exe SHA256:870ff02d42814457290c354229b78232458f282eb2ac999b90c7fcea98d16375 |
ファイル名:cheat_exe\winlog\winlogon.exe SHA256:dc6d63798444d1f614d4a1ff8784ad63b557f4d937d90a3ad9973c51367079de |
ファイル名:wini_exe\install.bat SHA256:e3db831cdb021d6221be26a36800844e9af13811bac9e4961ac21671dff9207a |
ファイル名:wini_exe\install.vbs SHA256:cd8df8b0c43c36aabb0a960e4444b000a04eb513f0b34e12dbfd098944e40931 |
ファイル名:wini_exe\reg1.reg SHA256:7ae7e4c0155f559f3c31be25d9e129672a88b445af5847746fe0a9aab3e79544 |
ファイル名:wini_exe\reg2.reg SHA256:4ae04a85412ec3daa0fb33f21ed4eb3c4864c3668b95712be9ec36ef7658422a |
ファイル名:wini_exe\rfusclient.exe SHA256:dc9d875e659421a51addd8e8a362c926369e84320ab0c5d8bbb1e4d12d372fc9 |
ファイル名:wini_exe\rutserv.exe SHA256:1699b9b4fc1724f9b0918b57ca58c453829a3935efd89bd4e9fa66b5e9f2b8a6 |
ファイル名:wini_exe\vp8decoder.dll SHA256:4c04d7968a9fe9d9258968d3a722263334bbf5f8af972f206a71f17fa293aa74 |
ファイル名:wini_exe\vp8encoder.dll SHA256:81af82019d9f45a697a8ca1788f2c5c0205af9892efd94879dedf4bc06db4172 |
ファイル名:wini_exe\winit.exe SHA256:e95fc3e7ed9ec61ba7214cc3fe5d869e2ee22abbeac3052501813bb2b6dde210 |
ファイル名:wini_exe\winit\del.bat SHA256:e376f2a9dda89354311b1064ea4559e720739d526ef7da0518ebfd413cd19fc1 |
セキュリティ分析ストーリーの最新コンテンツは、GitHubとSplunkbaseからダウンロードできます。Splunk Security Essentialsでは、プッシュアップデートによってすべての検出方法を利用できます。
すべてのセキュリティコンテンツの一覧は、Splunk Docsのリリースノートに掲載されています。
ご意見やご要望がございましたら、GitHubから遠慮なくお寄せください。Slackチャネル「#security-research」にご参加いただくこともできます。SlackのSplunkユーザーグループへの招待が必要な場合は、こちらの手順に従ってください。
この記事は、Teoderick Contreras著、Rod Soto、Jose Hernandez、Patrick Bareiss、Lou Stella、Bhavin Patel、Michael Haag、Mauricio Velazco and Eric McGinnisの協力のもと執筆されました。
Splunkプラットフォームは、データを行動へとつなげる際に立ちはだかる障壁を取り除いて、オブザーバビリティチーム、IT運用チーム、セキュリティチームの能力を引き出し、組織のセキュリティ、レジリエンス(回復力)、イノベーションを強化します。
Splunkは、2003年に設立され、世界の21の地域で事業を展開し、7,500人以上の従業員が働くグローバル企業です。取得した特許数は1,020を超え、あらゆる環境間でデータを共有できるオープンで拡張性の高いプラットフォームを提供しています。Splunkプラットフォームを使用すれば、組織内のすべてのサービス間通信やビジネスプロセスをエンドツーエンドで可視化し、コンテキストに基づいて状況を把握できます。Splunkなら、強力なデータ基盤の構築が可能です。