คำตอบสั้น ๆ: ขั้นตอนรับมือ Compromised Account บน Microsoft 365 ตัด session รีเซ็ตรหัสผ่าน ล้าง MFA และ Inbox rule ที่คนร้ายฝังไว้ สืบจาก log แล้วคืนการส่งอีเมล
คู่มือนี้อธิบาย Compromised Account ทีละขั้นตอน พร้อมคำสั่งที่ใช้ได้จริงและปัญหาที่พบบ่อย
Compromised Account คือบัญชี Microsoft 365 ที่คนร้ายได้รหัสผ่านหรือ session ไปแล้ว ส่วนใหญ่มาจากหน้าเว็บปลอมที่หลอกให้กรอกรหัสผ่านหรือกดอนุมัติ MFA เมื่อเข้าได้ คนร้ายมักอ่านอีเมลเพื่อหาจังหวะเรื่องเงิน ตั้ง Inbox rule ซ่อนอีเมลตอบกลับ ส่งต่ออีเมลออกไปข้างนอก แล้วใช้บัญชีนั้นส่งอีเมลหลอกลูกค้าหรือคู่ค้าต่อ การรับมือ Compromised Account จึงต้องทำตามลำดับ ตัดการเข้าถึงก่อน ล้างช่องทางที่คนร้ายฝังไว้ แล้วค่อยสืบว่าเกิดอะไรขึ้น
คู่มือนี้เขียนให้ผู้ดูแลระบบที่เพิ่งได้รับแจ้งว่า "ลูกค้าได้อีเมลแปลก ๆ จากบัญชีของพนักงานเรา" หรือ "ส่งอีเมลไม่ออกแล้ว" เมื่อทำครบ คุณจะปิดทางเข้าของคนร้าย ลบกฎและการส่งต่อที่ซ่อนอยู่ ตรวจวิธี MFA และแอปที่ได้รับสิทธิ์ เก็บข้อมูลไว้เป็นหลักฐาน คืนการใช้งานให้พนักงาน และแจ้งผู้ที่ได้รับผลกระทบ
สัญญาณว่าเป็น Compromised Account
- ผู้ใช้ส่งอีเมลไม่ได้ และได้อีเมลตีกลับรหัส
550 5.1.8 Access denied, bad outbound sender - มีอีเมลแปลกในโฟลเดอร์ Sent Items หรือ Deleted Items ที่ผู้ใช้ไม่ได้ส่ง
- มี Inbox rule ที่ส่งต่ออีเมลไปที่อยู่ภายนอก หรือย้ายอีเมลไปโฟลเดอร์ RSS Subscriptions, Notes หรือ Junk Email
- อีเมลจากลูกค้าบางรายหายไปโดยไม่มีเหตุผล
- มีการตั้งส่งต่ออีเมลภายนอกขึ้นมาใหม่ หรือลายเซ็นถูกเปลี่ยน
- ผู้ใช้ได้คำขออนุมัติ MFA ทั้งที่ไม่ได้ลงชื่อเข้าใช้ หรือบัญชีถูกล็อกบ่อยผิดปกติ
สิ่งที่ต้องเตรียม
- บัญชีผู้ดูแลที่มีบทบาท User Administrator (หรือ Privileged Authentication Administrator ถ้า Compromised Account เป็นบัญชีผู้ดูแล), Exchange Administrator และ Security Administrator
- เครื่องที่ติดตั้งโมดูล Microsoft Graph PowerShell และ ExchangeOnlineManagement ไว้แล้ว ไม่ต้องมาติดตั้งตอนเกิดเหตุ
- ช่องทางติดต่อผู้ใช้ที่ไม่ใช่อีเมล เช่น โทรศัพท์ เพราะคนร้ายอาจยังอ่านกล่องจดหมายนั้นได้ ห้ามส่งรหัสผ่านใหม่ทางอีเมล
- ไฟล์บันทึกเหตุการณ์ จดเวลาและสิ่งที่ทำทุกขั้น ใช้ทั้งในการสืบสวนและการรายงาน
- ถ้า Compromised Account ซิงก์มาจาก Active Directory ในองค์กร ต้องรีเซ็ตรหัสผ่านที่ฝั่ง AD ไม่ใช่บน Microsoft 365
ขั้นตอนที่ 1: ตัดการเข้าถึง Compromised Account ทันที
Microsoft แนะนำให้ปิด Compromised Account ระหว่างสืบสวน ถ้าทำไม่ได้เพราะงานต้องเดินต่อ อย่างน้อยต้องรีเซ็ตรหัสผ่านและยกเลิก session ทั้งหมด
- ใน Microsoft 365 admin center ไปที่ Users > Active users เลือก Compromised Account คลิก Block sign-in แล้วติ๊ก Block this user from signing in
- คลิก Reset password ตั้งรหัสผ่านใหม่ที่ยาวและไม่ซ้ำรหัสเดิม ส่งให้ผู้ใช้ทางโทรศัพท์ ถ้าบัญชีซิงก์จาก AD ให้รีเซ็ตใน AD สองรอบ
- ใน Microsoft Entra admin center ไปที่ Entra ID > Users เลือกผู้ใช้ แล้วคลิก Revoke sessions เพื่อทำให้ refresh token ทุกตัวใช้ไม่ได้
ถ้าต้องทำเร็วหลายบัญชี ใช้ Microsoft Graph PowerShell
Connect-MgGraph -Scopes "User.ReadWrite.All","User.RevokeSessions.All"
Update-MgUser -UserId [email protected] -AccountEnabled:$false
Revoke-MgUserSignInSession -UserId [email protected]
แม้ยกเลิก session แล้ว access token ที่ออกไปก่อนหน้าอาจยังใช้ได้จนหมดอายุในแอปที่ไม่รองรับ Continuous Access Evaluation ซึ่งโดยทั่วไปไม่เกินราวหนึ่งชั่วโมงครึ่ง การปิดบัญชีไว้ระหว่างนั้นจึงปลอดภัยกว่า App password ที่ผู้ใช้เคยสร้างก็ไม่ถูกยกเลิกอัตโนมัติเมื่อรีเซ็ตรหัสผ่าน ต้องลบทิ้งด้วย
ขั้นตอนที่ 2: ล้างวิธี MFA ที่คนร้ายเพิ่มไว้
คนร้ายที่เข้า Compromised Account ได้มักลงทะเบียนแอป Authenticator หรือเบอร์โทรของตัวเองเพิ่ม เพื่อกลับเข้ามาได้แม้เปลี่ยนรหัสผ่าน ใน Entra admin center ไปที่ Entra ID > Users เลือกผู้ใช้ > Authentication methods ลบทุกวิธีที่ผู้ใช้ยืนยันไม่ได้ว่าเป็นของตัวเอง ถ้าไม่แน่ใจให้ลบทั้งหมด แล้วใช้ Require re-register multifactor authentication ให้ผู้ใช้ลงทะเบียนใหม่ต่อหน้าไอที ถ้าองค์กรยังไม่ได้บังคับ MFA ทุกคน ให้ทำตาม เปิดใช้งาน MFA บน Microsoft 365 หลังปิดเหตุการณ์นี้ทันที
ขั้นตอนที่ 3: ตรวจ Inbox rule การส่งต่อ และสิทธิ์ในกล่องของ Compromised Account
ขั้นนี้คือสิ่งที่ผู้ดูแลมักข้ามไป และเป็นสาเหตุที่ Compromised Account กลับมาเป็นปัญหาซ้ำ เชื่อมต่อ Exchange Online PowerShell แล้วรัน
Connect-ExchangeOnline -UserPrincipalName [email protected]
Get-InboxRule -Mailbox [email protected] -IncludeHidden |
Format-List Name,Enabled,RedirectTo,ForwardTo,ForwardAsAttachmentTo,DeleteMessage,Identity
Get-Mailbox -Identity [email protected] | Format-List Forwarding*Address,DeliverTo*
Get-MailboxPermission -Identity [email protected] | Where-Object { $_.User -notlike "NT AUTHORITY*" }
Get-RecipientPermission -Identity [email protected] | Where-Object { $_.Trustee -notlike "NT AUTHORITY*" }
กฎที่น่าสงสัยมักมีชื่อสั้นมาก เช่น จุดเดียว หรือมีเงื่อนไขคำว่า invoice, payment, โอน แล้วลบหรือย้ายอีเมลออกจาก Inbox บันทึกผลทั้งหมดเป็นหลักฐานก่อน แล้วจึงลบ
Remove-InboxRule -Identity "somchai\1234567890123456789" -Confirm:$false
Set-Mailbox -Identity [email protected] -ForwardingSmtpAddress $null -DeliverToMailboxAndForward $false
Remove-MailboxPermission -Identity [email protected] -User [email protected] -AccessRights FullAccess
ตรวจใน Outlook on the web ของ Compromised Account ด้วยว่าไม่มีลายเซ็นหรือการตอบกลับอัตโนมัติที่ถูกแก้ การส่งต่ออีเมลยังตรวจและยกเลิกได้จาก Microsoft 365 admin center ที่แท็บ Mail ของผู้ใช้ ในส่วน Email forwarding