Nmap

**Nmap** (קיצור של **Network Mapper** תרגום; "ממפה רשת") היא תוכנת סריקת רשת, המשמשת לגילוי מתחמים ושירותים, ברשת מחשבים. דרך פעולת Nmap היא שליחת חבילות בעלות מבנה מסוים אל המתחם הרצוי, וניתוח התגובה המתקבלת ממנו.

תכונות התוכנה יכולות להיות מורחבות על ידי סקריפטים ייעודיים המוסיפים תכונות, כדוגמת בדיקות פגיעות, גילוי מערכת ההפעלה, וגילוי מתחמים מתקדם יותר.

Nmap מסוגלת גם להסתגל למצבי רשת שונים, כולל השהיה ועומס במהלך סריקה.

בהתחלה הייתה התוכנה מותאמת לשימוש רק תחת לינוקס, אך היא עברה פורטינג לוינדוז, סולאריס, BSD, HP-UX, AmigaOS, ו-SGI IRIX. לינוקס היא המערכת שהכי נפוץ בה השימוש בתוכנה, וחלונות מיד אחריה.

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

## פקודות בסיסיות
להלן פקודות בסיסיות לסריקת מטרות:
```bash
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
```


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

### הערכת מיקום גאוגרפי של כתובת IP
זיהוי המיקום של כתובת IP עשוי לעזור למנהלי מערכת או מנתחי מודיעין איומים לזהות את מקורו של חיבור לרשת. Nmap מגיע עם מספר סקריפטים של NSE שעוזרים לנו לבצע מיקום גאוגרפי של כתובת IP מרוחקת, למשל:
```bash
nmap -sn --script ip-geolocation-* <target>
```
ניתן לשמור את התוצאות בפורמט KML ולהוציא אותן ממפות Google או ב-Google Earth מאוחר יותר על ידי שימוש בארגומנט הסקריפט traceroute-geolocation.kmlfile כדלקמן:
```bash
nmap --traceroute --script traceroute-geolocation --script-args traceroute-geolocation.kmlfile=<output file> <target>
```


### קבלת מידע מרשומות WHOIS
רשומות WHOIS מכילות מידע שימושי, כגון שם הרשם/ארגון, תאריכי יצירה ותפוגה, מיקום גאוגרפי ופרטי יצירת קשר לרעה בין כמה שדות שעלולים להיות מעניינים. מנהלי מערכת, צוות IT ואנשי אבטחת מידע אחרים משתמשים ברשומות WHOIS, ולמרות שיש הרבה כלים ואתרים זמינים לשאילתות מידע זה, Nmap יכולה לעבד טווחי IP/רשימות יעדים בפורמטים רבים כדי לבצע משימה זו, למשל עם הסקריפט הבא:
```bash
nmap -sn --script whois-* <target>
```


### שאילתה של Shodan כדי לקבל מידע על יעד
Shodan הוא אחד ממנועי החיפוש למכשירים המחוברים לאינטרנט. זהו מקור מידע שימושי, הכולל אפילו מידע על פורטים ובאנרים של יעדים מרוחקים, בין שאר פיסות נתונים מעניינים. אחד היתרונות של סריקת פורטים פסיבית עם Shodan הוא שלא צריך לתקשר ישירות עם היעד כדי לקבל את רשימת הפורטים הפתוחים, הפרוטוקולים והבאנרים של השירות, הסקריפט הוא כדלקמן:
```bash
nmap -sn -Pn -n --script shodan-api --script-args shodan-api.apikey=<ShodanAPI KEY> <target>
```


### גילוי שמות מארחים על ידי [[כוח גס|Brute-Force]] רשומות [[Domain Name System|DNS]]
רשומות DNS מכילות כמות מפתיעה של מידע, ובאמצעות Brute-Force או ניחוש שלהן, ניתן לחשוף מטרות נוספות. שמות כניסות DNS לרוב מסגירים מידע; לדוגמה, רשומת DNS מסוג mail מציינת שמדובר בשרת דואר וכדומה, להלן הסקריפט:
```bash
nmap -sn --script dns-brute --script-args dns-brute.hostlist=wordlist.txt <target>
```


### מציאת חולשות ידועות בשירותים שונים
גילוי גרסאות חיוני לבודקי חדירה ולמנהלי מערכת מכיוון שהם יכולים להשתמש בבאנרים של גרסאות כדי למצוא פרצות אבטחה ציבוריות המשפיעות על שירות. Nmap מאפשר להתאים מסדי נתונים פופולריים של פגיעות עם גרסאות השירותים המתקבלות מהסריקה שלנו באופן אוטומטי, להלן סקריפט לדוגמה
```bash
nmap -sV --script vulners <target>
```


## סריקת מערכות ICS/SCADA
מערכות בקרה תעשייתיות (ICS)/בקרת פיקוח ורכישת נתונים (SCADA) הן חלק מהתשתית הקריטית שנמצאת בתחנות כוח, מפעלים כימיים, בתי זיקוק לנפט ומתחמים גדולים אחרים. ככל שטכנולוגיית הניטור הבשילה, יכולות הרשת שמטרתן לשפר את הקישוריות בין רכיבים הציגו סוג חדש של סיכון: התקפות רשת. כדי להחמיר את המצב, נמצאו מערכות שהאמינו שהן נמצאות ברשתות מבודדות מחוברות לאינטרנט ונגישות לחלוטין מרחוק. מספר המערכות הקריטיות שנמצאות באינטרנט גדל בהתמדה, ועד היום נפוץ מאוד למצוא ארגונים בעלי רשתות מחוברות המאפשרות גישה למקטעי רשת שבהם נמצאות מערכות ICS/SCADA. זה הוכח על ידי חוקרי אבטחה שפרוטוקולים ומוצרים רבים של ICS/SCADA הם פגיעים ביותר שכן רבים מהם נבנו ללא אבטחה. יש להשתמש בזהירות ב-Nmap בעת סריקת תשתית קריטית שכן שכבות רשת רבות הן שבריריות מאוד ורגישות להתקפת מניעת שירות, כאשר חלק מהמנות נוצרות על ידי טכניקות הסריקה השונות. לכן, מומלץ להשתמש תמיד ב-TCP connect scan (-sT) כדי לפתוח ולסגור כל חיבור בדיקה כראוי ולהגביל את רשימת בדיקת היציאות וקצב המנות.

### מציאת פורטים נפוצים בשימוש במערכות ICS/SCADA
יש לטפל בתשתית קריטית בזהירות יתרה שכן היו דיווחים על סריקות ואפילו סריקות פינג שניתקו מכשירים מהרשת. הדבר מסוכן במיוחד ברשתות ייצור שכן נזק או הפרעה לשירות עלולים לעלות לארגון מאות אלפי, אפילו מיליוני דולרים. מסיבה זו, לא נהוג להציף באגרסיביות את הרשת ב-TCP/IP של המכשיר; במקום זאת, משתמשים ברשימה שנבחרה בקפידה:
```bash
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.

### מניית PLCs של סימנס SIMATIC S7
התקני PLC של סימנס S7 ממשפחת S7 300/400 משתמשים בפרוטוקול S7comm עבור תכנות PLC, חילופי נתונים בין PLC ומערכות SCADA, ולמטרות אבחון. התקנים אלה בדרך כלל מאזינים בפורט 102 (iso-tsap) וניתן להשתמש בחלק מפונקציות האבחון כדי לקבל מידע מהמכשירים בעזרת הסקריפט: 
```bash
nmap -Pn -sT -p102 --script s7-info <target>
```


### מניית התקני BACnet
התקני BACnet נפוצים מאוד לחיבור ובקרה של HVAC, מערכות חשמל ואוורור ורכיבים רבים במערכות אוטומציה של מבנים. אפשר לאסוף מהם מידע, כגון ספק, שם מכשיר, מספר סידורי, תיאור, מיקום ואפילו גרסת הקושחה באמצעות הסקריפט הבא:
```bash
nmap -Pn -sU -p47808 --script bacnet-info <target>
```


## ראו גם
* Nikto
* Banner Grabbing
* Nessus
* סורק פגיעות
*חבילת עץ חג מולד

## קישורים חיצוניים

* 

## הערות שוליים

קטגוריה:תוכנה חופשית
קטגוריה:אבטחת מידע