รูปปกบทความ

1. 🎯 ตอนที่ 8: รู้จักชุดเครื่องมือเทพ Sysinternals Suite

ปลดล็อกขีดจำกัดของการแก้ปัญหาด้วยชุดเครื่องมือระดับพระกาฬ ที่จะเปลี่ยนคุณจาก User ธรรมดาให้กลายเป็น System Admin ระดับเซียน

2. 📖 เปิดฉาก (The Hook)

จิบกาแฟกันครับน้องๆ… เวลาที่คอมพิวเตอร์ของเรามีอาการแปลกๆ เช่น เครื่องอืดโดยไม่ทราบสาเหตุ, มีหน้าต่าง Pop-up เด้งขึ้นมาเอง, หรือลบไฟล์ไม่ได้เพราะระบบฟ้องว่า “File in Use” เครื่องมือแรกที่พวกเรานึกถึงคืออะไรครับ? แน่นอนว่าร้อยทั้งร้อยต้องกด Ctrl+Shift+Esc เพื่อเปิด Task Manager ขึ้นมาดู หรือไม่ก็เปิด msconfig เพื่อดูว่ามีโปรแกรมอะไรแอบรันตอนเปิดเครื่องบ้าง

แต่บ่อยครั้งที่เราพบว่า Task Manager มันบอกข้อมูลเราน้อยเกินไป มองไม่เห็นรากเหง้าของปัญหา (Root Cause) มัลแวร์สมัยนี้มันฉลาดพอที่จะซ่อนตัวจากเครื่องมือพื้นฐานพวกนี้ได้สบายๆ ครับ!

นี่คือเหตุผลที่ชาว IT สาย Hardcore และ Security Researcher ทั่วโลกต่างยกย่องให้ Sysinternals Suite เป็น “ยาสามัญประจำเครื่อง” ที่ขาดไม่ได้ วันนี้พี่จะพามาทำความรู้จักตำนานของชุดเครื่องมือนี้ และ 3 ทหารเสือที่จะช่วยเราไขคดีปริศนา (Case of the Unexplained) ทุกรูปแบบบน Windows กันครับ!

3. 🧠 แก่นวิชา (Core Concepts)

ตำนานแห่ง Sysinternals (The History) จุดเริ่มต้นของชุดเครื่องมือนี้ต้องย้อนกลับไปในปี 1996 ครับ สร้างขึ้นโดยปรมาจารย์ด้าน Windows Internals สองท่านคือ Mark Russinovich และ Bryce Cogswell เครื่องมือตัวแรกที่ Mark เขียนขึ้นมาชื่อว่า Ctrl2cap เกิดจากความขัดใจส่วนตัวล้วนๆ เพราะเขาคุ้นเคยกับคีย์บอร์ดแบบ UNIX ที่ปุ่ม Ctrl อยู่ตรงตำแหน่ง Caps Lock เขาเลยเขียน Kernel-mode Driver ขึ้นมาสลับปุ่มมันซะเลย!

ต่อมาพวกเขาได้สร้างเว็บไซต์ชื่อ NTInternals.com เพื่อแจกจ่ายเครื่องมือเจ๋งๆ อย่าง Filemon และ Regmon (จนโดนทนายของไมโครซอฟท์ทักท้วงให้เปลี่ยนชื่อเป็น Sysinternals.com ในปี 1998) ความเทพของเครื่องมือเหล่านี้ทำให้ระบบมีคนโหลดใช้งานนับล้านครั้ง จนท้ายที่สุดในปี 2006 Microsoft ก็ทนความเทพไม่ไหว ต้องขอเข้าซื้อกิจการ (Acquired) ซะเลย (ปัจจุบัน Mark Russinovich เป็นถึง CTO ของ Microsoft Azure เลยนะครับ!)

3 ทหารเสือแห่ง Sysinternals (The Holy Trinity) ชุดเครื่องมือ Sysinternals มีมากกว่า 70 ตัว แต่ตัวที่เป็นพระเอกหลักๆ มีดังนี้ครับ:

  • 🔬 Process Explorer (The Microscope): เปรียบเสมือน “Task Manager ฉีดสเตียรอยด์” มันสามารถแสดงโครงสร้าง Process แบบ Tree View (เห็นว่าใครเป็นพ่อใครเป็นลูก), ดูได้ว่า Process นี้แอบโหลด DLLs อะไรมาบ้าง หรือกำลังจับ Handle (เช่น เปิดไฟล์หรือ Registry) อะไรอยู่ ใครที่เจอไฟล์ลบไม่ได้เพราะถูกล็อก ใช้ตัวนี้ค้นหา Handle แล้วสั่งปิดได้เลยครับ
  • 📹 Process Monitor หรือ Procmon (The CCTV): ตัวนี้คือกล้องวงจรปิดระดับ Kernel ที่เกิดจากการรวมร่างของ Filemon และ Regmon มันทำหน้าที่ดักจับ (Log) ทุกกิจกรรมที่เกิดขึ้นในระบบแบบ Real-time ไม่ว่าจะเป็นการอ่าน/เขียนไฟล์, Registry, Network, หรือ Thread หากโปรแกรมแครชหรือหาไฟล์ไม่เจอ (NAME NOT FOUND) Procmon จะบอกคุณได้ละเอียดถึงระดับ Call Stack เลยทีเดียว
  • ด่านตรวจ Autoruns (The Security Checkpoint): นี่คือฝันร้ายของมัลแวร์! Autoruns จะสแกนจุดที่โปรแกรมสามารถตั้งค่าให้รันอัตโนมัติ (Autostart Extensibility Points - ASEPs) กว่า 200 จุดทั่วทั้งระบบ (ลึกกว่า msconfig หรือ Startup tab หลายขุม) ไม่ว่ามัลแวร์จะแอบฝังตัวเป็น Service, Driver, หรือ Browser Helper Object (BHO) ตัวนี้ส่องเห็นหมด แถมยังเชื่อมต่อกับ VirusTotal เพื่อเช็กได้ทันทีว่าไฟล์นั้นเป็นไวรัสหรือไม่
รูปประกอบการทำงานของ Sysinternals

4. 💻 ร่ายมนต์โค้ดและคำสั่ง (Show me the Code/Commands)

ความเจ๋งของ Sysinternals คือมันมีเวอร์ชัน Command-line สำหรับสาย Scripting ด้วยครับ ตัวอย่างเช่น autorunsc.exe ซึ่งเราสามารถใช้ PowerShell ดึงค่าแบบ XML เพื่อสแกนหาโปรแกรมที่ถูกตั้งให้รันอัตโนมัติและหาจุดที่ถูก Disable ไว้ได้ตามโค้ดนี้เลยครับ:

# ร่ายมนต์เรียกใช้ AutorunsC (สแกนทุกจุด -a *, ส่งออกเป็น XML -x, และยอมรับ EULA อัตโนมัติ -accepteula)
# จากนั้นแปลงผลลัพธ์ที่ได้ให้อยู่ในรูปของ XML Object
$arcx = [xml]$(autorunsc -a * -x -accepteula)

# ค้นหาโหนด /autoruns/item ทั้งหมด แล้วกรองดูเฉพาะตัวที่ "ถูกปิดการทำงาน (Disabled)"
$arcx.SelectNodes("/autoruns/item") | ?{ $_.enabled -ne "Enabled" }

# คอมเมนต์สไตล์คุยกัน: ทริคนี้เหมาะมากสำหรับ System Admin ที่ต้องการทำ Baseline ตรวจสอบความปลอดภัย
# หรือใช้หาร่องรอยของมัลแวร์ในระดับองค์กร (Enterprise) แบบอัตโนมัติครับ!

5. 🛡️ เคล็ดลับจากคัมภีร์ลับ (Under the Hood / Pro-Tips)

Pro-Tip 1: เวทมนตร์แบบ Single Executable Image สงสัยไหมครับว่า ทำไมเครื่องมือเทพๆ พวกนี้ถึงไม่ต้องกด Install (Next > Next > Finish) เลย? คำตอบคือ ปรัชญาการออกแบบของ Sysinternals ระบุไว้ว่าเครื่องมือต้องเป็นไฟล์ .exe เดี่ยวๆ พกใส่ Flash Drive ได้ เบื้องหลังการทำงาน (เช่นใน Procmon) เมื่อเรากดรัน ตัว .exe จะแอบแตกไฟล์ Driver (.sys) ของตัวเองลงไปที่ %SystemRoot%\System32\Drivers จากนั้นจะโหลด Driver เข้าสู่ Kernel Mode เพื่อจับข้อมูลลึกๆ และเมื่อเราปิดโปรแกรม มันก็จะลบไฟล์ Driver นั้นทิ้งทันที ไร้ร่องรอย! นี่คือเหตุผลที่คุณ “ต้อง” รันด้วยสิทธิ์ Administrator (Run as Administrator) เท่านั้นครับ

Pro-Tip 2: เช็กมัลแวร์ด้วย VirusTotal Integration ใน Process Explorer และ Autoruns มีฟีเจอร์เด็ดคือ Check VirusTotal เมื่อเปิดใช้งาน โปรแกรมจะทำการคำนวณค่า Hash (เช่น SHA-1, SHA-256) ของไฟล์ที่กำลังรันอยู่ แล้วส่งค่า Hash ไปถามฐานข้อมูลของ VirusTotal.com ทันที ผลลัพธ์จะแสดงเป็นตัวเลขสีแดงกระแทกตาเลยว่า ไฟล์นี้ถูกมองว่าเป็นไวรัสจาก Antivirus กี่ค่าย (เช่น 45/60) ถือเป็นอาวุธสำคัญสำหรับ Malware Analyst อย่างเราเลยครับ!

6. 🏁 บทสรุป (To be continued…)

Sysinternals Suite ไม่ใช่แค่โปรแกรม Utility ธรรมดา แต่มันคือแว่นขยาย กล้องจุลทรรศน์ และมีดผ่าตัด ที่ทำให้เรามองเห็นการทำงานลึกสุดใจของ Windows การใช้งานเครื่องมือเหล่านี้ได้อย่างคล่องแคล่ว จะช่วยให้เราไม่ต้อง “เดา” เวลาแก้ปัญหาอีกต่อไป

ในตอนต่อๆ ไป เราจะมาเจาะลึกวิธีใช้เครื่องมือแต่ละตัวแบบ Step-by-Step พร้อมกับจำลองคดีสืบสวน “The Case of the Unexplained” ไปพร้อมๆ กัน เตรียมตัวให้พร้อมนะครับ!


ต้องการที่ปรึกษาและพัฒนาระบบ Automation หรือ Enterprise Infrastructure ให้กับธุรกิจของคุณ? ทีมงาน WP Solution พร้อมให้บริการออกแบบและติดตั้งระบบแบบครบวงจร ดูรายละเอียดบริการของเราได้ที่: www.wpsolution2017.com หรือพูดคุยปรึกษาเบื้องต้นได้ที่ Line: wisit.p