http://www.exp-media.net Sample
http://www.exp-media.net
ประกาศลขสทธสงวนลขสทธตามพระราชบญญตลขสทธ พ.ศ. 2537โดยสำนกพมพ eXP MEDIA หามลอกเลยนแบบไมวาสวนใดสวนหนงของหนงสอเลมนไมวาจะเปนรปแบบใด ทงการทำสำเนา ถายเอกสาร หรอเผยแพรบนอนเทอรเนต รวมถงเครอขายอนๆ นอกจากจะไดรบอนญาตเปนลายลกษณอกษรจากทางสำนกพมพหมายเหต : รปภาพและเครองหมายการคาทอางถงเปนของบรษทนนๆ
จดทำโดยสำนกพมพ eXP MEDIA (www.exp-media.net)โสภญญา คงเกต40/587 หม 4 ถ.รงสต-นครนายก ต.คลองสาม อ.คลองหลวง จ.ปทมธาน 12120โทร. 0-2834-0034แฟกซ. 0-2833-9538
จดจำหนายโดย
สำนกพมพ eXP MEDIA มความประสงคทจะผลตหนงสอและสอมลตมเดยดานเทคโนโลยทเนนคณภาพเพอเผยแพรความรสผอานทกทานใหไดประโยชนอยางสงสด
บรษท ซเอดยเคชน จำกด (มหาชน)อาคารเนชนทาวเวอร ชน 19 เลขท 1858/87-90ถนนบางนา-ตราด แขวงบางนา เขตบางนา กรงเทพฯ 10260
โทร 0-2739-8000, 0-2739-8222 โทรสาร 0-2739-8356-9
โดย ปยวฒน เกลยงขำราคา 155 บาท
พมพครงท 1 : กมภาพนธ 2552
สวางพร กจรงเรองชย
บรรณาธการ
ศลปชย จนตวจตร
ออกแบบปก-รปเลม
ตดตอประสานงาน
โสภญญา คงเกต
ขอมลบรรณานกรม
www.exp-media.net
ปยวฒน เกลยงขำ.
ลวงไตไวรส เลม 2 ฉบบ สรางเครองมอกำจดไวรสดวยตวเองงายนดเดยว.
-- กรงเทพฯ : อเอกซพมเดย , 2552.
288 หนา.
1. ไวรสคอมพวเตอร. I. ชอเรอง.
005.84
ISBN 978-974-642-136-2
ฝายเทคนค ตรวจสอบเนอหา
วศวะ ไชยฤกษสกลสทธชย กจรงเรองชยเอกสทธ หมนทองกอน
Sample
http://www.exp-media.net
สวสดครบผอานทกทานหลงจากหนงสอ “ลวงไตไวรส ปองกนและกำจดไวรสดวยตวเอง” ซงเปนเลมแรกออกวาง
จำหนายไดไมนาน กมอเมลเขามาพดคยกบผมคอนขางมากเกยวกบปญหาทเกดจากไวรสในหลายๆ สาเหต มผอานบางทานใหคำแนะนำทนาสนใจวา ทำไมไมมหนงสอเกยวกบการเขยนโปรแกรมทสามารถแกปญหาไวรสดวยตวเองขนมาบาง เพราะผใชคอมพวเตอรแตละคนกเจอปญหาไวรสไมเหมอนกน และบางครงโปรแกรมปองกนไวรสทใชงานกนอยกยงไมสามารถตรวจจบไวรสตวใหมๆ ไดทน ผมจงไดนำแนวคดนไปพดคยกบคณปยวฒน (ผเขยน) ถงเนอหาของหนงสอใหม โดยจะใชชอหนงสอ “ลวงไตไวรส เลม 2” เพราะมเนอหาทตอเนองกนและทสำคญตองใหผอานอานแลวเขาใจ สามารถนำไปเขยนโปรแกรมแกปญหาไวรสดวยตวเองแบบงายๆ แตไดผล จนกลายมาเปนหนงสอเลมน ซงผมหวงวาจะชวยใหผอานทกทานทตดตามหนงสอ “ลวงไตไวรส” ทงเลม 1 และ 2 รวมถงการตดตงโปรแกรมปองกนไวรสดๆ อกสกตวมาใชงานรวมกนกจะสามารถแกปญหาไวรสคอมพวเตอรไดอยางมประสทธภาพ
หากผอานตองการตชม สอบถามปญหา หรอขอคำปรกษาเกยวกบการดาวนโหลดโปรแกรมทใชในหนงสอเลมน สามารถเขาไปในเวบบอรดของคณปยวฒน ผเขยนหนงสอเลมนไดท www.dkdc-ultra.com/board
ขอขอบคณผอานทกทานทกรณาตดตามสวางพร กจรงเรองชยSample
http://www.exp-media.net
หลงจากไดสงตนฉบบในเลมแรกไปแลว คณสวางพรไดนำเสนอแนวคดวา นาจะทำหนงสอทสอนเรองการเขยนโปรแกรมกำจดไวรสขนมาสกเลมเพราะผมเองกพอจะมพนฐานทางดานการเขยนโปรแกรมอยบาง จงนาทจะนำประสบการณจากการเขยนโปรแกรมกำจดไวรส ซงแจกฟรในเวบไซตของผมมาเรยบเรยงเปนแนวทางสำหรบผทสนใจจะเขยนโปรแกรมกำจดและแกไขอาการจากไวรสดวยตนเองสกเลมหนง
ผมเองเหนวาเปนแนวคดทนาสนใจและตรงกบความตงใจเดมอยแลวเชนกนเพราะเคยฝนไววาในเมอคนตางชาตสรางไวรสกนได ทำไมคนไทยเราจะสรางโปรแกรมกำจดไวรสบางไมได ถาประเทศของเราจะมชอเสยงทางดานโปรแกรมกำจดไวรสนาจะเปนภาพทดในสายตาชาวโลกและเปนประโยชนมากกวาการมชอเสยงเกยวกบการสรางไวรส ผมจงตอบตกลงทนท
โดยภาษาทใชเขยนโปรแกรม ผมจะเลอกใช 3 ภาษางายๆ ทไมไดสลบซบซอนจนเกนไปแตคนสรางไวรสกมกใชภาษาเหลานเขยนตวไวรสขนมาเชนกน อกทงการเขยนโปรแกรมทผมนำเสนอกจะไมเนนหลกการหรอรปแบบมากนก จะเปนลกษณะการเขยนแบบตรงไปตรงมาเนนการใชงานไดจรง ทงนเพอใหผทไมมพนฐานทางดานการเขยนโปรแกรมมากอนกสามารถทจะเรยนรได เนองจากจดประสงคหลกของหนงสอเลมนเปนเพยงการจดประกายแนวทางการเขยนโปรแกรมกำจดไวรส ซงจะทำใหรวาใครๆกสามารถเขยนโปรแกรมกำจดไวรสไดไมยากนก เมอมความเขาใจมากขนจงคอยตอยอดความรไปพฒนารปแบบการเขยนใหซบซอนและมประสทธภาพมากขน เพอใหทนกบไวรสทมการพฒนาอยตลอดเวลาเชนกน
ผมหวงเปนอยางยงวาหนงสอเลมนจะเปนแรงบนดาลใจใหคนไทยเราไดสรางโปรแกรมทเปนประโยชนตอสงคมสวนรวมมากขนตามทผมเคยฝนไว ตองขอขอบคณทางคณสวางพรและสำนกพมพทใหโอกาสผมไดทำตามฝน และขอบคณผอานทกทานทรวมสานฝนกบผมครบ
สำหรบใครทมขอสงสย หรอจะแนะนำตชมสามารถสอบถามหรอแนะนำไดท www.dkdc-ultra.com/board นะครบ
ปยวฒน เกลยงขำ
Sample
http://www.exp-media.net
ไวรส Batch file .................................................................................................... 18ไวรส Script .......................................................................................................... 28ความแตกตางระหวาง Cscript.exe กบ Wscript.exe .............................................. 33ไวรส DLL ............................................................................................................. 39
ไวรส .Pif ................................................................................................................ 44ไวรส .SCR ............................................................................................................ 52ไวรสนามสกลอนๆ ................................................................................................. 55
⌫
Sample
http://www.exp-media.net
⌫ ⌦
⌦
⌫⌫
⌫⌫
⌧ ⌧
⌫
Sample
http://www.exp-media.net
⌫⌦
ไมแสดง Startup บางจด ........................................................................................ 194ไมแสดงรายชอยาวเกน 129 ตวอกษร .................................................................... 196
⌫
Sample
http://www.exp-media.net
ใชคนหาไฟลซำ .................................................................................................. 207ประยกตใชในการคนหาไฟลไวรส ...................................................................... 207
ความหมายของคยและ Value ............................................................................ 208ชอยอของคยหลก (Root Key) ........................................................................... 210ความเกยวของของ HKEY_CURRENT_USER กบ HKEY_USERS ..................... 210
⌦ รปแบบทใชไฟล Autorun.inf .............................................................................. 213รปแบบทใชการโหลดแบบอตโนมต (Startup) ..................................................... 213
ขนตอนการสรางโปรแกรมดวย Batch file................................................................ 216ขนตอนการสรางโปรแกรมดวย VBScript ................................................................ 216สรางโปรแกรมดวย Autolt ................................................................................... 217การรนไฟล Autolt .............................................................................................. 218การสรางไฟล.exe จาก Autolt ............................................................................ 219
⌫
Sample
http://www.exp-media.net
⌫ ⌫ ⌧
การสรางคอมพวเตอรเสมอน................................................................................224ตงคาไดรฟ CD/DVD และแฟลชไดรฟ .................................................................. 228
⌫
โปรแกรมจบตา Registry ....................................................................................... 233เรมตนทดสอบ+เกบขอมลไวรส ........................................................................... 235ตำแหนง Startup .................................................................................................. 239สวนอนๆ ทมการแกไข .......................................................................................... 240เพมเตมกรณไวรสสรางโฟลเดอร หรอไฟลปลอม .................................................... 243
⌫
⌫ คำสงปด Process ................................................................................................ 246คำสงลบไฟล ........................................................................................................ 251คำสงจดการคา Registry ..................................................................................... 254คำสงในการ Restart เครอง ................................................................................... 259รวบรวมคำสงทงหมด ............................................................................................ 260ใชโปรแกรมชวยเขยน Batch file............................................................................ 262ทำ BAT ใหเปน EXE ............................................................................................. 263
Sample
http://www.exp-media.net
⌫ คำสงแรกทควรม ................................................................................................ 264คำสงปด Process ............................................................................................. 265คำสงลบไฟล ..................................................................................................... 266คำสงจดการคา Registry ................................................................................... 268คำสงในการ Restart เครอง ................................................................................ 269รวบรวมคำสงทงหมด .......................................................................................... 270ใชโปรแกรมชวยเขยน VBS ................................................................................. 272ทำ VBS ใหเปน EXE .......................................................................................... 272
⌫ คำสงปด Process ............................................................................................. 275คำสงลบไฟล ..................................................................................................... 275คำสงจดการคา Registry .................................................................................... 277คำสงในการ Restart เครอง ................................................................................. 278รวบรวมคำสงทงหมด .......................................................................................... 278
การโหลด Plug-in เสรมการทำงาน ..................................................................... 283โปรแกรมชวยเขยน Autolt ................................................................................... 283ตวอยางไวรสเพอฝกซอมเขยน Code .................................................................. 284Sample
http://www.exp-media.net
⌫
“ในบทนผอานจะไดเรยนรถงหลกการทำงานของไวรสนามสกลตางๆ แบบเจาะลก ซงแบงออกเปน 2 ประเภทหลก คอ ไวรสแบบททำงานโดยอาศยโปรแกรมอนๆ ชวย กบแบบทำงานดวยตวเอง เพอใชเปนพนฐานในการสรางเครองมอกำจดไวรสในบทตอไป”
Sample
http://www.exp-media.net
18 ลวงไต! ไวรส เลม 2 ฉบบสรางเครองมอกำจดไวรสดวยตวเอง งายนดเดยว
หลายคนคงมความเชอวาไฟลทเปนไวรสจะตองเปนไฟลทเรยกกนโดยทวไปวาไฟลโปรแกรม หรอเรยกเปนภาษาทางการวา Executable File ซงสวนใหญกคอไฟล .exe และ .comเทานน แตจากประสบการณทไดพบเหนไวรสมาทำใหรวา จรงๆ แลวไฟลไวรสไมไดจำกดอยแคนน เนองจากผสรางไวรสมการพฒนารปแบบใหมๆ ของไวรส (ในทางไมด) เพอทจะตบตาผใชใหแนบเนยนมากขน
ดงนนในบทนจงขออธบายถงไวรสรปแบบนามสกลตางๆ ทไดพบเหนมา เพอจะไดทำความเขาใจกนใหมวา จรงๆ แลวไวรสนนไมใชเพยงแค .exe หรอ .com อยางทเขาใจกนโดยจะขอแบงออกเปน 2 ประเภทใหญๆ เพอใหงายตอการแยกแยะและทำความเขาใจ
ไวรสประเภทแรกขอเรยกวาพวกตระกลอาศยชาวบานแลวกน เนองจากวาไวรสประเภทนไมสามารถทำงานดวยตวเองไดจะตองอาศยชาวบานในการรนตวมนขนมาเสมอ จนบางครงทำใหหลายคนคดไปวาเจาตวทไวรสใชอาศยเพอรนตวมนขนมานนกลายเปนไวรสไปซะเองความจรงแลวไมใชนะครบ มนแคโดนไวรสยมมอมาใชในการรนเทานนเอง เดยวผมจะคอยๆอธบายใหเขาใจวาเจาตวไหนตองอาศยใครบาง จะไดแยกแยะถกวาตวไหนเปนไวรสแลวตวไหนทเปนโปรแกรมธรรมดา แตโดนไวรสยมมอมาใชงาน
ไฟลประเภท Batch File (.bat) เปนไฟลทนยมใชกนมากในสมยทระบบปฏบตการยงเปน
DOS รวมถง Windows ยคแรกๆ ตงแต Windows 3.1– Windows 2000 กยงใชไฟลประเภทนอยพอสมควร แตปจจบนตงแต Windows XP เปนตนไป การใชไฟลประเภทนแทบไมมใหเหนอกเลย เนองจากทาง Microsoft ไดประกาศยกเลกการใชงาน DOS ไปเมอประมาณป 2000ซงในขณะนนถงกบมการจดงานเลยงอำลา DOS จาก Microsoft เปนเรองเปนราวเลยทเดยวจงนบวา DOS Version 8.0 ทมากบ Windows ME เปน DOS ตวสดทายททาง Microsoftพฒนา ออกมาใชงาน
สำหรบผทเคยใช Windows รนเกา (กอน XP) นาจะพอจำไดวาสมยนนตองใชการเรยกคำสง command แทนการเรยกคำสง cmd เหมอนกบสมยน และหนาตาการเรยกใช DOS ในWindows สมยนนกตางกบสมยนเพราะนนเปน DOS ทรนอยใน Mode ของ DOS แทๆ (16 Bit)
Sample
http://www.exp-media.net
19
ไวรสไมไดมแค EXE
ถงแมวาทาง Microsoft จะประกาศอำลา DOS อยางเปนทางการไปแลว แตใน WindowsXP กยงแอบนำ DOS ของ Windows ME เกบไวใชงาน ถงจะเปนเพยงบางสวนไมใช DOSแบบเตมตวเหมอนสมยกอนกตาม สาเหตเพราะมโปรแกรมบางตวทจำเปนตองใชการรนในDOS Mode อย เราสามารถเรยกใช DOS ทวานไดโดยการคลกทปม Start > Run จากนนทหนาตาง Run ใหพมพคำวา command ลงในชอง Open แลวคลกปม OK
จะเหนวาหนาตาง DOS ทปรากฏขนมาดเผนๆ แลวไมไดตางอะไรกบการเรยกดวยคำสงcmd เลย แตถาลองสงเกตดๆ จะพบวา การเรยกหนาตาง DOS ดวยคำสง command ทดานบนสดจะเขยนวา Microsoft(R) Windows DOS สวนหนาตาง DOS ทเรยกดวยคำสง cmdดานบนจะเขยนวา Microsoft Windows XP
พมพคำวา command ในชอง Open
เรยกหนาตาง DOS ดวยคำสง command
เรยกหนาตาง DOS ดวยคำสง cmd
หนาตางการทำงานใน DOS
Sample
http://www.exp-media.net
20 ลวงไต! ไวรส เลม 2 ฉบบสรางเครองมอกำจดไวรสดวยตวเอง งายนดเดยว
อกจดทอยากใหสงเกตคอ สวนของ Prompt ทแสดงชอ Path ปจจบนทหนาตาง command(Windows DOS) จะแสดงเปน C:\DOCUME~1\TARPAE> นนเปนเพราะขอจำกดของ DOS(แทๆ) ทไมสามารถแสดงชอไฟลหรอโฟลเดอรทมชองวางได จงยอคำวา C:\Documents andSettings เปน C:\DOCUME~1 แทน และกรณทชอไฟลยาวเกนกวา 8 ตวอกษรกจะใชชอยอแบบนเชนกน
อกจดหนงทนาสนใจและเปนเหตผลทผมแนะนำใหรจกกบคำสง command หรอ WindowsDOS กคอ กรณทตดไวรสแลวไมสามารถใชคำสง cmd ได ถาจำเปนตองใชคำสงใน DOS จรงๆเราสามารถใชคำสง command แทน cmd ได เพราะคา Registry ทไวรสไปแกไขไมไดสงผลกบคำสง Command แตอยางใด เพยงแตอาจยงยากในเรองของชอไฟลทมชองวาง เพราะอยางทบอกวาเมอใชงาน DOS บน Windows เราไมสามารถอางชอแบบมชองวางได
กลบมาทเรอง Batch File กนตอ Batch File คอไฟลประเภท Text File หรอ Ascii Fileหมายถง ไฟลทเกบขอมลเปนตวอกษรธรรมดา สามารถเปดดไดดวยโปรแกรม Text Editor ทวไปเชน Notepad เปนตน ภายใน Batch File ประกอบดวยคำสง DOS ทมการเขยนเปนบรรทดตามลำดบของคำสงทตองการใหทำงาน หรอเรยกงายๆ วาเปนไฟลทรวมชดคำสงของ DOS เพอประหยดเวลาในการพมพทละคำสงนนเอง (ดงตวอยางตอไปน)
ตวอยาง หากตองการสรางโฟลเดอรชอ Test Dir ไวใน Root ของไดรฟ C: คำสงแรกทตองพมพคอ CD\ (หมายถงการออกมาท Root ของไดรฟ) เนองจากเมอเปดใช cmd เพอเขาสDOS จาก Windows ทกครงจะมคาเรมตนท C:\Documents and Settings\ชอ User ทใชในการ Login ซงในทนคอ C:\Documents and Settings\Tarpae ดงนนเมอตองการสรางโฟลเดอรไวท Root ของไดรฟ C จงตองออกมาอยท C:\> กอน (ดงรป)
พมพคำสง CD\
โปรแกรมจะออกมาอยท Root ของ
ไดรฟ C (C:\>)
Sample
http://www.exp-media.net
21
ไวรสไมไดมแค EXE
จากนนใหสรางโฟลเดอรโดยใชคำสง MD (Make Directory) ตามดวยชอของโฟลเดอรทตองการสราง และถาชอมการเวนวรรคกตองใสเครองหมาย “ ” ครอบไวเสมอ เชน “Test Dir”เพราะไมงนตว DOS จะมองวาใหสรางโฟลเดอรทชอ Test และชอ Dir (จะกลายเปนการสรางโฟลเดอร 2 โฟลเดอรแทนทจะเปนโฟลเดอรเดยว)
เมอสรางโฟลเดอรเรยบรอยแลว ใหเขาไปในโฟลเดอรนนๆ กอนทจะเรมสรางไฟลไวภายใน(นกภาพเทยบกบ Windows เหมอนตอนทดบเบลคลกเขาไปในโฟลเดอรนนกอนจะสรางไฟลไวขางใน) โดยคำสงทใชสำหรบเขาไปในโฟลเดอรกคอ CD (Change Directory) ตามดวยชอของโฟลเดอร (คำสง CD จะใสเครองหมาย “ ” หรอไมกได ถงแมชอนนจะมชองวางกตาม เพราะคำสง CD สามารถอางชอทมชองวางได ตางจากคำสง MD ทไมสามารถทำได)
สำหรบคนทจำเปนตองใชคำสง command แทน cmd จะไมสามารถอางถงชอทมชองวางดวยคำสง CD แบบนได ไมวาจะใส (“ ”) ครอบชอแลวกตาม (ดงรปดานลาง)
พมพคำสง MD “Test Dir” เพอสรางโฟลเดอร
ทชอ Test Dir (หากชอมชองวางจะตองใส “ ”
ครอบชอไวดวยเสมอ)
พมพคำสง CD Test Dir
ตำแหนงจะเปลยนไป โดยเขาไปอยใน
โฟลเดอร Test Dir ตามทกำหนดทนท
ไมสามารถเขาสโฟลเดอร Test Dir ไดถง แมจะ
ใสเครองหมาย (“ ”) ครอบชอแลวกตาม
Sample
http://www.exp-media.net
22 ลวงไต! ไวรส เลม 2 ฉบบสรางเครองมอกำจดไวรสดวยตวเอง งายนดเดยว
การแกปญหากรณทชอของไฟลหรอโฟลเดอรมชองวาง หรอความยาวยาวเกน 8 ตวอกษรสำหรบ Windows DOS กคอ ตองอางดวยชอแบบยอเทานน และวธทจะรชอยอสามารถทำไดโดยใชคำสง DIR /X (สงใหแสดงรายชอของไฟลและโฟลเดอร โดย /X จะเปน การบอกวาใหแสดงชอแบบยอออกมาดวย) จะเหนวามการแสดงรายชอแบบยอของไฟลและโฟลเดอรกอนชอแบบเตม ในตวอยางนจะเปนชอ TESTDI~1 นนเอง
เมอพมพคำสง CD Testdi~1 โดยอางถงชอโฟลเดอรดวยชอแบบยอ เรากสามารถเขาไปในโฟลเดอร Test Dir ไดแลว
ขนตอนตอมาผมตองการสรางไฟลชอ AAA.txt ไวในโฟลเดอร Test Dir ซงภายในตองการใหมขอความวา Test Batch ผมกตองพมพคำสงวา ECHO Test Batch > AAA.txt
ชอยอ TESTDI~1 ทได
พมพคำสง CD ตามดวยชอยอของโฟลเดอร
จากตวอยางคอ CD Testdi~1 เพยงแคนเรา
กสามารถเขาไปโฟลเดอร Test Dir ไดแลว
เมอเขาไปยงโฟลเดอร Test Dir ไดแลวให
พมพคำสง ECHO Test Batch > AAA.txt
เพอสรางไฟลชอ AAA.txt ในโฟลเดอร Test
Dir โดยใหมขอความภายในวา Test Batch
Sample
http://www.exp-media.net
23
ไวรสไมไดมแค EXE
จะเหนวาผมสามารถสรางโฟลเดอรทชอ Test Dir ไวจดเกบไฟลทชอ AAA.txt โดยทมขอความภายในวา Test Batch ไดแลว
ไฟล AAA.txt ทเกบในโฟลเดอร Test Dir
เมอคลกเขาไปในไฟล AAA.txt จะเหนวาม
ขอความวา Test Batch อยภายใน
จากรายละเอยดขางตน ถงแมขนตอนทงหมดจะไมยงยากอะไรมากนก แตถาตองมาสรางอะไรแบบนหลายๆ ครง หรอถาตองการสรางแบบเดยวกนนหลายๆ ไฟล การจะมานงพมพคำสงทละบรรทดซำๆ กนคงไมใชเรองสนกแน ดวยเหตนจงมการสราง Batch File ขนมาชวยใหเราทำงานไดสะดวกรวดเรวขน ภายใน Batch File จะประกอบดวยคำสงตาง ๆ ตามทผมไดแสดงมาในตวอยางขางตน โดยจะแยกคำสงออกเปนบรรทดๆ หากมการเรยกใช Batch File นนๆ กจะทำงานคำสงทละบรรทดตามทเราไดกำหนดไวทนท จงไมตองมานงพมพหลายๆ คำสงใหเสยเวลาอกตอไป (ตามตวอยางขางตนผมได Save คำสงทงหมดเกบไวใน Batch File ทชอวา DD.batหรอใครจะเกบเปนนามสกล .cmd กไดเชนกน)
คำสงทงหมดทจดเกบอยใน Batch File
จะแยกเกบเปนบรรทดๆ ออกจากกนSample
http://www.exp-media.net
24 ลวงไต! ไวรส เลม 2 ฉบบสรางเครองมอกำจดไวรสดวยตวเอง งายนดเดยว
สำหรบไวรสทเปนประเภท Batch File นกเชนเดยวกน นนคอมการบรรจคำสงการทำงานแบบเดยวกนน เพยงแตคำสงทใชจะไมใชแคการสรางโฟลเดอรหรอไฟลตามทไดแสดงเปนตวอยางไปขางตน แตเปนคำสงอนตราย เชน สงลบไฟล หรอแมกระทงสง Format ฮารดดสกของเรา เปนตน
ตามทไดอธบายถงการทำงานของไวรสประเภท Batch File คงจะเหนกนแลววาไวรสประเภทนไมไดทำงานดวยตนเองเหมอนกน มนตองอาศยการแปลชดคำสงโดยโปรแกรม cmd.exe หรอcommand.exe อกทหนงจงจะสามารถทำงานได และนกอาจเปนเหตผลหนงทไวรสโดยทวไปเลอกทจะไมใช Batch File สรางไวรส เพราะทกครงทมการทำงานของ Batch File กจะมหนาจอของ DOS ปรากฎขนมาใหเหนเสมอ ถงแมการรน Batch File ใน Windows จะไมไดคางหนาจอของ DOS เหมอนการเรยกผานทาง cmd หรอ command แตผใชงานจะสงเกตไดวามหนาจอของ DOS (หนาจอดำๆ) ปรากฎขนมา ซงอาจทำใหเกดพรธไดนนเอง
ถงแมไวรสประเภทนจะไมคอยมใหพบเหนแลว เนองจากคำสงใน DOS ทมไมสามารถควบคมหรอสงการทำงานของ Windows ไดมากนก แมวาการใช Batch File จะไมเปนทนยมในปจจบน เพราะมการหนไปใช Windows Script ททำงานบน Windows ไดดกวาแทน (เราจะไดเรยนร Windows Script ในหวขอตอไป) แตกควรศกษาไวเพอความปลอดภยจะดกวา เพราะอยางทบอกมนยงพอมคำสงททำอนตรายกบขอมลของเราไดพอสมควร หรอในบางครงตวBatch File เองอาจไมไดมคำสงอนตรายใดๆ บรรจอย แตมไวรสบางตวทใช Batch File ในการเรยกใชไวรสตวจรงอกท โดยทผใชทวไปมกไมคอยใหความสนใจกบไฟลประเภทนมากนก
ทกครงทมการทำงานของ Batch File
จะมหนาตาง DOS ปรากฏขนมาเสมอSample
http://www.exp-media.net
25
ไวรสไมไดมแค EXE
ดงนนถาเหนไฟลประเภทนกอยาไปดบเบลคลกเรยกมนสะเปะสะปะ ใหลองคลกขวาแลวเลอกคำสง Edit เพอดคำสงขางในกอนวา มคำสงใดทเปนอนตรายกบคอมพวเตอรของเราบาง
คลกขวาท Batch File แลวคลกเลอกคำสง Edit
กอนจบเรองไวรสประเภท Batch File อยากแนะนำเทคนคเพมเตมสำหรบผทชอบใชคำสงcmd และ command โดยเฉพาะผทคนเคย DOS มากอน เพราะคดวาหลายๆ คนอาจรสกขดใจในการใชคำสง DIR เพอทำการแสดงรายชอของไฟล ซงในสมยทเปน DOS การแสดงผลจากการใชคำสง DIR รายชอของไฟลและโฟลเดอรจะอยทางซายสดและวนเวลาในการสรางจะอยทางดานขวาสด
แต cmd และ command (ใน Windows DOS) ปจจบนการแสดงผลของคำสง DIR จะสลบกนคอ ฝงซายจะแสดงวนเวลาในการสราง สวนฝงขวาจะแสดงรายชอไฟลและโฟลเดอรซงหลายครงมนไมคอยถนดในการมอง และอาจรสกไมคนเคยสำหรบผทเคยใช DOS แบบเกา
การแสดงผลของคำสง Dir ใน DOS แทๆ รายชอไฟลและโฟลเดอรจะแสดงฝงซาย สวนวนเวลาในการสรางจะแสดงทางฝงขวา
Sample
http://www.exp-media.net
26 ลวงไต! ไวรส เลม 2 ฉบบสรางเครองมอกำจดไวรสดวยตวเอง งายนดเดยว
การแสดงผลของคำสง Dir ใน Windows DOS จะแสดงรายชอไฟลและโฟลเดอรทางฝงขวา สวนวนเวลาในการสรางจะแสดงทางฝงซาย
วธแกปญหาใหการแสดงผลของคำสง Dir กลบเปนเหมอน DOS สมยกอนคอ เอาชอไฟลและโฟลเดอรมาไวดานซายสด สามารถทำไดดงน
1
1 คลกขวาทไอคอน My Computer
แลวคลกเลอกคำสง PropertiesSample
http://www.exp-media.net
27
ไวรสไมไดมแค EXE
2 คลกแทบ Advanced
3 คลกปม Environment Variables
3
4 คลกปม New ในสวนของ User variables
for ชอทเราใช Logon เพอใหการแกไขมผล
กบ User ทใชงานเทานน4
2
หากตองการใหการแกไขนมผลกบทก User ทใช
ในเครองคอมพวเตอร ใหคลกปม New ในสวน
ของ System variables
6
7
5 ทหนาตาง New User Variable ใหระบคา
DIRCMDในชอง Variable name
6 ระบคา /-N ในชอง Variable value
7 คลกปม OK
5
Sample
http://www.exp-media.net
28 ลวงไต! ไวรส เลม 2 ฉบบสรางเครองมอกำจดไวรสดวยตวเอง งายนดเดยว
จากนนไปท cmd.exe อกครงแลวใชคำสง DIR ด กจะเหนวาคำสง DIR สามารถแสดงผลรายชอไฟลและโฟลเดอรไวทางฝงดานซาย และแสดงวนเวลาในการสรางทางฝงขวาเหมอนDOS สมยกอนแลว
ไวรสจำพวก Script หรอเรยกแบบเตมยศวา Windows Script Host เปนไวรสอกประเภท
หนงทระบาดกนมากในชวงทผานมา เนองจากการสรางไวรสประเภทนทำไดคอนขางงายสามารถใช Notepad สรางไดเลย ซงในบทหลงเราจะไดเรยนรการสรางไฟลประเภทนกน ไมใชสรางไวรสนะครบ แตเราจะใช Windows Script Host สรางตวกำจดไวรสแทน (หนามยอกตองเอาหนามบง) สำหรบใครทยงนกภาพไมออกวาไวรสจำพวก Script มตวไหนบาง ใหลองนกถงไวรสทมอาการแกไขขอความท Titlebar ของ IE (Internet Explorer) ด เพราะ 99% ของไวรสจำพวกนจะมการแสดงศกยภาพโดยการแกไขในสวนนเสมอ สาเหตทไวรสจำพวกนมอาการแกไขในสวนของ Titlebar เกอบทกตวอาจเปนเพราะการสรางไวรสจำพวกนไมยงยาก เพยงแคใชNotepad หรอโปรแกรม Text Editor อนๆ กสามารถแกไขในสวน Code ของตวไวรสได สงผลใหเมอมไวรสประเภทนออกมาตวหนง กจะมคนอนๆ ทอยากมไวรสเปนของตวเองเขาไปแกไข Codeในสวนของการกำหนดขอความ Titlebar ใหเปนชอของตวเองหรอขอความอนใดทตองการเพยงเทานกจะไดไวรสตวใหมออกมาแลว
จากตวอยางผมเปด Code ของไวรสดวยโปรแกรม Notepad แลวแกไข Code ในบรรทดทใชกำหนดขอความทบรเวณ Titlebar ของโปรแกรม IE ใหเปนขอความทผมตองการ (ดงรป)
แกไข Code ในบรรทดทใชกำหนดขอความ Titlebar ของโปรแกรม IE
Sample
http://www.exp-media.net
29
ไวรสไมไดมแค EXE
เพยงเทานผมกไดไวรสตวใหมมาอกตวแลว (การสรางไวรสเปนสงทไมควรทำ เพราะเปนการสรางความเดอดรอนใหกบบคคลอน)
คงพอจะนกอาการของเจาไวรสตระกลนออกแลวนะครบ คราวนมาทำความรจก WindowScript Host เพมเตมกนอกหนอย เพอปพนฐานความเขาใจในการเตรยมตวไปเขยนโปรแกรมดวย Window Script Host ในบทหลง
จากนผมจะขอเรยก Window Script Host แบบสนๆ วา WSH หรอจะเรยกวา Script ในบางครง ทงนกเพอความสะดวกและกระชบจงขอใหเขาใจตรงกนวาคอความหมายเดยวกน
สำหรบ WSH นนถาจะเรยกวาเปน Batch File ใน Windows กคงจะไมผดนก เพราะ WSHจะเปนรปแบบการเขยนชดคำสงลำดบการทำงานเหมอนกบ Batch File เพยงแตจะมคำสงในการจดการและควบคมตว Windows ไดมากกวา Batch File ทเปนคำสงใน DOS เทานน
WSH จะมมากบ Windows ตงแตสมย Windows 98 แตเรมใชงานอยางแพรหลายจรงๆกในชวงของ Windows 2000 เปนตนไป โดยการใชงานในยคแรกๆ สมย Windows 2000 มกจะใชสราง Login Scripts เชน การ Map Printer หรอการกำหนดคาเรมตนตางๆ ของ User ท Login
ผลทไดจากการแกไข Code ของตวไวรสใน
บรรทดทใชกำหนดขอความ Titlebar
เขาระบบ ทสำคญยงสามารถจะใชภาษาในการเขยนไดหลากหลาย แตทเปนมาตรฐานหลกของ Microsoft ม2 ภาษา คอ Jscript (นามสกล .js)และ VBScript (นามสกล .vbs) ซงตวไอคอนของไฟลประเภท Script จะมรปเปนกระดาษมวนๆ (ไฟล .vbs) จะเปนสฟา สวนไฟล .js เปนสเหลอง)
Sample
http://www.exp-media.net
30 ลวงไต! ไวรส เลม 2 ฉบบสรางเครองมอกำจดไวรสดวยตวเอง งายนดเดยว
โดยทวไปไวรสชนดนทเราพบเหนจะมการใช VBScript เกอบ 100% เนองจากความงายของภาษาทใชเขยน ดงนนตอไปผมจะขอกลาวถงเฉพาะ .vbs เทานน ซงขนตอนการทำงาน ของWSH มดงน
จากรปจะเหนวาตว Script File นนไมสามารถทำงานไดดวยตวเอง (เหมอน .exe หรอ .comซงเปน Excuteable File)เนองจากตวมนเปนเพยง Text File ทบรรจคำสงขนตอนตางๆ ในการทำงานเทานน จงจำเปนจะตองมการแปลคำสงเพอให Windows เขาใจและสามารถทำงานไดตามชดคำสงทเขยนไวโดยตวชวยแปลอกทหนง (เหมอนการรน Batch File ทตองมการแปลคำสงโดย cmd.exe หรอ command.exe นนเอง) ซงโปรแกรมทใชแปลคำสงของ WSH ม 2 ตว คอ
1. CScript.exe(Console Based Script Host)2. WScript.exe (Windows Based Script Host)โปรแกรมทง 2 นมมาพรอมกบ Windows อยแลว ไมจำเปนตองตดตงเพมเตมแตอยางใด
โดยจะเกบอยในโฟลเดอร C:\WINDOWS\system32 (มหนาตาดงรปดานลาง)Sample
http://www.exp-media.net
31
ไวรสไมไดมแค EXE
เพอจะไดมองเหนภาพการทำงานของไฟลประเภทนวามขนตอนการสรางและทำงานอยางไร เราลองมาทดสอบการสรางไฟล Script แบบงายๆ กนกอน เพอปพนฐานการสรางไฟลประเภทนจะไดนำความรทไดมาแกไขไวรสกนตอไป เรมจากเปดโปรแกรม Notepad ขนมาแลวทำตามขนตอน ดงน
1 พมพคำสง WScript.Echo “Test VBS
Script” ในโปรแกรม Notepad
1
2 จดเกบคำสงไวใชงาน โดยคลกเมน
File > Save As
2
45
3
3 ทชอง Save in ใหเราคลกเลอกโฟลเดอรท
ตองการจดเกบคำสงนไวใชงาน จากตวอยาง
ใหเลอกเกบไวท Root ของไดรฟ C ทงนก
เพอความสะดวกในการเรยกใชงานสำหรบ
ในขนตอนตอไป
4 ทชอง File name ตงชอไฟลตามตองการ
แตอยาลมใสนามสกล .vbs ตอทาย (ถาไม
ใส .vbs ตอทาย Notepad กจะใสนามสกล
.txt ใหโดยอตโนมต)
5 คลกปม Save เรากจะไดไฟล Script ตาม
ทตองการ ในตวอยางมชอวาไฟล Test.vbs
Sample
http://www.exp-media.net
32 ลวงไต! ไวรส เลม 2 ฉบบสรางเครองมอกำจดไวรสดวยตวเอง งายนดเดยว
หลงจากสรางไฟล Script ชอ Test.vbs และเซฟเกบไวทไดรฟ C เรยบรอยแลว ใหเราทดสอบการทำงานของไฟล Script ทสรางดวยการดบเบลคลกทตวไฟลไดเลย จะเหนวามกลองขอความ “Test VBS Script” ปรากฏขนมา เพราะคำสง WScript.Echo นนเปนคำสงในการแสดงขอความทตองการนนเอง
อกจดทอยากใหสงเกตคอ ขณะทมกลองขอความขนมาถาดตรง Taskbar จะเหนวามการเปดโปรแกรม Wscript.exe(Windows Script Host) ขนมา และจะคางอยจนกวาเราจะคลกปมOK บนกลองขอความนน ซงเปนการแสดงใหเหนวาเมอมการเรยกใชไฟลประเภท Script กจะมการเรยกโปรแกรม Wscript.exe ขนมาทำการแปลคำสงนนเอง
ไฟล Scrit ทสรางไว
กลองขอความ Test VBS Script
จะปรากฏขนมา เมอดบเบลคลก
ทไฟล Script
มาถงตรงนคงพอเขาใจวธสรางไฟล Script กนบางแลวนะครบ จะเหนวามนสามารถสรางไดไมยงยากเลย จรงๆ แลวเพยงแคพมพคำสงใน Notepad แลว Save เกบไวเปนนามสกล .vbsกสามารถใชงานไดแลว (มนาเจาไวรสรปแบบนจงไดมมากจรงๆ)
คำถามตอมาคอ เจาไวรสทเปนไฟล Script แบบนจะเรยกตวเองขนมาทำงานไดอยางไรละเพราะมนคงไมสามารถดบเบลคลกทตวไฟลเหมอนทเราทำไดแน คำตอบคอ มนอาศยการเรยกจากไฟล Autorun.inf และการเขยนคาลงใน Registry เพอใหมการทำงานแบบอตโนมตพรอมๆ กบ Windows
ตรงจดนมเรองนาสนใจทอยากอธบายใหทราบเพมเตม ถาเราสงเกตการเรยกตวเองขนมาของไวรสประเภทน ไมวาจะเรยกจากไฟล Autorun.inf หรอเขยนคาลงใน Registry จะมจดทเหมอนกนตรงท ขางหนาชอไฟลไวรส.vbs มกจะระบ Wscript.exe นำหนาเสมอ ทำไมจงเปนเชนนนทงๆ ทหากระบแตชอไฟล.vbs กสามารถทำงานไดเหมอนกน เพราะตว Windows เองกรอยแลววาตองแปลไฟลพวกนดวยโปรแกรมอะไร เดยวจะพาไปดสาเหตในหวขอถดไปกนครบ
Sample
http://www.exp-media.net
33
ไวรสไมไดมแค EXE
ตวอยางคำสงทใชสรางไฟล Autorun.inf
ตวอยางการเขยนคาใน Registry
⌧ ⌧จากหวขอทแลวผมไดทงขอสงเกตไววา ไวรสประเภท Script หรอทเรยกงายๆ วาไวรส vbs
สวนใหญจะระบ Wscript.exe ไวหนาชอไฟลไวรสในการเรยกใชเสมอ ดงนนหวขอนจะมาพดถงสาเหตทไวรสจำเปนตองทำแบบนนกน
ตามทไดอธบายไวในกอนหนานวา การทำงานของไฟลประเภท Script จะตองมตวกลางทคอยแปลชดคำสงเพอนำไปใชงาน โดยจะมอย 2 โปรแกรมคอ Cscript.exe และ Wscript.exeสำหรบคาเรมตนของ Windows จะใชตว Wscript.exe เปนหลก ซงสามารถดไดโดยการเปดเมนFolder Options แลวคลกไปทแทบ File Types ซงเปนสวนทใชกำหนดนามสกลไฟลตางๆ วาเมอเราดบเบลคลกทไฟลนามสกลนนๆ จะใหเปดไฟลดงกลาวขนมาดวยโปรแกรมใด โดยเลอนลงมาทนามสกล vbs จะเหนวาในสวนของ Opens with ของไฟล .vbs ถกกำหนดวาใหเปดดวยโปรแกรม Windows Based Script Host ซงกคอ Wscript.exe นนเอง
หมายความวา เมอดบเบลคลกทไฟล .vbs ใดๆ กจะมการเรยก Wscript.exe ขนมาแปลชดคำสงในไฟล .vbs เพอใหทำงานตามชดคำสงทไดเขยนไว (ตางจากไฟล .exe หรอ .com ทเปน Executable File ทสามารถทำงานไดทนทโดยไมตองแปล) ซงจะเหนไดจากตวอยางทผานมาวามการเรยก Wscript.exe ขนมาทำงาน (สงเกตไดจาก Taskbar ครบ)
Sample
http://www.exp-media.net
34 ลวงไต! ไวรส เลม 2 ฉบบสรางเครองมอกำจดไวรสดวยตวเอง งายนดเดยว
เลอนเมาสมาทนามสกล VBS
ในสวนของ Open with ของไฟล .vbs จะเหน
วามการกำหนดใหเปดดวยโปรแกรม Windows
Based Script Host
ในการทำงานของไวรสตวจรงนน โดยทวไปจะไมมสวนของการแสดงผลขอความแบบนเนองจากตวไวรสจะเนนการแอบทำงานเงยบๆ ไมมสวนตดตอ หรอขอความใดใหผใชเหน ทำใหผใชไมสามารถรตววาขณะนไวรสไดตดเขามาในเครองเรยบรอยแลว จงไมมทางไดเหนหนาตางของ Wscript.exe ตรง Taskbar (เหมอนในตวอยาง) ถงแมขณะนนตวไวรสจะทำงานอยกตาม
เรามาทดลองทำงานแบบเงยบๆ กนดบาง โดยการแกไขคำสงในไฟล Test.vbs เรมตนจากเปดไฟล Test.vbs ขนมาดวยการคลกขวาทไฟล จากนนคลกเลอกคำสง Edit แลวแกไขคำสงในไฟล Test.vbs (ดงทปรากฏดานลาง) เมอเรยบรอยแลวให Save ขอมลทบไฟลเดมไปเลย
For i = 1 to 20 Set fso = CreateObject(“Scripting.FileSystemObject”) Set MyFile = fso.CreateTextFile(“c:\testfile.txt”, True) MyFile.WriteLine(“This is a test.”) MyFile.CloseWscript.sleep 6000Next
ใหเราทดลองดบเบลคลกทไฟล Test.vbs (ทไดแกไขคำสงแลว) เพอใหเรมทำงาน จะเหนวามการสรางไฟลชอ testfile.txt ไวในไดรฟ C: ตามทกำหนดไวในคำสง แตครงนเราจะไมเหนหนาตาง Wscript.exe เนองจากไมไดสงใหแสดงขอความใดๆ ในขณะททำงานนนเอง
Sample
http://www.exp-media.net
35
ไวรสไมไดมแค EXE
จากคำสงขางตนเปนการจำลองการทำงานของไวรสทมการสรางไฟล ซงปกตแลวไวรสจะใชคำสงนสรางไฟล Autorun.inf และไฟล Script ไวในทกๆ ไดรฟ แตเราจะสรางไฟลชอวาtestfile.txt ไวในไดรฟ C: และภายในไฟลกจะเขยนคำวา This is a test ไว โดยจะกำหนดใหมการสรางไฟลนทกๆ 6 วนาท เปนจำนวน 20 ครง ถามไฟลนอยแลวกใหเขยนทบไปเลยแตถาไมมกใหสรางใหม นนหมายความวา ไวรส (จำลอง) ของเราจะทำงานเปนเวลา 2 นาท (20 ครง*6 วนาท)นนเอง (การทำงานของไวรสจรงๆ แลวจะไมกำหนดจำนวนครงแบบน แตจะใชวธทำงานไปเรอยๆ จนกวาจะมการ Shut Down เครองคอมพวเตอร )
ไฟล testfile.txt จะถกเกบไวใน
ไดรฟ C: ตามคำสงทผใชกำหนด
เราสามารถพสจนไดวาไฟล Test.vbsนนทำงานอยจรง โดยลบไฟล testfile.txtทง กจะเหนวาเมอเวลาผานไป 6 วนาท จะมการสรางไฟล testfile. txt ขนมาใหมทกครงนนเปนเพราะตวไวรส (จำลอง) ยงทำงานอยจนกวาจะครบ 2 นาทตามทเรากำหนดและเมอเปดโปรแกรม Task Manager กจะพบวาตว Process ของ Wscript.exeยงทำงานอยเชนกน (Wscript.exe เปนโปรแกรมของ Windows ทโดนยมมอมาใชโดยไวรส ไมใชไวรสตวจรง) จนเมอครบ 2นาทกจะหายไปเองโดยอตโนมต
Processes ของ Wscript.exe ยงทำงานอย
Sample
http://www.exp-media.net
36 ลวงไต! ไวรส เลม 2 ฉบบสรางเครองมอกำจดไวรสดวยตวเอง งายนดเดยว
คราวนใหเปลยนมาลองใช Cscript.exe ในการรนไฟล .VBS กนดบาง ดงขนตอนตอไปน
1
2
3
4
5
6
7
1 เปดหนาตาง My Computer ขนมา จากนน
คลกเมน Tools > Folder Options
2 ทหนาตาง Folder Options ใหเราคลกแทบ
File Types
3 คลกเลอกท VBS
4 คลกปม Change
เดมไฟล .vbs ถกกำหนดใหเปดดวย Windows
Based Script Host
5 ทหนาตาง Open With คลกเลอกท Microsoft
(r) Console Based Script Host (หากไมมให
คลกปม Browse แลวเขาไปท C:\Windows
> System32 > คลกเลอกไฟล csript.exe แลว
คลกปม OK)
6 คลกถกหนาชอง Always use the selected
program to open this kind of file
7 คลกปม OK
Sample
http://www.exp-media.net
37
ไวรสไมไดมแค EXE
8
9
8 ตอนนในสวนของ Open with ไดแสดผลเปน
Microsoft (r) Console Based Script Host
แลว นนหมายความวา ไฟลนามสกล .vbs ถก
กำหนดใหเปดดวยโปรแกรม Cscript.ext แลว
9 คลกปม Close เพอออกจากหนาตาง Folder
Options
จากนนลองดบเบลคลกทไฟล Test.vbs อกครง คราวนจะเหนวามหนาตางคลายๆ DOSปรากฏขนมา ซงกคอหนาตางของตว Cscript.exe นนเอง ทงนเพราะวาการรนไฟล Test.vbsในตอนนมการรน (แปลคำสง) ผานโปรแกรม Cscript.exe แทนทจะเปน Wscript.exe แบบเดมและเนองจากตว Cscript.exe เปนการรนแบบ Console Based (เทยบไดกบการรนใน DOS)จงมหนาตางนปรากฎขนมาตลอดเวลาทไฟล .vbs ทำงาน ตางจาก Wscript.exe ทรนแบบWindows Based ซงจะทำงานเงยบๆ และไมมหนาตางใดนอกจากจะมการสงใหแสดงผล
หนาตางของตว Cscript.exe
Sample
http://www.exp-media.net
38 ลวงไต! ไวรส เลม 2 ฉบบสรางเครองมอกำจดไวรสดวยตวเอง งายนดเดยว
จดแตกตางอกจดทนาสนใจคอ สำหรบไฟล Script ทรนดวย Cscript.exe แบบน เปนการรนในระดบของ Application ถาเราดจาก Task Manager จะเหนวา มโปรแกรม Cscript.exe รนอยในสวนของ Applications ดวย ตางจากการรนของ Wscript.exe ทเปนการรนในระดบของProcess เทานน จงไมมหนาจอและไมปรากฎในสวนของ Applications
ดงนนในการหยดการทำงานของ Cscript.exe เราสามารถคลกเครองหมายกากบาท (ปมClose) ทมมขวาของหนาตาง Csript.exe ไดเลย เหมอนการปดโปรแกรมทวๆ ไป ไมจำเปนตองใชการ Kill Process เหมอน Wscript.exe
จากตวอยางทผานมาคงทำใหมองออกแลววา ทำไมไวรสประเภทนจงมกระบ Wscript.exeไวหนาชอไวรส นนเปนเพราะวาถาบางเครองมการตงคาใหใช Cscript.exe ในการแปลคำสงของไฟล vbs กจะทำใหการทำงานของไวรสมหนาตางปรากฎขนมา แนนอนวาจะทำใหผใชรตวทนทวามไฟล Script รนอย และผใชกสามารถหยดการทำงานของมนไดอยางงายดาย
หวงวาผอานคงจะเขาใจวธทำงานของไวรสจำพวก Script วามการทำงานอยางไรมากขนดงนนการลบไฟลไวรสประเภทนจงใหลบเฉพาะไฟล .vbs ทเปนตวไวรสเทานน อยาไปลบตวWscript.exe และ Cscript.exe ทเปนไฟลของ Windows ทถกยมมอมาใชในการรนไวรสละ เดยวScript ดๆ ตวอนจะพลอยรนไมไดไปดวย
ทหนาตาง Task Manager จะเหนวามโปรแกรม
Cscript.exe รนอยในสวนของ Applications
คลกปดโปรแกรมSample
http://www.exp-media.net
39
ไวรสไมไดมแค EXE
สำหรบไวรสทอาศยชาวบานในการทำงานอกประเภทหนง ไดแก ไวรสจำพวกไฟล dll
(Dynamic-link library) ซงหลายคนคงรจกและคนหนาคนตากนเปนอยางด โดยไอคอนของมนจะเปนรปเฟอง 2 อน ไฟล dll เปนไฟลทเกบทรพยากรตางๆ (หรอจะเรยกอยางเปนทางการวาLibrary File หรอไฟลหองสมด) ไมวาจะเปน Function การทำงานตางๆ ตวไอคอน และทรพยากรอนๆ ของ Windows ทมกจะมการใชงานรวมในหลายๆ โปรแกรม
ถามการเอาทรพยากรเหลานมารวมไวใน exe เลยกจะทำใหไฟล exe นนมขนาดใหญขนมาก ดงนนเมอรวาทรพยากรเหลานมการเรยกใชจากหลายโปรแกรม จงมการแยกออกมาเปนdll ไฟลเดยว แลวใหโปรแกรมอนทจำเปนตองใชทรพยากรเหลานนมาเรยกใชจากไฟลน(เหมอนเปนไฟลสาธารณะทมการใชรวมกนนนเอง) ดวยเหตนไฟล dll จงไมสามารถทำงานดวยตวมนเองได จำเปนจะตองเรยกใชจากโปรแกรมอนๆ เสมอ
จากรายละเอยดทบอกไวขางตนวา ในไฟล dll นอกจากจะมทรพยากรทมการใชรวมกนเชน รปภาพ เสยง ฯลฯ กยงมฟงกชนการทำงานตางๆ อยภายในดวย โดยฟงกชนเหลานนเปรยบเสมอนโปรแกรมยอยๆ ทอยภายในไฟล dll ดงนน Windows จงเตรยมชองทางททำใหผใชสามารถเรยกใชงานฟงกชนตางๆ ทอยภายในได โดยใชตวกลางในการรนไฟล dll ใหทำงาน แบบApplication (Run a DLL as an App) เพออำนวยความสะดวกในการเรยกใชงาน (แตไฟล dllจะตองสรางมาเพอใหสามารถเรยกใชงานรปแบบนไดเทานน เราไมสามารถเรยกใชไฟล dllทกตวในรปแบบนได) โดยตวกลางทวากคอ โปรแกรม Rundll32.exe ซงเปนรปไอคอนสขาวทเกบอยใน C:\WINDOWS\system32
Sample
http://www.exp-media.net
40 ลวงไต! ไวรส เลม 2 ฉบบสรางเครองมอกำจดไวรสดวยตวเอง งายนดเดยว
rundll32.exe เปนตวกลางทใชรนไฟล
Dll ใหทำงานแบบ Application (Run
a DLL as an App)
สำหรบรปแบบคำสงในการเรยกใชโปรแกรม rundll32.exe จะเปนดงนครบ
พดไปเราอาจยงมองไมเหนภาพ ถายงงนมาลองใชคำสงรปแบบนกนดครบเพอจะไดเขาใจมากขน โดยคลกทปม Start > Run เมอปรากฏหนาตาง Run ขนมาใหพมพคำสงดงน
RUNDLL32.EXE <dllname>,<entrypoint> <optional arguments>
RUNDLL32.EXE SHELL32.DLL,Control_RunDLL
ทหนาตาง Run ปอนคำสง RUNDLL32.
EXE SHELL32.DLL,Control_RunDLL
คลกปม OK
dllname ชอของไฟล .dll ทจะทำการเรยกใชงานentrypoint ชอของฟงกชนภายในไฟล .dll ทจะเรยกใชoption arguments สวนประกอบอนๆ ทจะมหรอไมกไดขนอยกบวาภายในไฟล .dll นนกำหนดรปแบบการเรยกใชงานไวอยางไร
ความหมายของแตละคำสง
Sample
http://www.exp-media.net
จากคำสงขางตนจะทำใหโปรแกรมเปดโฟลเดอร Control Panel ขนมา เพราะคำสงทปอนเปนการเรยกใชฟงกชนทชอ Control_RunDLL จากไฟล Shell32.dll ซงเปนฟงกชนทใชเปดโฟลเดอร Control Panel นนเอง ทนคงพอจะมองเหนวธการใชงานแลวนะครบ
คราวนเรามาลองเรยกใชแบบมการระบสวนของ option arguments เพมเตมกนบางโดยคลกทปม Start > Run แลวพมพคำสงตอไปนลงในหนาตาง Run
RUNDLL32.EXE SHELL32.DLL,Control_RunDLL desk.cpl
ทหนาตาง Run ปอนคำสง RUNDLL32.EXE
SHELL32.DLL,Control_RunDLL desk.cpl
คลกปม OK
หนาตาง Display Properties จะปรากฏ
ขนมาทนท
จากนนลองตรวจสอบรายชอของ Process โดยเรยกหนาตาง Task Manager จะเหนวามProcess ของ Rundll32.exe รนอย และนกเปนสาเหตหนงทคนเขยนไวรสบางคนเลอกทจะเขยนไวรสในรปแบบของไฟล dll แลวอาศยการเรยกใชผานไฟล Rundll32.exe ทงทการสรางไวรสแบบ dll มความยงยากกวาการสรางแบบ exe
Sample
http://www.exp-media.net
42 ลวงไต! ไวรส เลม 2 ฉบบสรางเครองมอกำจดไวรสดวยตวเอง งายนดเดยว
เพราะโปรแกรมหลายตวของ Windows มการเรยกใชในรปแบบนพอสมควร เชน การเปดหนา Display Properties (ตามตวอยางทไดแสดงไปขางตน) หรอแมกระทงการเปดโปรแกรมใดๆกตามทอยใน Control Panel เกอบทงหมดกจะใชรปแบบน ทดลองเปดโปรแกรมในหนาตางControl Panel แลวเปดหนาตาง Task Manager ขนมาด จะเหนวาม Process ชอ Rundll32.exeรนขนมาเกอบทกโปรแกรมทเปด
สำหรบจดออนของ Task Manager ในกรณของ Rundll32.exe กคอใน Task Managerจะไมแสดงรายละเอยดวา Rundll32.exe มการเรยกใช dll ตวไหน ทำใหเราไมสามารถแยกแยะไดวา Process ตวไหนท Windows เรยกใชเอง และตวไหนโดนเรยกใชโดยไวรส สงผลใหไวรสทใชรปแบบนสามารถแฝงตวไดโดยทผใชไมสงสยเลย เพราะเขาใจวาเปน Process ทวๆ ไปของWindows นนเอง
ทหนาตาง Task Manager ไวรสหลายประเภทมกจะปลอมแปลงชอตวเองใหมความคลายคลงกบโปรแกรม Rundll32.exe เพอไมใหผใชเกดความสงสย เชน Run32dll.exe หรอ Rundlll32.exe เปนตน
Note
ในหนาตาง Task Manager ไมสามารถแสดง
รายละเอยดวา Rundll32.exe มการใช dll ตว
ไหน จงแยกแยะไมออกวาตวไหนท Windows
เรยกใชเอง หรอตวไหนทเรยกใชโดยไวรสSample
http://www.exp-media.net
43
ไวรสไมไดมแค EXE
สำหรบการดรายละเอยด Process ของไฟล Rundll32.exe ใหใชโปรแกรม Process Viewer(ดาวนโหลดมาใชงานไดฟรท www.prcview.com) แทนโปรแกรม Task Manager ซงโปรแกรมนผมไดเคยแนะนำไปแลวในหนงสอ “ลวงไตไวรส เลม1 ฉบบปองกนและกำจดไวรสดวยตวเอง”เพราะ โปรแกรม Process Viewer สามารถดรายละเอยดของไฟล dll ทถกเรยกใชดวยโปรแกรมRundll32.exe ไดจากคอลมน Full Path ซงในตวอยางจะเหนวาโปรแกรม Rundll32.exeมการเรยกใชไฟล Shell32.dll ทเปนของ Windows
จากตวอยางโปรแกรม Rundll32.exe มการเรยกใชไฟล Shell32.dll ของ Windows
กอนจะจบในหวขอนขอยำวา ถาพบเหนวา Process ของ Rundll32.exe เรยกใชไฟล dllทเราไมคนเคยหรอมชอแปลกๆ นนกไมไดหมายความวาจะเปนไวรสเสมอไป เพราะยงมอกหลายโปรแกรม (นอกจากตว Windows และไวรส) ทใชวธการรนแบบน ดงนนถาพบเหนชอ dllทตองสงสยกอยาเพงลบทง ใหจดชอมนไวกอนแลวใชวธตรวจสอบตามทผมจะไดพดถงในทายบทน (หนา 57) อกทหนง ทสำคญขอใหเขาใจวาไฟล Rundll32.exe ทอยในโฟลเดอร\Windows\System32\ นนเปนไฟลของ Windows ซงอาจโดนไวรสยมมอมาใชงาน (เหมอนกบWscript.exe) ตว Rundll32.exe ไมใชไวรสแตอยางใดอยาไปลบทงเดดขาด (ยกเวนวามไฟลRundll32.exe อยในโฟลเดอรอนทไมใชในโฟลเดอร C:\Windows\System32\ อนนมนใจไดเลยวาเปนไวรสใหลบทงไปไดเลย)
Sample
http://www.exp-media.net
44 ลวงไต! ไวรส เลม 2 ฉบบสรางเครองมอกำจดไวรสดวยตวเอง งายนดเดยว
ในหวขอทแลวไดพดถงเรองของไวรสทอาศยชาวบานในการรนตวเองขนมาจนบางครงทำใหผใชเขาใจผดไปวาโปรแกรมตางๆ ทถกไวรสยมมอมาใชในการรนนนเปนตวไวรสไปซะเองในหวขอนผมจะพดถงเรองของไวรสนามสกลอนทไมใช exe โดยไวรสพวกนสามารถรนไดดวยตวเอง ไมจำเปนตองอาศยโปรแกรมหรอไฟลใดๆ ในการรน
ไวรสตวแรกทเคยพบเหนมากคอ ไวรสทมนามสกล .Pif (ยอมาจาก Program Information
File) ซงนามสกล .Pif นนเปนไฟล Shortcut ทใชเรยกโปรแกรมของ DOS ใน Windows ภายในไฟล .Pif จะระบรายละเอยดทจำเปนในการรนโปรแกรม DOS ใน Windows เชน รายละเอยดของ Path ทใช, ขนาดหนาตาง รวมถงหนวยความจำทใช เพราะการจดการหนวยความจำในDOS กบ Windows จะตางกน ดงนนการทจะรนโปรแกรม DOS ใน Windows ไดจำเปนจะตองมการกำหนดรายละเอยดตางๆ ไวในไฟล .Pif สำหรบผทเคยใชระบบ Windows เกาๆ ตงแต 98ลงไปคงจะคนเคยกบไฟลประเภทนด เพราะสมยนนจะมหลายโปรแกรมทตองใชการรนใน DOSของ Windows อย โดยตวไอคอนของไฟลนามสกล .Pif จะเปนดงรปทปรากฏดานลางน
ไฟล Pif จะไมแสดงนามสกลไฟลใหเหน ถงแมจะเปดใหแสดงนามสกลไฟลทงหมดแลวกตาม
Sample
http://www.exp-media.net
45
ไวรสไมไดมแค EXE
ถงแมวาสมยนเราแทบไมไดพบโปรแกรมประเภทนอกแลว แต Windows กยงมการตงคาใหรองรบไฟลนามสกลนอย จงเปนชองทางทไวรสหลายๆ ตวจะอาศยใชนามสกลนแทน .exeสาเหตเพราะตวไอคอนของไฟล .Pif นนเปนรป Shortcut ของ MS-DOS ซงทำใหดนาเชอถอวาเปนไฟลระบบของ Windows อกอยางคอไฟลนามสกลนจะไมมการแสดงนามสกลนะครบถงแมจะเปดใหแสดงนามสกลทงหมด โดยการคลกเอาเครองหมายถกในชอง Hide extensionsfor known file types จากหนาตาง Folder Options ออกแลวกตาม
สำหรบสาเหตทไมมการแสดงนามสกลของไฟลผมขอยกไปอธบายในบทกรณศกษาอาการไวรส (บทท 4 หนา141)
ภายในไฟล .Pif จะแสดงรายละเอยดทจำเปนในการ
รนโปรแกรม DOS ใน Windows เชน รายละเอยด
ของ Path ทใช หรอจำนวนหนวยความจำ เปนตน
ทหนาตาง Folder Options ทแทบ View คลก
เอาเครองหมายถกในชอง Hide extensions for
known file types ออก เพอกำหนดใหโปรแกรม
สามารถแสดงนามสกลไฟลทงหมดได
Sample
http://www.exp-media.net
46 ลวงไต! ไวรส เลม 2 ฉบบสรางเครองมอกำจดไวรสดวยตวเอง งายนดเดยว
เรามาลองสรางไฟล .Pif กนสกไฟลนะครบ เพอเปนการพสจนวาไฟล .Pif นนทำงานไดจรงจะไดเหนภาพชดเจนวา ไวรสใชวธไหนสรางไฟล .Pif โดยผมจะเขาไปท C:\Windows\System32\เพอกอบปโปรแกรม Calc.exe ออกมาวางไวในโฟลเดอรบนหนา Desktop แลวเปลยนชอไฟลCalc.exe ใหเปน Calc2.pif ซงจะเหนไดวาไฟล Calc.exe เดมทมไอคอนเปนรปเครองคดเลขนนเมอเปลยนนามสกลจาก .exe เปน .Pif รปไอคอนจะเปลยนไปเปนรป Shortcut ของ MS-DOSทนท และจะไมแสดงนามสกลไฟลใหเหนอกดวย
ไฟลเดมกอนจะเปลยนนามสกลเปน
.Pif จะมไอคอนเปนรปเครองคดเลข
เมอดบเบลคลกไฟล Calc.pif กจะมการเปดโปรแกรมเครองคดเลขขนมาเหมอนเดมครบจงสรปไดวา วธการทคนสรางไวรสใชคอ สรางไฟลไวรสเปนไฟล .exe ธรรมดา แลวคอยมาเปลยนนามสกลเปน .Pif เพอตบตาผใชงาน เพราะไฟลนนๆ ไมไดเปนไฟลประเภท .Pif โดยแทจรงแตอยางใด เพราะตงแต Windows XP ไฟลประเภทนไมมการใชงานแลว ดงจะเหนไดจากการทโปรแกรมปองกนไวรสบางตวไดยกเลกการใชนามสกลนเมอมการตดตงโปรแกรมทงนเพอปองกนไวรสใชนามสกลนในการทำงาน
ดงนนถาพบเหนไฟลประเภทนกอยาเผลอไปดบเบลคลกเรยกใชนะครบ ใหสงสยเอาไวกอนเลยวาเปนไวรสปลอมตวมา เพราะอยางทบอกวาใน Windows XP เปนตนไป ไฟลประเภทนแทบจะไมมการใชงานแลว
ไฟลทเปลยนนามสกลจาก .exe เปน
.Pif จะแสดงเปนไอคอนรป Shortcut
ของ MS-DOS และไมแสดงนามสกล
ของไฟลใหเหนอกดวย
Sample
http://www.exp-media.net
47
ไวรสไมไดมแค EXE
กอนจะจบในเรองของไวรสประเภท .Pif ผมขอแนะนำวธยกเลกการใชนามสกล .Pif ทโปรแกรมปองกนบางตวใชกน โดยคลกทปม Start > Run ทหนาตาง Run ใหพมพคำสง Regeditแลวคลกปม OK เพอเปดโปรแกรม Registry Editor ขนมา
จากนนเขาไปท HKEY_CLASSES_ ROOT\.pif แลวเปลยนคา Value Default ทางดานขวามอจาก piffile ไปเปน piffile_disabled
การใส _disabled ตอทายนามสกลไฟลแบบน (ดรปดานบน) หมายถงให Windowsยกเลกการใชนามสกลนนๆ แบบชวคราว (ถาตองการกลบมาใชงานอกครงใหลบ _disabledออกไปกสามารถใชนามสกลนไดอก) จะเหนวาเมอแกไขคาใน Registry โดยการใส _disabledเรยบรอยแลว เมอทดลองดบเบลคลกทไฟล Calc.pif อกครงจะพบวา นอกจากไมมอะไรเกดขนแลว ตวไอคอนของ Calc.pif กจะกลายเปนสจางๆ ไปดวย นนแสดงวา Windows ไดยกเลกการใชนามสกลดงกลาวแลว
ไอคอนของไฟล Calc.pif จะกลายเปนสจางๆ
Sample
http://www.exp-media.net
48 ลวงไต! ไวรส เลม 2 ฉบบสรางเครองมอกำจดไวรสดวยตวเอง งายนดเดยว
การยกเลกนามสกลไฟลรปแบบน นอกจากโปรแกรมปองกนไวรสจะใชยกเลกไฟลนามสกล .Pif เพอปองกนการใชงานโดยไวรสแลว ไวรสบางตวยงใชวธเดยวกนนกอกวนหรอขดขวางการเรยกใชงานโปรแกรมของเราอกดวย เชน ใชวธนยกเลกการใชงานไฟล .exe โดยแกไขคาเปน exefile_disabled ทำใหไมสามารถเรยกใชโปรแกรมตางๆ ทมนามสกล .exe ได
เรามาทดลองทำตวเปนไวรสกนหนอย โดยเปดโปรแกรม Registry Editor ขนมา (คลกปมStart > Run > พมพคำสง Regedit > OK) แลวเขาไปท HKEY_CLASSES_ROOT\.exe จากนนแกไขคา (Default) ทางดานขวามอโดยเปลยนจาก exefile เปน exefile_disabled (ดงรป)แตอยาเพงปดโปรแกรม Registry Editor ไปนะครบเดยวจะแกกลบไมไดใหเปดเอาไวกอน
ทดลองเรยกใชโปรแกรมอะไรกไดจากหนาตาง Run (คลกปม Start > Run เพอเปดหนาตางRun) เชน ตวอยางนผมจะลองเรยกใช cmd.exe จากหนาตาง Run (จะใสนามสกลหรอไมกไดเพราะ Windows สามารถหาไฟลชอนและพบ cmd.exe ไดเองอยแลว แตเพอความมนใจผมขอใสนามสกลดวยแลวกน)
ปอนชอโปรแกรมทตองการ ในทนคอ cmd.exe
แลวคลกปม OK เพอเรยกหนาตาง cmd ขนมา
Sample
http://www.exp-media.net
49
ไวรสไมไดมแค EXE
จะปรากฏหนาตางขนมาถามวา ใหเปดไฟล cmd.exe ดวยโปรแกรมอะไร ทเปนเชนนกเพราะวาเราไดยกเลกนามสกลไฟล .exe ไปแลว เลยทำให Windows ไมรจกวานามสกล .exeตองใชโปรแกรมอะไรเปด (ดรปดานลาง)
และเมอลองเรยกใชโปรแกรมอนๆ จากหนาตาง Run ไมวาจะเปน Msconfig, Regedit หรอโปรแกรมอนใดทมนามสกล .exe ไมวาเราจะใสหรอไมใสนามสกลตอทายตอนเรยกใช ผลทไดจะเหมอนกนคอ มหนาตางขนมาถามวา ใหเปดดวยโปรแกรมอะไร แตถาเราใชการดบเบลคลกทไฟล .exe โดยตรง อาการจะตางจากการเรยกใชผานหนาตาง Run
สำหรบอาการเมอดบเบลคลกเรยกใชไฟล .exe โดยตรง กรณไฟลนนโดนยกเลกนามสกลไปแลวม 2 รปแบบคอ แบบแรกเหมอนกบกรณของไฟล .Pif คอไมมการตอบสนองใดๆ และไอคอนของไฟลนนจะกลายเปนสจางๆ สวนแบบท 2 คอ เมอดบเบลคลกเปดไฟล .exe จะมการเปดโปรแกรมอนขนมาแทน เชน ในตวอยางเมอดบเบลคลกทไฟล Notepad.exe ในโฟลเดอรC:\WINDOWS\ โปรแกรม grepWin ซงเปนโปรแกรมทใชคนหาขอความในไฟลกจะปรากฏขนมาแทน Sample
http://www.exp-media.net
50 ลวงไต! ไวรส เลม 2 ฉบบสรางเครองมอกำจดไวรสดวยตวเอง งายนดเดยว
และไมวาผมจะดบเบลคลกเรยกไฟลใดๆ ทมนามสกล .exe กจะมอาการเดยวกนคอ มการเปดโปรแกรม grepWin ขนมา สาเหตทเปนแบบนเพราะวา ถาเราคลกขวาทไฟล .exe จะเหนวาดานบนสดมคำวา Open และถดลงมาคอ Run as… (ทกเครองจะม 2 บรรทดนเสมอ) ซงหมายถงวา เมอมการดบเบลคลกทไฟล .exe ใหใชคำสงในการเปดไฟล (Open) เปนคาเรมตน
สำหรบเครองคอมพวเตอรของผมจะมขอความในบรรทดท 3 เพมขนมาดวยคอ grepWin(เครองของผอานอาจจะเปนชอโปรแกรมอนๆ แลวแตวาในเครองจะตดตงโปรแกรมอะไรทมาเพมเมนในสวนน)
ดงนนเมอยกเลกใชนามสกล .exe กจะเทากบยกเลกคำสง 2 บรรทดดานบนไปดวย Open,(Run as... และ grepWin..) จากตวอยางหลงจากแกไขคา Registry ยกเลกการใชนามสกล.exe ไปแลว เมอเราคลกขวาทไฟล .exe จะเหนวาไมมคำสง 2 บรรทดแรกแลว (มแตคำวาgrepWin) หมายความวา เมอดบเบลคลกทไฟลนามสกล .exe คาเรมตนจะกลายเปนการเปดโปรแกรม grepWin ขนมาแทนการใชคำสง Open แบบเดม
คำสง Open, Run as... และ grepWin..
จะปรากฏขนมาเมอคลกขวาทไฟล .exe
คำสง Open และ Run as ... จะหายไป
เมอถกยกเลกการใชนามสกล .exe แตคำ
วา grepWin จะไมถกยกเลกไปดวย
Sample
http://www.exp-media.net
51
ไวรสไมไดมแค EXE
สำหรบคอมพวเตอรเครองอนทอาจตดตงโปรแกรมตางไปจากน จะมการเปดโปรแกรมอนๆขนมาแทน grepWin สวนเครองทไมไดตดตงโปรแกรมทมการสรางเมนในสวนนไว เมอดบเบลคลกเรยกไฟล .exe กจะกลายเปนไอคอนจางๆ เปนเพราะ Windows ไมพบเมนในสวนนจงไมรวาจะเปดดวยโปรแกรมอะไรนนเอง
ดงนนถาเจอปญหาเรยกใชไฟลนามสกลใดๆ เชน .exe แลวมอาการไอคอนเปนสจางๆ และไมมการตอบสนองใดๆ หรอเปดโปรแกรมอนขนมาแทน ใหเราลองเขามาตรวจสอบคาในRegistry ในสวนของ “HKEY_CLASSES_ROOT\นามสกลทพบปญหา” ดวามการ Disabledไวหรอไม ถามกใหลบสวนของ _disabled ออกไป เทานกสามารถแกไขปญหาไดแลว เมอเขาใจแลวอยาลมแกคาใน Registry กลบมาเหมอนเดมกอนทจะปดโปรแกรม Registry Editor ลงไปนะครบ เดยวเปดโปรแกรมอนๆ ไมไดละแยเลย
กอนจบหวขอนขอแถมวธตรวจสอบวาไฟลนนๆ โดนยกเลกไวหรอไม (แบบเรงดวน) ใหนำเมาสไปวางเหนอไฟลทตองการตรวจสอบ แลวดจากขอความทปรากฏขนมา เชน จากตวอยางไฟลนามสกล .exe โดนยกเลก ดงนนเมอนำเมาสไปชทไฟลกจะมขอความขนมาวา Type:exefile_disabled ตามคาทเราแกไขใน Registry
จากรปในตวอยางนจะมขอความ Type: exefile_disabled
ปรากฏขนมา เนองจากไฟลนามสกล .exe โดนยกเลกไว
Sample
http://www.exp-media.net
52 ลวงไต! ไวรส เลม 2 ฉบบสรางเครองมอกำจดไวรสดวยตวเอง งายนดเดยว
เปนไวรสอกประเภททสามารถรนไดดวยตวมนเองไมจำเปนตองอาศยชาวบาน โดย .scr
จะเปนนามสกลของไฟล Screen Saver หรอโปรแกรมพกหนาจอนนเอง หากเราเขาไปดในโฟลเดอร C:\Windows\System32\ จะพบวามไฟลนามสกลนอยจำนวนหนง โดยเราสามารถดบเบลคลกทไฟล .scr เพอเรยกใชงานไดเลย เชนเดยว กบไฟล .exe แตจะตางกนตรงทเมอมการขยบเมาสตวโปรแกรม .scr จะโดนปดทนท ทงนเพราะมน ไดรบการเขยนมาใหทำงานแบบScreen Saver นนเอง
แลวไวรสจะใชไฟลรปแบบนทำงานอยางไรละ? ทพบเหนมาจะแบงเปน 2 รปแบบคอ1. ในรปแบบของพวก Adware จะใชการตงคา Screen Saver ของเครองเราเปนไฟล scr
ของมน ดงจะเหนวาเมอตด Adware บางตว หากเราไมไดใชงานเครองระยะเวลาหนง ไวรสกจะเรยกใชโปรแกรมพกหนาจอ (ทเปนตว Adware) ขนมา ไมวาจะเปนการโฆษณาสนคา หรอบางครงกแสดงเปนรปแมลงสาบเดนไปเดนมาบนหนาจอของเราSample
http://www.exp-media.net
53
ไวรสไมไดมแค EXE
นอกจากนไวรสจะทำการปองกนการแกกลบของผใชโดยการซอนแทบทใชในการแกไขคาของ Wallpaper และคาของ Screen Saver ไว ซงจากรปในตวอยางจะเหนวา เมอเราเรยกหนาจอDisplay Properties ขนมา จะไมสามารถแกไข Wallpaper และ Screen Saver ไดเนองจากแทบคำสงดงกลาวหายไป
สำหรบพวกไวรสททำงานแบบนดไดคอนขางงาย เนองจากผใชจะผดสงเกตแนนอน ไวรสประเภทนมจดประสงคเพยงแคเนนการกอกวนและโฆษณาสนคามากกวาสรางความเสยหาย
2. เปนรปแบบทนากลวเพราะเจาไวรสจะทำงานเงยบๆ ซงผใชจะไมมทางรตวเลย โดยมนจะเรยกตวเองขนมาทำงานในขณะทผใชไมไดใชงานเครองคอมพวเตอร (แตยงเปดเครองไว)โดยเฉพาะในเครองทไมไดตงคาของ Screen Saver ใดๆ ไว เพราะไวรสจะเขาไปทำงานแทนในสวนของ Screen Saver โดยทเราไมมทางรตวเลย
ดงนนไวรสรปแบบท 2 ซงใชไฟล .scr จะใชชองทางนละครบ คอแทนทจะใชการเรยกตวเองขนมาทำงานแบบอตโนมต โดยการกำหนดคาในสวนตางๆ ของ Registry (ซงถาใชวธเดมผใชอาจตรวจพบไดงายดวยคำสง Msconfig) มนกลบใชการกำหนดตวเองเปน Screen Saverเพอให ขนมาทำงานแบบอตโนมต โดย Windows เปนตวเรยกขนมาเมอไดเวลาตามทตงคาโปรแกรมพกหนาจอไวนนเอง
สบปากวาไมเทาทดลองทำครบ มาเรมกนเลยโดยเขาไปทโฟลเดอร C:\Windows\System32แลวเปลยนชอโปรแกรม Sol.exe (เกมสไพ) ใหเปน TestVirus.scr ดงรปในหนาถดไป
ไวรสกเปนโปรแกรมอยางหนง เพยงแตตวมนเองจะไมมสวนของหนาตาโปรแกรมทตดตอกบผใชทำใหเราไมสามารถมองเหนวามไวรสทำงานอยถาไมดจาก Process ทมการใชงานในขณะนน
Note
Sample
http://www.exp-media.net
54 ลวงไต! ไวรส เลม 2 ฉบบสรางเครองมอกำจดไวรสดวยตวเอง งายนดเดยว
เปลยนชอโปรแกรมจาก Sol.exe (เกมสไพ)
ไปเปน TestVirus.scr
จากนนเปดหนา Display Properties ขนมา (โดยคลกขวาพนทวางบน Desktop แลวคลกเลอกคำสง Properties) คลกทแทบ Screen saver เมอคลกดรายชอ Screen saver ทงหมดจะเหนวามชอของ TestVirus ปรากฎขนมาในตวเลอกดวย นนเปนเพราะ Windows จะมองหาไฟลนามสกล .Scr ทอยในโฟลเดอร C:\Windows\ และ \Windows\System32\ แลวนำมาใสไวในรายชอของตวเลอก Screen saver ทงหมดโดยอตโนมต
ดงนนไวรสเพยงนำไฟล .scr (ทเปนไวรส) มาใสไวในโฟลเดอรทวานแลวทำการแกไขใหเปนคาเรมตนของ Screen saver เพยงเทานไวรสกจะขนมาทำงานทกครงทเครองคอมพวเตอรไมมการทำงานใดๆ จนครบตามเวลาทตงไว เชน จากตวอยางผมตงคาไวเปน 1 นาท ดงนนหาก
ผมปลอยเครองทงไวเฉยๆ โดยไมใชงานอะไรไปจนครบ 1 นาท Windows กจะทำการเรยกโปรแกรม TestVirus.scr (โปรแกรมเกมสไพ) ขนมาทำงานทนท เพราะWindows มองวามนเปนโปรแกรมพกหนาจอนนเอง
จะเหนวามชอ TestVirus.Scr ปรากฏอยใน
รายชอตวเลอก Screen saver แลว โดยถก
กำหนดใหเปนคาเรมตนของ Screen saverSample
http://www.exp-media.net
55
ไวรสไมไดมแค EXE
ซงถาเราเปดหนาตาง Task manager เพอตรวจสอบรายชอของ Process ดกจะพบวามชอของ TestVirus.scr รนอยดวย
เมอเขาไปตรวจสอบรายชอ Process จาก
หนาตาง Task Manager จะเหนวามชอ
ไวรส TestVirus.scr รนอยดวย
คงพอมองเหนภาพแลวนะครบวาไวรสทำงานยงไง แตความเปนจรงของไวรสประเภทนโปรแกรมทมการกำหนดไวนนไมไดเปนโปรแกรมเกมสไพตามตวอยาง แตเปนตวไวรสทใชนามสกล .scr ซงตามธรรมชาตมนจะรนตวเองขนมาเงยบๆ โดยทเราไมมทางรตวจนกวาจะตรวจสอบจากรายชอของ Process เพราะอยางทบอก ไวรสกคอโปรแกรมชนดหนง แตเปนโปรแกรมทมองไมเหนเพราะไมมหนาตาทำใหเราไมมทางรไดเลยวามไวรสรนขนมาแลว
ดงนนขอใหหมนตรวจสอบการตงคาของ Screen saver ในเครองดวยนะครบ ถาเราไมไดตงคาใดๆ ไว แตใน Display Properties มการเรยกใช Screen saver แปลกๆ ใหตงขอสงสยไวเลยวา อาจเปนไวรสปลอมตวมา หรอกรณทมการตงคาไวตวหนง แตในนดนเปนชออนทไมตรงกบทกำหนดไว กอาจจะเปนไปไดวาโดนไวรสสวมรอยเขาแลว
ไวรสรปแบบสดทายทเปนประเภทรนดวยตวเองได ทเคยพบมากจะเปนในรปแบบของ
ไฟลนามสกลตางๆ สวนใหญแลวจะเปนนามสกลทไมคนเคย เชน .Empty , .Vir, . msn หรอนามสกลอนแลวแตวาคนสรางไวรสจะตง จรงๆ แลวไวรสประเภทนกเปนไฟลประเภท .exeทใชการเปลยนนามสกลไฟลเพอหลกเลยงความสงสยของผใชงาน เพราะโดยทวไปแลวผใชงานมกคดวาโปรแกรมใชงานจะตองเปน .exe หรอ .com เทานน คนทสรางไวรสพวกนจงใชวธสรางนามสกลอนทสามารถทำงานไดเหมอน .exe หรอเปลยนไฟลนามสกล .exe เดมไปเปนนามสกลอนๆ เพอไมใหเปนทสงสยของผใช
Sample
http://www.exp-media.net
56 ลวงไต! ไวรส เลม 2 ฉบบสรางเครองมอกำจดไวรสดวยตวเอง งายนดเดยว
มาดตวอยางกน โดยผมจะเขาไปท C:\Windows\System32\ เพอเปลยนชอไฟล Calc.exe(โปรแกรมเครองคดเลข) ใหเปน Calc.msn
เปลยนชอไฟล Calc.exe เปน Calc.msn
หลงจากทเปลยนชอไฟล Calc.exe ไปเปน Calc.msn รปไอคอนกจะเปลยนเปนไอคอนของไฟลทวไปท Windows ไมรจก และเมอลองดบเบลคลกทไฟล Calc.msn กจะมหนาตางWindows ขนมาถามวา จะใหเปดไฟลนกบโปรแกรมอะไร นนเปนเพราะ Windows เองไมรจกนามสกล .msn วาจะใชโปรแกรมอะไรเปด (อนนเปนสภาพกอนตดไวรสนะครบ)
จะปรากฏหนาตาง Windows ขนมาถาม
วาใหเปดไฟล Calc.msn ดวยโปรแกรม
อะไร เพราะ Windows ไมรจกนามสกล
.msn นนเอง
แตเมอแกไขคาใน Registry ดวยวธการเดยวกบทไวรสใชสรางรปแบบของไฟลนามสกล.msn ใหเปนนามสกลทสามารถใชงานไดเชนเดยวกบ .exe แลวลองดบเบลคลกเรยกใชไฟลcalc.msn ดใหมอกครง จะเหนวามการเปดโปรแกรมเครองคดเลขขนมาให นนหมายความวานามสกล .msn สามารถใชงานไดแลว (จรงๆ แลวหากดจากหนาตาง Task manager จะเหนวาโปรแกรมเครองคดเลขทรนอยนนเปน Calc.msn ไมใช Calc.exe ครบ)
Sample
http://www.exp-media.net
57
ไวรสไมไดมแค EXE
คงเขาใจกนแลวนะครบสำหรบรปแบบของไวรสทใชนามสกลอนๆ ดงนนถาตรวจสอบดจากรายชอ Process แลวพบเหนนามสกลแปลกๆ ใหสงสยไวเลยวาเปนไวรสแนนอน ใหเราปดProcess มนไดเลย เพราะเกอบ 100% ของ Process ทรนนนจะเปนนามสกล .exe
สำหรบรายละเอยดของวธสรางนามสกลไฟลขนมาใหมแบบน ผมขอยกไปพดในบทท 3(หนา 119) เพอจะนำวธการนมาดดหลงไวรสกนครบ
จะเหนวาไฟลโปรแกรมเครองคดเลขทรน
อยใน Process เปน Calc.msn ไมใชเปน
Calc.exe
www.virscan.org เปนเวบไซตทใหบรการตรวจสอบไฟลตองสงสยวาเปนไวรสหรอไม
ถงตรงนหลายคนคงรสกวาทำไมไวรสมหลายนามสกลจง แลวถาเราพบไฟลตองสงสยจะตรวจสอบกนยงไงวาไฟลนนเปนไวรสหรอไม เพราะบางครงโปรแกรมปองกนไวรสทเราใชอยอาจไมสามารถตรวจพบไฟลไวรสกเปนได
ผมมวธตรวจสอบไฟลตองสงสยมาแนะนำครบ โดยใหเขาไปท www.virscan.org ซงเปนเวบไซตทใหบรการตรวจสอบไฟลตองสงสย ทำใหสามารถชชดไดวาไฟลดงกลาวนนเปนไวรสหรอไม
Sample
http://www.exp-media.net
58 ลวงไต! ไวรส เลม 2 ฉบบสรางเครองมอกำจดไวรสดวยตวเอง งายนดเดยว
วธตรวจสอบคอ ใหอพโหลดไฟลทสงสยวาอาจเปนไวรสขนไปทเวบไซต ซงทำไดโดยการคลกปม Browse เพอเขาไปเลอกไฟลทตองสงสยในเครองคอมพวเตอร จากนนใหคลกปม“อพโหลด” เพอสงไฟลดงกลาวไปยง Server ของเวบไซตน ซงจะใชฐานขอมลของตวโปรแกรมปองกนไวรสจากทวโลกทงหมด 36 คายในการตรวจสอบไฟล
ขอดของเวบไซตนคอ การใชงานจะเปนภาษาไทย จงทำใหงายตอการใชงานสำหรบผทไมถนดภาษาองกฤษ ทสำคญสามารถใชการอพโหลดไฟลทมการบบอดเปนรปแบบ .Zip หรอ .Rarไดดวย เชน บางครงเราอาจจะนำไฟลตองสงสยมาจากเครองของเพอน แตเพอปองกนไมใหไวรสสามารถทำงานและตดมายงเครองของเราไดจงจำเปนตอง Zip มา หรอกรณไฟลตองสงสยมหลายไฟลแตไมอยากมาอพโหลดทละไฟลเลยตอง Zip ไฟลทงหมดรวมกนเพออพโหลดทเดยว(เวบไซตนรองรบไฟล Zip หรอ Rar ดวย แตมขอแมวาไฟลทมการบบอดนน ตองกำหนดรหสเปนคำวา infected เทานน เพอทวาเมออพโหลดขนไปแลวทางเวบไซตจะสามารถขยายไฟลทมการบบอดออกมาตรวจสอบได)
มาดตวอยางการทำงานกน โดยผมเลอกไฟลชอ SCVHSOT.exe จากในเครองซงสงสยวาอาจเปนไวรส แลวคลกปม “อพโหลด” โดยระหวางการอพโหลดไฟลไปยง Server จะมการรายงานสถานะและความคบหนาในการอพโหลดแจงใหทราบดวย
คลกปม Browse เพอเขาไปเลอกไฟลท
ตองสงสยในเครองคอมพวเตอรของเรา
เมอเลอกไฟลตองสงสยไดแลวใหคลกปม
“อพโหลด” เพอจะสงไฟลไปยง Server
ของเวบไซต www.virscan.org
ระหวางการอพโหลดโปรแกรมจะรายงาน
สถานะและความคบหนาในการอพโหลด
แจงใหทราบดวย
Sample
http://www.exp-media.net
59
ไวรสไมไดมแค EXE
เมออพโหลดไฟลเสรจแลว ขนตอนตอไปจะเปนการตรวจสอบไฟลดวยโปรแกรมปองกนไวรสทงหมด ซงมใหบรการถง 36 คาย โดยจะแสดงรายละเอยดการตรวจสอบแตละคายไปจนครบ และถาไฟลตองสงสยนนๆ เปนไฟลทเคยมคนอพโหลดขนไปบนเวบไซตพรอมทงมการตรวจสอบมาแลว โปรแกรมกจะแสดงหนาตางขนมาถามวาตองการจะทำอะไรตอไป ผมแนะนำใหเลอกเปน “ผลการสแกน” ดกวา จะไดไมตองเสยเวลาอพโหลดใหมอกรอบ
หากไฟลตองสงสยทตองการตรวจสอบเคยมคนอพโหลดไปไวบนเวบไซต
และมการตรวจสอบเรยบรอยแลว ใหเราคลกปม “ผลการสแกน” แทน
หลงจากเสรจสนการตรวจสอบจนครบทง 36 คาย กจะมรายงานสรปผลวาไฟลนนๆ ตรวจพบวาเปนไวรสหรอไม และพบโดยโปรแกรมปองกนไวรสคายไหนบาง ตรงนมประโยชนมากเพราะถาโปรแกรมปองกนไวรสทเราใชอยตรวจไมพบไวรสตวนนๆ เชน สมมตวาในเครองผมไดตดตงโปรแกรมปองกนไวรส AA ทไมสามารถตรวจพบไฟลไวรสตวน แตหลงจากผมตรวจสอบจากรายงานสรปผลแลวพบวา โปรแกรมปองกนไวรส BB สามารถตรวจพบไฟลไวรสน ผมกอาจ
จะโหลดโปรแกรมปองกนไวรส BBมาตดตงเพอทำการกำจดมนตอไป(เนองจากไวรสตวอยางทใชนนคอนขางเกา จงทำใหเกอบทกคายรจกหมด แตในกรณไวรสตวใหมๆจะเหนไดชดวาบางคายหาเจอแตบางคายกหาไมเจอ)
Sample
http://www.exp-media.net
60 ลวงไต! ไวรส เลม 2 ฉบบสรางเครองมอกำจดไวรสดวยตวเอง งายนดเดยว
อกเวบไซตทอยากแนะนำทมการทำงานเหมอนเวบไซตกอนหนานคอ www.virustotal. com
สงสยไดโดยไมตองอพโหลดไฟลขนไปได ซงจะมประโยชนกบคนทไมไดใชอนเตอรเนตทมความเรวสง เพราะบางครงการอพโหลดไฟลทมขนาดใหญอาจตองใชเวลานาน
สำหรบจดทผมอยากแนะนำอยตรงเมนดานบนทเขยนวา Hash Search ครบ เมอคลกเขาไปจะเหนวา เราสามารถใชคา MD5 ของไฟลทสงสยในการตรวจสอบแทนการอพโหลดไดเลย ดงเชนรปในตวอยางดานลาง (เรองของ MD5 ใหไปอานในบทท 6 ในหนา 202)
จากตวอยางผมใสคา MD5 ของไฟลทตอง
สงสยลงในชอง Hash
และปอนตวหนงสอตามทเหนทดานบนลง
ในชอง Copy control key
เวบนถงแมจะมจดออนตรงท ไมมภาษาไทยใหใช แตการใชงานกไมไดยงยากอะไร เพยงแคอพโหลดไฟลทเราสงสยขนไปเพอทำการตรวจสอบเหมอนกบเวบทแลวดงนนผมจะไมอธบายขนตอนการใชงานอกเพราะไมไดมอะไรทซบซอน คดวาคงทำกนได แตจดเดนของเวบนทผมอยากแนะนำคอ สามารถตรวจสอบไฟลทตอง
คลกปม Search
ถาไฟลทเราสงสยมคนเคยอพโหลดมาทดสอบกอนหนานแลว (อางองจากคาของ MD5)กจะมรายงานผลการตรวจสอบใหโดยทเราไมจำเปนตองอพโหลดใหม แตถาเปนไฟลทยงไมเคยอพโหลดเพอตรวจสอบมากอน กคงหลกเลยงไมไดทเราจะตองอพโหลดขนไปเองครบ
Sample