วิเคราะห์ลิงก์ปลอม แจก 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

Maktar เปิดตัว “Qubii Power” หัวชาร์จอัจฉริยะที่สำรองข้อมูลได้ ! เปิดตัวครั้งแรกในไทยที่งาน Commart 2025 พร้อมกระแสตอบรับอย่างล้นหลาม

บริษัท Maktar ผู้นำด้านโซลูชันการจัดเก็บและสำรองข้อมูลจากประเทศไต้หวัน เปิดตัวนวัตกรรม ใหม่ล่าสุด “Qubii Power” อย่างเป็นทางการในประเทศไทยครั้งแรกที่งาน Commart...

[Review] สอบ CRTA ใบเซอร์สาย Pentest ระดับเริ่มต้น ลดราคาจาก $99 เหลือ $9

เห็นว่ามีเพื่อน ๆ สนใจการสอบ CRTA หลายคนเลยนะครับ และไหน ๆ แอดก็สอบผ่านแล้วเดี๋ยวขอมาเล่าประสบการณ์ให้ฟังสักหน่อย เผื่อใครอยากจะลองซื้อมาเรียนและเตรียมตัวสอบ...

Write-Up (Reverse Engineering) : กิจกรรม SWU CTF แข่งขันชิงธงจาก มศว. สำหรับน้อง ๆ สาย Cybersecurity

ผมคิดว่าหลาย ๆ คนที่เคยอ่านเรื่องราวของผมมาบ้าง น่าจะพอทราบกันดีว่าปกติผมสอบใบเซอร์อย่างเดียว ไม่ได้เคยลองทำงานหรือลงแข่งในสนามจริงของ Cybersecurity มากนัก โดยเฉพาะฝั่ง Red...

แนะนำ 5 ดิสโทร Linux สำหรับมือใหม่โยกย้ายจาก Windows

เมื่อ Windows 10 กำลังจะหยุดการสนับสนุนในปี 2025 เรามีทางเลือกหลายทางเลือก (อ่านเพิ่มเติมที่นี่) ทางเลือกหนึ่งสำหรับคนที่ไม่อยากไปต่อกับ Windows...

5 ทางเลือกของคุณ เมื่อ Windows 10 หยุดซัพพอร์ต

14 ตุลาคมนี้ Microsoft จะยุติการซัพพอร์ต Windows 10 อย่างเป็นทางการนะครับ อาจมีเพื่อน ๆ...

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

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

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

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

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