วันอังคารที่ 25 มิถุนายน พ.ศ. 2556

ทำความเข้าใจ Batch File Virus ตอน จบ

ปิดท้ายบทสรุป...ที่อยู่ไวรัส...และการป้องกัน...โดยภาพรวม?
วิธีที่จะใช้ Batch File เขียนไวรัสนั้นมีมากมายครับ...ผู้เขียนขอนำเสนอขั้นพื้นฐานเป็นพอครับ...เพราะไม่เล่งเห็นประโยชน์ในการนำเสนอการเขียนไวรัสทุกๆ รูปแบบคำสั่ง และทุกรูปแบบการเจาะระบบ...เพราะด้วยตัวของไวรัสเอง...ก็ไม่ได้มีประโยชน์อะไรมากไปกว่า...ก่อกวน...สร้างความรำคาญ...เพียงแต่อยากให้เห็นว่า...ช่องทางและการโจมตีระบบในรูปแบบดังกว่ายังมีอยู่ในปัจจุบัน...ผู้เขียนยังเห็นอีกว่า...แม้แต่ Execl ที่นิยมใช้งานในธุรกิจเอง...ก็มีช่องโหว่...ที่ยังไม่ถูกปิดเหมือนกัน...แต่การนำเสนอนั้นเป็นโทษมากกว่าประโยชน์จึงไม่อาจเปิดเผยได้...แต่ผู้ที่จะเป็นผู้ดูแลระบบหรือ แฮกเกอร์ระดับหมวกเทา...ต้องมีึึความรู้ีรอบตัวมากพอสมควร...ไม่ใช่เอะอะ...อะไรก็พึ่งพา "แอนตี้ไวรัส" ที่มันมีทั้งดีมาก...และห่วยแตก...ฉนั้้น...สมองมือ กับ หนึ่งมันสมอง...จะมีทางแก้ปัญหาเฉพาะหน้าที่ดีกว่าพวกมันเยอะ แต่อย่างไรก็ดีเครื่องทุกๆ เครื่องควรมีภูมิคุ้มกันไว้..เพราะไม่มีเครื่องใด...ในโลก...ที่ไม่เคยผ่านมือไวรัส...(ยกเว้นพึ่งซื้อมาใหม่...Hello World Babie) ฉนั้นภูมิคุ้มกันสำคัญอย่างมาก...ไม่ว่าคุณจะฝีมืออยู่ระดับใด...แต่แอนตี้ไวรัสยังจำเป็นต้องอาศัยมันทำงานอยู่เสมอ...เพราะ โค้ดไวรัส...ไม่ได้เดินอยู่บนหน้าจอให้เห็นและคลิกลบมันออกไปได้...เพราะมันทำงานโดยที่เราหรือโปรแกรมเมอร์เอง...ยังไม่รู้...ว่าวิญญาณไฟฟ้าอิเล็กทรอนิกส์จำพวกนี้...มันอยู่ในฮาร์ดดิสก์ส่วนใด...หรือยู่ในหน่วยความจำตำแหน่งใด...มีเพียงโปรแกรมด้วยกันเท่านั้นที่รู้...และสังเกตพฤติกรรมของพวกมันได้ (แต่บางจำพวกเช่นหนอนจะแสดงตัวมันเองเป็นไอคอนหรือจำลองไฟล์ตัวอื่นให้สังเกตเห็นถ้าผู้ใช้ระดับสูงจะสังเกตพฤติกรรมของมันไ้ด้)

มาดูถึงโครงสร้าง XP ระบบปฏิับัติการที่พรุ่นไปด้วยรู "ปลวก" ที่ไวรัสสามารถสิ่งสถิตย์ได้?
1. สตร์ทอัปโฟลเดอร์อย่างที่ยกตัวอย่างไปในตอนแรก คีย์ในการปรับแต่งพวกมันอยู่ใน "ฮีฟ, Hive" ต่อไปนี้
1.1[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders]
Startup="C:\windows\start menu\programs\startup"
1.2[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders]
Startup="C:\windows\start menu\programs\startup"
1.3[HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\explorer\User Shell Folders]
"Common Startup"="C:\windows\start menu\programs\startup"
1.4[HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\explorer\Shell Folders]
"Common Startup"="C:\windows\start menu\programs\startup"
2. Win.ini ซึ่งไวรัสที่ทำงานในโหมด 16 บิต เชื่อมต่อ 32 บิต เ่ท่านั้นที่ทำงานได้
อยู่ในคีย์ต่อไปนี้
[windows]
load=virus.exe
run=virus.exe

3. System.ini ไวรัสในโหมดนี้สามารถทำงานได้ทันทีเมื่อเปิดเครื่อง...หรือหากท่านเป็นผู้ดูแลระบบอาจเขีัยนโปรแกรม "ฮุก; Hook" ส่วนนี้ไว้ก่อน
[boot]
Shell=Explorer.exe virus.exe

4. c:\windows\winstart.bat (ผู้เขียนคัดลอกมาจากต่างประเทศแต่ไม่เคยรู้เหมือนกันว่าไฟล์็นี้ทำงานได้จริงไหม...น่าจะ Batch File Mode Command.com)

5. สตาร์ทอัป Registry (เป็นคีย์สำคัญที่ไวรัสร้อยละ 80 อาศัยอยู่)
5.1[HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\RunServices]
    "ชื่อคีย์"="โดร์ฟ:\โฟลเดอร์ที่อยู่ไวรัส\virus.exe"
5.2[HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\RunServicesOnce]
    "ชื่อคีย์"="โดร์ฟ:\โฟลเดอร์ที่อยู่ไวรัส\virus.exe"
5.3[HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run]
    "ชื่อคีย์"="โดร์ฟ:\โฟลเดอร์ที่อยู่ไวรัส\virus.exe"
5.4[HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\RunOnce]
    "ชื่อคีย์"="โดร์ฟ:\โฟลเดอร์ที่อยู่ไวรัส\virus.exe"
5.5[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run]
    "ชื่อคีย์"="โดร์ฟ:\โฟลเดอร์ที่อยู่ไวรัส\virus.exe"
5.6[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\RunOnce]
    "ชื่อคีย์"="โดร์ฟ:\โฟลเดอร์ที่อยู่ไวรัส\virus.exe"
5.7[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\RunServices]
    "ชื่อคีย์"="โดร์ฟ:\โฟลเดอร์ที่อยู่ไวรัส\virus.exe" 

6. c:\windows\wininit.ini ไวรัสอาศัยคีย์นี้ครั้งเดียวและจะล่องหนไปตลอดกาล
[Rename]
NUL=c:\windows\virus.exe

7. c:\windows\systemp32\Autoexec.nt ' แฟ้มนี้ใน XP นั้นทำงานได้จริงและไวรัสและคำสั่งที่อยู่ในนี้เป็นพื้นฐานสำคัญของระบบ...หากเสียหาย...เสียงหรือไฟล์บางอย่างอาจจะไม่ทำงาน

8. ไวรัสเรียกตัวเองผ่าน Shell Key ใน Registry
ตัวอย่าง
[HKEY_CLASSES_ROOT\exefile\shell\open\command] @="\"%1\" %*"
[HKEY_CLASSES_ROOT\comfile\shell\open\command] @="\"%1\" %*"
[HKEY_CLASSES_ROOT\batfile\shell\open\command] @="\"%1\" %*"
[HKEY_CLASSES_ROOT\htafile\Shell\Open\Command] @="\"%1\" %*"
[HKEY_CLASSES_ROOT\piffile\shell\open\command] @="\"%1\" %*"
[HKEY_LOCAL_MACHINE\Software\CLASSES\batfile\shell\open\command] @="\"%1\" %*"
[HKEY_LOCAL_MACHINE\Software\CLASSES\comfile\shell\open\command] @="\"%1\" %*"
[HKEY_LOCAL_MACHINE\Software\CLASSES\exefile\shell\open\command] @="\"%1\" %*"
[HKEY_LOCAL_MACHINE\Software\CLASSES\htafile\Shell\Open\Command] @="\"%1\" %*"
[HKEY_LOCAL_MACHINE\Software\CLASSES\piffile\shell\open\command] @="\"%1\" %*"
ไวรัสจะอาศัย พารามิเตอร์ %1 เพื่อเีรียกโปรแกรมของแฟ้มเป้าหมาย โดยที่ %2 ไวรัสจะดูว่าตัวมันติดเชื้้อหรือทำอะไรกับแฟ้มเ้ป้าหมายหรือปล่อยไปดังนี้
"virus.exe %1 %*"

9. เรียกตัวเองผ่านพาหะติดเชื้อโดยตรง...วิธีที่นี้เสนอตัวอย่างไปในตอน 2 ซึ่้่งเป็นหลักการง่ายๆ แต่แอนตี้ไวรัสไม่สามารถป้องกันได้เช่น
9.1 Excel Virus ถูกเปิด
9.2 ไวรัสที่อาศัยสตาร์ทอัป Module ทำงาน
9.3 ค้นหาแฟ้ม Excel ตัวต่อไปในเครื่อง
9.4 ติดเชื้อพาหะ
9.5 รอมีการเรียกใหม่....(เพราะสมัยนี้...มาโครถูกเรียกใช้โดยไม่ได้ตรวจสอบที่อยู่หรือแหล่งอ้างอิงที่เชื่อถือได้...ทำให้มีโอกาศถูกเล่นงาน)
วิธีนี้นักเขียนไวรัสไม่จำเป็นต้องมีความรู้อะไรมากมายในโครงสร้าง Excel แต่โจมตีด้วยหลักการง่ายๆ และยังได้ผลในปัจจุบัน...

หวังว่าจะได้ความรู้เกี่ยวกับไวรัสไม่มากก็น้อยนะครับ...

1 ความคิดเห็น: