יצירת חשבון מנהל חדש היא כמעט תמיד הצעד השני של תוקף שהצליח לפרוץ – הצעד הראשון הוא ניצול הפרצה, השני הוא פתיחת דרך חזרה גם אם הסיסמה הקיימת תוחלף. כל אדמין שאתה לא מזהה הוא חשד פריצה עד שיוכח אחרת, ואפילו חשבון "מוכר" שנוצר ב-3 בלילה מצריך בדיקה.
למה זה משנה
אדמין ב-WordPress יכול לעשות הכל: להעלות תוספים (וקוד זדוני בתוכם), לערוך קבצי תבנית, להוסיף webhook שמייצא תוכן, לשנות מיילים של מנהלים אחרים, ואפילו להוריד את כל מאגר המשתמשים. כשהתוקף יוצר חשבון "secondary" אחרי הפריצה הראשונה, הוא בונה גישה מתמשכת – גם אם תזהה את הפריצה ותחליף סיסמאות, החשבון החדש שלו עדיין שם. שמות נפוצים שתוקפים בוחרים: wpadmin, backup, support, seo-admin – שמות שנראים תמימים ולא מעוררים חשד בסקירה מהירה.
איך לזהות
בעמוד Users > All Users, סנן לפי "Administrator" ומיין לפי תאריך הרשמה (יורד). השווה את הרשימה לרשימת העובדים שלך. סימני אזהרה: כתובת מייל בדומיין שאינו של החברה (gmail/yandex/protonmail) למשתמשים שאמורים להיות פנימיים, שמות משתמש כלליים (admin, editor, seo), תאריך הרשמה בשעות לא הגיוניות, ו-IP אחרון של ההתחברות במדינה זרה.
שאילתה ישירה ב-DB:
SELECT u.ID, u.user_login, u.user_email, u.user_registered, m.meta_value AS roles
FROM wp_users u
JOIN wp_usermeta m ON m.user_id = u.ID AND m.meta_key = 'wp_capabilities'
WHERE m.meta_value LIKE '%administrator%'
ORDER BY u.user_registered DESC;
איך לתקן
אם זיהית אדמין חשוד: הורד אותו ל-Subscriber קודם (לא תמחק עדיין – ייתכן שתרצה ראיה לתחקיר), ואז בדוק את wp-content/plugins ו-wp-content/themes לקבצי PHP חריגים. רק אחרי שהאתר נוקה, מחק את החשבון וייחס את התוכן שלו לחשבון שלך. שנה salts ב-wp-config.php – זה ינתק כל סשן קיים. החלף סיסמאות לכל המנהלים האמיתיים, ולא תזיק החלפה גם של סיסמת ה-DB.
// log כל יצירת אדמין חדש – הוסף ל-mu-plugin
add_action('set_user_role', function ($user_id, $role) {
if ($role === 'administrator') {
error_log("[ADMIN-CREATED] User $user_id became admin at " . date('c') . " from IP " . $_SERVER['REMOTE_ADDR']);
}
}, 10, 2);
טעויות נפוצות
טעות ראשונה: למחוק את האדמין החשוד מיד בלי לבדוק את הקבצים. אם נוצר אדמין, יש backdoor שאיפשר זאת – המחיקה לא מסגירה את הפרצה. טעות שנייה: להניח ש"כנראה משהו פנימי שכחתי". אם אינך זוכר שיצרת חשבון – לא יצרת. מתעדים יצירת מנהלים, לא משכים. טעות שלישית: לא להחליף salts. ללא wp_logout_all או החלפת salts, הסשן של התוקף עדיין פעיל גם אחרי שהחשבון נמחק (אם הוא נכנס לפני המחיקה). טעות רביעית: לא להפעיל 2FA אחרי האירוע – אם הפעם הראשונה הייתה brute-force, הפעם הבאה תהיה בלי 2FA זהה.
בדיקה לאחר תיקון
הרץ סריקת Wordfence או MalCare מלאה – לא רק "Quick Scan". בדוק את wp_options בטבלה ה-DB: SELECT option_value FROM wp_options WHERE option_name = 'active_plugins' – ודא שכל התוספים פעילים מוכרים. עבור על קובץ .htaccess ובדוק שאין הפניות חשודות. אחרי 24 שעות, חזור והרץ אודיט – אם נוצר אדמין נוסף, יש backdoor שלא נמצא.