slumzick

รายงานช่องโหว่ความปลอดภัย - หน่วยงานรัฐ

ระบบ "หน่วยงานรัฐ" ถูกเข้าถึงข้อมูลประชาชนในระบบ และถูกนำไปขายในตลาดมืด

รูปแบบความเสี่ยง: OWASP Top 10 A07:2025 Authentication Failures
คำอธิบาย: ระบบยืนยันตัวความน่าเชื่อถือต่ำ ไม่ได้สัดส่วนกับความสำคัญของระบบ
วันที่รายงาน: 20 มีนาคม 2569
วันที่หน่วยงานแก้ไข: 21 มีนาคม 2569
สถานะ: ✅ แก้ไขแล้ว

พบช่องโหว่ในระบบภายในของหน่วยงานรัฐแห่งหนึ่ง (ต่อไปนี้จะเรียกว่า "หน่วยงานรัฐ") จำนวน 2 ระบบ ซึ่งทำให้ผู้ไม่หวังดีสามารถ สืบค้นข้อมูลส่วนบุคคลของประชาชนไทยได้แบบไม่จำกัดจำนวน เพียงแค่ทราบชื่อ-นามสกุล โดยข้อมูลที่ได้ครอบคลุมตั้งแต่เลขบัตรประชาชน ที่อยู่ วันเกิด สิทธิรักษาพยาบาล ไปจนถึง เลขบัตรประชาชนของบิดา-มารดา

ผู้เขียนได้แจ้งเตือนหน่วยงานที่เกี่ยวข้องตามหลัก Responsible Disclosure แล้ว และเผยแพร่รายงานนี้หลังจากหน่วยงานดำเนินการแก้ไขเรียบร้อยแล้ว


ความเป็นมา

ผู้เขียนได้รับ source code ของเครื่องมือหนึ่งจากตลาดมืด ซึ่งถูกออกแบบมาเป็น Discord Bot สำหรับให้บริการสืบค้นข้อมูลส่วนบุคคลของประชาชนไทย โดยเครื่องมือนี้ทำงานโดยเชื่อมต่อกับระบบภายในของ "หน่วยงานรัฐ" แบบอัตโนมัติ

จากการวิเคราะห์ source code พบว่าเครื่องมือดังกล่าว:

  • ใช้ credentials (username/password) จริง ที่ฝังอยู่ใน source code เพื่อ copyright เข้าระบบ "หน่วยงานรัฐ"
  • canadian_re credentials เหล่านี้ ใช้งานได้จริง ณ วันที่จัดทำรายงาน
  • สามารถสืบค้นข้อมูลได้เพียงแค่ พิมพ์ชื่อ-นามสกุล ของเป้าหมาย
  • ถูกห่อหุ้มเป็น Discord Bot เพื่อ ขายบริการในวงจำกัด โดยจำกัดการเข้าถึงด้วย Discord Role (เฉพาะผู้จ่ายเงิน)

ผู้เขียน ไม่ได้ ใช้เครื่องมือนี้สืบค้นข้อมูลของบุคคลใด แต่ได้วิเคราะห์ source code อย่างละเอียดและจัดทำรายงานแจ้งหน่วยงานที่เกี่ยวข้อง


ช่องโหว่ที่พบ

ระบบที่ได้รับผลกระทบ

เครื่องมือเข้าถึงระบบ "หน่วยงานรัฐ" 2 ระบบ แบบ chain attack:

[ แผนภาพแสดงการโจมตีแบบ Chain Attack ]

ชื่อ-นามสกุล ➡️ ระบบที่ 1 (หาเลขบัตร) ➡️ ระบบที่ 2 (ดึงข้อมูลส่วนบุคคล) ➡️ ข้อมูลครบชุด

ระบบ หน้าที่ ช่องทางเข้าถึง
ระบบที่ 1 System A แปลง ชื่อ-นามสกุล ➡️ เลขบัตรประชาชน Web Application (ใช้ browser automation)
ระบบที่ 2 System B แปลง เลขบัตรประชาชน ➡️ ข้อมูลส่วนบุคคลทั้งหมด REST API โดยตรง ไม่ต้องเปิด browser

จุดอ่อนหลักที่พบ

# ช่องโหว่ รายละเอียด
1 Credentials รั่วไหล พบ username/password ฝังใน source code 2 ชุด สำหรับเข้าระบบ 2 ระบบ ยืนยันว่าใช้งานได้จริง
2 รหัสผ่านอ่อนแอ ระบบที่ 2 ใช้รหัสผ่านเพียง 4 หลัก ไม่มีนโยบายความเข้มงวด
3 Over-privileged API API ของระบบที่ 2 ส่งคืนข้อมูล 50+ fields ทั้งที่ function ที่เรียกใช้ต้องการข้อมูลเพียงบางส่วน
4 ไม่มี Rate Limiting API เรียกได้ไม่จำกัดจำนวนครั้ง ทำให้สามารถดึงข้อมูลจำนวนมาก (bulk extraction)
5 Token ไม่หมดอายุ เมื่อ copyright ได้ token มาแล้ว ใช้ได้ต่อเนื่องโดยไม่ต้อง copyright ใหม่
6 ไม่มี MFA ไม่มีการยืนยันตัวตนแบบสองชั้น
7 บัญชีต้องสงสัย ชื่อผู้ใช้ไม่ตรงกับรูปแบบขององค์กร สงสัยว่าผู้โจมตีอาจสร้างบัญชีเองได้

ผลการทดสอบจริง

ผู้รายงานได้ทดสอบเรียก API `GetPersonData` โดย เลือกทดสอบกับบุคคลสาธารณะ เพื่อลดผลกระทบต่อบุคคลทั่วไป

ผลลัพธ์จาก API (ทดสอบวันที่ 20 มีนาคม 2569)


"address": "●●/●",

"birthdate": "2509●●●●",

...

"fname": "อนุทิน",

"lname": "ชาญวีรกูล",

"fpid": "3●●●●●●●●●●41", // เลขบัตรบิดา

"mpid": "3●●●●●●●●●●59", // เลขบัตรมารดา

"person_id": "3●●●●●●●●●●67", // เลขบัตรตนเอง

"primaryprovince_name": "บุรีรัมย์",

...

"full_name": "อนุทิน ชาญวีรกูล",

"result": "ok"


ข้อมูลที่รั่วไหล

ข้อมูลที่ API ส่งกลับมาครอบคลุม 50 fields แบ่งตามระดับความอ่อนไหว:

หมวด ตัวอย่างข้อมูล ระดับความอ่อนไหว
ข้อมูลพื้นฐาน เลขบัตรประชาชน 13 หลัก, ชื่อ-นามสกุล, เพศ, วันเกิด, สถานะทะเบียนบ้าน ???? สูงมาก
ที่อยู่ บ้านเลขที่, หมู่, ตำบล, อำเภอ, จังหวัด (ที่อยู่เต็ม) ???? สูงมาก
ข้อมูลครอบครัว ชื่อ-นามสกุลบิดา-มารดา, เลขบัตรประชาชนบิดา-มารดา ???? สูงมาก
สิทธิรักษาพยาบาล ชื่อสิทธิ (บัตรทอง/ประกันสังคม), สถานพยาบาลหลัก ???? สูง

สิ่งที่น่าตกใจที่สุด คือ API ส่งคืน "เลขบัตรประชาชนของบิดาและมารดา" มาด้วย นี่คือต้นเหตุหลักของการรั่วไหลในวงกว้าง

ภัยคุกคามที่เป็นไปได้

ภัยคุกคาม อธิบาย
???? Identity Theft ใช้ข้อมูลเปิดบัญชี, สมัครสินเชื่อ หรือทำ KYC ปลอม
???? Social Engineering ใช้ข้อมูลครอบครัวหลอกลวงเหยื่อ (เช่น แก๊งคอลเซ็นเตอร์อ้างเรื่องญาติ)

สิ่งที่ประชาชนควรรู้

หากคุณ มีสิทธิบัตรทอง ประกันสังคม หรือสิทธิข้าราชการ ข้อมูลของคุณอาจถูกเข้าถึงได้ ควรปฏิบัติดังนี้:

  1. ระวังการติดต่อที่น่าสงสัย: อย่าเชื่อทันทีหากมีคนอ้างว่าเป็นเจ้าหน้าที่และรู้ข้อมูลส่วนตัวคุณ
  2. อย่าให้ข้อมูลเพิ่ม: มิจฉาชีพอาจใช้ข้อมูลที่รู้มาหลอกถามข้อมูลทางการเงินเพิ่ม
  3. ตรวจสอบเครดิตบูโร: หากกังวลเรื่องการนำชื่อไปแอบอ้างกู้เงิน

Disclaimer: รายงานฉบับนี้จัดทำเพื่อแจ้งเตือนสาธารณะเกี่ยวกับช่องโหว่ที่ได้รับการแก้ไขแล้ว

ไม่มีการเปิดเผยข้อมูลทางเทคนิคที่นำไปใช้โจมตีได้ ผู้เขียนเชื่อว่าประชาชนมีสิทธิ์ทราบเมื่อข้อมูลตนอาจได้รับผลกระทบ

more info

Leave a Reply

Your email address will not be published. Required fields are marked *