לדלג לתוכן

בונים Honeypot ביתי - כך נראית מתקפה אמיתית מקרוב

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

מה זה בעצם Honeypot ולמה ארגונים משתמשים בו

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

בונים גרסה ביתית - שירות SSH מזויף

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

import socket
from datetime import datetime

server = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
server.bind(("0.0.0.0", 2222))
server.listen(5)

while True:
    conn, addr = server.accept()
    with open("honeypot.log", "a") as f:
        f.write(f"{datetime.now()} - חיבור מ-{addr[0]}:{addr[1]}\n")
    conn.close()

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

מה לומדים מהלוגים בפועל

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

שיקולי בטיחות שאסור לדלג עליהם

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

מה מרוויחים מהפרויקט

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

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

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

הצטרפו לקהילה בדיסקורד