המדריך הזה נוצר במיוחד עבור סוג של פריצה שמוסיף לאתר דפים של שטויות עם הרבה מילות מפתח. אנחנו מכנים את הפריצה הזו 'פריצה של מילות מפתח וקישורים מוסתרים'. המאמר הזה מיועד בעיקר למשתמשים במערכות פופולריות לניהול תוכן (CMS). עם זאת, גם אם אתם לא משתמשים במערכת ניהול תוכן, המדריך הזה עדיין עשוי להיות שימושי לכם.
זיהוי הפריצה
הפריצה של מילות המפתח והקישורים המוסווים יוצרת באופן אוטומטי הרבה דפים עם טקסט, קישורים ותמונות לא הגיוניים. לפעמים הדפים האלה מכילים אלמנטים בסיסיים של תבנית מהאתר המקורי, כך שלמראית עין הדפים עשויים להיראות כמו חלקים רגילים באתר שלכם עד שתקראו את התוכן.
הדפים שנפרצו נוצרו כדי לבצע מניפולציה בגורמי הדירוג של Google. לרוב, האקרים מנסים לייצר הכנסות מהמצב הזה על ידי מכירת הקישורים בדפים שנפרצו לצדדים שלישיים שונים. לרוב, הדפים שנפרצו מפנים את המבקרים לדף לא קשור שבו האקרים יכולים להרוויח כסף.
קודם כול, כדאי לבדוק את הכלי בעיות אבטחה ב-Search Console כדי לראות אם Google זיהתה באתר שלכם דפים שנפרצו. לפעמים אפשר גם לחשוף את הדפים על ידי פתיחת חיפוש Google והקלדה של site:_your site url_
, עם כתובת ה-URL ברמת הבסיס של האתר. בתוצאות החיפוש הזה יוצגו הדפים ש-Google הוסיפה לאינדקס של האתר שלכם, כולל הדפים שנפרצו. כדאי לעיין בכמה דפים של תוצאות החיפוש כדי לראות אם מופיעות כתובות URL לא רגילות.
אם לא מופיע תוכן שנפרץ בחיפוש Google, אפשר להשתמש באותם מונחי חיפוש במנוע חיפוש אחר. דוגמה למה שעשוי להופיע:
![תוצאות חיפוש שנוצרו על ידי הפריצה הזו.](https://web.dev/static/articles/fix-the-cloaked-keywords-hack/image/search-results-generated.png?authuser=8&hl=he)
בדרך כלל, כשלוחצים על קישור לדף שנפרץ, מופיעה הפניה לאתר אחר או שמוצג דף מלא בתוכן לא מובן. עם זאת, יכול להיות שתופיע גם הודעה שמציינת שהדף לא קיים (לדוגמה, שגיאה מסוג 404). אל תתנו לזה להטעות אתכם! האקרים מנסים לגרום לכם לחשוב שהדף לא קיים או תוקן, כשבפועל הוא עדיין נפרץ. הם עושים זאת באמצעות הסוואה של תוכן.
כדי לבדוק אם יש הטעיה, מזינים את כתובות ה-URL של האתר בכלי לבדיקת כתובות URL. הכלי 'אחזור כמו Google' מאפשר לכם לראות את התוכן המוסתר הבסיסי.
![דף לדוגמה שנוצר באמצעות הפריצה הזו.](https://web.dev/static/articles/fix-the-cloaked-keywords-hack/image/example-hacked-page.png?authuser=8&hl=he)
תיקון הפריצה
לפני שמתחילים, צריך לגבות את האתר כולו במצב אופליין. כך תוכלו לשחזר את הקבצים מאוחר יותר, אם יהיה צורך. שומרים את כל הקבצים שנמצאים בשרת במיקום מחוץ לשרת.
אם אתם משתמשים במערכת ניהול תוכן (CMS), כמו WordPress או Drupal, יכול להיות שתוכלו להשתמש בפלאגין לגיבוי כדי לשמור את האתר. חשוב לזכור לגבות גם את מאגר הנתונים. עיינו במסמכי התיעוד של מערכת ניהול התוכן כדי לבדוק איך עושים את זה.
בדיקת הקובץ .htaccess
(3 שלבים)
הפריצה של מילות המפתח והקישורים המוסווים מתבססת על קובץ .htaccess
כדי ליצור באופן אוטומטי דפים מוסתרים באתר. מומלץ להכיר את היסודות של .htaccess
באתר הרשמי של Apache כדי להבין טוב יותר איך הפריצה משפיעה על האתר שלכם, אבל זה לא חובה.
שלב 1
מאתרים את קובץ .htaccess
באתר. אם אתם לא בטוחים איפה הוא נמצא ואתם משתמשים במערכת ניהול תוכן כמו WordPress, Joomla או Drupal, תוכלו לחפש במנוע חיפוש את 'מיקום הקובץ .htaccess' יחד עם שם מערכת ניהול התוכן.
בהתאם לאתר, יכול להיות שיופיעו כמה קבצים מסוג .htaccess
.
יוצרים רשימה של כל המיקומים של הקבצים של .htaccess
.
שלב 2
פותחים את הקובץ .htaccess
כדי להציג את התוכן שלו. מחפשים שורת קוד שנראית בערך כך:
RewriteRule (.*cj2fa.*|^tobeornottobe$) /injected_file.php?q=$1 [L]
המשתנים בשורה הזו יכולים להשתנות. הערכים של cj2fa
ו-tobeornottobe
יכולים להיות כל שילוב של אותיות או מילים. חשוב לזהות את הערך של .php
שמצוין בשורה הזו.
כותבים את שם הקובץ .php
שמוזכר בקובץ .htaccess
. בדוגמה, שם הקובץ .php
הוא injected_file.php
, אבל בפועל שם הקובץ לא יהיה ברור כל כך. בדרך כלל זו קבוצה אקראית של מילים לא מזיקות כמו horsekeys.php
או potatolake.php
. סביר להניח שמדובר בקובץ .php
זדוני שאנחנו צריכים לאתר ולהסיר מאוחר יותר.
שלב 3
מחליפים את כל הקבצים מסוג .htaccess
בגרסה נקייה או בגרסה שמוגדרת כברירת מחדל של הקובץ .htaccess
. בדרך כלל אפשר למצוא גרסה שמוגדרת כברירת מחדל של קובץ .htaccess
על ידי חיפוש של 'קובץ .htaccess
שמוגדר כברירת מחדל' ושם המערכת לניהול תוכן. באתרים עם כמה קובצי .htaccess
, צריך למצוא גרסה נקייה של כל אחד מהם ולבצע את ההחלפה.
אם לא קיים קובץ .htaccess
שמוגדר כברירת מחדל ואף פעם לא הגדרתם קובץ .htaccess
באתר, סביר להניח שקובץ ה-.htaccess
שנמצא באתר שלכם הוא זדוני.
לשמור עותק של קובצי .htaccess
במצב אופליין למקרה הצורך, ולהסיר אותם מהאתר.
איתור והסרה של קבצים זדוניים אחרים (5 שלבים)
זיהוי קבצים זדוניים יכול להיות מסובך ולקחת הרבה זמן. כדאי להקדיש זמן לבדיקה של הקבצים. אם עדיין לא עשיתם זאת, זה הזמן לגבות את הקבצים באתר. כדאי לעיין במסמכי התיעוד של מערכת ניהול התוכן הספציפית כדי ללמוד איך לגבות את האתר.
שלב 1
אם אתם משתמשים במערכת ניהול תוכן, צריך להתקין מחדש את כל קבצי הליבה (ברירת המחדל) שמגיעים עם חלוקת ברירת המחדל של מערכת ניהול התוכן, וגם כל מה שהוספתם (כמו עיצובים, מודולים ופלאגינים). כך אפשר לוודא שהקבצים האלה לא מכילים תוכן שנפרץ. אפשר לחפש את המילים 'התקנה מחדש' ואת שם מערכת ניהול התוכן כדי למצוא הוראות להתקנה מחדש. אם יש לכם תוספים, מודולים, תוספי צד שלישי או עיצובים, חשוב להתקין אותם מחדש.
שלב 2
מתחילים בחיפוש הקובץ .php
שזיהיתם קודם בקובץ .htaccess
. בהתאם לאופן שבו אתם ניגשים לקבצים בשרת, אמורה להיות לכם פונקציית חיפוש כלשהי. מחפשים את שם הקובץ הזדוני. אם תמצאו אותו, קודם עליכם ליצור עותק לגיבוי ולאחסן אותו במיקום אחר למקרה שתצטרכו לשחזר אותו, ואז למחוק אותו מהאתר.
שלב 3
מחפשים קבצים זדוניים או קבצים שנחשפו. יכול להיות שכבר הסרתם את כל הקבצים הזדוניים בשני השלבים הקודמים, אבל חשוב לוודא שאין באתר קבצים נוספים שנפרצו.
יכול להיות שתרגישו מבולבלים אם תצטרכו לפתוח ולעיין בכל קובץ PHP. במקום זאת, יוצרים רשימה של קובצי PHP חשודים שרוצים לבדוק. ריכזנו כאן כמה דרכים לקבוע אילו קובצי PHP הם חשודים:
- אם כבר טעינת מחדש את קובצי ה-CMS, צריך לבדוק רק קבצים שלא נכללים בתיקיות או בקובצי ברירת המחדל של ה-CMS. הפעולה הזו אמורה להוציא משיקול דעתכם הרבה קובצי PHP, ולהשאיר לכם כמה קבצים שצריך לבדוק.
- ממיינים את הקבצים באתר לפי התאריך שבו בוצע השינוי האחרון בהם. מחפשים קבצים ששונו בחודשים הראשונים לאחר גילוי הפריצה לאתר.
- ממיינים את הקבצים באתר לפי גודל. מחפשים קבצים גדולים באופן חריג.
שלב 4
אחרי שתקבלו רשימה של קובצי PHP חשודים, עליכם לבדוק אם הם זדוניים. אם אתם לא מכירים את PHP, התהליך הזה עשוי להיות זמן רב יותר, לכן מומלץ לקרוא מסמכי עזרה בנושא PHP. אם אתם מתחילים בתחום התכנות, מומלץ לקבל עזרה. בינתיים, יש כמה דפוסים בסיסיים שאפשר לחפש כדי לזהות קבצים זדוניים.
אם אתם משתמשים במערכת ניהול תוכן ואתם לא נוהגים לערוך את הקבצים האלה ישירות, תוכלו להשוות בין הקבצים בשרת לבין רשימת קבצי ברירת המחדל שכלולים בחבילת מערכת ניהול התוכן, וכן בין הקבצים של הפלאגינים והעיצובים. מחפשים קבצים שלא שייכים לאפליקציה, וגם קבצים גדולים יותר מגרסת ברירת המחדל שלהם.
קודם כול, בודקים את הקבצים החשודים שכבר זיהיתם כדי לחפש קטעי טקסט גדולים עם שילוב של אותיות ומספרים שנראים כאילו הם מעורבבים. בדרך כלל, לפני מקטע הטקסט הגדול מופיעה שילוב של פונקציות PHP כמו base64_decode
, rot13
, eval
, strrev
או gzinflate
.
דוגמה למראה של בלוק הקוד הזה. לפעמים כל הקוד הזה נכנס לשורה אחת ארוכה של טקסט, כך שהוא נראה קטן יותר ממה שהוא באמת.
// Hackers try to confuse webmasters by encoding malicious code into
// blocks of text. Be wary of unfamiliar code blocks like this.
base64_decode(strrev("hMXZpRXaslmYhJXZuxWd2BSZ0l2cgknbhByZul2czVmckRWYgknYgM3ajFGd0FGIlJXd0Vn
ZgknbhBSbvJnZgUGdpNHIyV3b5BSZyV3YlNHIvRHI0V2Zy9mZgQ3Ju9GRg4SZ0l2cgIXdvlHI4lmZg4WYjBSdvlHIsU2c
hVmcnBydvJGblBiZvBCdpJGIhBCZuFGIl1Wa0BCa0l2dgQXdCBiLkJXYoBSZiBibhNGIlR2bjBycphGdgcmbpRXYjNXdmJ2b
lRGI5xWZ0Fmb1RncvZmbVBiLn5WauVGcwFGagM3J0FGa3BCZuFGdzJXZk5Wdg8GdgU3b5BicvZGI0xWdjlmZmlGZgQXagU2ah
1GIvRHIzlGa0BSZrlGbgUGZvNGIlRWaoByb0BSZrlGbgMnclt2YhhEIuUGZvNGIlxmYhRWYlJnb1BychByZulGZhJXZ1F3ch
1GIlR2bjBCZlRXYjNXdmJ2bgMXdvl2YpxWYtBiZvBSZjVWawBSYgMXagMXaoRFIskGS"));
לפעמים הקוד לא מבולבול ופשוט נראה כמו סקריפט רגיל. אם אתם לא בטוחים שהקוד פגום, תוכלו להיכנס אל קהילת העזרה של Google Search Central, שבה קבוצה של מנהלי אתרים מנוסים יכולה לעזור לכם לבדוק את הקבצים.
שלב 5
עכשיו, אחרי שזיהיתם אילו קבצים חשודים, עליכם ליצור גיבוי או עותק מקומי שלהם על ידי שמירתם במחשב, למקרה שאחד מהקבצים לא זדוני, ולמחוק את הקבצים החשודים מהאתר.
בדיקה אם האתר נקי
אחרי שמסיימים להסיר את הקבצים שנפרצו, כדאי לבדוק אם המאמץ השתלם. זוכרים את הדפים עם הטקסט הלא ברור שזיהיתם מקודם? צריך להשתמש שוב בכלי 'אחזור כמו Google' כדי לבדוק אם הם עדיין קיימים. אם התשובה היא 'לא נמצא' ב'אחזור כפי ש-Google עושה', סביר להניח שהאתר שלכם במצב טוב ותוכלו להמשיך לתקן את נקודות החולשה באתר.
איך אפשר למנוע פריצה חוזרת?
השלב האחרון למניעת פריצות עתידיות הוא תיקון נקודות החולשה באתר. מחקר מצא ש-20% מהאתרים שנפרצו נפרצים שוב תוך יום אחד. חשוב לדעת בדיוק איך האתר נפרץ. כדי להתחיל את החקירה, כדאי לקרוא את המאמר הדרכים המובילות שבהן אתרים נפרצים על ידי שולחי ספאם.
אם אתם לא מצליחים להבין איך האתר שלכם נפרץ, תוכלו לפעול לפי רשימת המשימות הבאה כדי לצמצם את נקודות החולשה באתר:
- סריקת המחשב באופן קבוע: אפשר להשתמש בכל סורק וירוסים פופולרי כדי לבדוק אם יש וירוסים או נקודות חולשה.
- שינוי הסיסמה באופן קבוע: שינוי קבוע של הסיסמאות לכל החשבונות של האתר, כמו ספק האירוח, ה-FTP וה-CMS, יכול למנוע גישה לא מורשית לאתר. חשוב ליצור סיסמה חזקה וייחודית לכל חשבון.
- משתמשים באימות דו-שלבי (2FA) או מגדירים מפתח גישה: אימות דו-שלבי ומפתחות גישה מקשים מאוד על האקרים להיכנס לחשבון, גם אם הם מצליחים לגנוב את הסיסמה.
- לעדכן באופן קבוע את מערכת ניהול התוכן, הפלאגינים, התוספים והמודולים: הרבה אתרים נפרצים כי הם פועלים עם תוכנה לא עדכנית. חלק ממערכות ניהול התוכן תומכות בעדכון אוטומטי.
- כדאי להירשם לשירות אבטחה כדי לעקוב אחרי האתר: יש הרבה שירותים מעולים שיכולים לעזור לכם לעקוב אחרי האתר בתשלום קטן. מומלץ להירשם אליהם כדי לשמור על אבטחת האתר.
מקורות מידע נוספים
אם עדיין נתקלת בבעיות בתיקון האתר, יש לנו עוד כמה מקורות מידע שיכולים לעזור לך.
הכלים האלה סורקים את האתר שלכם ויכולים למצוא תוכן בעייתי. מלבד VirusTotal, Google לא מפעילה או תומכת בהם.
אנחנו לא יכולים להבטיח שהסורקים האלה יוכלו לזהות כל סוג של תוכן בעייתי. חשוב להמשיך לבדוק את אבטחת האתר באופן קבוע.
ריכזנו כאן מקורות מידע נוספים שיכולים לעזור לך: