טכניקות ההאקינג העולמיות משתפרות מיום ליום ובשנת 2009 הם הביאו אלינו את "shodan" – מנוע החיפוש של הIOT – האינטרנט של הדברים. shodan הוקם ע"י גו'ן מטהרלי שהחל את פיתוחו כפרוייקט צדדי כבר בשנת 2003 ועם השנים, יחד עם התפתחות עולם הIOT הפך לאחד מהכלים השימושיים בתעשיית הסייבר העולמית.
מידי חודש מאנדקס shodan מידע על כ-500 מיליון מכשירים ושירותים המחוברים לרשת האינטרנט, החל ממדפסות ומצלמות רשת, נתבים, מערכות שליטה של רמזורי תנועה, מערכות שליטה של בתים חכמים, שואבי אבק רובוטיים, מערכות שליטה בתחנות דלק ואפילו מערכות שליטה בפארקי מים ומערכות שליטה של מקררי יין.
האתגר הגדול שמציב shodan בפני תעשיית הסייבר העולמית הוא הקשחת האבטחה של מוצרי הIOT, שכן במרבית הפעמים לקוחות אינם משנים את פרטי ברירת המחדל של המוצר אותו רכשו. במקרים כאלה, אם מדובר במכשיר שמחובר לאינטרנט ואונדקס ע"י shodan, יכולים האקרים בעלי כובע שחור להיכנס לפאנל הניהול של המכשיר ע"י הזנת כתובת הip והפורט הפתוח (נתונים אותם מאנדקס shodan), להזין את פרטי ברירת המחדל שניתנים בדרך כלל להשגה מהירה ע"י חיפוש פשוט באינטרנט ולשלוט במערכות של היעד.
בשורות הבאות אציג עבורכם מדריך מפורט לשימוש בshodan עבור מתחילים – המדריך הראשון בעברית עבור מנוע החיפוש הפופולארי, במהלך המדריך אציג את שני הדרכים לשימוש במנוע החיפוש: בעזרת שורת הפקודה ובעזרת אתר האינטרנט והממשק הגרפי. תשתמשו במה שנוח לכם, אבל חשוב להזכיר: המדריך נועד אך ורק למטרות לימוד להאקרים אתיים הפועלים בצורה חוקית ע"מ להבטיח את אבטחת המידע במרחב הקיברנטי. כל שימוש לא חוקי שייעשה בעזרת מדריך זה הינו על אחריותו הבלעדית של מפר החוק והוא צפוי לספוג עונשים כבדים על כך.
נפתח עם המדריך לשימוש בshodan בעזרת הממשק הגרפי, באתר shodan. ע"מ למנוע מהאקרים בעלי כובע שחור לנצל את המידע הרגיש שמציג shodan למטרות לא חוקיות, מגבילה shodan את אפשרויות החיפוש בה. משתמשים שאינם רשומים יכולים לחפש עד 10 תוצאות, משתמשים רשומים עד 50 תוצאות ומשתמשים משלמים, ללא הגבלת תוצאות (תוך נימוק הסיבה בגינה הם משתמשים במנוע החיפוש). יש לציין כי מדריך זה הוא מדריך בסיסי לחלוטין ונועד בעיקר עבור מתחילים, ע"מ לסייע להם בצעד הראשון בשימוש במנוע החיפוש.
אנו נירשם לאתר, בעזרת לחיצה על Create a free account בעמוד הבית של האתר, בכתובת: www.shodan.io.
נזין את פרטינו ונלחץ על CREATE
כעת נחזור לעמוד הבית ונתחיל להכיר מקרוב את אפשרויות החיפוש.
אם נלחץ על השדה Explore נוכל לראות את החיפושים הנפוצים ביותר במנוע החיפוש. ניתן למצוא שהחיפוש הנפוץ ביותר הוא של מצלמת אינטרנט, לאחר מכן סתם מצלמות ולאחר מכן מצלמות רשת.
במקרה שלנו, נוכל גם לראות שהמחרוזת "סיסמאות ברירת מחדל" נפוצה גם כן בחיפושים. המטרה של המחפשים במקרה הזה כמובן היא למצוא שירותים פתוחים עם פרטי ברירת המחדל ובכך לפרוץ אליהם.
לshodan פילטרים מתקדמים המאפשרים לסנן תוצאות, לפי תכונות ספציפיות. ניתן לבחור צפייה בתוצאות במדינה ספציפית בעזרת הפרמטר "countery", לדוגמא: בעזרת חיפוש ["webcams country:"US] נוכל לצפות בכל מצלמות האינטרנט הפתוחות בארצות הברית. אפשרות נוספת, היא גם לציין עיר ספציפית, לדוגמא, תוצאות בקנזס סיטי (דוגמה בתמונה).
ניתן גם לחיפוש ע"פ ערך קואורדינטות בעזרת הפרמטר geo. ע"פ שם המארח עם הפרמטר hostname, ע"פ כתובת ip בעזרת הפרמטר net, ע"פ מערכת הפעלה עם הפרמטר os וכן ע"פ פורט ספציפי עם הפרמטר port. כל הפרמטרים הללו יכולים להיכתב בנפרד או יחד עם פרמטרים נוספים ליצירת חיפוש ספציפי וממוקד.
כפי שכבר ציינו בהקדמה למאמר זה, הבעיה העיקרית שshodan חושף אליה את עולם אבטחת המידע היא הקלות בה ניתן להיכנס למיליוני המערכות הפתוחות ברחבי העולם. חלק גדול, אם לא רובן של המערכות (בפרט בנתבים) כלל לא משנה את פרטי ברירת המחדל שלו (כך שבעזרת חיפוש קצרצר בgoogle ניתן למצוא את פרטיו) ופעמים רבות ניתן אף למצוא הגנות שלא מציגות שום הגנה כנגד כניסה של משתמשים לא מורשים.
ניקח לדוגמה מצלמת אינטרנט בדרום אמריקה שמצאנו בסריקה פשוטה של shodan:
אם נזין את כתובת הip של המצלמה ואת אחד מהפורטים הפתוחים, נגיע ללא שום צורך בהזדהות לממשק הניהול של המצלמה. נוכל לצפות בstream ואף לשנות את הגדרות המצלמה.
דגשים: שימו לב בעת הזנת הפרמטרים בשורת החיפוש, להקפיד שהפרמטר והערך יהיו צמודים, לאחר : ולא להכניס רווח לאחר ה: (לדוגמא: country: us במקום country:us).
נוכל גם להוריד את הנתונים שמצאנו, בעזרת לחיצה על הלשונית doanload (כמות הנתונים הניתנת להורדה תלויה במספר נקודות הזכות שיש לכם. רלוונטי בעיקר למשתמשים משלמים). ניתן לבחור את הפורמט בו יוצגו הנתונים בקובץ שיירד, ברירת המחדל היא json:
אפשרות נוספת היא ליצור דו"ח המציג נתונים סטטיסטיים והיבטים שונים ביחס לשאילתת החיפוש שבחרנו:
שימוש בshodan בעזרת שורת הפקודה
אני יוצא מתוך נקודת הנחה שאם אתם ממשיכים גם לחלק הזה של המדריך, כנראה שכבר מותקנת אצלכם מערכת לינוקס כלשהי, בהתאם לכך – אני מדלג על שלב ההתקנה של מערכת לינוקס ועובר לשלב המעשי.
ראשית-כל, נתקין את shodan, בין אם אנו משתמשים בkali ובין אם אנו משתמשים בlinux נקי, shodan לא מגיע מותקן built-in וצריך להתקין אותו. אז נשתמש בפקודות הבאות:
ראשית-כל, נתקין python וpip:
הפקודה לפייתון 2: sudo apt install python python-setuptools python-pip
הפקודה לפייתון 3: sudo apt install python3 python3-setuptools python3-pip
כעת נתקין את shodan עם הפקודה הבאה: sudo pip install shodan
לאחר שהתקנו את shodan בהצלחה, נוכל לבצע את הפקודה shodan -h ע"מ לראות פירוט של אפשרויות השימוש במנוע החיפוש, בעזרת שורת הפקודה.
כעת נזין את מפתח החשבון שלנו (החינמי או כזה ששילמנו עליו), במטרה לאפשר לshodan לזהות אותנו ולהתיר לנו לבצע חיפושים. ניכנס לממשק החשבון שלנו בכתובת: https://account.shodan.io/, נעתיק את המזהה ונזין את הפקודה הבאה:
[sudo shodan init [Your API Key
אם קיבלנו successfuly, הכל מצויין ואפשר להמשיך האלה.
כפי שכבר ציינתי בהתחלה, shodan מגביל את אפשרויות החיפוש עבור המשתמשים השונים, כאשר למשתמשים שאינם רשומים ישנה אפשרות לחפש עד 10 תוצאות, משתמשים רשומים עד 50 תוצאות ומשתמשים משלמים, בהתאם לתשלום ולאופי פעולותיהם. אם נרצה לדעת כמה חיפושים עוד נותר לנו עד לסיום המגבלה היומית, נוכל להשתמש בפרמטר info, כך:
sudo shodan info
בעזרת הפרמטר count נוכל לראות כמה תוצאות קיימות על מחרוזת חיפוש מסויימת. לדוגמא:
sudo count port=80 cuntry=US
יציג לנו את מספר התוצאות שהתקבלו לחיפוש של פורט 80 פתוח בארצות הברית.
את התוצאות עצמן ניתן לראות בעזרת שימוש בפרמטר search:
לדוגמא, בעזרת כתיבת sudo shodan search webcam, נוכל לראות את כל התוצאות של מצלמות אינטרנט פתוחות לרשת שנמצאו ע"י shodan.
נוכל גם לחפש ע"פ כתובת ip ספציפית ולקבל מידע על השרת, היכן הוא ממוקם, בחזקת מי הוא וכו':
[sudo shodan host [ipadress
נוכל גם לצפות בפרמטרים ספציפיים בשרתים ספציפיים, לדוגמא כך נצפה בכתובות ip, פורטים, שם הארגון ושמות מארחים של שרת microsoft iis בגרסת 6.0:
shodan search –fields ip_str,port,org,hostnames microsoft iis 6.0
דגש: בכל מקום שאנו מכניסים 2 שדות עם רווח כארגומנט, יש להקיפם במרכאות – "".
אפשר גם להגדיר התראות תכופות על תוצאה/ערך מסויים עם alert. לדוגמא, כך ניצור התראה על ערכים ותוצאות חדשות של הכתובות ברשת 192.20.0.0 עם subnet mask של 255.255.0.0.
sudo shodan alert create "Production Network" 198.20.0.0/16
נוכל לצפות ברשימת הכתובות כלפיהן הפעלנו את פונקציונליות ההתראה, בעזרת כתיבת הפקודה:
sudo shodan alert list
בshodan נוכל גם לקבל מידע על דומיינים שונים בעזרת כתיבת הפקודה domain:
sudo shodan domain exmple.com
אפשרות נוספת היא לבצע סריקה חדשה על כתובות ip ויציאות שונות ולא להשתמש דווקא במידע קיים. ניתן לבצע זאת בעזרת הפקודה scan:
[sudo shodan scan [ip adderss
נוכל לראות את רשימת הכתובות עליהן ביצענו סריקה, בעזרת הפקודה:
sudo shodan scan list
נוכל לקבל סטטיסטיקות על שרתים ומכשירים שונים בעזרת הפקודה stats:
sudo shodan stats nginx
בעזרת הפקודה doanload ניתן לשמור את כל המידע שshodan מצא בקובץ. אחרי הdoanload נכתוב את שם הקובץ ואז את שם המערכת אותה נרצה לחפש:
sudo shodan download iis-data microsoft iis 6.0
כברירת מחדל, הפקודה doanload שומרת עד 1,000 תוצאות. אם אנו משתמשים בעלי גישה ליותר מ1,000 תוצאות, נוכל להשתמש בדגל limit– ולציין מספר גדול או קטן יותר של תוצאות. כמו-כן, חשוב לציין שהנתונים יוצגו בקובץ בפורמט json.
לאחר שהורדנו קובץ המכיל את הנתונים עם doanload, נוכל לנתח אותם בעזרת הפקודה parse.
כך לדוגמא נוכל לסנן מתוך הנתונים, רק את כתובות הip ושם המארח:
shodan parse –fields ip_str,hostnames -f
ניתן להשתמש גם בתוסף chrome של shodan שיציג לנו בכל אתר שניכנס אליו את הפורטים הפתוחים ואת כתובת הip של האתר: ניכנס לחנות התוספים של chrome ונתקין את shodan. כעת, אם ניכנס שוב לאתר של shodan נראה את כתובת הip של האתר ואת רשימת הפורטים הפתוחים בו:
עד לכאן למדריך הבסיסי שלנו על shodan. למנוע החיפוש המצויין הזה עוד פקודות רבות שיעזרו לכם בניתוח הנתונים ובהגעה מדוייקת לנתונים ספציפיים. אחרי שיש לכם את הידע הבסיסי הדרוש שרכשתם במדריך כאן, אני ממליץ לכם לקרוא לעומק את התיעוד של מנוע החיפוש ולהכיר עוד ועוד טכניקות חדשות, כמו כן, חשוב לציין שגם אם נתקעתם באיזשהי פגועה, תמיד תוכלו להשתמש באופרטור h- שיציג לכם את האפשרויות השונות של הפקודה.
כמו-כן, חשוב לציין שמדריך זה רלוונטי לגרסה החינמית של shodan. למנוע החיפוש מגוון אפשרויות רכישת מנוי בתשלום המציעות יכולות מדהימות נוספות, אך אותם לעת עתה לא נסקור, אלא נסתפק בציון חלק מהתכונות שמציע shodan בתשלום חד פעמי של 49 דולר לכל החיים:
בתשלום חד פעמי של 49 דולר לכל החיים תוכלו לקבל גישה למפות (ציון המיקום המדוייק של המארחים), תמונות (תמונות שצולמו מתוך המכשירים השונים שנסרקו) ואפשרות לשלב את shodan עם כלים נוספים, כגון maltego, metasploit ועוד.
בחבילה אחרת מאפשר לכם shodan לעקוב אחרי המכשירים שאתם חשפתם לרשת האינטרנט, לקבל התראות אם משהו חשוד זוהה ולבצע סריקות בהיקפים של מיליונים. חבילות אלה מיועדות בעיקר לחברות סייבר מקצועניות והן מתחילות מ59 דולר לחודש ועד ל899 דולר לחודש.
כמו-כן, לshodan שירותים נוספים:
ICS Rader: מכ"ם המציג מערכות בקרה תעשייתיות (ics) ברחבי הגלובוס אשר חשופות לרשת.
Shodan Exploit: כלי חיפוש לניצולי פגיעויות. ניתן להזין שם של מערכת כלשהי ומנוע החיפוש יחפש ניצולי פגיעויות לאותה מערכת במגוון מאגרי ניצול בו זמנית.
Honeypot Or Not?: כלי המאפשר לבדוק האם כתובת ip מסוימת היא מערכת אמיתית או מלכודת דבש – חיקוי שנועד להערים על תוקפים.