הפוסט השני בבלוג, יעסוק בסוגיה מעניינת אשר נוגעת בנושא האנונימיות ברשת ומבוססת על סיפור אמיתי,
הכתבה תנסה לסקור כמה וכמה דרכי פעולה בשביל לאתר משתמשים אשר גולשים תחת השירות של TOR .
ננסה להבין כמה באמת "אנונימי" השירות והאם קיימות דרכים בשביל לגלות משתמש מאחורי השירות.
סיפור שהיה
אז בואו ונתחיל בסיפור מארץ האגדות, היו הייתה מדינה קטנה וקסומה בשם ישראלנד.
המדינה הייתה נחשבת כמדינת הייטק חכמה ותושביה כמצליחים ומפולפלים.
למדינה היו מספר בנקים גדולים אשר מובילים בתחומי אבטחת המידע וריביות מוגזמות .
לגדול מבניהם קראו "ישראבנק" .
ישראבנק התהדר בצוות אבטחת המידע שלו (שבאמת היה צוות טוב אשר מוביל מבין כל הבנקים ),
אך מה לעשות גם הגדולים לפעמים נופלים.
היה זה יום גשום, בחוץ היו ברקים ורעמים. מנכ"ל הבנק מר "עמי עמלה ", הגיע לעבודתו ופתח את תיבת המייל שלו.
ברגע שראה את התכתובת הראשונה אשר התקבלה החל לרעוד.
כותרתה הייתה "אני מחזיק בפרטים אודות כלל לקוחותיכם".
ברגע שנכנס אל תוך התכתובת חשכו עינו .
"אני מחזיק מידע על ככל לקוחות הבנק אשר בניהולך "
"מידע אודות 3 מיליון לקוחות הכולל: מצב פיננסי, מספרי חשבונות בנק, מספרי אשראי …" ועוד ועוד …
"במידה ולא תשלמו לי סכום של 15 מיליון דולר, אמכור את המידע למרבה במחיר".
מר עמלה נלחץ נורא, ומהר קרא לצוות אבטחת המידע המסור והנאמן שלו, לאחר חקירת המייל, צוות אבטחת המידע הגיע למסקנה כי הסוחט משתמש בתשתית הפרוקסי של TOR .
בשיתוף מוסדות המדינה (משטרה וכו') מצא צוות אבטחת המידע המיומן דרך להגיע לאותו סוחט ולהכניסו אל מאחורי סורג ובריח.
השאלה היא כיצד הצליחו לזהות את הסוחט הנבל ?
על שירות TOR בקצרה
תקשורת בין 5 אנשים,
הפרוייקט כולו מבוסס על תשתית שירותי פרוקסי ועל מסלול רנדומאלי ליצירת תקשורת.
עמדת הקצה אשר מנסה ליצור קשר אל מול מספק השירות, תבחר מסלול ראנדומאלי ותעבור דרך מספר שירותי פרוקסי כל שרת יכיר את השרת שלפניו והשרת שאחריו.
התקשורת תשאר מוצפנת ורק שרת הפרוקסי האחרון ידע לפענח את ההצפנה עד סופה וכמובן להצפין את התשובה בחזרה .
אז כיצד ניתן לגלות משתמשים מאוחרי הרשת האנונימית ?
אז באמת ישבתי וחשבתי כיצד אפשר לזהות משתמש אשר נמצא מאחורי רשת הפרוקסי של TOR .
אפילו קראתי לחברים ושאלתי אותם, ביחד גיבשנו מספר דרכים אותם אבחן במהלך המאמר.
סיעור מוחות
- CSI Miami– השיטה הטובה הישנה של חקירת בילוש טובה
- NSA– שימוש ב –NSA שעל פי הקונספירציה, רוב שרתי הפרוקסי של TOR בבעלותם
- מציאת הדליפה עצמה במערכות הבנק
- חולשה בדפדפן המשמש את TOR
- ניסיון ליצירת התקשרות תחת פרוטוקול שאינו HTTP/HTTPS
- ניסיון פתיחה של דפדפן המוגדר כברירת מחדל במערכת ההפעלה
- שימוש ב JAVASCRIPT לאיסוף מידע
Csi Miami
הרעיון שעומד מאחורי השיטה אומר להביא חוקר לזירה ודרך דפוסי התנהגות והצלבת נתונים למצוא את האדם (יכול להיות הגיוני אבל פחות טכנולוגי – לכן לא הרחיב אל הנושא)
NSA Power
פרוטוקול אשר ממש את TOR מתבסס על "nodes" אשר מעבירים את המידע בצורה רנדומאלית ומוצפנת,
במידה וארגון כלשהו יחזיק את כל שרשרת המעבר הוא יוכל לקרוא את המידע להגיע למקור וליעד ללא בעיה.
הקונספירציה אומרת שלארגון בסדר גודל כמו של ה- NSA אין בעיה להקים כמה אלפי שרתים ברשת ה- TOR ולשלוט בקלות בכ – 80 -90 % מרשת ה-TOR וכך לאסוף כמעט כל מידע אשר עובר ברשת.
לצערי, אני לא חושב שיש לבנק במדינת ישראלנד מספיק כח בשביל לדלות מידע מארגון ביון אמריקאי, לכן גם אם הקונספירציה נכונה אין לי מה להרחיב בנושא
מציאת הדליפה דרך מערכות הבנק
עוד תרחיש סביר, ברגע גילוי הדליפה צוות הבנק הלך וחקר במערכות המידע של הבנק ובלוגים השמורים ומצא את אותו משתמש אשר הוציא את המידע.
גם על תרחיש זה לא ארחיב.
חולשה בדפדפן המשמש את TOR
חולשות ל- browsers מתגלות מידי פעם,
קו המחשבה שעומד מאחורי הרעיון למציאת הגולש מאחורי רשת ה -TOR,מבוסס על ניצול חולשה בדפדפן,
כלומר, בא לבחון ולנצל את העובדה שהאפליקציה אשר משמשת את שירות ה -TOR, ובשמה – Tor Browser, אינה מתעדכנת על בסיס קבוע.
במאמר נבחן את השיטה בגרסת Tor Browser 4.5.2 – הגרסה יציבה נכון לכתיבת המאמר.
לאחר התקנת תוכנת הפרוקסי במחשב, בדקתי את גרסת הדפדפן ומצאתי את הנתון הבא : Mozilla Firefox 31.7.0
הדבר הבא שנצטרך למצוא זאת חולשה אשר מתאימה לדפדפן הנ"ל.
לאחר חיפוש חולשות אשר יכולות להיות תואמות לגרסת הדפדפן מצאתי חולשה היכולה להשיג שליטה על המחשב של הגולש ובכך להשיג את פרטיו.
ניצול הפרצה כבר קיים בכלי התקיפה MetaSploit ולכן נשתמש בו,
אופן מימוש ה- Exploit בתוכנה , פועל בצורה הבאה:
תוכנת metasploit, תיצור שרת המספק שירותי web, דפי ה -web שיחזיר השרת ינסו לנצל את הפגיעות בדפדפן TOR.
לאחר הקמתו אצטרך לשלוח את הלינק לאתר אל סוחט הבנק מהסיפור.
כך נגדיר ונריץ את ה- Exploit בתוכנת ה Metasploit:
בואו נבדוק האם הפעולה הצליחה
נגלוש לשרת אשר הגדרנו
נאשר את ה- popup (קצת לא יפה אבל עדיין מספיק בשביל ה- POC שלנו).
נבחן מה קיבלנו בשרת ההתקפה שלנו, ניתן לראות שהפעולה הצליחה:
קיבלנו גישה מלאה למחשב של הסוחט, מפה זה כבר משחק ילדים.
במהלך כתיבת המאמר וחיפוש החולשות ברשת מצאתי עוד מאמר העוסק בנושא הנ"ל,
הדגמה מלאה ומפורטת, אך לא מתאימה לגרסה שלנו.
ניסיון פתיחה של דפדפן המוגדר כברירת מחדל במערכת ההפעלה –
לאחר התקנת תוכנת ה- TOR, נוסף דפדפן firefox אל אוסף התוכנות והדפדפנים שלנו במערכת ההפעלה,
אך הדפדפן הרגיל של המערכת נשאר.
הדפדפן הרגיל במערכת לא עובר דרך שירות ה -TOR ולכן ניתן לאתר את הסוחט לפי כתובת ה- IP שלו.
כל מה שנשאר לצפות הוא שהגדרות הפרוקסי מוגדרות רק על הדפדפן שהותקן עם TOR ולא על כלל מערכת ההפעלה,
בואו ונראה כיצד הוגדרה הגדרת הפרוקסי בדפדפן של TOR במחשבו של הסוחט:
גלישה בדפדפן של TOR תחזיר לנו את הכתובת:
גלישה בדפדפן רגיל תחזיר לנו את הכתובת האמיתית (למרות ששירות ה -TOR עדיין רץ במחשב):
אז איך נגרום לסוחט לשנות את הדפדפן ולעבוד עם דפדפן שלא משתמש ב -TOR,
הבנק הגיב במייל עם קובץ מצורף, הקובץ הינו קובץ LNK עם הפנייה לשרת, בואו ונבחן אם זה יפעל.
דבר ראשון אני אפעיל שרת מאזין אשר יוכל לקלוט את כתובת האיפי, איך עצלנים עושים זאת ??
כמובן שהכלי – NetCat יבוא לעזרתי פה
השתמשתי בפקודה nc -l -vv -p 80
-l מאפשר לי להקים שרת מאזין
-p הפורט לו ארצה להאזין
-vv בשביל קבלת מידע רב ככל הניתן מהלקוח ( verbose )
הדבר הבא שנצטרך לעשות זה ליצור לינק אשר מפנה לשרת , תהליך פשוט וקל שגם בסופו שיניתי את האייקון על מנת שיראה כקובץ WORD
ככה הקובץ שלנו נראה:
ידוע לנו שהסוחט השתמש ב –GMAIL על מנת לתקשר עם הבנק, בואו נשלח את ההודעה בצירוף הקובץ אל חשבון ה–GMAIL של הסוחט ונראה מה קורה
המייל התקבל בהצלחה:
ברגע ניסיון לפתיחת הקובץ ,הקובץ מורד למחשב.
כל מה שנשאר לעשות זה לקוות כי הסוחט ילחץ על הלינק .
לאחר הפעלת הקובץ אכן נפתח הדפדפן הדיפולטיבי הקיים על המחשב עם הפנייה אל השרת שלנו.
בואו ונבדוק מה הכתובת אשר הגיעה לשרת שלנו ?
גם פה הצלחנו לאתר את כתובת ה – IP האמיתית אשר עומדת מאחורי הסוחט.
ניסיון ליצירת התקשרות תחת פרוטוקול שאינו HTTP/HTTPS
ההיגיון שהביא אותי למחשבה מאחורי הרעיון, תיארתי שהפרוקסי המוגדר, בטח מוגדר רק על פרוטוקול http/https אך לצערי הדבר לא נכון ובגלל זה הדרך לא תעבוד
ניתן לראות בתמונה כי שירות הפרוקסי מוגדר על כלל הפרוטוקולים:
הפרוקסי מוגדר כפרוקסי כללי על socks ולכן אי אפשר לממש את הדרך הזו אבל מפה בא רעיון נחמד אחר.
המטרה המקורית הייתה לבקש משרת שלא עובד על פרוטוקול HTTP תמונה או כל פנייה אחרת לשרת.
ובצורה הזאת לדלג מעל הפרוטוקול HTTP .
לסוחט תשלח הודעה אשר מבוססת על עמוד html אשר פונה לשרת בפורט אשר שונה מפורט 80
דוגמא :
<html>
<body>
<img src = "http://tor.hackil.co.il:1212/a.jpg">
</body>
</html>
כאמור הרעיון לא יעיל אך הוביל אותי לרעיון הבא:
מסמך WORD אשר בתוכו נמצאת ההפניה לתמונה
הבנק ישלח לתוקף קובץ WORD אשר יכיל בתוכו לינק לתמונה נסתרת אשר נטענת מהשרת שלנו.
תוכנת הWORD תפנה אל השרת שלנו ותנסה לקבל את התמונה.
כמובן פה רואים את ניסיון טעינת התמונה במטרה להדגים כיצד קובץ ה- WORD בנוי, אך אפשר להקטין אותה לגודל בלתי נראה.
התוצאה ?
כמו שאנחנו אוהבים :
קיבלנו את הכתובת ה- IP העומדת מאוחרי הסוחט.
שימוש ב JAVASCRIPT לאיסוף מידע
את האמת כשחשבתי על האפשרות הזאת הייתי דיי סקפטי,דפדפן tor עובד עם תוסף noscript, אשר מבטל הרצה של scripts.
אמרתי לעצמי אין טעם אפילו לבדוק את הרעיון של שימוש ב javascript בכדי לדלות מידע.
ואז נזכרתי באפשרות שיש תחת האפליקצייה של BeEF (כלי מבוסס WEB אשר עובד עם javascript בכדי להריץ פקודות ולאסוף מידע על המחשבים שתחתיו)
לבדוק האם המשתמש משתמש בשירות TOR.
הפעלתי בחזרה את השירות של BeEF ונכנסתי ללינק אשר אפליקצית ה- BeEF יצרה לי,
מסתבר כי, כל עוד המשתמש לא אמר לדפדפן של TOR להפעיל את התוסף אשר מבטל הרצה של סקריפטים, הסקריפטים ירוצו.
(אתר הדגמה אשר התוכנה BeEF יצרה לשלוח לסוחט)
ואפשר לראות את הפרטים עליו תחת מערכת הניהול של BeEF
התוכנה מאפשרת לנו להריץ javascript על המחשב בשביל לנסות ולקבל תמונה של התוקף ומידע על רשת ה –LAN שלו ועוד.
עדיין אין לנו את הכתובת IP אך זה תחילת הדרך בנושא
לסיכום
מסתבר שיש דרכים לאתר אנשים אשר עובדים תחת רשת TOR,
אשמח לשמוע בתגובות למאמר על עוד דרכים ואפילו לכתוב מהם מאמר המשך (או יותר טוב מזה לקבל מאמר המשך מוכן)
מקווה שנהנתם,
מתן
כל הכבוד
הסיפור קצת מוכר לי מאיפשהו
http://www.calcalist.co.il/local/articles/0,7340,L-3648957,00.html
השימוש במילה "דיפולטיבי" בכתבה לא נכון. זאת טעות ישראלית נפוצה בהייטק.
המילה הנכונה היא דיפולטי. מדובר בדפדפן ברירת המחדל (שם תואר), לא דפדוף בצורה ברירת מחדל (תואר פעולה).