Javascript ถือเป็นหัวใจสำคัญของการพัฒนาเว็บ UI โดยส่วนใหญ่จะใช้สำหรับการเขียนสคริปต์และการเขียนโปรแกรมส่วนหน้า ฟังดูไม่เป็นอันตรายใช่ไหม? อย่างไรก็ตาม จาวาสคริปต์ยังสามารถใช้เป็นเครื่องมือที่เป็นอันตรายในการดำเนินการที่ไม่พึงประสงค์โดยที่เหยื่อไม่รู้ตัว สามารถใช้เพื่อดาวน์โหลดโปรแกรมมัลแวร์แบบขับเคลื่อน ฟิชชิงผู้ใช้ หรือแม้แต่ดำเนินการครอบครองเว็บเบราว์เซอร์ของเหยื่อ (ที่มีช่องโหว่) โดยสมบูรณ์ ตอนนี้ขอตรงไปที่ธุรกิจ ...

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

ฉันขับเคลื่อนเครื่องเสมือน Windows 10 ของฉันเพื่อการวิเคราะห์เพิ่มเติม (เหตุผลที่ Windows มีล่ามจาวาสคริปต์ในตัว CScript CScript ใช้สำหรับเอาต์พุตบรรทัดคำสั่ง/เทอร์มินัล ในขณะที่ WScript ใช้สำหรับเอาต์พุตล่าม GUI) ฉันดาวน์โหลดไฟล์บนเครื่องเสมือนของฉัน จากนั้น ฉันเปลี่ยนชื่อ .html เป็นนามสกุล .txt และเปิดโดยใช้โปรแกรมแก้ไขข้อความ

แท็ก ‹script› พิสูจน์ว่านี่คือโค้ดจาวาสคริปต์บางส่วน ฟังก์ชัน unescape() จะแทนที่ลำดับที่เข้ารหัสด้วย Escape ด้วยอักขระที่ฟังก์ชันนั้นแทน ฉันสร้างสำเนาของไฟล์ Project.txt เพื่อหลีกเลี่ยงการแก้ไขโค้ดต้นฉบับและเปลี่ยนชื่อนามสกุล txt ของสำเนาเป็น .js จากนั้น ฉันแทนที่ฟังก์ชัน document.write ด้วยฟังก์ชัน WScript.echo สิ่งนี้คล้ายกับฟังก์ชัน 'พิมพ์' แต่สำหรับ WScript/CScript ฉันขับเคลื่อน cmd และใช้คำสั่งนี้:

cscript “Project2 -Copy.js”

ตอนแรกมันไม่ได้ผล แต่หลังจากล้างแท็กที่ไม่จำเป็นออกจากโค้ดแล้ว ฉันก็เริ่มเห็นผลลัพธ์ที่เหมาะสม

ฉันเปลี่ยนเส้นทางเอาต์พุตไปยังไฟล์ 'decode.txt' โดยใช้คำสั่งนี้:

cscript “Project2 -Copy.js” > decode.txt

ฉันดูไฟล์นี้และค้นพบซอร์สโค้ดของเว็บไซต์

ฉันเลื่อนโค้ดลงไปและค้นพบอักขระที่เข้ารหัส base64 จำนวนหนึ่ง

ด้วยความอยากรู้อยากเห็น ฉันจึงเริ่มใช้เครื่องมือตัวที่สองที่จะใช้สำหรับการวิเคราะห์นี้ CyberChef (ฉันขอแนะนำอย่างยิ่ง) ฉันใส่สูตร "จาก base64" และวางอินพุต base64

ฉันเลื่อนลงไปอีกในโค้ดเพื่อแสดงช่องส่งแบบฟอร์ม นี่อาจเป็นหน้าฟิชชิ่งอย่างแน่นอน แต่มันขโมยอะไรและส่งไปที่ไหน?

โดยจะบันทึกช่องอีเมลและรหัสผ่านด้วย send-btn แบบคลาสสิก ฉันค้นพบ eval() object ที่ด้านล่างของสคริปต์ที่มีอักขระที่เข้ารหัสด้วยอักขระบางตัว

ฉันคัดลอกเนื้อหาอ็อบเจ็กต์ eval() และวางไว้ในไฟล์ใหม่ 'eval.js' จากนั้น ฉันแทนที่ eval()functionด้วยฟังก์ชัน WScript.echo และรันบน cmd

cscript eval.js

ฉันเปลี่ยนเส้นทางเอาต์พุตใหม่นี้ไปยังไฟล์ใหม่ evaldecode.txt และเปิดไฟล์ในโปรแกรมแก้ไขข้อความ

รู้สึกพิเศษมาก ฉันจึงอบโค้ดที่เหลือในโปรแกรมตกแต่งจาวาสคริปต์ของ CyberChef เพื่อให้ได้รับมุมมองที่ดี พบไวยากรณ์ JSON บางส่วน มาดูกันดีกว่า

ฉันพบ URL ของเว็บไซต์ที่แบบฟอร์มนี้ส่งข้อมูลประจำตัวที่ถูกขโมย [ปกปิด].com/success/list.php

ฉันพยายามสำรวจไดเร็กทอรีเส้นทางและพบว่า... เซิร์ฟเวอร์มีช่องโหว่!

เซิร์ฟเวอร์นี้เป็นเว็บเซิร์ฟเวอร์ LiteSpeed การดู list.txt อย่างรวดเร็วจะแสดงข้อมูลที่ละเอียดอ่อนสูงซึ่งฉันไม่สามารถใส่ได้ที่นี่

ตอนนี้ได้รับการยืนยันว่าเป็นไซต์ฟิชชิ่ง (และไม่ใช่แซนด์บ็อกซ์ BeEF ที่เป็นอันตรายในการหลบหนี 0 วัน) ฉันจึงสามารถดูภาพไซต์ได้ ฉันเปลี่ยนชื่อไฟล์ต้นฉบับกลับเป็นนามสกุล .html และเปิดบนเบราว์เซอร์ VM ของฉัน

ฉันทดสอบแบบฟอร์มโดยกรอกรายละเอียดปลอมแล้วส่งไป ฉันตรวจสอบ [ปกปิด].com/success/list.txt และอินพุตปลอมก็ถูกเพิ่มลงในไฟล์ข้อความอย่างรวดเร็วเหมือนกับเหยื่อรายอื่นๆ

เมื่อดูที่ไดเรกทอรีหลัก [ข้อมูลปกปิด].com ดูเหมือนว่าไซต์ดังกล่าวโฮสต์อยู่ใน NameCheap โดยไม่มีหน้าดัชนี ฉันพยายามค้นหาอีเมลหรือข้อมูลใดๆ ที่สามารถใช้เพื่อระบุตัวผู้ดูแลเว็บได้.. แต่ความพยายามทั้งหมดกลับไร้ผล

ฉันรวบรวมหลักฐานทั้งหมดของขั้นตอนการวิเคราะห์ภัยคุกคามและมอบให้แก่ลูกค้าของฉัน พร้อมด้วย URL ของเว็บไซต์และข้อมูลที่เกี่ยวข้อง ลูกค้าตัดสินใจรายงานไซต์นี้ และถูกลบออกภายในเวลาไม่ถึงหนึ่งชั่วโมง การลงโทษเพิ่มเติมใดๆ จะถูกบังคับใช้ตามดุลยพินิจของบริษัทโฮสติ้ง

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

อยู่อย่างปลอดภัย.

อยู่อย่างอันตราย

เจอกันครั้งหน้าเมื่อฉันจำรหัสผ่านได้