ตั้งแต่ วิธีตรวจสอบเว็บไซต์ที่โดน Hack #1 เป็นต้นมา เป็นการแสดงให้เห็นถึง ปัญหา, การตรวจสอบ, การค้นหา หลังจากเกิดปัญหาแล้วทั้งสิ้น ก็จะเห็นได้ว่า ยุ่งยาก และเป็นเรื่องยากมาก ที่จะค้นหา Backdoor ให้หมด และการจะกำจัดให้หมดนั้นเป็นภาระอย่างมาก

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

การสำรองข้อมูล หรือการ Backup มี 2 แบบ

  1. Full Backup: สำรองทุกไฟล์และไดเรกทอรี่
  2. Incremental Backup: สำรอง “เฉพาะ” ไฟล์และไดเรกทอรี่ ที่มีการเพิ่ม หรือเปลี่ยนแปลง เท่านั้น

เครื่องมือในการ Backup มีหลายอย่าง ในบทความนี้ ขอใช้ tar เพราะสามารถใช้งานได้ง่าย
โดยยกตัวอย่าง เป็นการ Backup /var/www/joomla15

1. Full Backup ทำได้โดยการสร้างไฟล์ fullbackup.sh และมีข้อมูลดังนี้

d=$(date "+%Y%m%d%H%M%S")
cp /dev/null joomla15.snar
tar -zcvf joomla15-full-$d.tar.gz -g joomla15.snar /var/www/joomla15

2. Incremental Backup ทำได้โดยการสร้างไฟล์ incrementalbackup.sh และมีข้อมูลดังนี้

d=$(date "+%Y%m%d%H%M%S")
tar -zcvf joomla15-inc-$d.tar.gz -g joomla15.snar /var/www/joomla15

โดยคำสั่ง tar มีคำสั่งเพิ่มเติม เล็กน้อย คือ -g ตามตัว joomla15.snar ซึ่ง จะเก็บสถานะของการ Backup ล่าสุดเอาไว้ ทำให้สามารถทราบได้ว่า มีต้อง Backup ไฟล์ใดบ้าง, ส่วน ชื่อไฟล์ .tar.gz ก็จะนำหน้าด้วย วันเวลานาที ของการทำ backup ไว้

เมื่อทำคำสั่ง

sh fullbackup.sh

จะได้ไฟล์นี้

joomla15-full-20140105004433.tar.gz

ต่อมา สมมุติ มีการโจมตี Joomla ด้วยช่องโหว่ของ JCE แบบนี้

jce01

เมื่อใช้คำสั่ง

find /var/www/ -name "*.php" -type f | grep 'images/stories'

ได้ผลดังนี้

/var/www/joomla15/images/stories/0day.php

และ สมมุติ Hacker ใช้งาน Backdoor 0day.php ดังกล่าวทาง URL

http://localhost/joomla15//images/stories/0day.php

และ แก้ไขไฟล์

/var/www/joomla15/CREDITS.php

ดังนี้

jce02

สรุปคือ Hacker สามารถ สร้างและเปลี่ยนแปลงไฟล์

/var/www/joomla15/images/stories/0day.php
/var/www/joomla15/CREDITS.php

เมื่อใช้คำสั่ง

sh incrementalbackup.sh

จะได้ไฟล์

joomla15-inc-20140105021906.tar.gz

วิธีตรวจสอบ ไฟล์ที่เพิ่มเข้ามา และมีการเปลี่ยนแปลง ใช้คำสั่ง diff โดยเอารายการของไฟล็ใน .tar.gz มาเปรียบเทียบกัน ด้วยคำสั่ง

diff <(tar -ztvf joomla15-full-20140105004433.tar.gz) <(tar -ztvf joomla15-inc-20140105021906.tar.gz) |grep '>'

ผลที่ได้คือ จะทราบว่ามีไฟล์ ต่อไปนี้ เพิ่ม/เปลี่ยนแปลง

> -rw-r--r-- www-data/www-data 15571 2014-01-05 02:10 var/www/joomla15/CREDITS.php
> -rw-r--r-- www-data/www-data 14315 2014-01-05 01:55 var/www/joomla15/images/stories/0day.php

หาก ต้องการไฟล์ต้นฉบับของ CREDITS.php ก็ใช้คำสั่ง

tar -zxvf joomla15-full-20140105004433.tar.gz var/www/joomla15/CREDITS.php

ก็สามารถกู้ไฟล์เดิมกลับมาได้ครับ

ขอให้โชคดี

Share the Post:

Related Posts

ทำความรู้จักกับ Outlook บนเว็บ

Post Views: 6 Outlook เป็นเครื่องมือจัดการอีเมลและปฏิทินที่ทรงพลัง ซึ่งช่วยให้คุณมีระเบียบและเพิ่มความสามารถในการทำงาน ด้วยอินเทอร์เฟซที่ใช้งานง่าย คุณสามารถจัดการกล่องขาเข้าของคุณ นัดหมาย และทำงานร่วมกับเพื่อนร่วมงานได้อย่างง่ายดาย ฟีเจอร์ที่แข็งแกร่งของ Outlook รวมถึงแม่แบบอีเมลที่ปรับแต่งได้ ความสามารถในการค้นหาขั้นสูง และการผสานรวมที่ไร้รอยต่อกับแอปพลิเคชัน Microsoft Office อื่นๆ ไม่ว่าคุณจะเป็นมืออาชีพที่ยุ่งอยู่หรือเป็นนักเรียนที่ต้องจัดการกับภารกิจหลายอย่าง Outlook

Read More

[บันทึกกันลืม] JupyterHub Authenticated with OIDC

Post Views: 36 ต่อจากตอนที่แล้ว [บันทึกกันลืม] JupyterHub ด้วย Docker คราวนี้ ถ้าต้องการให้ ยืนยันตัวตนด้วย OpenID เช่น PSU Passport เป็นต้น ก็ให้ทำดังนี้ ในไฟล์ jupyterhub_config.py ใส่

Read More