ข้ามไปยังเนื้อหา
กลับไปหน้าบทความ
ความปลอดภัยเครือข่าย

ตรวจจับ Lateral Movement จาก Windows Log และ East-West Traffic

สัญญาณ Lateral Movement ที่ดูได้จาก Event 4624, 4625, 4648 และ Traffic แบบ East-West พร้อม Segmentation, LAPS, Tiering และ MFA ที่ช่วยจำกัดวง

ขั้นสูง16 นาทีในการอ่าน

ในบทความนี้

เครื่องแรกที่ผู้บุกรุกเข้ามาได้ มักไม่ใช่เครื่องที่เขาต้องการจริง ๆ แล็ปท็อปที่โดน phishing หรือ server ที่เปิดออก internet เป็นแค่ประตู ส่วนสิ่งที่เขาตามหา (directory, file share, ฐานข้อมูล, backup) มักอยู่ที่อื่น การเดินทางจากประตูไปถึงเป้าหมายจึงต้องย้ายจากระบบหนึ่งไปอีกระบบหนึ่ง และการเคลื่อนที่นั้นทิ้งร่องรอยไว้ในที่ที่ฝั่ง defender เก็บอยู่แล้ว ได้แก่ logon event, firewall log และ flow record ครับ

โพสต์นี้เป็นคู่มือภาคสนามสำหรับช่วงกลางของการบุกรุกนั้น และอยู่ฝั่ง defender ตลอดทั้งโพสต์ ตั้งแต่ lateral movement คืออะไรในระดับแนวคิด สัญญาณไหนปรากฏใน authentication log ของ Windows และใน network traffic, control แบบไหนทำให้การเคลื่อนที่ยากขึ้นตั้งแต่แรก ไปจนถึงวิธีเปลี่ยนทั้งหมดนี้เป็น alert ที่ทีมรับมือไหว ในโพสต์นี้ไม่มีขั้นตอนการโจมตี มีแต่สิ่งที่คุณเฝ้าดูและสร้างขึ้นได้ครับ

Lateral movement หมายถึงอะไร

MITRE ATT&CK จัด Lateral Movement เป็น tactic TA0008 และสรุปเป้าหมายของผู้โจมตีไว้ในบรรทัดเดียวว่า เขากำลังพยายามเคลื่อนที่ไปทั่ว environment ของคุณ หน้า tactic อธิบายว่าการไปถึงเป้าหมายจริงมักต้องสำรวจเครือข่าย แล้ว pivot ผ่านหลายระบบและหลาย account และระบุ technique ภายใต้ tactic นี้ไว้เก้าตัว ตั้งแต่ Exploitation of Remote Services ไปจนถึง Use Alternate Authentication Material (MITRE ATT&CK, TA0008)

ประโยคที่สำคัญที่สุดสำหรับ defender ในหน้านั้นคือประโยคสุดท้าย ผู้โจมตีอาจติดตั้ง remote access tool ของตัวเอง หรืออาจใช้ credential ที่ถูกต้องร่วมกับเครื่องมือของระบบปฏิบัติการและเครือข่ายที่มีอยู่แล้ว ซึ่งอาจแนบเนียนกว่า (TA0008) technique Remote Services (T1021) ครอบคลุมเรื่องนี้พอดี คือการใช้ account ที่ถูกต้อง log in เข้า service ที่รับการเชื่อมต่อจากระยะไกล เช่น telnet, SSH หรือ VNC แล้วทำงานในฐานะ user คนนั้น โดยมี sub-technique อย่าง Remote Desktop Protocol, SMB/Windows Admin Shares และ Windows Remote Management อยู่ด้วย

นี่คือเหตุผลที่ lateral movement จับด้วย signature ได้ยาก advisory ร่วมของ CISA, NSA และ FBI เกี่ยวกับกลุ่มที่ได้รับการสนับสนุนจากรัฐซึ่งพึ่งวิธีแบบ "living off the land" ระบุว่า เพราะกิจกรรมแบบนี้กลืนไปกับงาน admin ปกติ indicator of compromise แบบดั้งเดิมจึงมักไม่มีให้เห็น และวางแนวทางของตัวเองไว้ที่ behaviour analytics, anomaly detection และ proactive hunting แทน (CISA AA24-038A)

ผลในทางปฏิบัติคือ คุณแทบไม่ได้ตามหาไฟล์อันตราย แต่ตามหาการกระทำ ปกติ ที่ทำโดย account ที่ไม่ควรทำ จากเครื่องที่ไม่ควรเป็น ในเวลาที่ไม่ควรเกิด หรือผ่านเส้นทางที่ไม่ควรมีอยู่ครับ

วิธีอ่านคู่มือนี้

สัญญาณแต่ละข้อด้านล่างมีโครงเดียวกัน คือมันคืออะไร ถูกบันทึกไว้ที่ไหน ทำไมจึงสำคัญ และอะไรมักทำให้เกิด false positive ส่วน event ID มาจากเอกสาร security auditing ของ Microsoft ซึ่งตอนนี้อยู่ในส่วน Windows 10 ที่ถูก archive ไว้ใน Microsoft Learn แต่ยังเป็นนิยามอย่างเป็นทางการของแต่ละ event ครับ

สัญญาณที่ 1: logon ที่ไม่เข้ากับ account

Event 4624 ("An account was successfully logged on") ถูกเขียนบนเครื่องที่ถูกเข้าถึง ซึ่งเป็นที่ที่ session ถูกสร้างขึ้น (Microsoft Learn, 4624) รายละเอียดนี้มองข้ามง่ายแต่สำคัญ ถ้าอยากเห็น session ที่เข้ามาถึง server เครื่องหนึ่ง คุณต้องมี Security log ของ server เครื่องนั้น ไม่ใช่แค่ของ domain controller ครับ

field ที่มีประโยชน์ที่สุดคือ Logon Type ตัวอย่างค่าที่มีเอกสารรองรับ:

Logon type ชื่อ คำอธิบายของ Microsoft (ย่อ)
2 Interactive user log on ที่เครื่องนี้
3 Network user หรือเครื่องอื่น log on เข้าเครื่องนี้จากเครือข่าย
5 Service Service Control Manager เป็นผู้เริ่ม service
9 NewCredentials ผู้เรียก clone token ของตัวเองพร้อม credential ใหม่สำหรับการเชื่อมต่อขาออก
10 RemoteInteractive user log on จากระยะไกลผ่าน Terminal Services หรือ Remote Desktop
11 CachedInteractive log on ด้วย credential ที่เก็บไว้ในเครื่อง โดยไม่ได้ติดต่อ domain controller

ที่มา: Microsoft Learn, 4624 logon types

event เดียวกันยังมี Workstation Name และ Source Network Address (logon มาจากไหน), Authentication Package (NTLM, Kerberos หรือ Negotiate) และตั้งแต่ Windows 10 ก็มี flag Elevated Token ที่บอกว่า session นั้นมีสิทธิ์ administrator หรือไม่ (4624)

คำแนะนำการ monitor 4624 ของ Microsoft เองอ่านแล้วเหมือน checklist เรื่อง lateral movement คือให้เฝ้าดู account มูลค่าสูง (domain admin, local administrator ที่ติดมากับระบบ, service account), account ที่ไม่ควรถูกใช้เลย, account ที่ถูกใช้นอกเวลาทำงาน, "restricted-use computers" ที่บางคนไม่ควรทำอะไรบนเครื่องนั้นเลย และ service account ที่ควร log on จาก IP address ในรายการที่รู้จักเท่านั้น (4624, Security Monitoring Recommendations)

แปลงเป็นคำถามที่ถาม log ได้จริง:

  • admin account สร้าง session แบบ type 10 (Remote Desktop) บน server จาก workstation ของ user แทนที่จะเป็น admin workstation ของตัวเองหรือเปล่า
  • service account ทำ network logon จาก address ที่อยู่นอกรายการปกติหรือเปล่า
  • source address เดียวสร้าง logon แบบ type 3 บนหลายเครื่องที่ไม่เคยแตะมาก่อนหรือเปล่า

False positive: management server, vulnerability scanner, backup agent และ deployment tool แตะหลายเครื่องอย่างถูกต้องตามหน้าที่ ให้ใส่สิ่งเหล่านี้ไว้ในรายการที่ระบุชัด และถือว่าการเพิ่มสมาชิกใหม่ในรายการเป็น change ที่ต้องมี ticket ครับ

สัญญาณที่ 2: explicit credential และ special privilege

มีสอง event ที่มักมาคู่กับ 4624 ที่น่าสนใจ

4648 ("A logon was attempted using explicit credentials") เกิดเมื่อ process หนึ่ง log on โดยระบุ credential ของ account อย่างชัดเจน Microsoft ระบุว่าส่วนใหญ่มาจาก scheduled task หรือคำสั่ง RUNAS และเกิดเป็นประจำระหว่างการทำงานปกติของระบบด้วย (Microsoft Learn, 4648) ถ้าดูลำพังจึงเป็น noise คุณค่าของมันอยู่ที่การจับคู่ เพราะ event นี้บันทึกทั้ง account ที่ log in อยู่ และ account ที่ credential ถูกนำมาใช้ พร้อม Target Server Name คำแนะนำของ Microsoft รวมถึงการ alert เมื่อ subject ไม่ควรรู้หรือใช้ credential ของอีก account หนึ่ง หรือเมื่อ credential ถูกใช้จาก network address ที่ไม่คาดคิด (4648)

4672 ("Special privileges assigned to new logon") เกิดเมื่อ session ใหม่ได้รับ privilege ที่อ่อนไหว เช่น SeDebugPrivilege หรือ SeBackupPrivilege ทุก logon ของ SYSTEM ทำให้เกิด event นี้ Microsoft จึงแนะนำให้ monitor เฉพาะกรณีที่ account ไม่ใช่ system principal ที่รู้จักกันดี และไม่ใช่ administrative account ที่คาดว่าจะมี privilege เหล่านั้น (Microsoft Learn, 4672)

ตัวเชื่อมระหว่างสอง event นี้คือ field Logon ID ซึ่ง Microsoft ระบุว่าใช้ correlate 4624 กับ 4672 ที่เกี่ยวข้องบนเครื่องเดียวกันได้ (4624) network logon ที่ได้ debug privilege ทันที โดย account ที่ไม่เคย log on เครื่องนั้นมาก่อน เล่าเรื่องได้หนักแน่นกว่า event ใด event หนึ่งเพียงลำพังมากครับ

สัญญาณที่ 3: failure ที่มาเป็นกลุ่ม และ failure ที่แปลว่า rule ของคุณทำงาน

Event 4625 ("An account failed to log on") ถูกบันทึกบนเครื่องที่มีความพยายาม log on และเกิดได้ทั้งบน domain controller, member server และ workstation (Microsoft Learn, 4625) code ใน Status และ Sub Status บอกเหตุผล ตัวอย่างที่ Microsoft แนะนำให้ monitor เป็นพิเศษ:

  • 0xC000006A รหัสผ่านผิด สำหรับ account สำคัญหรือ service account โดยเฉพาะเมื่อเกิดหลายครั้งติดกัน
  • 0xC0000070 log on จาก workstation ที่ไม่ได้รับอนุญาต
  • 0xC000015B user ไม่ได้รับสิทธิ์ logon type ที่ขอบนเครื่องนี้

(4625, ตาราง monitoring)

สองข้อหลังควรดูให้ดีครับ เพราะมันปรากฏเมื่อข้อจำกัดการ logon ที่คุณตั้งไว้เอง หยุดใครบางคน เช่น admin account ที่ไม่ได้รับอนุญาตให้ sign in เข้า workstation environment ที่แบ่ง tier ดีควรเกิด event พวกนี้น้อยมาก แต่ละครั้งจึงเป็นได้ทั้ง misconfiguration ที่ต้องแก้ หรือคนหรือ process ที่กำลังลองดันขอบเขต Microsoft ยังแนะนำให้ monitor 4625 ทั้งหมดของ local account และ service account ด้วย เพราะโดยปกติ account เหล่านี้ไม่ควรถูก lock out (4625)

สัญญาณที่ 4: NTLM ในที่ที่ควรเป็น Kerberos

Microsoft ระบุว่า package Negotiate ซึ่งเลือกระหว่างสองโปรโตคอลนี้ จะเลือก Kerberos เว้นแต่ระบบฝั่งใดฝั่งหนึ่งใช้ Kerberos ไม่ได้ หรือ application ที่เรียกใช้ให้ข้อมูลไม่พอ (4624, Authentication Package) ดังนั้นใน domain ที่ Kerberos เป็นเรื่องปกติ NTLM ที่โผล่มาในที่ที่ไม่ควรมีก็เป็นสัญญาณในตัวเองครับ

detection strategy ของ MITRE สำหรับ Pass the Hash (T1550.002) อธิบายมุมของ defender ในระดับแนวคิดว่า ให้มองหา NTLM network authentication (type 3) ที่ผิดปกติและไม่มีกิจกรรม domain logon ที่สอดคล้องกัน และมองหาความไม่เข้ากันระหว่าง user context ต้นทางกับระบบที่ถูกเข้าถึง คำแนะนำ 4624 ของ Microsoft ให้ filter ที่เข้าคู่กันพอดี คือถ้าองค์กรไม่ใช้ NTLM หรือ account ใดไม่ควรใช้ NTLM ให้ monitor 4624 ทุกตัวที่ Authentication Package เป็น NTLM และถ้าอนุญาตแค่ NTLMv2 ให้เฝ้า field Package Name (NTLM only) ว่ามีค่าอื่นหรือไม่ (4624)

False positive: application รุ่นเก่า อุปกรณ์ที่ไม่ได้เป็นสมาชิก domain และการ logon ด้วย local account ล้วนสร้าง NTLM ที่ถูกต้องได้ เป้าหมายไม่ใช่ NTLM เป็นศูนย์ตั้งแต่วันแรก แต่คือมีรายการแหล่ง NTLM ที่รู้จักและสั้น เพื่อให้แหล่งใหม่โดดออกมาให้เห็นครับ

สัญญาณที่ 5: traffic แบบ east-west ที่ไม่มีเหตุผลทางธุรกิจ

host log บอกว่าใคร log on ส่วน network log บอกว่าเส้นทางไหนมีอยู่ และเส้นทางไหนมีคนลองใช้ เอกสารแนวทางร่วม Identifying and Mitigating Living Off the Land Techniques (CISA, NSA, FBI และพันธมิตร) บอกตรง ๆ ว่าควรดูที่ไหน (CISA LOTL guidance, PDF):

  • ความพยายามที่ถูก block ในเครือข่ายที่แบ่ง segment อย่างถูกต้อง traffic ที่ถูก deny เองก็เป็น indicator of compromise ได้ เช่นเดียวกับการสำรวจเครือข่ายที่เริ่มจากภายใน
  • SMB ข้าม segment หรือข้าม site เช่น user เข้าถึง file server ที่ไม่เกี่ยวกับหน้าที่ของตัวเอง
  • workstation คุยกับฐานข้อมูล back-end ทั้งที่ควรมีแค่ front-end server ที่คุยได้

โปรโตคอลสำหรับ admin มี default port ที่รู้จักกันดี จึงเฝ้าดูได้ง่าย Remote Desktop ฟังที่ TCP 3389 โดย default (Microsoft Learn), WinRM 2.0 ฟังที่ 5985 สำหรับ HTTP และ 5986 สำหรับ HTTPS (Microsoft Learn) และ SMB ใช้ TCP 445 (Microsoft Learn, Secure SMB traffic) ค่า default เปลี่ยนได้ จึงควรใช้หมายเลข port เป็นตัวกรองเริ่มต้น ไม่ใช่หลักฐาน

รูปแบบที่ให้ signal-to-noise ดีที่สุดคือ workstation คุยกับ workstation red team และ blue team ของ NSA และ CISA แนะนำให้จำกัดเรื่องนี้ไปเลย โดยระบุว่าการสื่อสารทั้งหมดของ workstation ควรผ่าน server เพื่อป้องกัน lateral movement (CISA AA23-278A) เมื่อ block traffic ของ admin แบบ peer-to-peer แล้ว ทุกความพยายามที่ถูก deny ระหว่างแล็ปท็อปสองเครื่องก็ควรค่าแก่การดูครับ

workstation ที่ถูกเจาะพยายามเอื้อมไปหาเครื่องข้าง ๆ และ app server แต่ host firewall และกำแพงโซนปฏิเสธทุกครั้ง แต่ละครั้งกลายเป็น log หนึ่งบรรทัด และครั้งที่ห้าทำให้เกิด alert ส่วน flow ที่วางแผนไว้ไปยัง file server ยังผ่านได้ตามปกติ

นี่คือแก่นของคู่มือทั้งฉบับในภาพเดียว เมื่อเส้นทางปกติแคบลง เส้นทางที่ผิดปกติก็จะดังขึ้นเองครับ

สัญญาณที่ 6: ร่องรอยของ session และช่องว่างในร่องรอยนั้น

มีสัญญาณเล็ก ๆ อีกสองข้อจาก advisory ปี 2567 ฉบับเดียวกันที่ควรเพิ่มเข้าไปในรายการเฝ้าระวัง lateral movement (CISA AA24-038A):

  • event ของ Remote Desktop session ตาราง key log indicator ของ advisory ระบุ ID 21 ถึง 25 จาก operational log ของ Terminal Services Local Session Manager ได้แก่ authentication เข้า session, การเริ่ม session ใหม่, logoff, disconnect และ reconnect สำหรับ session ใหม่และการ reconnect advisory ระบุว่าอาจบ่งชี้ถึง lateral movement หรือ remote access ที่ไม่ได้รับอนุญาต โดยเฉพาะเมื่อ user หรือ session นั้นไม่ได้คาดไว้ เมื่อจับคู่กับ logon แบบ type 10 ใน Security log event เหล่านี้จะบอกระยะเวลาและรูปร่างของแต่ละ session
  • Security log ถูกล้าง (1102) advisory ระบุว่า 1102 ทุกรายการควรถูกสอบสวน เพราะโดยทั่วไป log ไม่ถูกล้าง ผู้บุกรุกที่ลบร่องรอยเป็นเหตุผลหนึ่งที่ event นี้ปรากฏ การกระทำของ administrator ที่ไม่ได้วางแผนไว้เป็นอีกเหตุผลหนึ่ง และทั้งสองกรณีควรมี ticket

Control ที่จำกัดการลุกลาม

detection ซื้อเวลาให้ แต่ architecture เป็นตัวกำหนดว่าผู้บุกรุกจะไปได้ไกลแค่ไหนก่อนที่คุณจะใช้เวลานั้น mitigation ของ MITRE สำหรับ Remote Services (T1021) เป็นโครงที่ดี คือจำกัด account ที่ใช้ remote service ได้ จำกัดการเข้าถึงทรัพยากรผ่านเครือข่าย บังคับ MFA และไม่ใช้รหัสผ่าน local administrator ซ้ำ ต่อไปนี้คือหน้าตาของแต่ละข้อในทางปฏิบัติครับ

Segmentation และ host firewall

mitigation Network Segmentation ของ MITRE (M1030) อธิบายการแบ่งเครือข่ายเป็น segment ที่แยกจากกันเพื่อจำกัด lateral movement และสำหรับ Remote Desktop โดยเฉพาะ แนะนำ firewall rule ที่ block RDP ระหว่าง security zone เอกสาร LOTL บอกผลลัพธ์ไว้ชัดว่า เมื่อผู้โจมตีได้ credential ที่ถูกต้องไป segmentation ที่เหมาะสมจะจำกัด "blast radius" ของระบบที่เข้าถึงได้ (CISA LOTL guidance)

ภายใน segment เดียวกัน host firewall ทำงานแบบเดียวกันในสเกลที่เล็กลง คู่มือ hardening SMB ของ Microsoft ชี้ว่า file server และ domain controller ต้องรับ SMB ขาเข้าเพื่อทำหน้าที่ของมัน ตั้งคำถามว่า client endpoint ไหนจำเป็นต้องรับ SMB ขาเข้าจริง และอธิบาย outbound policy ของ Windows Defender Firewall ที่อนุญาต SMB ไปยังชุด server ที่น้อยที่สุดเท่านั้น ว่าเป็น "a lateral defense-in-depth measure" (Microsoft Learn, Secure SMB traffic) หน้าเดียวกันแนะนำให้ปิด service SMB Server ในเครื่องที่ไม่ต้องใช้ และ roll out การเปลี่ยนแปลงผ่าน Group Policy เป็นระยะ โดยเริ่มจากการทดสอบขนาดเล็กกับ server และ client ที่เลือกไว้

Windows LAPS: ไม่มีรหัสผ่าน local admin ที่ใช้ร่วมกัน

รหัสผ่าน local administrator ที่ใช้ร่วมกันทำให้แล็ปท็อปที่ถูกเจาะเครื่องเดียวกลายเป็นกุญแจของแล็ปท็อปทุกเครื่อง Microsoft พูดไว้ตรง ๆ ว่า local administrator account มักใช้รหัสผ่านเดียวกันในหลายอุปกรณ์ ซึ่งผู้โจมตีใช้ประโยชน์เพื่อเคลื่อนที่ไปด้านข้างได้ (Microsoft Learn, Windows LAPS overview) NSA และ CISA ให้คำแนะนำเดียวกันจากอีกฝั่ง คืออย่าใช้รหัสผ่าน local administrator account ซ้ำข้ามระบบ (AA23-278A)

Windows LAPS หมุนรหัสผ่าน local administrator ของแต่ละเครื่อง สำรองไว้ใน Microsoft Entra ID หรือ Active Directory และให้ administrator ที่ได้รับอนุญาตดึงออกมาใช้ได้ Microsoft ระบุว่าประโยชน์ข้อหนึ่งคือการป้องกัน pass-the-hash และ lateral-traversal attack (LAPS overview) ข้อเท็จจริงบางข้อที่ควรรู้ก่อนวางแผน:

  • มีมาในตัว Windows 11 23H2 ขึ้นไป, Windows Server 2025 และเวอร์ชันก่อนหน้าที่ยังได้รับการสนับสนุนและได้อัปเดตวันที่ 11 เมษายน 2566 แล้ว การสำรองรหัสผ่านไว้ใน Active Directory ไม่ต้องใช้ license อื่นเพิ่ม ส่วนการสำรองไว้ใน Microsoft Entra ID ต้องมี license Microsoft Entra ID Free ขึ้นไป (LAPS overview)
  • ผลิตภัณฑ์ Microsoft LAPS รุ่นเดิม (legacy) ถูก deprecate บน Windows 11 23H2 ขึ้นไป (LAPS overview)
  • หมุนรหัสผ่านอัตโนมัติได้หลังจาก account ที่ถูกจัดการถูกใช้ sign in โดยตั้ง grace period ได้ เพื่อจำกัดเวลาที่รหัสผ่านที่ถูกเปิดเผยยังใช้งานได้ (Microsoft Learn, Windows LAPS architecture)
  • เมื่อเก็บรหัสผ่านไว้ใน Active Directory, Microsoft แนะนำอย่างยิ่งให้เปิด password encryption โดยระบุว่าสิทธิ์อ่านหรือถอดรหัสรหัสผ่านเหล่านี้เป็นสิทธิ์ที่อ่อนไหว ควรเฝ้าดูอย่างระมัดระวัง และแนวทางที่ปลอดภัยที่สุดคือสงวนสิทธิ์นี้ไว้ให้สมาชิกของ Domain Admins (LAPS architecture)

ข้อสุดท้ายยังเป็นจุดเกาะสำหรับ detection ด้วย เมื่อสิทธิ์อ่านและถอดรหัสเป็นสิทธิ์ที่อ่อนไหว ใครถือสิทธิ์นี้ และใครใช้มัน ก็ควรอยู่ใน baseline ของคุณครับ

Tiered administration

แนวคิดของ tiering คือ credential ต้องไม่ไหลจากระบบที่เชื่อถือได้มากกว่าไปยังระบบที่เชื่อถือได้น้อยกว่า และระบบที่เชื่อถือได้น้อยกว่าต้องไม่ควบคุมระบบที่เชื่อถือได้มากกว่า enterprise access model ของ Microsoft ซึ่งต่อยอดจาก Active Directory tier model รุ่นเดิม วางกรอบไว้เป็นสาม plane (control, management และ data/workload) และบอกให้ "enforce hierarchy" เพื่อป้องกันไม่ให้ plane ที่ต่ำกว่าควบคุม plane ที่สูงกว่า (Microsoft Learn, Enterprise access model) ใน model นี้ Tier 0 ขยายเป็น control plane, Tier 1 เดิมแยกเป็น management plane กับ data/workload plane และ Tier 2 กลายเป็น user access กับ app access

control ไหลลงล่าง: การจัดการออกจาก admin workstation ของแต่ละ tier ไปถึง tier ที่อยู่ต่ำกว่า ส่วน workstation ใน Tier 2 ที่ถูกเจาะพยายามขึ้นไปข้างบนสองครั้ง และถูกหยุดที่เส้นแบ่งทั้งสองครั้ง

กฎสองข้อที่ทำให้ tiering เกิดขึ้นจริง:

  1. admin ทำงานจาก admin workstation ใน tier ของตัวเอง advisory ของ CISA ปี 2567 แนะนำให้อนุญาตงาน admin เฉพาะจาก workstation ที่ harden อย่างเหมาะสมกับ tier นั้น (AA24-038A) และเอกสาร LOTL แนะนำ Privileged Access Workstation (PAW) โดยเริ่มจาก administrator ของ Active Directory ก่อน (CISA LOTL guidance)
  2. account ของ tier บนสุดไม่ sign in ลงไปต่ำกว่า tier ของตัวเอง เอกสาร LOTL พูดไว้ตรงมากว่า user account ที่มีสิทธิ์ domain administrator ไม่ควร log in เข้าเครื่องใดเลยนอกจาก domain controller (CISA LOTL guidance)

กฎทั้งสองข้อให้ detection ที่สะอาด account ของ Tier 0 ที่โผล่ใน 4624 บน workstation หรือ 4625 ที่มี sub-status 0xC000015B เพราะข้อจำกัด logon right หยุดไว้ คือ event ประเภทที่ไม่ควรเกิดขึ้นโดยบังเอิญครับ

MFA สำหรับ administrator และข้อจำกัดของมัน

แนวทาง Conditional Access ของ Microsoft ระบุว่า account ที่มีสิทธิ์ admin เป็นเป้าของผู้โจมตี และแนะนำให้บังคับ phishing-resistant MFA กับ admin role อย่างน้อยตามรายการ เช่น Global Administrator, Privileged Role Administrator และ Security Administrator (Microsoft Learn, Require MFA for administrators) เอกสาร LOTL ขอให้ใช้ phishing-resistant MFA กับทุกระบบ โดยเฉพาะ privileged account พร้อมกับ privileged access แบบ just-in-time (CISA LOTL guidance)

MFA ปกป้อง sign-in ที่มันถูกใช้งาน แต่ไม่ได้ปกป้องทุกโปรโตคอลที่อยู่เบื้องหลังโดยอัตโนมัติ advisory เรื่อง misconfiguration ของ NSA และ CISA ยกตัวอย่างที่ชัดเจน คือเมื่อการบังคับใช้ smart card ถูกตั้งค่าผิดจน password hash ของ account ไม่เคยเปลี่ยน hash ที่ถูกขโมยไปจะใช้ทำ pass-the-hash ได้ตราบที่ account ยังอยู่ mitigation ของพวกเขาคือปิด NTLM และโปรโตคอลรุ่นเก่าอื่น ๆ ในที่ที่ทำได้ และสุ่ม hash เหล่านั้นใหม่เป็นประจำ (AA23-278A) MFA จึงควรอยู่ในรายการเคียงข้าง LAPS, tiering และการลด NTLM ไม่ใช่มาแทนที่สิ่งเหล่านั้นครับ

Detection engineering: baseline และการ tune

ทุกสัญญาณข้างต้นขึ้นอยู่กับการรู้ว่าปกติหน้าตาเป็นอย่างไร detection best practice ในเอกสาร LOTL วางเรื่องนี้ไว้เป็นแกนของงาน คือรวม log ไว้ในที่ส่วนกลางแบบ write-once, สร้างและดูแล baseline ของกิจกรรมเครือข่าย, user, งาน admin และ application อย่างต่อเนื่อง, เทียบกิจกรรมปัจจุบันกับ baseline, ลด alert noise ด้วยการ tune ตาม priority และใช้ user and entity behaviour analytics (UEBA) (CISA LOTL guidance) advisory เรื่อง misconfiguration ของ NSA และ CISA พูดเรื่องเดียวกันแบบสั้นกว่า คือสร้าง baseline ของ traffic ปกติ กิจกรรมบน host และพฤติกรรม user แล้วสอบสวนสิ่งที่เบี่ยงออกไป (AA23-278A)

สำหรับ privileged account เอกสาร LOTL ระบุชัดว่าควรบันทึกอะไร คือเครื่องมือที่ admin ใช้ตามปกติ คำสั่งที่รัน ช่วงเวลาที่ทำงาน และอุปกรณ์ที่เกี่ยวข้อง ไปจนถึง ลำดับ ของกิจกรรมตามปกติ (CISA LOTL guidance)

logon หนึ่งวันของ admin account หนึ่ง ทุกชั่วโมงอยู่ในกรอบปกติ จนกระทั่ง logon ตอน 22:00 จาก workstation ธรรมดาหลุดออกนอกกรอบนั้น

นิสัยการ tune บางข้อจากเอกสารเดียวกันช่วยให้ alert น่าเชื่อถือ:

  • หลีกเลี่ยง rule ที่กว้างเกินไป ทั้งในรายการ include และ exclude การ exclude แบบ "ไม่สนใจทุกอย่างจาก management subnet" คือที่ซ่อนตัวชั้นดี
  • ลดจำนวน admin tool และ logon type ที่อนุญาต ร่วมกับทีม IT เพื่อให้ baseline เล็กลง และสิ่งที่เบี่ยงออกไปชัดขึ้น
  • ตั้งชื่อ alert ให้มี maturity level และ phase ของ ATT&CK เพื่อให้คนทำ triage รู้ว่าควรเชื่อ rule นั้นแค่ไหน และมันอยู่ตรงไหนของการบุกรุก แล้วปรับ maturity เมื่อ rule เสถียรขึ้น

(CISA LOTL guidance)

วิธีเริ่มต้นทีละสัญญาณ:

สัญญาณ ถูกบันทึกที่ไหน การ tune ขั้นแรก
admin logon จากเครื่องที่ไม่ใช่เครื่อง admin (4624, type 3 และ 10) Security log ของเครื่อง ปลายทาง ทำรายการ workstation ต้นทางที่คาดไว้ของ admin account แต่ละตัว
explicit credential (4648) Security log ของเครื่องต้นทาง exclude scheduled task ที่รู้จักด้วยชื่อ process
ชนข้อจำกัด (4625: 0xC0000070, 0xC000015B) Security log ของเครื่องปลายทาง ยังไม่ต้อง tune ในช่วงแรก เพราะควรเกิดน้อยอยู่แล้ว
NTLM ที่ไม่คาดคิด (4624, Authentication Package) Security log ทุกเครื่อง ทำ inventory แหล่ง NTLM ที่รู้จัก
east-west traffic ที่ถูก deny firewall log และ host firewall log exclude scanner และ management server ด้วยชื่อ โดยมีเจ้าของรับผิดชอบ
log ถูกล้าง (1102) Security log ห้าม suppress ส่งให้คนดูเสมอ

Checklist สำหรับ defender

  • Security log จากทั้ง server และ workstation ไปถึงที่เก็บส่วนกลางที่ผู้บุกรุกแก้ไขไม่ได้
  • เก็บ logon event (4624, 4625, 4648, 4672) โดย parse Logon Type, source address และ Authentication Package แล้ว
  • admin account แต่ละตัวมีรายการเครื่องต้นทางที่บันทึกไว้ และ logon จากที่อื่นทำให้เกิด alert
  • traffic ของ admin แบบ workstation ถึง workstation (SMB, RDP, WinRM) ถูก block ด้วย host firewall และการ deny ถูก log ไว้
  • ระหว่างโซน มีแต่ flow ที่วางแผนไว้ที่ผ่านได้ และความพยายามที่ถูก deny ได้รับการตรวจดู ไม่ใช่ถูกทิ้ง
  • Windows LAPS ดูแลรหัสผ่าน local administrator ทุกเครื่อง เปิด encryption และ monitor การอ่านรหัสผ่าน
  • account ของ Tier 0 sign in เฉพาะระบบ Tier 0 จาก admin workstation ของ Tier 0
  • บังคับ phishing-resistant MFA สำหรับ admin role และการใช้ NTLM กำลังลดลงจนเหลือแค่รายการที่รู้จัก
  • มี baseline ของ privileged account (ช่วงเวลา เครื่องมือ อุปกรณ์) และ alert มี maturity level กับ phase ของ ATT&CK
  • event 1102 (log ถูกล้าง) ไปถึงคนเสมอ

ทั้งหมดนี้ไม่ต้องใช้เครื่องมือแปลกใหม่อะไร ส่วนใหญ่คือการทำให้เส้นทางที่มีอยู่แคบลง จดไว้ว่าปกติหน้าตาเป็นอย่างไร และทำให้แน่ใจว่า event หายากที่หลุดจากรูปแบบนั้นจะไปถึงมือคนที่จะเปิดดูมันจริง ๆ ครับ

แหล่งอ้างอิง

อ่านต่อ