Proofpoint เปิดเผยแคมเปญของกลุ่ม UNK_CondorFiltration ที่ใช้เครื่องมือ TeamFiltration โจมตี Microsoft 365 ผ่าน Password Spraying มุ่งเป้า Functional Account และ Service Account ที่ถูกลืมและไม่มี MFA รวมถึง 5,714 บัญชีใน 28 Tenant โดยสามารถเจาะสำเร็จ 7 บัญชี และ 6 ใน 7 บัญชีถูกเข้าถึงภายใน 7 นาที สะท้อนให้เห็นความเปราะบางที่ซ่อนอยู่ในบัญชีที่ไม่มีผู้ดูแลและไม่ถูก Monitor อย่างใกล้ชิด
รายละเอียดการโจมตี
ภาพรวมแคมเปญและเครื่องมือ TeamFiltration
UNK_CondorFiltration ใช้ TeamFiltration ซึ่งเป็น Penetration Testing Framework ที่ถูกนำมาใช้ในทางมิชอบ เครื่องมือนี้ออกแบบมาเพื่อโจมตี Microsoft 365 โดยเฉพาะ ทั้งในส่วนของ Password Spraying และการใช้ Teams API สำหรับ Account Enumeration หลังเข้าถึงได้สำเร็จ แคมเปญนี้ดำเนินการระหว่างวันที่ 13-16 สิงหาคม 2569 โดยมีจุดสูงสุดที่วันที่ 15 สิงหาคม ซึ่งมีความพยายามเข้าสู่ระบบสูงถึง 1,560 ครั้งในวันเดียว
เป้าหมายและกลยุทธ์ Password Spraying
แคมเปญนี้เลือกโจมตีเฉพาะ Functional Account และ Service Account เช่น บัญชีที่ใช้สำหรับ Payment Processing, Ticketing, Point-of-Sale และระบบอัตโนมัติ บัญชีเหล่านี้มักมีลักษณะร่วมกัน คือ ไม่มีผู้รับผิดชอบโดยตรง, ไม่ได้รับการ Monitor การ Sign-In อย่างใกล้ชิด, และมีความเป็นไปได้สูงที่ยังใช้ Default Password หรือ Password ที่คาดเดาได้ เป้าหมายหลักคือองค์กรในชิลี รวมถึงธุรกิจค้าปลีกและสถาบันการเงินขนาดใหญ่ โดยองค์กรเดียวคิดเป็น 78.3% ของความพยายามทั้งหมด (25,715 จาก 32,825 Events)
สถิติการโจมตีและความเร็ว
ตัวเลขที่โดดเด่นจากรายงาน Proofpoint ได้แก่ บัญชีเป้าหมาย 5,714 บัญชีใน 28 Microsoft 365 Tenant, ยืนยันการ Compromise สำเร็จ 7 บัญชี, และ 6 ใน 7 บัญชีถูกเข้าถึงสำเร็จภายในช่วงเวลาเพียง 7 นาที ซึ่งบ่งชี้ว่าบัญชีเหล่านี้ใช้ Default Password หรือ Password ที่เหมือนกัน บัญชีที่ถูก Compromise ทั้งหมดไม่มีประวัติ Legitimate Sign-In มาก่อน และไม่มี MFA ป้องกัน
กิจกรรมหลังการเจาะสำเร็จ
ภายใน 90 วินาทีหลัง Compromise สำเร็จ ผู้โจมตีสลับจาก AWS Infrastructure มาใช้ German VPN Node (IP: 149.88.104.19) เพื่อปกปิดเส้นทาง และเริ่มเข้าถึง Email, Teams Messages, OneDrive, SharePoint และ Azure Portal ของบัญชีที่ยึดมาได้ พร้อมกับสำรวจการสร้าง Mailbox Rule และการใช้ Graph API เพื่อรักษา Persistent Access ในระยะยาว
Indicator of Compromise ที่ยืนยันแล้ว
Proofpoint เผยแพร่ IOC สำคัญ ได้แก่ User Agent ของ TeamFiltration ที่มีรูปแบบ Mozilla/5.0...Teams/1.3.00.30866...Electron/8.5.1, IP Range ของ AWS ที่ใช้ในการโจมตี (3.101.0.0/16, 18.144.76.0/24, 13.52.201.0/24), IP ที่ใช้หลัง Compromise (149.88.104.19 จาก German VPN) และ Application ID ของ Teams (1fec8e78-bce4-4aaf-ab1b-5451cc387264) และ OneDrive ที่ถูกเข้าถึง
ผลกระทบที่อาจเกิดขึ้น
- Service Account คือ Blind Spot ของ Identity Security — บัญชีที่ใช้สำหรับระบบอัตโนมัติมักอยู่นอกเหนือนโยบาย MFA และการ Monitor เพราะถูกมองว่าไม่มีคนใช้งาน แต่สิทธิ์ที่บัญชีเหล่านี้มีมักสูงเพียงพอสำหรับผู้โจมตีที่ต้องการเข้าถึงข้อมูลสำคัญ
- การ Spray ที่กระจายตัวหลีกเลี่ยง Account Lockout — Password Spraying ที่ทดสอบ Password เดียวกับบัญชีหลายพันบัญชีแทนการพยายาม Login บัญชีเดียวซ้ำ ๆ จงใจออกแบบมาเพื่อไม่ให้ Account Lockout Policy ทำงาน ทำให้ Defense ที่พึ่งพา Lockout เป็นหลักไม่เพียงพอ
- ข้อมูลใน Teams, Email และ SharePoint ถูกขโมยได้หมด — Microsoft 365 เป็นแหล่งรวมข้อมูลที่สำคัญที่สุดขององค์กร เมื่อบัญชีถูก Compromise ผู้โจมตีสามารถอ่านการสื่อสารภายใน, แผนธุรกิจ, ข้อมูลลูกค้า และข้อมูลการเงินที่อยู่ใน Email, Teams และ SharePoint ได้โดยไม่จำเป็นต้องใช้ Malware
- การ Switch VPN ใน 90 วินาทีทำให้ Attribution ยาก — ความเร็วในการ Switch จาก AWS Infrastructure มา VPN Node ทันทีหลัง Compromise บ่งชี้ถึงกระบวนการที่ Automate ไว้แล้ว ทำให้การระบุแหล่งที่มาและการ Block IP ทำได้ยากในเวลาจริง
สิ่งที่องค์กรควรทำ
- ทำ Service Account Inventory และตรวจสอบ Sign-In History — สร้างรายการ Functional Account และ Service Account ทั้งหมดใน Microsoft 365 Tenant ตรวจสอบว่าบัญชีใดไม่มีประวัติ Legitimate Sign-In มาก่อน และบัญชีใดที่ไม่ได้ใช้งานแล้วควรถูกปิดหรือลบ
- Enforce MFA และ Rotate Password สำหรับทุก Account — กำหนด MFA สำหรับทุกบัญชีโดยไม่มีข้อยกเว้น รวมถึง Service Account และ Functional Account และดำเนินการ Force Reset Password สำหรับบัญชีที่ใช้ Default Password หรือ Password ที่ไม่เคย Rotate มา
- Block IOC ของ TeamFiltration — เพิ่ม IP Range ของ AWS ที่เกี่ยวข้อง (3.101.0.0/16, 18.144.76.0/24, 13.52.201.0/24) เข้าใน Conditional Access Named Locations และ Block User Agent ที่มีรูปแบบ Teams/1.3.00.30866 และ Electron/8.5.1 ใน Sign-In Policy
- ตั้งค่า Alert สำหรับ Mass Authentication Failure — สร้าง Alert ใน Microsoft Sentinel หรือ SIEM สำหรับความพยายาม Authentication ที่ล้มเหลวจำนวนมากในช่วงเวลาสั้น โดยเฉพาะเมื่อมาจาก IP Range ของ Cloud Provider และมุ่งเป้าบัญชี Service Account หลายรายการพร้อมกัน
แนวทางลดความเสี่ยงระยะยาว
- Workload Identity สำหรับงานอัตโนมัติ — แทนที่ Functional Account ที่ใช้ Username และ Password ด้วย Managed Identity, Service Principal ที่ใช้ Certificate หรือ Workload Identity Federation ซึ่งไม่มี Static Password ให้ขโมย และออก Token ที่มีอายุจำกัดโดยอัตโนมัติ ทำให้ Password Spraying ไม่สามารถโจมตีได้เลย
- Conditional Access Policy ที่ครอบคลุม — กำหนด Conditional Access ที่บล็อก Sign-In จาก IP ที่ไม่อยู่ใน Trusted Location, กำหนด Compliant Device เป็นเงื่อนไข และกำหนดให้ High-Risk Sign-In ต้องผ่าน Step-Up Authentication โดยให้นโยบายนี้ครอบคลุม Service Account ด้วย ไม่ใช่เฉพาะ User Account
- Identity Governance และ Access Review — ดำเนินการ Periodic Access Review สำหรับ Service Account และ Functional Account ทุก 3-6 เดือน เพื่อให้แน่ใจว่าบัญชีที่ไม่ได้ใช้งานถูกปิดทันที และบัญชีที่ยังใช้งานอยู่มีเจ้าของที่รับผิดชอบและ Security Policy ที่ถูกต้อง
- Microsoft 365 Threat Protection และ UEBA — เปิดใช้ Microsoft Defender for Cloud Apps ร่วมกับ Entra ID Protection เพื่อตรวจจับ Risky Sign-In, Impossible Travel, Mass Download และพฤติกรรม Post-Compromise ที่ผิดปกติ รวมถึงใช้ UEBA เพื่อสร้าง Baseline ของพฤติกรรมปกติสำหรับ Service Account แต่ละบัญชี
วิเคราะห์ในมุมมองจาก TXEC
สิ่งที่น่าตระหนกที่สุดในแคมเปญนี้ไม่ใช่ความซับซ้อนของเครื่องมือ แต่คือความเรียบง่ายของจุดอ่อนที่ถูกใช้ประโยชน์ บัญชีที่ไม่มี MFA ใช้ Default Password และไม่มีผู้ Monitor คือ "ประตูที่ไม่ล็อก" ที่มีอยู่ในแทบทุกองค์กร ตัวเลขที่ 6 บัญชีถูกเจาะภายใน 7 นาทีบ่งชี้ชัดว่านี่ไม่ใช่ความบังเอิญ แต่เป็นผลลัพธ์ที่คาดการณ์ได้เมื่อบัญชีใช้ Default Password ร่วมกัน
สำหรับองค์กรไทยที่ใช้ Microsoft 365 ซึ่งครอบคลุมทั้งภาครัฐ ภาคเอกชน และสถาบันการเงิน ขอแนะนำให้ตรวจสอบ Service Account และ Functional Account ทันที เพราะบัญชีเหล่านี้มักถูกสร้างโดย IT Team ในยุคก่อน แล้วถูกลืมเมื่อเวลาผ่านไป แต่ยังคงมีสิทธิ์เข้าถึงข้อมูลสำคัญ การค้นพบและปิดบัญชีเหล่านี้เป็นงาน Identity Hygiene พื้นฐานที่ลงทุนน้อยแต่ลดความเสี่ยงได้มาก รู้ก่อน ตรวจพบเร็ว ลดความเสียหายได้มากกว่า
[ แหล่งอ้างอิง: CyberSecurity News , Proofpoint Threat Research ]