Playbook: การตอบสนอง Email Account Takeover
ID: PB-42
ความรุนแรง: สูง | ประเภท: Collection / Impact
MITRE ATT&CK: T1114 (Email Collection), T1114.003 (Email Forwarding Rule)
Trigger: User รายงาน (อีเมลที่ไม่ได้ส่ง), SIEM (inbox rule ใหม่), M365/Google alert (impossible travel login ไปยัง mail), DLP (ข้อมูลสำคัญถูก forward)
⚠️ วิกฤต: Email account takeover เปิดทาง BEC fraud, ขโมยข้อมูลผ่าน forwarding rules, และโจมตี supply chain ผ่าน contacts
Email Takeover Attack Flow
graph LR
A["1️⃣ ขโมย Credential\nPhishing/spray"] --> B["2️⃣ Login Mailbox\nOWA/IMAP/API"]
B --> C["3️⃣ สร้าง Inbox Rules\nForward ไปยังภายนอก"]
C --> D["4️⃣ สำรวจ\nอ่าน emails/contacts"]
D --> E["5️⃣ BEC Attack\nปลอมเป็น user"]
E --> F["6️⃣ ฉ้อโกงเงิน\nWire transfer"]
style A fill:#ffcc00,color:#000
style C fill:#ff6600,color:#fff
style E fill:#ff4444,color:#fff
style F fill:#660000,color:#fff
กิจกรรมของผู้โจมตีใน Mailbox
graph TD
Access["📧 Mailbox Access"] --> Rules["สร้าง forwarding rules\nmailbox → ภายนอก"]
Access --> Read["อ่านอีเมลสำคัญ\nการเงิน, สัญญา"]
Access --> Delete["ลบ security alerts\nซ่อนตัว"]
Access --> Send["ส่งอีเมล phishing\nจากบัญชีที่เชื่อถือ"]
Access --> Contacts["เก็บ contact list\nสำหรับการโจมตีต่อไป"]
Access --> OAuth["สร้าง OAuth app\npersistent access"]
style Access fill:#ff6600,color:#fff
style Rules fill:#cc0000,color:#fff
style OAuth fill:#cc0000,color:#fff
Decision Flow
graph TD
Alert["🚨 ตรวจพบ Email Anomaly"] --> Type{"ประเภท alert?"}
Type -->|"Inbox rule ใหม่"| Rule["ตรวจ rule: forward ภายนอก?\nAuto-delete?"]
Type -->|"Login ผิดปกติ"| Login["GeoIP + ตรวจอุปกรณ์\nMobile/OWA/IMAP?"]
Type -->|"User รายงาน"| Report["User บอก 'อีเมลที่ไม่ได้ส่ง'\nหรือ 'อีเมลหายไป'"]
Type -->|"OAuth app"| OAuth["App ใหม่มีสิทธิ์ mail?\nPublisher ไม่รู้จัก?"]
Rule --> Malicious{"Rule ส่งไปยัง domain ภายนอก?"}
Malicious -->|ใช่| Contain["🔴 CONTAIN\nลบ rule + reset password"]
Malicious -->|"ไม่ — ภายใน"| Review["ตรวจวัตถุประสงค์ rule"]
Login --> Known{"อุปกรณ์/ตำแหน่งที่รู้จัก?"}
Known -->|ไม่| Contain
Known -->|ใช่| Monitor["ตรวจติดตาม"]
Report --> Contain
OAuth --> Contain
style Alert fill:#ff6600,color:#fff
style Contain fill:#cc0000,color:#fff
ขั้นตอนการสืบสวน
sequenceDiagram
participant Alert as Alert Source
participant SOC as SOC Analyst
participant M365 as M365/Google Admin
participant User
participant IR as IR Team
Alert->>SOC: 🚨 กิจกรรม email ผิดปกติ
SOC->>M365: ดึง audit logs (sign-in + mailbox)
M365->>SOC: ส่ง login IPs, inbox rules, sent items
SOC->>SOC: ระบุ inbox rules ที่ไม่ได้รับอนุญาต
SOC->>M365: ลบ rules อันตรายทันที
SOC->>User: แจ้ง — บัญชีถูกโจมตี
SOC->>M365: บังคับ reset password + revoke sessions
SOC->>IR: Escalate — ตรวจ BEC fraud
IR->>M365: ตรวจ sent/deleted items สำหรับความเสียหาย
IR->>SOC: ตรวจ contacts สำหรับ phishing ต่อเนื่อง
ประเภท Email Rules ที่ต้องจับตา
graph TD
subgraph "🔴 ความเสี่ยงสูง"
R1["Auto-forward ไปอีเมลภายนอก"]
R2["Auto-delete อีเมลบางประเภท"]
R3["ย้าย security alerts ไป Deleted"]
R4["Forward invoices/payments"]
end
subgraph "🟡 ความเสี่ยงปานกลาง"
R5["Forward ไปอีเมลส่วนตัว"]
R6["Auto-reply OOO"]
R7["ย้ายอีเมลไป hidden folder"]
end
subgraph "🟢 ปกติ"
R8["จัดตาม sender เข้า folders"]
R9["Flag อีเมลที่มี keywords"]
R10["Auto-categorize"]
end
style R1 fill:#cc0000,color:#fff
style R2 fill:#cc0000,color:#fff
style R4 fill:#cc0000,color:#fff
การประเมินผลกระทบ
graph TD
Impact["ประเมินผลกระทบ"] --> DataRead{"อ่านอีเมลสำคัญ?"}
DataRead -->|ไม่| Low["🟢 ต่ำ\nCredential compromise เท่านั้น"]
DataRead -->|ใช่| Forward{"ข้อมูลถูก forward ออก?"}
Forward -->|ไม่| Med["🟡 ปานกลาง\nความเสี่ยงข้อมูลถูกเปิดเผย"]
Forward -->|ใช่| BEC{"พยายาม BEC fraud?"}
BEC -->|ไม่| High["🟠 สูง\nData breach"]
BEC -->|ใช่| Money{"โอนเงินแล้ว?"}
Money -->|ไม่| VHigh["🔴 วิกฤต\nBEC attempt ถูก block"]
Money -->|ใช่| Cat["💀 สูญเสียเงิน\nติดต่อธนาคารทันที"]
style Impact fill:#333,color:#fff
style Cat fill:#660000,color:#fff
Timeline การตอบสนอง
gantt
title Email Account Takeover Response
dateFormat HH:mm
axisFormat %H:%M
section Detection
ได้รับ alert :a1, 00:00, 5min
ยืนยันไม่ได้รับอนุญาต :a2, after a1, 10min
section Containment
ลบ inbox rules :a3, after a2, 5min
Reset password & MFA :a4, after a3, 10min
Revoke OAuth apps :a5, after a4, 10min
section Investigation
Audit mailbox activity :a6, after a5, 60min
ตรวจ sent/deleted :a7, after a6, 30min
ประเมิน BEC risk :a8, after a7, 60min
section Recovery
แจ้งผู้ที่ได้รับผลกระทบ :a9, after a8, 30min
1. การดำเนินการทันที (15 นาทีแรก)
| # |
การดำเนินการ |
ผู้รับผิดชอบ |
| 1 |
ลบ inbox rules ที่น่าสงสัยทั้งหมด (forwarding, auto-delete) |
M365/Google Admin |
| 2 |
Reset password ทันที |
IAM Team |
| 3 |
Revoke active sessions และ tokens ทั้งหมด |
M365/Google Admin |
| 4 |
Revoke OAuth/app permissions ที่ไม่รู้จัก |
M365/Google Admin |
| 5 |
Enroll MFA ใหม่ด้วยอุปกรณ์/วิธีใหม่ |
IAM Team |
| 6 |
ตรวจ Sent และ Deleted Items สำหรับกิจกรรมของผู้โจมตี |
SOC T2 |
2. รายการตรวจสอบ
Mailbox Audit
การประเมิน BEC
3. การควบคุม (Containment)
| ขอบเขต |
การดำเนินการ |
| Inbox rules |
ลบ forwarding/delete rules ทั้งหมด |
| Password |
บังคับ reset + MFA re-enrollment |
| Sessions |
Revoke active sessions/tokens ทั้งหมด |
| OAuth |
ลบ app permissions ที่ไม่รู้จัก |
| Delegates |
ลบ delegate access ที่ไม่ได้รับอนุญาต |
การยืนยันการกู้คืน
4. หลังเหตุการณ์ (Post-Incident)
| คำถาม |
คำตอบ |
| Email credentials ถูกโจมตีอย่างไร? |
[Phishing/spray/leak] |
| Inbox rule alerts กำหนดค่าอยู่หรือไม่? |
[ใช่/ไม่] |
| Conditional access policy บังคับใช้อยู่หรือไม่? |
[สถานะ] |
| มี financial controls (dual approval) หรือไม่? |
[สถานะ] |
6. Detection Rules (Sigma)
title: Suspicious Email Forwarding Rule Created
logsource:
product: m365
service: exchange
detection:
selection:
Operation: 'New-InboxRule'
Parameters|contains:
- 'ForwardTo'
- 'RedirectTo'
- 'ForwardAsAttachmentTo'
condition: selection
level: high
เอกสารที่เกี่ยวข้อง
References