What is Webshell?

What is Webshell?

ช่วงหลัง ๆ เราจะได้ยินคำว่า Webshell กันค่อนข้างบ่อยครั้ง วันนี้ i-secure จะพาเพื่อนๆ มารู้จักว่า Webshell ซึ่งเป็นหนึ่งในเทคนิคการโจมตีที่พบได้บ่อยมากๆ ในปัจจุบัน

Webshell คืออะไร และทำไมมันจึงเป็นวิธีการที่เหล่า Hacker นิยมใช้ในการโจมตีเหยื่อกันบ่อยครั้ง

ก่อนอื่น ต้องทำความเข้าใจวิธีคิดที่ Hacker คิดก่อน จุดมุ่งหมายหลักของ Hacker คือต้องการเข้าถึงข้อมูลของเหยื่อ เช่น เข้าถึงข้อมูลความลับ (Confidentiality) หรือเข้าไปดัดแปลงแก้ไขข้อมูลให้เปลี่ยนแปลงไป (Integrity) หรือไม่ก็ทำการขัดขวางไม่ให้ใครๆเข้าถึงข้อมูลนั้นๆได้ (Availability)

ดังนั้นการที่จะบรรลุวัตถุประสงค์นั้นได้ ก็คือต้องควบคุมเหยื่อให้ได้ จึงเป็นที่มาของ Webshell ที่จะเข้าไปคอยควบคุมเครื่องคอมพิวเตอร์หรือเซิร์ฟเวอร์ของเป้าหมายนั่นเอง 

แล้ว Webshell คืออะไร?

Webshell คือไฟล์ที่ Hacker สร้างขึ้นมาเพื่อใช้สำหรับควมคุมเครื่อง Web Server ของเหยื่อหลังจาก Hacker พบช่องทางในการโจมตี โดย Webshell ถูกเขียนด้วยภาษาของ Web Application ยกตัวอย่างเช่นภาษา PHP เป็นต้น โดยใช้ประโยชน์จากคำสั่งหรือ Library ที่สามารถเรียกใช้งานของระบบ System Command หรือ OS Command คำสั่งเช่น “whoami” ,”ipconfig /all”, “mkdir” เป็นต้น 

แผนผังการทำงานของ Webshell ที่รอรับ input จาก Attacker
Ref: https://www.imperva.com/learn/application-security/web-shell

หน้าตาของ Source Code ของ Webshell เบื้องต้นมีจะลักษณะการทำงานเป็นการรับค่า Input จาก Client มาทำงานผ่านคำสั่งที่สามารถเรียกใช้งาน System Command ได้ ตัวอย่างเช่น คำสั่ง System ของภาษา PHP

ตัวอย่าง Webshell ที่รับค่าจากตัวแปร cmd ผ่าน HTTP GET
Ref: https://www.php.net/manual/en/function.system.php

เงื่อนไขการใช้งานเบื้องต้นของ Webshell จำเป็นต้องวางอยู่ภายใต้ Web Root Directory และสามารถเรียกใช้งานผ่าน Web Browser ได้ 

วิธีการใช้งาน Webshell หลังจากทำการ Upload Webshell เสร็จเรียบร้อย Attacker จะสามารถเรียกใช้งานผ่าน Web Browser ได้โดยการระบุ Path และชื่อไฟล์ Webshell ตัวอย่างเช่น ไฟล์ชื่อ shell.php และ Domain คือ www.test.com วิธีการเรียกใช้งานดังนี้ “www.test.com/shell.php?cmd=” ตามด้วยคำสั่งที่ต้องการ

ตัวอย่างการเรียกใช้งาน Webshell โดยผลลัพธ์จะถูกแสดงในกรอบสีน้ำเงิน

ผลกระทบที่จะเกิดขึ้น หาก Hacker สามารถสร้าง Webshell เข้ามาในระบบของเราได้

  1. ถูกขโมยหรือเข้าถึงข้อมูลสำคัญภายในเครื่อง Webserver
  2. ถูกนำไปใช้เป็น Bot ในการไปโจมตีไปยังที่อื่นๆ
  3. ถูกเปลี่ยนแปลงหน้า Website ** ซึ่ง Website ในเมืองไทยมักจะตกเป็นเหยื่อการโจมตีอยู่บ่อยๆ **

เทคนิควิธีการป้องกัน หรือ Mitigation

  1. ใช้ Web Application Firewall เป็นด่านหน้าป้องกัน Web ของเรา
  2. เพิ่มการตรวจสอบนามสกุลของไฟล์ที่ถูก Upload ว่ามีความผิดปกติ หรือผิดแปลกไปจากที่เคยใช้งานหรือไม่
  3. ใช้ Software Source Code Review เพื่อหาช่องโหว่ที่สุ่มเสี่ยงต่อการโจมตีโดย Webshell

วิธีการตรวจสอบด้วยตนเอง

  1. หมั่นทำการตรวจสอบไฟล์ที่ผิดปกติอย่างสม่ำเสมอ เช่น ไฟล์ที่ถูกสร้างขึ้นมาโดยไม่ทราบสาเหตุ ไม่มีที่มาที่ไป และไม่มีผู้ใดแสดงความเป็นเจ้าของอย่างชัดเจน
  2. ตรวจสอบ Source Code ของ Web Application โดยค้นหาคำสั่งหรือ Code ส่วนที่สามารถเรียกใช้งานหรือ Execute System Command ได้ 

เมื่อเราทำความรู้จักกับ Webshell และการทำงานเบื้องลึกของมันแล้ว เราก็สามารถวางแผนในการตรวจสอบ ป้องกัน และทำให้องค์กรณ์ของทุกท่านปลอดภัยจากภัยคุกคามใกล้ตัวนี้ได้

และในตอนต่อไป เราจะมาทำความเข้าใจวิธีการป้องกันเชิงลึกในแต่ละรูปแบบไปด้วยกันนะครับ หากบทความนี้เป็นประโยชน์สำหรับท่าน ฝากกดไลค์กดแชร์ให้กับเราเพื่อเป็นกำลังใจในการสรรหาบทความดีๆมาฝากเพื่อนๆกันด้วยนะครับ

-------------------------------------------------------------------------------------------------------------

🛡 I-SECURE  1st Managed Security Service Provider (MSSP) in Thailand

บริษัท ไอ-ซีเคียว จำกัด มีทีมผู้เชี่ยวชาญด้านการรับมือภัยคุกคามไซเบอร์ ที่มีประสบการณ์มากกว่า 16 ปี  

เรามุ่งมั่นที่จะเป็นที่หนึ่งในด้านการดูแลและเป็นที่ปรึกษาทางด้านไซเบอร์ซีเคียวริตี้ เพื่อส่งมอบบริการและโซลูชั่นที่ดีที่สุดในระดับมาตรฐานสากลให้กับลูกค้า

สนใจรับบริการทางด้าน Cybersecurity สามารถติดต่อเราได้ทุกช่องทาง

☎️ 02-615-7005

👩🏻‍💻 marketing@i-secure.co.th

🌎https://www.i-secure.co.th/

#CyberSecurityNews #cybersecurity