ล้วงไต๋ไวรัส เล่ม 2

56
http://www.exp-media.net Sample

Post on 15-Nov-2014

217 views

Category:

Documents


10 download

TRANSCRIPT

http://www.exp-media.net

Sample

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

⌫⌫⌫

Sample

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