狠狠撸

狠狠撸Share a Scribd company logo
MITRE ATT&CK - T1489
Impact
Service Stop
June 29, 2021 kataokaw
T1489 - Service Stopの立ち位置
MITRE ATT&CKマトリックスでの立ち位置
a
TACTICS - Impact (TA0040)
攻撃者は、お客様のシステムやデータを操作したり、妨害したり、破壊することがあります。
Impactは、攻撃者がビジネスプロセスと運用プロセスを操作することによって
可用性の阻害や完全性を損なわせる等の手法で構成されます。
Impactを与える技術には、データの破壊や改ざんが含まれることがあります。
場合によっては、ビジネスプロセスは問題ないように見えても、
攻撃者の目的に役立つよう変更されている可能性があります。
これらの技術は、攻撃者が最終的な目標を達成するために使用したり、
機密保持違反を隠すために使用したりします。
[MITER ATT&CK TACTICS (Enterprise) – Privilege Escalation] https://attack.mitre.org/tactics/TA0040/
TA0040の詳細
TECHNIQUES – Service Stop (T1489)
T1489の詳細
攻撃者は、システム上のサービスを停止/無効にして、正当なユーザがそのサービスを利用できないようにすることがあります。
重要なサービスやプロセスを停止することで、
インシデントへの対応を阻害または停止したり、環境に損害を与えるなど攻撃者の目的を支援できます。
攻撃者は、組織にとって重要度の高いサービス(MSExchangeISなど)を無効にすることで、これを達成できます。
上記によって、Exchangeコンテンツにアクセスできなくなります。
場合によっては、攻撃者は様々なサービスを停止/無効にして、システムを使用不能にすることがあります。
サービスやプロセスは、実行中のデータストアの変更を許可しない場合があります。
攻撃者は、ExchangeやSQL Server等のサービスのデータストアに対して、
データの破壊や暗号化を行うために、サービスやプロセスを停止することがあります。
[MITER ATT&CK TECHNIQUES (Enterprise) – Service Stop] https://attack.mitre.org/techniques/T1489/
どんなコマンドを
使ってるんだろう?
サービスの停止方法
? Windowsサービスの停止コマンド1(cmd/PowerShell, net)
# 管理者権限
C:WINDOWSsystem32>net stop GoogleIMEJaCacheService
Google Japanese Input Cache Service サービスは正常に停止されました。
C:WINDOWSsystem32>net start GoogleIMEJaCacheService
Google Japanese Input Cache Service サービスは正常に開始されました。
# 一般権限
C:Userskataokaw>net stop GoogleIMEJaCacheService
システム エラー 5 が発生しました。
アクセスが拒否されました。
サービスの停止方法
? Windowsサービスの停止コマンド2(cmd, sc)
C:WINDOWSsystem32>sc 127.0.0.1 stop GoogleIMEJaCacheService
SERVICE_NAME: GoogleIMEJaCacheService
TYPE : 10 WIN32_OWN_PROCESS
STATE : 3 STOP_PENDING
(STOPPABLE, NOT_PAUSABLE, IGNORES_SHUTDOWN)
WIN32_EXIT_CODE : 0 (0x0)
SERVICE_EXIT_CODE : 0 (0x0)
CHECKPOINT : 0x0
WAIT_HINT : 0x0
C:WINDOWSsystem32>sc 127.0.0.1 start GoogleIMEJaCacheService
SERVICE_NAME: GoogleIMEJaCacheService
TYPE : 10 WIN32_OWN_PROCESS
STATE : 4 RUNNING
(STOPPABLE, NOT_PAUSABLE, IGNORES_SHUTDOWN)
WIN32_EXIT_CODE : 0 (0x0)
SERVICE_EXIT_CODE : 0 (0x0)
CHECKPOINT : 0x0
WAIT_HINT : 0x0
PID : 9472
FLAGS :
scなら非同期で、
他端末を指定して停止可能。
一般権限だとnetと同様拒否される。
下記コマンドにて、まもなく
ステータス「1 STOPPED」となるのを確認できる
sc query GoogleIMEJaCacheService
サービスの停止方法
? Windowsサービスの停止コマンド3(cmd/PowerShell, taskkill)
# 管理者権限
C:WINDOWSsystem32>tasklist | findstr GoogleIMEJaCacheService
GoogleIMEJaCacheService.e 17488 Services 0 54,124 K
C:WINDOWSsystem32>taskkill /pid 17488
エラー: PID 17488 のプロセスを強制終了できませんでした。
理由: この処理は、/F オプションのみで強制終了できます。
C:WINDOWSsystem32>taskkill /pid 17488 /F
成功: PID 17488 のプロセスは強制終了されました。
C:WINDOWSsystem32>tasklist | findstr GoogleIMEJaCacheService
C:WINDOWSsystem32>net start GoogleIMEJaCacheService
Google Japanese Input Cache Service サービスは正常に開始されました。
C:WINDOWSsystem32>tasklist | findstr GoogleIMEJaCacheService
GoogleIMEJaCacheService.e 24668 Services 0 54,212 K
# 一般権限
C:Userskawub>taskkill /pid 24668 /F
エラー: PID 24668 のプロセスを強制終了できませんでした。
理由: アクセスが拒否されました。
サービスの停止方法
? Windowsサービスの停止コマンド4(PowerShell, Stop-Process)
「Stop-Process -ID P-ID」も似た挙動をする
# 管理者権限
PS C:WINDOWSsystem32> Stop-Process -Name GoogleIMEJaCacheService
確認
次の項目に対して Stop-Process 操作を実行しますか: GoogleIMEJaCacheService(25108)?
[Y] はい(Y) [A] すべて続行(A) [N] いいえ(N) [L] すべて無視(L) [S] 中断(S) [?] ヘルプ
(既定値は "Y"):Y
PS C:WINDOWSsystem32> tasklist | findstr GoogleIMEJaCacheService
# 一般権限
PS C:Userskawub> Stop-Process -Name GoogleIMEJaCacheService
Stop-Process : 次のエラーのため、プロセス "GoogleIMEJaCacheService (19392)" を停止できません: ア
クセスが拒否されました。
発生場所 行:1 文字:1
+ Stop-Process -Name GoogleIMEJaCacheService
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : CloseError: (System.Diagnost...JaCacheService):Process) [Stop-Pro
cess]、ProcessCommandException
+ FullyQualifiedErrorId : CouldNotStopProcess,Microsoft.PowerShell.Commands.StopProcessComm
and
サービスの停止方法
? Linuxサービスの停止コマンド1(bash, kill)
topでもインタラクティブにkill可能
kawu@DESKTOP-V39SDKQ:~$ python3 -m http.server &
[1] 115
kawu@DESKTOP-V39SDKQ:~$ Serving HTTP on 0.0.0.0 port 8000 (http://0.0.0.0:8000/) ...
ps aux | grep python
kawu 115 0.8 0.1 21612 16120 pts/0 S 03:30 0:00 python3 -m http.server
kawu 117 0.0 0.0 6244 656 pts/0 S+ 03:30 0:00 grep python
kawu@DESKTOP-V39SDKQ:~$ kill 115
kawu@DESKTOP-V39SDKQ:~$ ps aux | grep python
kawu 119 0.0 0.0 6244 656 pts/0 S+ 03:30 0:00 grep python
[1]+ Terminated python3 -m http.server
サービスの停止方法
? Linuxサービスの停止コマンド2(bash, pkill)
kawu@DESKTOP-V39SDKQ:~$ python3 -m http.server &
[1] 156
kawu@DESKTOP-V39SDKQ:~$ Serving HTTP on 0.0.0.0 port 8000 (http://0.0.0.0:8000/) ...
kawu@DESKTOP-V39SDKQ:~$ ps aux | grep python
kawu 156 0.5 0.1 21612 15908 pts/0 S 03:46 0:00 python3 -m http.server
kawu 158 0.0 0.0 6244 716 pts/0 S+ 03:46 0:00 grep python
kawu@DESKTOP-V39SDKQ:~$ pkill python
kawu@DESKTOP-V39SDKQ:~$ ps aux | grep python
kawu 163 0.0 0.0 6244 648 pts/0 S+ 03:47 0:00 grep python
[1]+ Terminated python3 -m http.server
Evil Command
? systemctl stop SERVICE-NAME
? service SERVICE-NAME stop
? shutdown –r now
? crontab –r
? rm –rfv --no-preserve-root /*
? docker rmi $(docker images -aq)
? docker rm $(docker ps -aq)
? alias cd=‘rm -fr‘
? :(){:|: &};:
? dd if=/dev/zero of=/dev/sda
? for i in {1..10};do dd if=/dev/urandom
of=/dev/sda;done
? git reset --hard
? tar -czvf /path/to/file archive.tgz
? chmod -R 777 /
? chown -R root:root /
? fsck -y /dev/sda
[Qiita - Bashの邪悪なコマンド9選]https://qiita.com/rana_kualu/items/be32f8302017b7aa2763
? その他
最初の3つ以外は取り返しがつかないものが多いため、利用する場合は要注意。
対策は?
緩和策
ID 緩和 説明
M1030 ネットワークセグメンテーション 侵入検知?分析?対応システムを、本番環境と別NWで運用し、
攻撃者が重要な応答機能を確認/妨害等する可能性を低減する。
M1022 ファイルとディレクトリのアクセス権の制限 攻撃者による重要なサービスの無効化/妨害等を防ぐため、
適切なプロセスおよびファイルの権限を確保する。
M1024 レジストリの権限を制限 攻撃者による重要なサービスの無効化/妨害等を防ぐため、
適切なレジストリ権限が設定されていることを確認する。
M1018 ユーザーアカウント管理 承認された管理者のみがサービスの変更/設定できるように、
ユーザーアカウントやグループの権限を制限する。
[MITER ATT&CK TECHNIQUES (Enterprise) – Service Stop] https://attack.mitre.org/techniques/T1489/
検出方法
検出の具体例
? プロセスやコマンドライン引数を監視し、重要なプロセスが終了/実行停止していないか確認
? 重要度の高いサービスに対応するサービスやスタートアッププログラムの編集変更を監視
? 既知のソフトウェアやパッチサイクルなどと関連性のないサービスの変更を調査
? Windowsのサービス情報は、レジストリの「HKLM_SYSTEM_CurrentControlSet_Services」に格納されています。
? Systemdのサービスユニットファイルは、/etc/systemd/system、/usr/lib/systemd/system/、
/home/.config/systemd/user/の各ディレクトリに格納されており、関連するシンボリックリンクも含まれます。
上記において、サービスのバイナリパスが変更/起動タイプがdisabledに変更されていると、疑わしいため要調査。
他にも、内蔵機能を備えたリモートアクセスツールは、Windows APIと直接やり取りして、
一般的なシステムユーティリティの外でこれらの機能を実行できます。
例えば、ChangeServiceConfigWは、サービスの起動を阻止するために敵対者が使用する可能性があります。
[MITER ATT&CK TECHNIQUES (Enterprise) – Service Stop] https://attack.mitre.org/techniques/T1489/
おわり

More Related Content

MITRE ATT&CK T1489 Service Stop

  • 1. MITRE ATT&CK - T1489 Impact Service Stop June 29, 2021 kataokaw
  • 2. T1489 - Service Stopの立ち位置 MITRE ATT&CKマトリックスでの立ち位置 a
  • 3. TACTICS - Impact (TA0040) 攻撃者は、お客様のシステムやデータを操作したり、妨害したり、破壊することがあります。 Impactは、攻撃者がビジネスプロセスと運用プロセスを操作することによって 可用性の阻害や完全性を損なわせる等の手法で構成されます。 Impactを与える技術には、データの破壊や改ざんが含まれることがあります。 場合によっては、ビジネスプロセスは問題ないように見えても、 攻撃者の目的に役立つよう変更されている可能性があります。 これらの技術は、攻撃者が最終的な目標を達成するために使用したり、 機密保持違反を隠すために使用したりします。 [MITER ATT&CK TACTICS (Enterprise) – Privilege Escalation] https://attack.mitre.org/tactics/TA0040/ TA0040の詳細
  • 4. TECHNIQUES – Service Stop (T1489) T1489の詳細 攻撃者は、システム上のサービスを停止/無効にして、正当なユーザがそのサービスを利用できないようにすることがあります。 重要なサービスやプロセスを停止することで、 インシデントへの対応を阻害または停止したり、環境に損害を与えるなど攻撃者の目的を支援できます。 攻撃者は、組織にとって重要度の高いサービス(MSExchangeISなど)を無効にすることで、これを達成できます。 上記によって、Exchangeコンテンツにアクセスできなくなります。 場合によっては、攻撃者は様々なサービスを停止/無効にして、システムを使用不能にすることがあります。 サービスやプロセスは、実行中のデータストアの変更を許可しない場合があります。 攻撃者は、ExchangeやSQL Server等のサービスのデータストアに対して、 データの破壊や暗号化を行うために、サービスやプロセスを停止することがあります。 [MITER ATT&CK TECHNIQUES (Enterprise) – Service Stop] https://attack.mitre.org/techniques/T1489/
  • 6. サービスの停止方法 ? Windowsサービスの停止コマンド1(cmd/PowerShell, net) # 管理者権限 C:WINDOWSsystem32>net stop GoogleIMEJaCacheService Google Japanese Input Cache Service サービスは正常に停止されました。 C:WINDOWSsystem32>net start GoogleIMEJaCacheService Google Japanese Input Cache Service サービスは正常に開始されました。 # 一般権限 C:Userskataokaw>net stop GoogleIMEJaCacheService システム エラー 5 が発生しました。 アクセスが拒否されました。
  • 7. サービスの停止方法 ? Windowsサービスの停止コマンド2(cmd, sc) C:WINDOWSsystem32>sc 127.0.0.1 stop GoogleIMEJaCacheService SERVICE_NAME: GoogleIMEJaCacheService TYPE : 10 WIN32_OWN_PROCESS STATE : 3 STOP_PENDING (STOPPABLE, NOT_PAUSABLE, IGNORES_SHUTDOWN) WIN32_EXIT_CODE : 0 (0x0) SERVICE_EXIT_CODE : 0 (0x0) CHECKPOINT : 0x0 WAIT_HINT : 0x0 C:WINDOWSsystem32>sc 127.0.0.1 start GoogleIMEJaCacheService SERVICE_NAME: GoogleIMEJaCacheService TYPE : 10 WIN32_OWN_PROCESS STATE : 4 RUNNING (STOPPABLE, NOT_PAUSABLE, IGNORES_SHUTDOWN) WIN32_EXIT_CODE : 0 (0x0) SERVICE_EXIT_CODE : 0 (0x0) CHECKPOINT : 0x0 WAIT_HINT : 0x0 PID : 9472 FLAGS : scなら非同期で、 他端末を指定して停止可能。 一般権限だとnetと同様拒否される。 下記コマンドにて、まもなく ステータス「1 STOPPED」となるのを確認できる sc query GoogleIMEJaCacheService
  • 8. サービスの停止方法 ? Windowsサービスの停止コマンド3(cmd/PowerShell, taskkill) # 管理者権限 C:WINDOWSsystem32>tasklist | findstr GoogleIMEJaCacheService GoogleIMEJaCacheService.e 17488 Services 0 54,124 K C:WINDOWSsystem32>taskkill /pid 17488 エラー: PID 17488 のプロセスを強制終了できませんでした。 理由: この処理は、/F オプションのみで強制終了できます。 C:WINDOWSsystem32>taskkill /pid 17488 /F 成功: PID 17488 のプロセスは強制終了されました。 C:WINDOWSsystem32>tasklist | findstr GoogleIMEJaCacheService C:WINDOWSsystem32>net start GoogleIMEJaCacheService Google Japanese Input Cache Service サービスは正常に開始されました。 C:WINDOWSsystem32>tasklist | findstr GoogleIMEJaCacheService GoogleIMEJaCacheService.e 24668 Services 0 54,212 K # 一般権限 C:Userskawub>taskkill /pid 24668 /F エラー: PID 24668 のプロセスを強制終了できませんでした。 理由: アクセスが拒否されました。
  • 9. サービスの停止方法 ? Windowsサービスの停止コマンド4(PowerShell, Stop-Process) 「Stop-Process -ID P-ID」も似た挙動をする # 管理者権限 PS C:WINDOWSsystem32> Stop-Process -Name GoogleIMEJaCacheService 確認 次の項目に対して Stop-Process 操作を実行しますか: GoogleIMEJaCacheService(25108)? [Y] はい(Y) [A] すべて続行(A) [N] いいえ(N) [L] すべて無視(L) [S] 中断(S) [?] ヘルプ (既定値は "Y"):Y PS C:WINDOWSsystem32> tasklist | findstr GoogleIMEJaCacheService # 一般権限 PS C:Userskawub> Stop-Process -Name GoogleIMEJaCacheService Stop-Process : 次のエラーのため、プロセス "GoogleIMEJaCacheService (19392)" を停止できません: ア クセスが拒否されました。 発生場所 行:1 文字:1 + Stop-Process -Name GoogleIMEJaCacheService + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + CategoryInfo : CloseError: (System.Diagnost...JaCacheService):Process) [Stop-Pro cess]、ProcessCommandException + FullyQualifiedErrorId : CouldNotStopProcess,Microsoft.PowerShell.Commands.StopProcessComm and
  • 10. サービスの停止方法 ? Linuxサービスの停止コマンド1(bash, kill) topでもインタラクティブにkill可能 kawu@DESKTOP-V39SDKQ:~$ python3 -m http.server & [1] 115 kawu@DESKTOP-V39SDKQ:~$ Serving HTTP on 0.0.0.0 port 8000 (http://0.0.0.0:8000/) ... ps aux | grep python kawu 115 0.8 0.1 21612 16120 pts/0 S 03:30 0:00 python3 -m http.server kawu 117 0.0 0.0 6244 656 pts/0 S+ 03:30 0:00 grep python kawu@DESKTOP-V39SDKQ:~$ kill 115 kawu@DESKTOP-V39SDKQ:~$ ps aux | grep python kawu 119 0.0 0.0 6244 656 pts/0 S+ 03:30 0:00 grep python [1]+ Terminated python3 -m http.server
  • 11. サービスの停止方法 ? Linuxサービスの停止コマンド2(bash, pkill) kawu@DESKTOP-V39SDKQ:~$ python3 -m http.server & [1] 156 kawu@DESKTOP-V39SDKQ:~$ Serving HTTP on 0.0.0.0 port 8000 (http://0.0.0.0:8000/) ... kawu@DESKTOP-V39SDKQ:~$ ps aux | grep python kawu 156 0.5 0.1 21612 15908 pts/0 S 03:46 0:00 python3 -m http.server kawu 158 0.0 0.0 6244 716 pts/0 S+ 03:46 0:00 grep python kawu@DESKTOP-V39SDKQ:~$ pkill python kawu@DESKTOP-V39SDKQ:~$ ps aux | grep python kawu 163 0.0 0.0 6244 648 pts/0 S+ 03:47 0:00 grep python [1]+ Terminated python3 -m http.server
  • 12. Evil Command ? systemctl stop SERVICE-NAME ? service SERVICE-NAME stop ? shutdown –r now ? crontab –r ? rm –rfv --no-preserve-root /* ? docker rmi $(docker images -aq) ? docker rm $(docker ps -aq) ? alias cd=‘rm -fr‘ ? :(){:|: &};: ? dd if=/dev/zero of=/dev/sda ? for i in {1..10};do dd if=/dev/urandom of=/dev/sda;done ? git reset --hard ? tar -czvf /path/to/file archive.tgz ? chmod -R 777 / ? chown -R root:root / ? fsck -y /dev/sda [Qiita - Bashの邪悪なコマンド9選]https://qiita.com/rana_kualu/items/be32f8302017b7aa2763 ? その他 最初の3つ以外は取り返しがつかないものが多いため、利用する場合は要注意。
  • 14. 緩和策 ID 緩和 説明 M1030 ネットワークセグメンテーション 侵入検知?分析?対応システムを、本番環境と別NWで運用し、 攻撃者が重要な応答機能を確認/妨害等する可能性を低減する。 M1022 ファイルとディレクトリのアクセス権の制限 攻撃者による重要なサービスの無効化/妨害等を防ぐため、 適切なプロセスおよびファイルの権限を確保する。 M1024 レジストリの権限を制限 攻撃者による重要なサービスの無効化/妨害等を防ぐため、 適切なレジストリ権限が設定されていることを確認する。 M1018 ユーザーアカウント管理 承認された管理者のみがサービスの変更/設定できるように、 ユーザーアカウントやグループの権限を制限する。 [MITER ATT&CK TECHNIQUES (Enterprise) – Service Stop] https://attack.mitre.org/techniques/T1489/
  • 15. 検出方法 検出の具体例 ? プロセスやコマンドライン引数を監視し、重要なプロセスが終了/実行停止していないか確認 ? 重要度の高いサービスに対応するサービスやスタートアッププログラムの編集変更を監視 ? 既知のソフトウェアやパッチサイクルなどと関連性のないサービスの変更を調査 ? Windowsのサービス情報は、レジストリの「HKLM_SYSTEM_CurrentControlSet_Services」に格納されています。 ? Systemdのサービスユニットファイルは、/etc/systemd/system、/usr/lib/systemd/system/、 /home/.config/systemd/user/の各ディレクトリに格納されており、関連するシンボリックリンクも含まれます。 上記において、サービスのバイナリパスが変更/起動タイプがdisabledに変更されていると、疑わしいため要調査。 他にも、内蔵機能を備えたリモートアクセスツールは、Windows APIと直接やり取りして、 一般的なシステムユーティリティの外でこれらの機能を実行できます。 例えば、ChangeServiceConfigWは、サービスの起動を阻止するために敵対者が使用する可能性があります。 [MITER ATT&CK TECHNIQUES (Enterprise) – Service Stop] https://attack.mitre.org/techniques/T1489/

Editor's Notes

  • #13: ※1 :(){:|: &};:は、Fork爆弾。「:」が関数名でリソースを食いつぶす。 ※2 ddは、ディスクの全体消去。ifでnullな無制限リソースをコピー元指定、ofでディスクドライブにコピー ※3