วิเคราะห์ลิงก์ปลอม แจก Steam Gift ขโมย Username/Password ผู้ใช้ !!

นั่งคอมอยู่ดี ๆ จู่ ๆ ก็มีแชตเด้งจากใน Steam ขึ้นมา เป็นลิงก์แจก Steam Gift มูลค่า 50 ดอลลาร์ หรือประมาณ 1,900 บาท เห็นแบบนี้แล้วมันตาลุกวาวนะครับ แต่ด้วยเลือดของความเป็น Cybersecurity แบบนี้มันฟิชชิงชัด ๆ ไหน ๆ พี่แกก็ส่งลิงก์มาให้ดูละ เราไปชำแหละดูกันสักหน่อยดีกว่า

แค่ลิงก์ก็ดูปลอมแล้ว

อันนี้คือตัวอย่างลิงก์ที่แฮกเกอร์เพื่อนรักส่งมาให้ใน Steam ครับ steamcoermmunity.com/643519051136 โธ่ !! ดูยังไงมันก็ของปลอม สังเกตที่ชื่อโดเมนนะครับ แทนที่จะเป็น steamcommunity.com แต่ดันเป็น steamcoermmunity.com (ตกภาษาอังกฤษเปล่าเนี่ยไอ้หนู)

พอเปิดเว็บขึ้นมาจะพบกับหน้าเพจของ Steam ที่บอกว่ามีการแจก Steam Gift แค่ล็อกอินเพื่อรับการ์ด มีจำกัด 300,000 ใบ (แล้วตัวเลขมันรันให้ดูด้วยนะ แต่พอรีเฟรชหน้าจอ มันก็จะกลับมาอยู่ที่ราว ๆ 250,000 เหมือนเดิม)

 

iframe cloaking

หลังจากเข้ามาในลิงก์ ผมก็เปิดดู Developer Tools เพื่อเช็กดูโค้ดของหน้าเว็บ

สิ่งแรกที่เห็นใน HTML คือบรรทัดนี้

iframe src="https://steamcoermmunity.com/..." style="position:absolute; top:0; left:0; width:100%; height:100%; z-index:999999;"></iframe

อ้าว…หน้าเว็บนี้มัน iframe ทั้งดุ้นเลยนี่นา หากใครยังไม่รู้ว่ามันคืออะไรนะครับ ลองนึกถึงเวลาเราฝังคลิปยูทูบลงบนเว็บของเรา นั่นแหละคือเรากำลังฝัง iframe ของยูทูบลงไป แฮกเกอร์คนนี้ก็ทำแบบนั้นครับ มันฝัง iframe ที่เลียนแบบหน้าตาการล็อกอินของ Steam ลงไปคลุมทับหน้าเพจจริง ๆ เพราะถ้าเป็นเว็บปกติ มันต้องมีโค้ดเยอะกว่านี้มากครับ

พอลองลบ iframe ออกจาก เว็บทั้งหน้าก็กลายเป็นว่างเปล่าเลย เทคนิคนี้เราเรียกว่า iframe cloaking สวมทับเว็บเพจด้วย iframe เพื่อทำเว็บฟิชชิงหลอกเอาข้อมูล

นอกจากนี้ เวลาเราคลิกลิงก์ในเมนู เช่น ไม่ว่าจะเป็น Login, About หรือ Support มันจะมีหน้าต่างให้ล็อกอิน Steam เด้งขึ้นมาตลอด และจะไม่รันไปหน้าอื่นเลยครับ มันจะอยู่ที่หน้า iframe แรก เพราะทั้งเว็บมันมีแค่นี้แหละ แหม! แถมยังบังคับให้เราล็อกอินด้วยนะเนี่ย

ส่อง JavaScript

ในแท็บ Sources ของ DevTools จะพบว่า JavaScript ส่วนใหญ่ถูกทำให้อ่านไม่ออก (obfuscate)

(function _0xa9614d() {
  ...
  if {
    ทำอะไรสักอย่างนี่แหละ....
  } else {
    debugger;
  }
})();

ตัวแปรอย่าง _0x58f12b, _0x2d7d มันไม่มีความหมาย โค้ดแบบนี้จะทำงานจริงก็ต่อเมื่อตอนรัน ทำให้เข้าใจพฤติกรรมได้ยากถ้าไม่ debug ทีละบรรทัด (ผมขี้เกียจทำอะ เอาแค่นี้ละกัน 55555)

ส่วนคำสั่ง debugger; เข้าใจว่าใช้ดักไม่ให้คนที่มาวิเคราะห์โค้ดอ่านสคริปต์ได้ง่าย ถ้าหน้า DevTools เปิดอยู่ หน้าเว็บจะไม่สามารถสั่งการได้ครับ เขาคงไม่อยากให้เรารันหน้าเพจไปด้วยเพื่อดูการเปลี่ยนของโค้ด

แบบนี้ต้องดักด้วย Burp Suite

ผมจะลองเสี่ยงกรอกข้อมูลลงไปในหน้าล็อกอิน หลังจากนั้นทำการ Intercept ด้วย Burp คั่นกลางเพื่อแอบดูว่าตอนที่พิมพ์ลงไปและกดสั่ง ข้อมูลที่จะส่งไปปลายทางมันเป็นยังไง

จากภาพพบว่ามีการส่ง POST Request /request.php พร้อมพารามิเตอร์

userName=teammy&password=1234&url=https://steamcoermmunity.com/...

วิเคราะห์ได้ประมาณนี้

  • Request: POST ไปยัง /request.php
  • Content-Type: application/x-www-form-urlencoded
  • Response: ไม่ว่าเราจะใส่อะไรไปก็ตาม ระบบจะตอบกลับว่า
    {
      "success": false,
      "isReturned": false,
      "message": null
    }

หลังจากที่ผมลองล็อกอินด้วยหลาย ๆ ชื่อ และการตอบกลับของปลายทาง จะตอบกลับแบบเดิม ๆ แสดงว่าว่าเว็บยี้มันเป็นฟิชชิ่งที่เน้นเก็บข้อมูล ไม่มีการตรวจสอบว่าถูกต้องหรือไม่ ขอแค่เอา Username และ Password ของเหยื่อไปก่อน แล้วค่อยแสดงผลออกมาว่าล็อกอินไม่สำเร็จ

 

แล้วปลายทางได้อะไรไปบ้าง?

เนื่องจากว่าผมไม่สามารถเข้าถึงหลังบ้านของแฮกเกอร์ได้ ดังนั้น ขอคาดการณ์ลักษณะของโค้ดที่เป็นไปได้จากที่วิเคราะห์ผ่านการทดลองข้างต้น คาดว่าน่าจะเป็นประมาณนี้ครับ

<?php
# เก็บ username ที่เหยื่อป้อน
$u = $_POST['userName'] ?? json_decode(file_get_contents("php://input"))->userName;
# เก็บ password ที่เหยื่อป้อน
$p = $_POST['password'] ?? json_decode(file_get_contents("php://input"))->password;
# เก็บใส่ไว้เป็นไฟล์ log.txt
file_put_contents("log.txt", "$u:$p\n", FILE_APPEND);
echo json_encode(["success" => false]);
?>

ข้อมูลจากถูกเขียนลงไฟล์ log.txt เสร็จแล้วก็จะส่ง JSON มาหาเหยื่อว่าล็อกอินไม่สำเร็จ นี่ถ้าเหยื่อพยายามล็อกอินซ้ำนะ แฮกเกอร์ยิ่งมั่นใจได้เลยว่า username/password ที่ได้มาเป็นของจริงแน่นอน

วิธีป้องกันตัวเอง

  • อย่าคลิกลิงก์แปลก ๆ พึงระลึกไว้ให้หัวสมองว่าของฟรีไม่มีในโลก
  • ตรวจสอบชื่อโดเมนเว็บให้ดีก่อนจะกรอกข้อมูลล็อกอิน
  • เปิดใช้ Steam Guard หรือ 2FA
  • อย่าลืมรายงานเว็บปลอมผ่าน Google Safe Browsing หรือส่งให้ทีมงาน Steam ด้วยนะจ๊ะ

ใด ๆ ก็ตาม เว็บไซต์หรืออีเมลฟิชชิงต่าง ๆ จะไม่สามารถทำอะไรเราได้ หากเรามีความระมัดระวังและรู้เท่าทันเสมอในการใช้อินเทอร์เน็ตครับ ถ้าไม่คลิกไม่กรอกซะอย่าง มันไม่มีทางได้ข้อมูลเราไปแน่นอน

Related articles

แชร์ประสบการณ์สอบ TryHackMe PT1 – เจาะระบบสำหรับ Junior จริงหรือเปล่า?

เพิ่งสอบ PJPT ไปหมาด ๆ (อ่านรีวิว PJPT ได้ที่นี่) ผมก็ต่อใบเซอร์อีกค่ายเลย นั่นคือ...

แชร์ประสบการณ์สอบ TCM PJPT – เข้าสู่สาย “เจาะระบบ” ครั้งแรกของคนไม่มีประสบการณ์

ห่างหายจากการสอบเซอร์ไปนาน วันนี้ผมกลับมาพร้อมกับใบเซอร์ PJPT (Practical Junior Penetration Tester) จากค่าย TCM...

ADATA เปิดตัว TRUSTA อย่างเป็นทางการ พร้อมนวัตกรรม ล่าสุดที่งาน COMPUTEX 2025

วันที่ 19 พฤษภาคม 2025 ณ เมืองไทเป ประเทศไต้หวัน บริษัท ADATA...

แรมบัสสูง vs. แรม CL แน่น ๆ – จะประกอบคอมเล่นเกม ต้องใช้แรมบัสสูง ๆ จริงหรือไม่?

เรื่องตัวเลขความเร็วในวงการคอมพิวเตอร์มันเป็นของคู่กันนะครับ แต่ในอุปกรณ์บางอย่าง ความเร็วอาจไม่ใช่คำตอบเสมอไป และแรมก็เป็นหนึ่งในตัวอย่างที่เราไม่สามารถมองได้แค่ตัวเลขของความเร็วหรือบัสแรมเพียงอย่างเดียวครับ ทำไมเป็นอย่างนั้น ผมจะพาไปหาคำตอบครับ รายละเอียดของการทดสอบและผลทดสอบขอหยิบยกมาจากเว็บไซต์ Techspot ซึ่งได้มีการทดสอบประสิทธิภาพของแรม DDR5 ที่บัส 5600MHz,...

เราใช้คุกกี้เพื่อพัฒนาประสิทธิภาพ และประสบการณ์ที่ดีในการใช้เว็บไซต์ของคุณ คุณสามารถศึกษารายละเอียดได้ที่ นโยบายความเป็นส่วนตัว และสามารถจัดการความเป็นส่วนตัวเองได้ของคุณได้เองโดยคลิกที่ ตั้งค่า

ตั้งค่าความเป็นส่วนตัว

คุณสามารถเลือกการตั้งค่าคุกกี้โดยเปิด/ปิด คุกกี้ในแต่ละประเภทได้ตามความต้องการ ยกเว้น คุกกี้ที่จำเป็น

ยอมรับทั้งหมด
จัดการความเป็นส่วนตัว
  • เปิดใช้งานตลอด

บันทึกการตั้งค่า