פריצת וורדפרס – חלק 2

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

פריצה:

  1. לצערי אין לי דרך לזהות מה מקור הפריצה וכיצד היא הגיע אלי. אני רק יכול לשאר:
  2. מדובר בסוס טרויאני שיושב אצל אחד הלקוחות שלי ופשוט הצליח למשוך גישות לאחסון.
  3. באקדור (Backdoor) שהיה באחד התבניות שמותקנות אצלי.
  4. ניצול פריצת אבטחה של וורדפרס/פלאגין/Cpanel או כל דבר אחר שלא מעודכן.
  5. פריצה פיזית בתוך השרת (קשה לי להאמין שמשהו הצליח לפצח סיסת root בעלת 24 תווים רנדומלים.
  6. כל סיבה אחרת…

מקור מתקפה לפי הסדר:

  1. רוסיה – רומניה
  2. דומיניקה
  3. טוניס – אלג`ריה

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

קבצים בעייתיים:

  • .img.php או כל קובץ php אחר עם נקודה לפניו (קובץ מוסתר בלינוקס).
  • tt.php
  • claw.php – על שם של האקר ערבי
  • C99 Shell Scripts – זה הוא סקריפט גישה לשרת דרך PHP (סוג של סייר קבצים).
  • ועוד כל מיני קבצים מוזרים.

בדיקת קבצים:

לכל קובץ במחשב יש תאריך יצירה ותאריך עריכה. בד”כ מדובר בתאריך עדכון של מערכת וורדפרס או תעריך עדכון של קובץ בצורה ידנית.

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

צילום מסך שרת בחול
צילום מסך שרת בחול

ניתן לראות שתאריך עדכון קבצים הוא ב 26 ליולי 2011 (זה תאריך עדכון אחרון שעשיתי לוורדפרס). אבל ישנם קבצים שעודכנו לפני או אחרי.

כדי לפתוח אותם ולחטט בהם אולי פריצה מסתתרת באחד הקבצים הללו.

  • error.log – מרכז כל השגיאות באתר (תאריך שגיאה ואת השגיאה עצמה).
  • favicon.ico – אייקון של האתר, רצוי למקם אותו בתיקייה של תבנית.
  • google… – קובץ של גוגל וובמאסטר טולז.

מה שיותר מעניין אותי זה קבצים של וורדפרס עצמו index.php ו wp-config.php.

  • קובץ index.php צריך להתעדכן עם וורדדפרס, ז”א שתאריך עדכון חייב להיות זהה לכל הקבצים האחרים.
  • קובץ wp-config.php צריך להציג תאריך התקנה, למעשה הקובץ הזה מתעדכן פעם אחד בזמן ההתקנה וזהו.
[notice]עדיף לא לסמוך על עדכון אוטומטי של וורדפרס, כדי להגדיש רבע שעה ולבדוק כל הקבצים מדובר בסה”כ ב 5-20 תיקיות.[/notice]

קבצים מיותרים

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

  • wp-feed.php
  • wp-rss2.php
  • wp-rss.php
  • wp-atom.php
  • wp-commentsrss2.php
  • wp-rdf.php

המלצתי בעבר למחוק אותם.

איתור קבצים מקודדים:

פטרון נוסף נגד פריצות יכול להיות איתור קבצים עם קידוד Base64 או כל קידוד אחר.

אפשר לעשות את זה בעזרת כל עורך טקסט או עורך קוד ויזואלי, אני ממליץ על Notepad++ או PSPad.

צריך להוריד את כל הקבצים מהשרת ולהריץ חיפוש בקבצים ביטויים הבאים:

  • eval(base64_decode
  • gzuncompress
  • gzinflate
  • eval(stripslashes
  • edoced_46esab
  • FilesMan

מחיקת תיקיה cgi-bin

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

תמיד אפשר ליצור אותה במקרה הצורך.

שינוי משתמש ניהול:

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

הדרך היא קלה מאוד:

  1. ליצור משתמש חדש ולתת לו הרשאות מנהל (משתמש מספר 2).
  2. להתנתק מן המערכת ולהתחבר כמשתמש אחר (מספר 2).
  3. להיכנס לעריכת משתמש ראשון (בד”כ admin) להוריד את ההרשאות לאורח (הרשאה הכי נמוכה).

מה שקורה מכך, גם אם נפרץ שם משתמש ראשון, הוא לא יכול לעשות כלום במערכת.

[alert]חשוב מאוד לזכור שצריך לגבות את האתר לפני כל שינוי כזה או אחר.[/alert]