สรุปสั้น
บริษัท CloudSEK เปิดโปงปฏิบัติการของแอฟฟิลิเอตแรนซัมแวร์ที่ใช้ชื่อ Azazel ซึ่งทำงานร่วมกับกลุ่ม The Gentlemen โดยจุดที่ทำให้กรณีนี้ต่างจากรายงาน “AI ช่วยเขียนมัลแวร์” ทั่วไป คือผู้โจมตีลงทะเบียนตัวรับ reverse shell เป็นเครื่องมือ (tool) ภายในผู้ช่วยเขียนโค้ด AI ผ่าน Model Context Protocol (MCP) แล้วใช้อินเทอร์เฟซนั้นส่งคำสั่งเข้าไปรันในเครือข่ายเหยื่อจริง หลักฐานชัดที่สุดคือสคริปต์ตรวจว่าโน้ตเรียกค่าไถ่ไปถึงปลายทางครบหรือยัง ซึ่งเรียกฟังก์ชันรันคำสั่งของ MCP พร้อมโทเคนยืนยันตัวตนแบบตายตัวเพื่อเช็กเครื่องภายใน 6 เครื่อง CloudSEK ระบุว่ายังไม่พบรายงานสาธารณะก่อนหน้าที่บันทึกการใช้วิธีรันคำสั่งผ่าน MCP แบบนี้เป็นช่องสั่งการของอาชญากร แต่ก็ย้ำว่าข้อสรุปนี้หมายถึงเทคนิคเฉพาะนี้ ไม่ได้แปลว่าการใช้ MCP ในทางร้ายเริ่มจากปฏิบัติการนี้
แคมเปญกระทบองค์กรกว่า 20 รายใน 6 ประเทศ ครอบคลุมโลจิสติกส์ ประกัน ยา อุปกรณ์การแพทย์ และธุรกิจ AI การเจาะส่วนใหญ่เริ่มจากความลับที่ขโมยจากตัวแปรของ GitLab pipeline และประวัติ repository ส่วนการโจมตีแพลตฟอร์ม AI ภาพถ่ายทางการแพทย์อีกรายเริ่มจาก API ที่ดึง URL ตามที่ผู้ใช้ส่งมาโดยไม่ตรวจสอบ (SSRF) และถูกดูดข้อมูลไปเกิน 6 TB โดยยังมีการโอนต่อเนื่องระหว่างการสืบสวน ที่น่าสนใจคือ Azazel เปิดเว็บปล่อยข้อมูลของตัวเองและเก็บเงินค่าไถ่ไว้เองแทนที่จะแบ่งให้ผู้ให้บริการ The Gentlemen
รายละเอียดข่าว
เว็บไซต์ Cyber Security News รายงานเมื่อวันที่ 6 ตุลาคม 2569 อ้างรายงานของ CloudSEK ที่เผยแพร่เมื่อวันที่ 5 ตุลาคม 2569 ว่านักวิจัยพบปฏิบัติการนี้จากไดเรกทอรีที่เปิดทิ้งไว้และโครงสร้างพื้นฐานจัดเก็บข้อมูลที่ตั้งค่าผิดพลาดของผู้โจมตีเอง ภายในพบทั้งร่องรอยการขโมยข้อมูลที่ยังดำเนินอยู่ ชุดสคริปต์โจมตีที่เขียนขึ้นเฉพาะ และปฏิบัติการรีดไถที่แยกเป็นอิสระจาก The Gentlemen
ผลลัพธ์บนเซิร์ฟเวอร์จัดเก็บข้อมูลยังมีลักษณะสอดคล้องกับผู้ช่วย AI ที่ตอบคำถามเรื่องการแบ็กอัป ประสิทธิภาพดิสก์ และการสแกนชุดข้อมูลขนาดใหญ่ CloudSEK จึงประเมินว่า AI ไม่ได้ถูกใช้เฉพาะตอนโจมตีเหยื่อ แต่ยังช่วยบริหารโครงสร้างพื้นฐานของอาชญากรด้วย ล็อกที่พบยังแสดงการสแกนหาพอร์ต MCP ที่เปิดออกอินเทอร์เน็ตทั่วโลก ซึ่งตรงกับแนวโน้มที่ผู้โจมตีไล่หาบริการเชื่อมต่อ AI ที่เข้าถึงได้
ในเหยื่อรายหนึ่งซึ่งเป็นผู้ให้บริการซอฟต์แวร์ การเจาะลามไปถึงฐานข้อมูลกว่า 150 ชุด ระบบรับชำระเงิน และ repository หลายร้อยรายการ กระทบบริษัทลูกค้ากว่า 10 ราย ขณะที่ GitLab ที่ถูกยึดเพียงชุดเดียวเปิดทางเข้าสู่องค์กรสองแห่งที่ไม่เกี่ยวข้องกัน ส่วนเหยื่ออีกรายเสียข้อมูลทะเบียนการเงินกว่า 120,000 รายการ ก่อนที่ผู้โจมตีจะหยุดฐานข้อมูลที่ใช้งานจริงและลบข้อมูล production ทิ้ง
รายงานนี้ต่อยอดภาพเดียวกับกรณีแอฟฟิลิเอต Aurora ที่ CloudSEK เคยพบจากเซิร์ฟเวอร์ที่เปิดทิ้งไว้และใช้ Cursor วางแผนเจาะ Active Directory (โพสต์ 08/153) แต่ครั้งนี้ AI ขยับจากผู้ช่วยวางแผนมาเป็นช่องทางส่งคำสั่งโจมตีโดยตรง
วิธีการโจมตี
MCP เป็นโปรโตคอลที่เชื่อมผู้ช่วย AI เข้ากับเครื่องมือภายนอก Azazel อาศัยกลไกนี้ลงทะเบียนตัวรับ reverse shell เป็น tool ตัวหนึ่ง ทำให้สั่งงานเครื่องเหยื่อผ่านอินเทอร์เฟซของผู้ช่วย AI ได้ จุดปลายทาง MCP อยู่ที่ loopback 127.0.0.1:35367 บนเครื่องของผู้โจมตี และ client ที่ใช้มีชื่อตัวตน hermes สคริปต์ va.py ใช้ฟังก์ชันรันคำสั่งของ MCP กับโทเคนตายตัวตรวจเครื่องภายใน 6 เครื่อง และยืนยันว่าข้อความรีดไถไปถึง 8 ตำแหน่ง ได้แก่ ข้อความต้อนรับตอนล็อกอิน (/etc/motd และ banner ใน sshd_config) การตั้งค่าฐานข้อมูล หน้าล็อกอินของ pgAdmin (login_user.html) และ README ในโปรเจกต์บนระบบโฮสต์โค้ดของเหยื่อ CloudSEK ย้ำว่านี่ไม่ใช่แค่ผู้ช่วยแนะนำคำสั่ง แต่อินเทอร์เฟซ MCP เป็นตัวขนคำสั่งที่ใช้ในการบุกรุกจริง และยังพบสคริปต์อย่าง mcp_test.py กับ recon_mcp.py ที่แสดงว่าผู้โจมตีพัฒนาและทดสอบวิธีนี้กับเครื่องมือหลายตัว
ขั้นเข้าถึงเริ่มต้นส่วนใหญ่มาจากตัวแปรของ GitLab pipeline และประวัติ commit ซึ่งเก็บโทเคนหรือรหัสผ่านไว้ ผู้โจมตีมีสคริปต์ find_full_token.sh สำหรับกู้โทเคนจากประวัติ repository, jasypt_decrypt_all.py สำหรับถอดรหัส credential ที่เข้ารหัสด้วย Jasypt ในไฟล์คอนฟิก, grafana_all.py/grafana_crack3.py สำหรับดึงและแคร็ก credential ของ Grafana, brute_odoo.py สำหรับเดารหัสผ่าน Odoo ERP และ argocd_hunt.sh ที่เกี่ยวกับการเคลื่อนที่ข้ามระบบผ่าน Argo CD นอกจากนี้ยังไล่หาความลับในไฟล์อย่าง values.yaml, คอนฟิก docker-compose และ kubeconfig
กรณีแพลตฟอร์ม AI การแพทย์ API ภาพถ่ายดึง URL ที่ผู้ใช้ส่งมาโดยไม่ตรวจสอบ ผู้โจมตีใช้จุดนี้เข้าถึงบริการภายใน ถอดรหัส credential ที่เก็บไว้ และกู้โทเคนข้ามการยืนยันตัวตนจากประวัติ repository ก่อนคัดลอกข้อมูลออกผ่าน MinIO Client (mc) และ MEGA โดยพักข้อมูลที่ขโมยไว้ในไดเรกทอรี /data บนเซิร์ฟเวอร์ปฏิบัติการ ข้อมูลที่ขโมยได้ถูกนำไปเผยแพร่ผ่านปฏิบัติการปล่อยข้อมูลชื่อ LEAKNED ของ Azazel เอง
ผลกระทบ
กรณีนี้แสดงว่าการผสาน AI เข้ากับเครื่องมือภายนอกผ่าน MCP กลายเป็นทั้งพื้นผิวโจมตีและเครื่องมือของผู้โจมตีในเวลาเดียวกัน ฝั่งผู้โจมตีได้ช่องสั่งการที่ทำงานผ่านอินเทอร์เฟซของผู้ช่วย AI ส่วนฝั่งองค์กรต้องระวังบริการ MCP ที่เปิดออกอินเทอร์เน็ตซึ่งกำลังถูกสแกนหาอยู่ทั่วโลก
แต่ต้นเหตุที่ทำให้เหยื่อจำนวนมากถูกเจาะยังเป็นปัญหาเดิม คือความลับใน CI/CD และประวัติ repository ที่ไม่ถูกหมุนเวียน กรณี GitLab ชุดเดียวเปิดทางเข้าสององค์กร และผู้ให้บริการซอฟต์แวร์ที่ลามถึงลูกค้ากว่า 10 ราย แสดงว่าโทเคนรั่วเพียงชุดเดียวในโครงสร้างพื้นฐานพัฒนาที่ใช้ร่วมกันสร้างผลกระทบแบบห่วงโซ่อุปทานได้ ขณะที่การลบข้อมูล production และการเก็บค่าไถ่ไว้เองของแอฟฟิลิเอตสะท้อนว่าระบบนิเวศ RaaS แตกตัว และการจ่ายเงินให้แบรนด์หนึ่งไม่รับประกันว่าแอฟฟิลิเอตจะไม่รีดไถซ้ำ
คำแนะนำ
- ย้ายความลับของ pipeline ไปเก็บในระบบจัดการ credential โดยเฉพาะ หมุนเวียนโทเคนที่เคยรั่ว และตรวจประวัติ repository ย้อนหลังหาความลับที่เคย commit ไว้
- จำกัดบริการ MCP ให้เข้าถึงได้เฉพาะ local เปิดบันทึกการรันเครื่องมือที่มีสิทธิ์สูง และไม่เปิดพอร์ต MCP ออกอินเทอร์เน็ต
- แยกคีย์เข้ารหัสออกจากไฟล์คอนฟิก (เช่น คีย์ Jasypt) จำกัดสิทธิ์ storage และทดสอบแบ็กอัปที่แยกจาก production
- เฝ้าระวังการอ่านตัวแปร pipeline ที่ผิดปกติ การใช้โทเคน service account ที่ไม่คาดคิด และการโอนข้อมูลจำนวนมากด้วย
mcหรือไปยัง MEGA - ตรวจ API ที่ดึง URL ตามที่ผู้ใช้ส่งมาให้กรองปลายทางภายใน (SSRF) จำกัดการรันคำสั่งในฐานข้อมูล และตรวจเนื้อหาไฟล์อัปโหลดแทนการเชื่อนามสกุลไฟล์
- ตรวจหาไฟล์
ATTENTION_SENSITIVE_INFORMATION.txtและการแก้ไข/etc/motd, banner ในsshd_configหรือหน้าล็อกอิน pgAdmin ที่ผิดปกติ
Indicators of Compromise (IoCs)
indicator ทั้งหมด defang แล้ว (
[.]) ก่อนนำไปใช้ต้องแปลงกลับ · บางรายการเป็นชื่อไฟล์ปกติที่ถูกใช้ในทางร้าย ไม่ได้มุ่งร้ายในตัวเอง
| ประเภท | Indicator | คำอธิบาย |
|---|---|---|
| IPv4 | 23.236.169[.]183 | เซิร์ฟเวอร์ C2 และไดเรกทอรีที่เปิดทิ้งไว้ (directory listing พอร์ต 8000 · อัปโหลดพอร์ต 9999) |
| IPv4 | 162.220.163[.]26 | เซิร์ฟเวอร์ staging ปฏิบัติการและที่เก็บข้อมูลที่ขโมยมา |
| โดเมน | forgitlab[.]com | โฮสต์ของผู้โจมตีที่ปลอมเป็นโครงสร้างพื้นฐาน GitLab |
| IPv4 | 66.179.30[.]155 | เซิร์ฟเวอร์เผยแพร่และเก็บข้อมูลของปฏิบัติการ LEAKNED |
| IPv4 | 141.95.252[.]30 | ที่อยู่ beacon check-in |
| IPv4:Port | 66.203.124[.]135:443 | ปลายทางโอนข้อมูลไป MEGA (ไม่ใช่โครงสร้างพื้นฐานมุ่งร้ายโดยเฉพาะ) |
| Local endpoint | 127.0.0.1:35367 | จุดปลายทาง MCP แบบ loopback ที่ใช้รันการโจมตี (ไม่ใช่ที่อยู่ระยะไกล) |
| MCP client | hermes | ตัวตน client ที่ CloudSEK ระบุว่าใช้ในปฏิบัติการนี้ |
| Scanner fingerprint | internet-census-mcp-scanner | fingerprint ของการสแกนหาบริการ MCP ที่เปิดออกอินเทอร์เน็ตทั่วโลก |
| สคริปต์ | va.py | ตรวจการส่งโน้ตเรียกค่าไถ่ไปยังเครื่องภายใน 6 เครื่องผ่าน MCP |
| สคริปต์ | mcp_test.py · recon_mcp.py | เครื่องมือทดสอบและสำรวจผ่าน MCP |
| สคริปต์ | brute_odoo.py | เดารหัสผ่าน Odoo ERP |
| สคริปต์ | jasypt_decrypt_all.py | ถอดรหัส credential ในไฟล์คอนฟิก |
| สคริปต์ | find_full_token.sh | กู้โทเคนยืนยันตัวตนจากประวัติ repository |
| สคริปต์ | grafana_all.py · grafana_crack3.py | ดึงและแคร็ก credential ของ Grafana |
| สคริปต์ | scan_vectors.py · sqli_hunt.py · deser_hunt.py · check_rce_surface.sh | สำรวจและสแกนช่องโหว่ |
| สคริปต์ | gbasic_mirror_retry.sh | คัดลอก object storage แบบต่อเนื่องพร้อม retry |
| สคริปต์ | argocd_hunt.sh | เกี่ยวข้องกับการเคลื่อนที่ข้ามระบบ |
| สคริปต์ | loki_analyze.py · monitoring_grep.sh | วิเคราะห์ล็อกแอปพลิเคชันและค้นข้อมูล monitoring |
| พาธโน้ตค่าไถ่ | /root/ATTENTION_SENSITIVE_INFORMATION.txt | โน้ตเรียกค่าไถ่ใน home ของ root |
| พาธโน้ตค่าไถ่ | /home/ubuntu/ATTENTION_SENSITIVE_INFORMATION.txt | โน้ตเรียกค่าไถ่ใน home ของผู้ใช้ ubuntu |
| ไฟล์ระบบที่ถูกแก้ | /etc/motd · sshd_config | ใช้แสดงข้อความรีดไถตอนล็อกอิน |
| เทมเพลต | login_user.html | หน้าล็อกอิน pgAdmin ที่ถูกวางข้อความเรียกค่าไถ่ |
| พาธ executable | /mc | MinIO Client ที่ใช้ในกฎตรวจจับ (การแบ็กอัปปกติอาจตรงด้วย) |
| ไดเรกทอรี staging | /data | พักข้อมูลที่ขโมยบนเซิร์ฟเวอร์ปฏิบัติการ |
