เหตุจากที่ ThaiCert แจ้งว่าพบการฝังโค๊ดดังนี้

webhost hack 10

ทำการค้นหาโดย   find /var/www -name *.php -newermr 2016-06-20 -exec grep www.ดับเปิ้ลยูอีdance.es {} \;

ตรวจสอบแล้ว พบว่าอยู่ในไฟล์ต่อไปนี้มีรายการดังนี้

webhost hack 11

ทางผู้ดูแลระบบเครือข่ายวิทยาเขตหาดใหญ่คุณคณกรณ์ แจ้งถึงปัญหาที่เครื่องเซิร์ฟเวอร์ webhost.phuket.psu.ac.th ถูกกีดกั้นการเข้าถึงจากภายนอก เนื่องจากสาเหตุมีผู้บุกรุกและได้ใช้เครื่องดังกล่าวเป็นเครื่องแม่ข่ายโจมตีระบบเครือข่ายอื่นๆ ผ่านช่องทางเครือข่ายของมหาวิทยาลัย ทางผู้ดูแลระบบเครือข่ายจึงจำเป็นต้องดำเนินการปิดกั้นเครื่องดังกล่าวจากการเข้าถึงจากภายนอกชั่วคราว และประสานงานให้ดำเนินการแก้ไขถึงปัญหาดังกล่าว

     เบื้องต้นได้รับแจ้งถึงเว็บไซต์ http://dorm.phuket.psu.ac.th ถูกบุกรุก ทางผู้ดูแลระบบเครือข่ายจึงได้ทำการประสานงานไปยังผู้ดูแลเว็บไซต์ พบว่าเว็บไซต์ไม่ได้มีการใช้งานแล้ว ณ ปัจจุบัน จึงได้ทำการปิดเว็บไซต์และทำการลบเนื้อหารวมถึงไฟล์ทั้งหมดออก และทำการตรวจสอบเพิ่มเติมไปยังระบบอื่นๆ พบว่ามีการแก้ไขไฟล์ต่างๆ และทำการฝังโค้ดโปรแกรมที่ไม่พึงประสงค์ลงในไฟล์ระบบอีกบางระบบ จึงได้ตรวจสอบหาสาเหตุเพิ่มเติม

เริ่มต้นจากการค้นหาไฟล์ที่ต้องสงสัย พบบางไฟล์ที่ต้องสงสัยบางไฟล์มีลักษณะการฝังโค้ดดังกล่าวและเข้ารหัสไว้

webhost hack 1

ตรวจสอบเพิ่มเติมเพื่อค้นหาไฟล์ที่มีลักษณะแบบนี้ ด้วยคำสั่ง  find /var/www -name “*.php” | xargs grep ‘ eval(‘

ได้ผลลัพธ์ดังนี้

webhost hack 12

ตรวจสอบเพิ่มเติมพบว่า มีบาง Directory อนุญาตให้ www-data เขียนได้ และบาง Directory กำหนด Permission เป็น 777 ทำให้สามารถเพิ่มไฟล์เข้ามาได้

webhost hack 2

ตรวจสอบเพิ่มเติมและรวบรวมรายชื่อไฟล์ที่มีลักษณะดังกล่าวได้ทั้งหมดดังด้านล่าง

webhost hack 3

webhost hack 3 - Copy

รวบรวมรายชื่อไฟล์ที่ต้องสงสัยและสร้างไฟล์ใหม่ที่รวบรวมรายชื่อไฟล์เหล่านั้น กรณีนี้ใช้ชื่อไฟล์ c.txt

จากนั้น ทำการสำรองไฟล์ต้นฉบับเก็บไว้ก่อนแก้ไข ด้วยคำสั่ง  tar -zcvf suspect.tar.gz –files-from c.txt

ผลลัพธ์ได้ไฟล์ suspect.tar.gz   จากนั้นตรวจสอบรายชื่อไฟล์ดังกล่าว ด้วยคำสั่ง tar -ztvf suspect.tar.gz

จากนั้นทำการตรวจสอบทีละไฟล์ จนเสร็จเรียบร้อย

ขั้นตอนต่อไป ทำการตรวจสอบ permission ของ directory ที่อยู่ใน /var/www ด้วยคำลั่ง

find /var/www -user www-data -perm -u+w -type d -exec ls -ld {} \;

เพื่อค้นหา directory ที่ user ชื่อ www-data มีสิทธิ์เขียนได้

ตรวจสอบอีกครั้ง และใช้คำสั่งนี้

find /var/www -user www-data -perm -u+w -type d -exec chmod u-w {} \;

เพื่อไม่ให้ user สามารถ write ได้ ใน directory นั้นๆ

จากนั้นทำการตรวจสอบไฟล์ที่อนุญาตให้ www-data สามารถเขียนได้ด้วยคำสั่ง

find /var/www -name “*.php” -user www-data -perm -u+w -type f -exec ls -l {} \;

และทำการปิด permission ด้วย ปิดด้วยคำสั่ง

find /var/www -name “*.php” -user www-data -perm -u+w -type f -exec chmod u-w {} \;

โดยในระหว่างขั้นตอนค้นหาและแก้ไขปัญหานี้ ได้รับความช่วยเหลือจาก คุณคณกรณ์ ทางทีมผู้ดูแลเครือข่ายวิทยาหาดใหญ่ และภายหลังจากการเปิดอนุญาตให้เข้าถึงจากภายนอกได้เป็นเวลาประมาณ 3 วัน พบว่ามีการบุกรุกเข้ามาอีก โดยเปลี่ยนรูปแบบเป็นเทคนิค Obfuscate PHP แทน Base64 เดิม ทำให้แกะได้ยาก โดยมีจุดเด่นคือใช้ตัวแปร GLOBAL จำนวนมาก
จึงต้องใช้คำสังต่อไปนี้ในการค้นหา

find /var/www/ -name “*.php” -exec egrep -l ‘\$GLOBAL’ {} \; | xargs grep GLOBAL

webhost hack 13

จากการตรวจสอบ Log ของเว็บไซต์ พบว่า มีความพยายามโจมตี xmlrpc.php ของ WordPress ดังภาพ

webhost 14

***ขั้นตอนการตรวจสอบต่างๆ ได้แนวทางมาจาก https://sysadmin.psu.ac.th/2014/01/10/web-hacking-and-security-workshop

แก้ไขโดยทำการปิดกั้นสิทธิโดยไม่อนุญาตให้ทำงาน โดยขั้นตอนดังนี้

สร้างไฟล์ xmlrpc ใน Directory /etc/apache2/conf.d/xmlrpc
และเพิ่มลงในไฟล์

webhost hack 8

จากนั้นบันทึกและทำการรีสตาร์ท apache ด้วยคำสั่ง  sudo /etc/init.d/apache2 restart

ต่อมาทำการค้นหา permission ของ directory ที่มี permission เป็น 777 ทั้งหมดซ้ำอีกครั้งด้วยคำสั่ง

find /var/www -perm 0777 | xargs ls -l

ในระหว่างนี้ให้รอเครื่องเซอร์เวอร์ทำงานสักครู่…  จากนั้นทำการเปลี่ยน permission เป็น 755 ทั้งหมดด้วยคำสั่ง

find /var/www -perm 0777 -type d -exec chmod 755 “{}” \;

ต่อมาทำการค้นหา  group ที่อนุญาตให้  www-data สามารถเขียนได้ ด้วยคำสั่ง

find /var/www -group www-data -perm -g+w -type f -exec ls -l {} \;

และทำการปิดด้วยคำสั่ง

find /var/www -group www-data -perm -g+w -type f -exec chmod g-w “{}” \;

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

ในระหว่างรอตรวจสอบ พบว่ามีกาารส่งจดหมายขยะออกเป็นจำนวนมากจากอีเมล์ห้องสมุด

webhost hack 9

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

ขั้นตอนในการตรวจสอบและแก้ไขปัญหาต่างๆ ทั้งหมดเหล่านี้ ได้แนวทางมาจากบทความที่คุณคณกรณ์ ได้เขียนบทความไว้ที่

https://sysadmin.psu.ac.th/2014/01/10/web-hacking-and-security-workshop

ขอบคุณครับ

 

 

 

Chayatorn Wattanachalee

ชยธร วัฒนชาลี Mr. Chayatorn Wattanachalee Learning Centre Information Technology Section, Prince of Songkla University, Phuket Campus. E-mail: chayatorn.w@phuket.psu.ac.th Tel: 0-7627-6514

More Posts - Website

เทคนิคการเข้าโค้งจักรยานยนต์ในความเร็วสูง
การวางแผนการเงินหลังเกษียณ

Leave a Comment