אנונימוס הצליחו להשחית כמיליון דפים ישראלים

רשלנות מהממת איפשרה לתוקף יחיד, בלי הרבה מאמץ, להוריד חצי מהרשת הישראלית על הברכיים

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

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

Jerusalem is the capital of Palestine 
#OpJerusalem  
צילום מסך מתוך אתר Ynet
https://twitter.com/guy_varon/status/1101909411935731712

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

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

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

בבדיקה מהירה, עלינו על הסיבה. במחשב של יובל, ורק במחשב שלו, תוסף נגישות בשם nagich.co.il טען קוד ג'אווהסקריפט זדוני שהשחית את האתר (ועל כך בהמשך). אבל מדוע אני ואחרים לא ראינו את ההשחתה? אחרי בדיקות הבנו במהירות את הסיבה. יובל השתמש בשרת DNS של קלאודפלייר (1.1.1.1) ואני השתמשתי בזה של גוגל (8.8.8.8). ברגע שהחלפתי את שרת ה-DNS שלי, אז ראיתי את ההשחתה. בדיקה מהירה של nslookup (על חלונות, מהמכונה שלי) ו-dig (על לינוקס, מהמכונה של יובל) הראתה מייד את הבעיה:

nslookup js.nagich.co.il 8.8.8.8
Server:  google-public-dns-a.google.com
Address:  8.8.8.8

Non-authoritative answer:
Name:    js.nagich.co.il
Addresses:  212.179.58.35
          212.179.58.85
          212.179.58.162


C:\Users\barzik/>nslookup js.nagich.co.il
Server:  Box.Home
Address:  192.168.14.1

Non-authoritative answer:
Name:    js.nagich.co.il
Addresses:  212.179.58.85
          212.179.58.162
          212.179.58.35" class="wp-image-8504"/><figcaption>בדיקת nslookup שמראה כתובת IP שונה לשאילתת DNS</figcaption></figure>



<p>מדובר בפירצה שנקראת DNS Poisoning. זו פירצה שבמסגרתה שרתי DNS נפרצים. למי שלא יודע, DNS הוא תשתית הרשת שבמסגרתה שמות מתחם מומרים לכתובות IP.</p>



<figure class=פעולה תקינה של DNS
פעולה תקינה של DNS

כשתוקף מצליח להשתלט על רשומה בשרת DNS, הוא יכול להפנות את התנועה אל שרת בשליטתו במקום לשרת המקורי. וזו ההתקפה שהיתה פה. כל מי שרצה להגיע אל שם המתחם nagich.co.il שבו היה את סקריפט הנגישות, הופנה אל כתובת ה-IP שמספרה 172.81.182.63 במקום לכתובת ה-IP הנכונה של השרת: 212.179.58.35. בתחילה חשבנו שאולי קלאודפלייר נפרץ.

ואז החלו לזרום עוד דיווחים. על אתרים אחרים.

הבנו שהבעיה רחבה יותר מקלאודפלייר. פשוט ראו את הבעיה בקלאודפלייר כי מדובר בשרת DNS מהיר מאוד, שעדכונים ברשם שמות המתחם המקומיים נכנסים אליו מאוד מהר. אבל עוד ועוד שרתי DNS החלו להתעדכן ויותר ויותר אנשים החלו לראות אתרים מושחתים. לא רק Ynet אלא אינספור אתרים אחרים. כמה? באתר nagich מתגאים במיליון דפים ובחברות הגדולות ביותר במשק שמשתמשות בהם.

מעל 1,000,000 דפים מונגשים באינטרנט באמצעות נגיש בקליק, הצטרפו אלינו ולעוד מאות לקוחות נגישים
צילום מסך מאתר נגיש

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

למרבה השמחה העניין תוקן אחרי שעה.

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

מה קרה שם באופן טכני

מה שקרה הוא, שהפורצים הצליחו לשנות את רשומת ה-DNS של שם המתחם של השירות nagich לשרת זדוני.

מצב תקין של רשומת DNS שמפנה לשרת הנכון

רשומת DNS מורעלת שמפנה לשרת מתחזה

מה הבעיה? אתר nagich הוא לא סתם אתר. הוא אתר המספק תוסף נגישות. תוסף נגישות הוא קוד ג'אווהסקריפט קטן שרץ באתר שבוחר להשתמש בשירות הזה ונותן לו כל מיני אפשרויות. בדיוק כמו למשל כפתור 'לייק' של פייסבוק. סרטון הטמעה של יוטיוב באתר וכו' וכו'. אבל ברגע שאנחנו נותנים לאתר אחר להריץ אצלנו קוד באתר, אנחנו מאפשרים לו לעשות אצלנו הכל. כי קוד הג'אווהסקריפט הזה יכול להיות כל קוד. קוד שמציג יכולת הקטנה והגדלה של טקסט, אבל גם קוד שגונב עוגיות, קוד שמקפיץ חלונות, קוד שמשנה את התוכן, קוד שעושה רידיירקט – כל דבר שג'אווהסקריפט יכול לעשות.

ברגע שהתוקפים הפנו את התנועה מהשרת הלגיטימי לשרת הלא לגיטימי שלהם, הם הזריקו קוד זדוני שעשה defacement, זה הכל:

    document.write('<body bgcolor=black><center><h1><font color=red>Jerusalem is the capital of Palestine<br>#OpJerusalem</font></h1></center>')

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

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

המניעה המקצועית

איך מונעים כאלו תקלות? ראשית, הרשלנות כאן של nagich שלא הגנה על רשומת ה-DNS שלה באותנטיקציה כמו שצריך. אבל הרשלנות היא גם של האתרים שהטמיעו אותם ולא נקטו במדיניות CSP נכונה. מדיניות CSP נכונה, עם חישוב SHA256 של הקובץ, היתה מונעת טעינה של סקריפט שעבר שינוי. אבל הפעולה הפשוטה הזו היא כנראה מעבר ליכולות של אתרי האינטרנט הישראליים.

פוסטים נוספים שכדאי לקרוא

צילום מסך של סוואגר
יסודות בתכנות

openAPI

שימוש בתשתית הפופולרית למיפוי ותיעוד של API וגם הסבר בסיסי על מה זה API

גלילה לראש העמוד