การแจ้งเตือนความปลอดภัย · สูง
GSocket backdoor บนเซิร์ฟเวอร์เว็บ Linux: ตรวจสอบเซิร์ฟเวอร์ PHP, cPanel และ Apache ว่าถูกเจาะหรือไม่
· อ่าน 2 นาที · Centoculus Security Team
ทราบมาตั้งแต่ · ยืนยันการโจมตีตั้งแต่
ที่ได้รับผลกระทบ: เซิร์ฟเวอร์ Linux ที่มีเว็บแอปพลิเคชันซึ่งเชื่อมต่ออินเทอร์เน็ตและถูกเจาะ (ส่วนใหญ่เป็นแอป PHP, โฮสติ้ง cPanel และ Apache)
สิ่งที่เกิดขึ้น
เมื่อวันที่ 11 พฤศจิกายน 2026 Microsoft เผยแพร่งานวิจัยเกี่ยวกับผู้โจมตีหลายกลุ่มที่แยกกันซึ่งติดตั้ง GSocket บนเซิร์ฟเวอร์ Linux ที่ถูกเจาะ BleepingComputer รายงานเรื่องนี้เมื่อวันที่ 12 พฤศจิกายน 2026 GSocket เป็นเครื่องมือเข้าถึงระยะไกลแบบโอเพนซอร์สที่ถูกต้องตามกฎหมาย เมื่อทำงานบนเซิร์ฟเวอร์ ทั้งเซิร์ฟเวอร์และผู้โจมตีจะเชื่อมต่อขาออกไปยังบริการรีเลย์สาธารณะชื่อ Global Socket Relay Network จากนั้นรีเลย์จะเชื่อมทั้งสองฝั่งเข้าด้วยกันเป็นเซสชันที่เข้ารหัส เซิร์ฟเวอร์ไม่ต้องเปิดพอร์ตใดๆ และไม่ต้องมี IP สาธารณะ ผู้โจมตีไม่ได้ใช้โครงสร้างพื้นฐานของตัวเอง จึงไม่มี IP หรือโดเมนของผู้โจมตีให้บล็อก
นี่ไม่ใช่ช่องโหว่ในตัว GSocket ผู้โจมตีจะเจาะเว็บแอปพลิเคชันที่เชื่อมต่ออินเทอร์เน็ตก่อน แล้วจึงติดตั้ง GSocket เพื่อรักษาการเข้าถึงไว้ เนื่องจาก GSocket ทำงานแยกจากแอปพลิเคชัน การแพตช์แอปพลิเคชันจึงไม่ได้ลบมันออก Microsoft ระบุว่าการตรวจพบที่เกี่ยวข้องกับ GSocket ในข้อมูลเทเลเมทรีของบริษัทเพิ่มขึ้น 356.2% ระหว่างเดือนมีนาคมถึงสิงหาคม 2026
Microsoft อธิบายการโจมตีไว้ดังนี้:
- ผู้โจมตีใช้ประโยชน์จากเว็บแอปพลิเคชันและใช้
curlเพื่อดาวน์โหลดและรันสคริปต์ติดตั้ง - สคริปต์วาง GSocket client ไว้ในพาธที่เขียนได้หรือใช้หน่วยความจำ เช่น
/dev/shm - โพรเซสถูกปลอมชื่อให้ดูเหมือน kernel thread เช่น
[kaluad]หรือชื่อคล้ายระบบ เช่นsystemd-remount-dและ/usr/bin/defunct - การคงอยู่ของการทำงานถูกตั้งผ่าน cron jobs, systemd services, ไฟล์เริ่มต้นของ shell, watchdog และสำเนาไฟล์เพิ่มเติม จากนั้นไฟล์ชั่วคราวจะถูกลบและมีการปรับ timestamp ของไฟล์ย้อนหลัง
- ในบางกรณี ผู้โจมตีพยายามยกระดับสิทธิ์เป็น root ผ่านช่องโหว่ของ Linux kernel CVE-2026-43284 ที่รู้จักกันในชื่อ "Dirty Frag"
ใครได้รับผลกระทบ
เซิร์ฟเวอร์ Linux ที่รันเว็บแอปพลิเคชันซึ่งเชื่อมต่ออินเทอร์เน็ตและเคยถูกเจาะในช่วงใดช่วงหนึ่ง จากข้อมูลของ Microsoft 87.1% ของเหตุการณ์เกี่ยวข้องกับเว็บแอปพลิเคชันและโฮสติ้ง ในกลุ่มนี้ เว็บแอป PHP และโฮสติ้ง cPanel คิดเป็น 63.9% และ Apache คิดเป็น 24.3% Microsoft ยังระบุการแจ้งเตือนสำหรับ shell ที่เริ่มจากเว็บแอป Java และ Node.js ด้วย เซิร์ฟเวอร์ที่เพิ่งพบและแพตช์ช่องโหว่ของเว็บแอปพลิเคชันควรได้รับการตรวจสอบเป็นพิเศษ เพราะผู้โจมตีอาจเข้ามาก่อนที่จะมีการแพตช์
เซิร์ฟเวอร์ที่เว็บแอปพลิเคชันไม่เคยถูกเจาะจะไม่ได้รับผลกระทบ การที่ทีมของคุณติดตั้ง GSocket โดยตั้งใจก็ไม่ใช่สัญญาณของการถูกเจาะโดยตัวมันเอง
สิ่งที่ควรทำตอนนี้
- ตรวจสอบเซิร์ฟเวอร์เว็บ Linux ทุกเครื่องที่เชื่อมต่ออินเทอร์เน็ต ตามขั้นตอนในหัวข้อถัดไป เริ่มจากเซิร์ฟเวอร์ที่มีการแพตช์ช่องโหว่ของเว็บแอปพลิเคชัน CMS ปลั๊กอิน หรือแผงควบคุมโฮสติ้งในช่วงไม่กี่เดือนที่ผ่านมา
- หากพบ GSocket ให้ถือว่าเซิร์ฟเวอร์ถูกเจาะแล้ว หยุดโพรเซส จากนั้นลบไบนารี สำเนาทั้งหมด และรายการเริ่มทำงานอัตโนมัติทุกรายการ ได้แก่ cron, systemd units, ไฟล์เริ่มต้นของ shell และสคริปต์ watchdog Microsoft ระบุว่าการคงอยู่ของการทำงานมักซ้อนกันหลายชั้น ดังนั้นการหยุดโพรเซสเพียงอย่างเดียวไม่ได้ตัดการเข้าถึงออก หากผู้โจมตีอาจได้สิทธิ์ root เช่นผ่าน CVE-2026-43284 วิธีที่ปลอดภัยที่สุดคือสร้างเซิร์ฟเวอร์ใหม่จาก image ที่สะอาดหรือจาก backup ที่สร้างก่อนการถูกเจาะ
- เปลี่ยนข้อมูลยืนยันตัวตน บนเซิร์ฟเวอร์ที่ได้รับผลกระทบ ได้แก่ รหัสผ่านฐานข้อมูล secret ของแอปพลิเคชัน API key และ SSH key นอกจากนี้ให้ตรวจสอบ
authorized_keysว่ามีรายการที่ไม่รู้จักหรือไม่ - ค้นหาและปิดช่องทางที่ผู้โจมตีใช้เข้ามา อัปเดตเว็บแอปพลิเคชัน CMS ปลั๊กอิน และ application server ลบคอมโพเนนต์ที่ไม่ได้ใช้ และจำกัดการอัปโหลดไฟล์และเส้นทางของหน้าผู้ดูแลระบบ
- แพตช์ kernel เพื่อแก้ CVE-2026-43284 ("Dirty Frag") ด้วยการอัปเดต kernel ของ distribution ที่คุณใช้ และรีบูตเข้าสู่ kernel ใหม่
- จำกัด traffic ขาออก หากทำได้ ให้บล็อกการเชื่อมต่อขาออกเป็นค่าเริ่มต้น และอนุญาตเฉพาะปลายทางที่เซิร์ฟเวอร์ต้องใช้จริง traffic ของ GSocket เป็นขาออกเท่านั้น ดังนั้นกฎ firewall ขาเข้าจะจับไม่ได้
- เสริมความปลอดภัยให้ไดเรกทอรีชั่วคราว หากปฏิบัติได้ ให้ mount
/tmpและ/dev/shmด้วยตัวเลือกnoexec - ตรวจสอบซ้ำหลังดำเนินการ ว่าเซิร์ฟเวอร์ไม่เชื่อมต่อกับรีเลย์ของ GSocket หรือโดเมนที่ระบุด้านล่างอีกต่อไป
วิธีตรวจสอบว่าเซิร์ฟเวอร์ของคุณได้รับผลกระทบหรือไม่
รันการตรวจสอบเหล่านี้ด้วยสิทธิ์ root ผลลัพธ์ที่พบไม่ได้เป็นหลักฐานยืนยันโดยลำพัง แต่ควรตรวจสอบต่อ
ไฟล์และพาธที่ Microsoft ระบุ:
ls -la /dev/shm/.gs-* /tmp/.gsn_ora /tmp/systemd-remount-d /usr/bin/systemd-remount-d /usr/bin/defunct 2>/dev/null
find / -xdev \( -name 'gs-netcat*' -o -name 'defunct.service' -o -name 'defunct' -o -name 'systemd-remount-d' \) 2>/dev/null
โพรเซสที่กำลังทำงาน:
ps -eo pid,ppid,user,args | grep -Ei 'gs-netcat|gsocket|defunct|remount-d' | grep -v grep
kernel thread จริงไม่มีไฟล์ที่รันได้ หากโพรเซสที่มีชื่อในวงเล็บ เช่น [kaluad] ชี้ไปยังไฟล์ ให้ถือว่าน่าสงสัย:
for p in /proc/[0-9]*; do n=$(cat $p/cmdline 2>/dev/null | tr '\0' ' '); case "$n" in \[*) e=$(readlink $p/exe 2>/dev/null); [ -n "$e" ] && echo "${p#/proc/} $n -> $e";; esac; done
การคงอยู่ของการทำงาน:
for u in $(cut -d: -f1 /etc/passwd); do crontab -l -u "$u" 2>/dev/null | sed "s/^/$u: /"; done
ls -la /etc/cron.* /var/spool/cron* 2>/dev/null
systemctl list-unit-files --type=service | grep -Ei 'defunct|remount'
grep -sEl 'gs-netcat|gsocket|defunct|GS_' /etc/profile /etc/profile.d/* /etc/bash.bashrc /root/.bashrc /root/.profile /home/*/.bashrc /home/*/.profile
ตรวจดู systemd units ที่ชื่อดูสมเหตุสมผลแต่คุณไม่ได้สร้างอย่างละเอียด ตรวจโฮมไดเรกทอรีของบัญชีบริการเว็บ เช่น www-data, apache และ nobody และของผู้ใช้ cPanel ด้วย
แฮช SHA-256 ของไฟล์ที่ทราบจาก Microsoft:
d94f75a70b5cabaf786ac57177ed841732e62bdcc9a29e06e5b41d9be567bcfaf95c4d029e6784e3849b4d1e2e2ae1a661187236ef7c5d487c71158a290a03b555d141bb2f62c527c3fea3413b8429fed7d52633d0b123b5e611bfa42165229f12450bafc7a4398040e1ad3a16dbf4dbc79b6a8f83ef306c4f0f73f59886f06c
เครือข่ายและ log: ค้นหาใน log ของ DNS, proxy และ firewall ด้วยคำว่า gsocket.io, cdn.gsocket.io และ gsgg.b-cdn.net โดเมนเหล่านี้ใช้ดาวน์โหลดเครื่องมือ นอกจากนี้ให้ค้นหาใน shell history และ log ของเว็บเซิร์ฟเวอร์ว่ามีคำสั่งที่ใช้ curl ดึง gsocket.io/y หรือ gsocket.io/install.sh หรือไม่ ตรวจหา shell ที่เริ่มจากโพรเซสของเว็บเซิร์ฟเวอร์หรือ PHP ใช้ ss -tnp เพื่อดูว่าโพรเซสใดมีการเชื่อมต่อขาออก และตรวจสอบรายการที่คุณอธิบายไม่ได้ โปรดจำไว้ว่าผู้โจมตีลบไฟล์ชั่วคราวและประวัติคำสั่ง ดังนั้นการไม่พบร่องรอยในจุดหนึ่งไม่ได้พิสูจน์ว่าเซิร์ฟเวอร์สะอาด
แหล่งข้อมูล
โพสต์ที่เกี่ยวข้อง
การแจ้งเตือน ·
Citrix NetScaler ADC และ Gateway: ช่องโหว่หน่วยความจำระดับวิกฤตอาจทำให้ระบบให้บริการไม่ได้ (CVE-2026-120868)
Citrix แก้ไขช่องโหว่หน่วยความจำระดับวิกฤตเก้าจุดใน NetScaler ADC และ NetScaler Gateway ที่อาจทำให้ระบบให้บริการไม่ได้ CVE-2026-120868 กระทบทุกการติดตั้ง ให้อัปเดตเป็น 14.1-73.57, 13.1-64.39 หรือบิลด์ FIPS ที่ตรงกัน
การแจ้งเตือน ·
PostgreSQL CVE-2026-6460: ผู้ใช้ฐานข้อมูลที่สร้างออบเจกต์ได้ อาจรันโค้ดบนเซิร์ฟเวอร์
PostgreSQL 18.7, 17.12, 16.16, 15.20 และ 14.25 แก้ไข CVE-2026-6460 และช่องโหว่อื่นอีก 51 รายการ ผู้ใช้ฐานข้อมูลที่สร้างออบเจกต์ได้สามารถรันโค้ดในฐานะผู้ใช้ระบบปฏิบัติการที่รัน PostgreSQL กรุณาอัปเดตเซิร์ฟเวอร์และส่วนขยาย C ไปพร้อมกัน
การแจ้งเตือน ·
Node.js: ช่องโหว่ HTTP/2 และ HTTPS ทำให้ไคลเอนต์ทำเซิร์ฟเวอร์ล่มและอ่านข้อมูลของผู้ใช้อื่นได้
Node.js แก้ไขช่องโหว่ 16 รายการ โดยเจ็ดรายการมีระดับความรุนแรงสูง ไคลเอนต์ที่ไม่ได้ยืนยันตัวตนสามารถทำให้เซิร์ฟเวอร์ HTTP/2 ล่มหรืออ่านหน่วยความจำจากการเชื่อมต่ออื่น รวมถึงคีย์ TLS ได้ เวอร์ชันที่แก้ไขแล้วคือ 22.23.5, 24.22.3 และ 26.13.1