Nmap

Nmap (קיצור של Network Mapper‏ תרגום; "ממפה רשת") היא תוכנת סריקת רשת, המשמשת לגילוי מתחמים ושירותים, ברשת מחשבים. דרך פעולת Nmap היא שליחת חבילות בעלות מבנה מסוים אל המתחם הרצוי, וניתוח התגובה המתקבלת ממנו. תכונות התוכנה יכולות להיות מורחבות על ידי סקריפטים ייעודיים המוסיפים תכונות, כדוגמת בדיקות פגיעות, גילוי מערכת ההפעלה, וגילוי מתחמים מתקדם יותר. Nmap מסוגלת גם להסתגל למצבי רשת שונים, כולל השהיה ועומס במהלך סריקה. בהתחלה הייתה התוכנה מותאמת לשימוש רק תחת לינוקס, אך היא עברה פורטינג לחלונות, סולאריס, BSD, ‏HP-UX, ‏AmigaOS, ו-SGI IRIX. לינוקס היא המערכת שהכי נפוץ בה השימוש בתוכנה, וחלונות מיד אחריה. התוכנה נכתבה במקור על ידי גורדון ליון ונמצאת תחת פיתוח ושיפור על ידי קהילת המשתמשים שלה. להלן פקודות בסיסיות לסריקת מטרות: nmap -sn -PS <target> # Discovering hosts with TCP SYN ping scans nmap -sn -PA <target> # Discovering hosts with TCP ACK ping scans nmap -sn -PU <target> # Discovering hosts with UDP ping scans nmap -sn -PE <target> # Discovering hosts with ICMP ping scans nmap -sn -PR <target> # Discovering hosts with ARP ping scans nmap -sn -PR --spoof-mac <mac address> <target> # MAC address spoofing התהליך החשוב ביותר במהלך הערכת אבטחה הוא שלב איסוף המידע, בשלב זה, מגלים מעריכי האבטחה - או ההאקרים - נכסים וממפים את משטח ההתקפה של הקורבן כדי ללמוד כמה שיותר, מכיוון שכל פיסת מידע יכולה לעזור. בדרך כלל, בשלב זה, אוספים את כל המידע שניתן למצוא, כולל שמות משתמש, סיסמאות אפשריות, שמות מארחים, כתובות IP, ספקים חיצוניים ושירותים פנימיים, כולל באנרים של גרסאות, בין הרבה פיסות מידע מעניינות אחרות. יש אלפי כלים לצורכי איסוף מידע, עם זאת, ל-Nmap Scripting Engine (NSE) יש יתרון בכך שהתוצאות הפנימיות מתקבלות מהסריקות, בנוסף למקורות נתונים חיצוניים המשלימים את הכלים הרבים שעוזרים להשלים את השלב הזה. זיהוי המיקום של כתובת IP עשוי לעזור למנהלי מערכת או מנתחי מודיעין איומים לזהות את מקורו של חיבור לרשת. Nmap מגיע עם מספר סקריפטים של NSE שעוזרים לנו לבצע מיקום גאוגרפי של כתובת IP מרוחקת, למשל: nmap -sn --script ip-geolocation-* <target> ניתן לשמור את התוצאות בפורמט KML ולהוציא אותן ממפות Google או ב-Google Earth מאוחר יותר על ידי שימוש בארגומנט הסקריפט traceroute-geolocation.kmlfile כדלקמן: nmap --traceroute --script traceroute-geolocation --script-args traceroute-geolocation.kmlfile=<output file> <target> רשומות WHOIS מכילות מידע שימושי, כגון שם הרשם/ארגון, תאריכי יצירה ותפוגה, מיקום גאוגרפי ופרטי יצירת קשר לרעה בין כמה שדות שעלולים להיות מעניינים. מנהלי מערכת, צוות IT ואנשי אבטחת מידע אחרים משתמשים ברשומות WHOIS, ולמרות שיש הרבה כלים ואתרים זמינים לשאילתות מידע זה, Nmap יכולה לעבד טווחי IP/רשימות יעדים בפורמטים רבים כדי לבצע משימה זו, למשל עם הסקריפט הבא: nmap -sn --script whois-* <target> Shodan הוא אחד ממנועי החיפוש למכשירים המחוברים לאינטרנט. זהו מקור מידע שימושי, הכולל אפילו מידע על פורטים ובאנרים של יעדים מרוחקים, בין שאר פיסות נתונים מעניינים. אחד היתרונות של סריקת פורטים פסיבית עם Shodan הוא שלא צריך לתקשר ישירות עם היעד כדי לקבל את רשימת הפורטים הפתוחים, הפרוטוקולים והבאנרים של השירות, הסקריפט הוא כדלקמן: nmap -sn -Pn -n --script shodan-api --script-args shodan-api.apikey=<ShodanAPI KEY> <target> רשומות DNS מכילות כמות מפתיעה של מידע, ובאמצעות Brute-Force או ניחוש שלהן, ניתן לחשוף מטרות נוספות. שמות כניסות DNS לרוב מסגירים מידע; לדוגמה, רשומת DNS מסוג mail מציינת שמדובר בשרת דואר וכדומה, להלן הסקריפט: nmap -sn --script dns-brute --script-args dns-brute.hostlist=wordlist.txt <target> גילוי גרסאות חיוני לבודקי חדירה ולמנהלי מערכת מכיוון שהם יכולים להשתמש בבאנרים של גרסאות כדי למצוא פרצות אבטחה ציבוריות המשפיעות על שירות. Nmap מאפשר להתאים מסדי נתונים פופולריים של פגיעות עם גרסאות השירותים המתקבלות מהסריקה שלנו באופן אוטומטי, להלן סקריפט לדוגמה nmap -sV --script vulners <target> מערכות בקרה תעשייתיות (ICS)/בקרת פיקוח ורכישת נתונים (SCADA) הן חלק מהתשתית הקריטית שנמצאת בתחנות כוח, מפעלים כימיים, בתי זיקוק לנפט ומתחמים גדולים אחרים. ככל שטכנולוגיית הניטור הבשילה, יכולות הרשת שמטרתן לשפר את הקישוריות בין רכיבים הציגו סוג חדש של סיכון: התקפות רשת. כדי להחמיר את המצב, נמצאו מערכות שהאמינו שהן נמצאות ברשתות מבודדות מחוברות לאינטרנט ונגישות לחלוטין מרחוק. מספר המערכות הקריטיות שנמצאות באינטרנט גדל בהתמדה, ועד היום נפוץ מאוד למצוא ארגונים בעלי רשתות מחוברות המאפשרות גישה למקטעי רשת שבהם נמצאות מערכות ICS/SCADA. זה הוכח על ידי חוקרי אבטחה שפרוטוקולים ומוצרים רבים של ICS/SCADA הם פגיעים ביותר שכן רבים מהם נבנו ללא אבטחה. יש להשתמש בזהירות ב-Nmap בעת סריקת תשתית קריטית שכן שכבות רשת רבות הן שבריריות מאוד ורגישות להתקפת מניעת שירות, כאשר חלק מהמנות נוצרות על ידי טכניקות הסריקה השונות. לכן, מומלץ להשתמש תמיד ב-TCP connect scan (-sT) כדי לפתוח ולסגור כל חיבור בדיקה כראוי ולהגביל את רשימת בדיקת היציאות וקצב המנות. יש לטפל בתשתית קריטית בזהירות יתרה שכן היו דיווחים על סריקות ואפילו סריקות פינג שניתקו מכשירים מהרשת. הדבר מסוכן במיוחד ברשתות ייצור שכן נזק או הפרעה לשירות עלולים לעלות לארגון מאות אלפי, אפילו מיליוני דולרים. מסיבה זו, לא נהוג להציף באגרסיביות את הרשת ב-TCP/IP של המכשיר; במקום זאת, משתמשים ברשימה שנבחרה בקפידה: nmap -Pn -sT --scan-delay 1s --max-parallelism 1 - p80,102,443,502,530,593,789,1089-1091,1911,1962,2222,2404,4000,4840,4843,49 11,9600,19999,20000,20547,34962-34964,34980,44818,46823,46824,55000-55003 <target> כל יציאה הרשומה תואמת לפרוטוקול ICS/SCADA ידוע, זוהי רק סריקת הסיור הראשונית לזיהוי פרוטוקולי ICS/SCADA אפשריים ברשת. אם Nmap מחזיר שירות פתוח, סביר להניח שאכן מדובר בפרוטוקול ICS/SCADA. התקני PLC של סימנס S7 ממשפחת S7 300/400 משתמשים בפרוטוקול S7comm עבור תכנות PLC, חילופי נתונים בין PLC ומערכות SCADA, ולמטרות אבחון. התקנים אלה בדרך כלל מאזינים בפורט 102 (iso-tsap) וניתן להשתמש בחלק מפונקציות האבחון כדי לקבל מידע מהמכשירים בעזרת הסקריפט: nmap -Pn -sT -p102 --script s7-info <target> התקני BACnet נפוצים מאוד לחיבור ובקרה של HVAC, מערכות חשמל ואוורור ורכיבים רבים במערכות אוטומציה של מבנים. אפשר לאסוף מהם מידע, כגון ספק, שם מכשיר, מספר סידורי, תיאור, מיקום ואפילו גרסת הקושחה באמצעות הסקריפט הבא: nmap -Pn -sU -p47808 --script bacnet-info <target> Nikto Banner Grabbing Nessus סורק פגיעות חבילת עץ חג מולד מדיה וקבצים בנושא Nmap בוויקישיתוף אתר האינטרנט הרשמי של Nmap (באנגלית) Nmap, ברשת החברתית פייסבוק Nmap, ברשת החברתית אקס (טוויטר) Nmap Scripting Engine The History and Future of Nmap פלטפורמות אחרות התקנת Nmap בחלונות הידוע גם בשם הפסידונים, פיודור ווסקוביץ' (Fyodor Vaskovich) "Matrix mixes life and hacking" באתר BBC. הסקריפט shodan-api NSE צריך מפתח API לפני שניתן יהיה להשתמש בו. Shodan מציעה תוכניות API למפתחים בחינם שתוכל להשיג על ידי הרשמה בכתובת https://developer.shodan.io/.