The #ChromeDevSummit site is live, happening Nov 12-13 in San Francisco, CA
Check it out for details and request an invite. We'll be diving deep into modern web tech & looking ahead to the platform's future.

ถูกแฮ็กให้แพร่กระจายมัลแวร์

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

หากไซต์ถูกแฮ็กให้แสดงสแปมแทนที่จะแพร่กระจายมัลแวร์ ระบบจะแสดงคำเตือน "ไซต์นี้อาจถูกแฮ็ก" ในผลการค้นหา โปรดดูหน้าประเมินความเสียหายจากสแปม (ถูกแฮ็กให้แสดงสแปม)

คุณจะต้องมีสิ่งต่อไปนี้

  • สิทธิ์เข้าถึงเซิร์ฟเวอร์ของไซต์ ไม่ว่าจะเป็นเว็บ ฐานข้อมูล หรือไฟล์ ในระดับผู้ดูแลระบบผ่านทาง Shell/เทอร์มินัล
  • ความรู้เกี่ยวกับคำสั่ง Shell/เทอร์มินัล
  • ความสามารถในการเรียกใช้รูปแบบของ SQL ในฐานข้อมูล

สิ่งที่คุณต้องดำเนินการ

การจัดเตรียม

  1. หลีกเลี่ยงการใช้เบราว์เซอร์เพื่อดูหน้าในไซต์ เนื่องจากมัลแวร์มักจะแพร่กระจายโดยใช้ช่องโหว่ของเบราว์เซอร์ การเปิดหน้าเว็บที่ติดมัลแวร์ในเบราว์เซอร์อาจทำให้คอมพิวเตอร์เสียหายได้
  2. สร้างเอกสารสำหรับบันทึกสิ่งที่พบในขั้นตอนนี้ ซึ่งท้ายที่สุดแล้ว จะมีชื่อ/ตำแหน่งของแต่ละไฟล์ที่เสียหาย และข้อมูลเกี่ยวกับการติดมัลแวร์ (เป็นอย่างน้อย) โดยจะใช้เป็นข้อมูลพื้นฐานในการทำความสะอาดและดูแลรักษาไซต์
  3. ตรวจสอบแหล่งข้อมูลเพิ่มเติมตามความจำเป็น
    • ชมวิดีโอด้านบนเพื่อดูวิธีการทำงานของมัลแวร์ รวมถึงวิธีที่จะช่วยให้คุณปลอดภัยในระหว่างการตรวจสอบมัลแวร์
    • ดูหน้าการวินิจฉัยของ Google Safe Browsing เพื่อดูข้อมูลสาธารณะเกี่ยวกับการเป็นอันตรายต่อผู้ใช้ของไซต์ต่างๆ และดูสถานะที่แสดงอยู่ของไซต์ของคุณได้ที่ URL ที่มีลักษณะดังนี้
      http://www.google.com/safebrowsing/diagnostic?site=<your-site>
      ตัวอย่างเช่น http://www.google.com/safebrowsing/diagnostic?site=webmastercentralblog.blogspot.com
  4. ใช้ cURL หรือ Wget ในการส่งคำขอ HTTP (เช่น เพื่อดึงหน้าเว็บ)

    เครื่องมือที่ใช้งานฟรีเหล่านี้มีประโยชน์ในการวิเคราะห์การเปลี่ยนเส้นทาง ทั้งยังมีความยืดหยุ่นในการรวมข้อมูลผู้อ้างอิงหรือ User-agent ซึ่งการรวมข้อมูลผู้อ้างอิงหรือ User-agent ไว้อย่างเจาะจงดังกล่าว จะช่วยในการเลียนแบบแฮ็กเกอร์ เนื่องจากแฮ็กเกอร์อาจแสดงเนื้อหาที่เป็นอันตรายแก่ผู้ใช้ที่ใช้ User-agent หรือผู้อ้างอิงเฉพาะบางอย่างเท่านั้นเพื่อกำหนดเป้าหมายไปยัง "ผู้ที่มีตัวตนอยู่จริง" ให้มากขึ้นและสามารถหลีกเลี่ยงการตรวจจับของเจ้าของไซต์และโปรแกรมสแกนมัลแวร์ได้

    $curl -v --referer "http://www.google.com" <your-url>

การตรวจสอบประเภทการติดมัลแวร์ที่เฉพาะเจาะจงในไซต์

  1. เลือกไซต์ที่ได้รับการยืนยันของคุณใน Search Console แล้วคลิกปัญหาด้านความปลอดภัย
  2. ตรวจสอบหมวดหมู่ของมัลแวร์ทั้งหมด (เช่น การกำหนดค่าเซิร์ฟเวอร์ การแทรก SQL) ที่แสดงอยู่ใน "ปัญหาด้านความปลอดภัย" ของไซต์ โดยดูข้อมูลเพิ่มเติมเกี่ยวกับ URL ที่ติดเชื้อจากหมวดหมู่นั้นๆ ได้โดยคลิก “แสดงรายละเอียด” (รายละเอียดอาจมีตัวอย่างข้อมูลโค้ดที่แฮ็กเกอร์ได้แทรกไว้) ทั้งนี้สำหรับแต่ละหมวดหมู่ ให้คัดลอกข้อมูลต่อไปนี้ลงในเอกสารการตรวจสอบ
    • ตัวอย่าง URL ทั้งหมดที่ถูกโจมตีซึ่งแสดงอยู่ในปัญหาด้านความปลอดภัยของหมวดมัลแวร์
    • หน้าเว็บที่เสียหายเพิ่มเติมที่คุณพบในระหว่างการตรวจสอบ
    • รายละเอียดเกี่ยวกับ URL ที่ถูกโจมตีที่พบ เช่น ประเภทของความเสียหายที่เกิดขึ้น
  3. คุณสามารถดูข้อมูลที่จะช่วยในการตรวจสอบมัลแวร์แต่ละประเภทได้ที่ด้านล่าง

การประเมินความเสียหายของระบบไฟล์

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

หากไซต์ออนไลน์อยู่ คุณสามารถทำให้ไซต์ออฟไลน์เพื่อทำขั้นตอนนี้

  1. หากคุณมีข้อมูลสำรองของไซต์ซึ่งปราศจากปัญหาใดๆ ให้ระบุว่าไฟล์ใดสร้างขึ้นหรือมีการแก้ไขหลังจากวันที่สำรองข้อมูลดังกล่าว ให้เพิ่มไฟล์เหล่านี้ลงในรายการ เนื่องจากคุณน่าจะต้องการตรวจสอบต่อไป โดยในระบบ Unix คุณจะใช้คำสั่งต่อไปนี้ได้
    $ diff -qr <current-directory> <backup-directory>
    ตัวอย่างเช่น
    $ diff -qr www/ backups/full-backup-20120124/
    และ
    $ md5sum <current-page> <backup-page>
    ตัวอย่างเช่น
    $ md5sum www/page.html backups/full-backup-20120124/page.html
  2. ตรวจสอบบันทึกของเซิร์ฟเวอร์ การเข้าถึง และข้อผิดพลาด เพื่อหากิจกรรมที่น่าสงสัย เช่น การพยายามเข้าสู่ระบบที่ล้มเหลว ประวัติคำสั่ง (โดยเฉพาะอย่างยิ่งที่สั่งจากราก) การสร้างบัญชีผู้ใช้ที่ไม่รู้จัก และอื่นๆ โปรดทราบว่าแฮ็กเกอร์อาจมีการแก้ไขบันทึกเหล่านี้เพื่อวัตถุประสงค์ส่วนตัว (หากข้อมูลนี้มีประโยชน์ โปรดดูตัวอย่างในวิดีโอของขั้นตอนระบุช่องโหว่)
  3. ตรวจสอบไฟล์การกำหนดค่า เช่น .htaccess และ httpd.conf สำหรับการเปลี่ยนเส้นทาง แฮกเกอร์มักจะสร้างเงื่อนไขการเปลี่ยนเส้นทางตาม user-agent ช่วงเวลาของวัน หรือผู้อ้างอิง
  4. ตรวจหาการให้สิทธิ์เข้าถึงโฟลเดอร์และไฟล์ที่มากเกินไป แฮ็กเกอร์จะไปยุ่งวุ่นวายกับสิทธิ์ต่างๆ เพราะถ้าเจ้าของไซต์ยังคงไม่พบการให้สิทธิ์ที่หละหลวม แฮ็กเกอร์ก็จะยังมีวิธีกลับเข้าไปยังไซต์ได้อีก ไฟล์ที่ได้รับสิทธิ์มากกว่า 644 (rw-r--r--) และโฟลเดอร์ที่ได้รับสิทธิ์มากกว่า 755 (rwxr-xr-x) อาจทำให้เกิดปัญหาด้านความปลอดภัย ตรวจสอบว่าการให้สิทธิ์อย่างหละหลวมนั้นเกินความจำเป็นไหม โดยในระบบ Unix ให้ลองใช้คำสั่งต่อไปนี้
    $ find <your-dir> -type d -not -perm 755 -exec ls -ld {} \;
    $ find <your-dir> -type f -not -perm 644 -exec ls -la {} \;
  5. หากคุณมีฐานข้อมูล ให้ตรวจสอบข้อมูลแต่ละรายการโดยใช้เครื่องมืออย่างเช่น phpMyAdmin

ขั้นตอนถัดไป

ขั้นตอนถัดไปในกระบวนการนี้คือระบุช่องโหว่