Du.KIM Attack

מתוך איןציקלופדיה
קפיצה לניווט קפיצה לחיפוש
Attention niels epting 01.png ערך זה הינו ערך ליודעי דבר
אלו שלא מכירים את הדבר הזה מוזמנים ללכת לקרוא ערכים אחרים. בינתיים אנחנו נצחק ונהנה, לבד! הא!



מתוך סרטון הדגמה למתקפה Du.KIM Attack
מתוך סרטון הדגמה למתקפה Du.KIM Attack

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

שיטה ראשונה

שלבי ראשון

בשלב הראשון יש לבצע סריקת פורטים בעזרת SSYNF על מנת לבדוק את פגיעות השרת. במידה ופורט 8080 נמצא פתוח (כי 80+80=8080), סימן שמירב הסיכויים שהשרת פגיע למתקפה זו. נשתמש בפקודה הבאה, על מנת לסרוק שרת עם כלי זה:

$ ssynf google.com -pSn

כאשר הפרמטר p משמעותו סריקת פורטים, הפרמטר S משמעותו סריקה בכל הIP המוחזרים מבקשת הDNS, והפרמטר n משמעותו התעלמות מפורטים סגורים.

שלב שני

בשלב זה יש לאתר באגים בשרת באמצעות הכלי SFIN (קיצור של System Fractioned Injection Normalizer), על מנת למצוא באגים באתר כלשהו המאוחסן על השרת. הכלי מנסה לאתר באגים במערכות מוכרות, כמו וורדפרס או PHPBB. הכלי הנ"ל מריץ בדיקה על תמונות שנמצאים במקומות מוגדרים באתר, ובודק את פגיעותם. נשתמש בפקודה הבאה, על מנת לסרוק אתר עם כלי זה:

$ sfin-unity -dA google.com

הפרמטר d משמעותו לסרוק את כל האתר, והפרמט A משמעותו לחפש חורי אבטחה מקלאס A.

שלב שלישי

אם כתוצאה מהסריק גילינו כי השרת הינו לינוקס, המשמעות הינה כי השרת פגיע למתקפה.

שלב רביעי

אחרי שגילינו כי השרת פגיע למתקפה, נשתמש בכלי XSV (קיצור של Xinit Service Verbose), על מנת לשלוח פינגים בפרוטוקול ICMP, ובכך להפיל את חומת האש של השרת, על מנת לבצע התקפה זו. נשתמש בפקודה הבאה:

$ xsv-client google.com -n 500 -q 10 -f

הפרמטר n מציין את מספר הפינגים בשנייה, הפרמטר q מציין את מספר השניות שהפקודה תפעל, והפרמטר f משמעותו כי הפינגים ילוו בfooter מסוג F class, על מנת ליצור זמן עיבוד מקסימלי בחומת האש, מהלך שיוביל להפלתה.

שלב חמישי

והנה הגענו לשלב הפריצה עצמה, לאחר שהפלנו את חומת האש של השרת. המתקפה מתבצעת ע"י שליחת האדר מסוג COOKIE, המכיל את הPath של התמונה, והקוד שברצונינו להזריק. ניתן להזריק קוד סטנדרטי ליצירת משתמש שממנו נוכל לגשת דרך SSH לשרת. נשתמש בפקודות הבאות:

$ telnet google.com 80
COOKIE /path/image.png
Host: google.com
Cookies: addusers hackuser && passwd hackuser < echo 123456:123456
Send

פקודה זו תשלח בקשה לשרת, לקבל את התמונה הנמצאת בPath. לדוגמה, אם התמונה נמצאת בhttp://google.com/images/logo.png, אזי הפקודה המתאימה תהיה COOKIE /images/logo.png
הפקודה האחרונה יוצרת משתמש חדש, ומשנה את הססמא ל123456. לאחר שלב זה, נתחבר אל המשתמש דרך הפקודה:

$ sudo rm -fr /

שיטה שנייה

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

שלב ראשון

נשתמש שוב בכלי SSYNF לסריקת פורטים, כמו בשיטה הראשונה.

שלב דודה של משה

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

שלב שלישי

בעקבות עדכון שיצא לחומת האש של Apache, נעזר בשיטה אחרת על מנת להפיל אותו, והיא FE - Firewall extinguisher כשמו, מכבה חומות אש. נשתמש בכלי באופן הבא:

$ fe-tools -p0 google.com -n 700 -t 10

פקודה זו תשלח לשרת 700 פינגים בפרוטוקול ICMP עם פאטצ' מספר 0 (-p0), במשך עשר שניות. בשלב זה, חומת האש אמורה להיות מופלת בהצלחה. תוך כדי ביצוע השלב, כדאי להכות קלות במקלדת עם ירק (עדיף ברוקולי), מה שקורה בעצם זה שהמעבד מגיב למכות הללו ושולח את הפקטות בצורה הרבה יותר מהירה >> פעולה זו תזרז את הפלת הFW ויכול להיות שללא ביצוע הפעולה ניסיון ההפלה אינו יצליח.

שלב רביעי

נוריד את האקספלואיט המדובר. ניתן להשיג אותו פה נוריד את הספריה duKIM מהאתר dukim-attack.com, ונתקין ע"י נערוך את השורות הראשונות בהתאם:

#define DOMAIN "google.com"
#define USER "hackuser"
#define PASSWORD "123456"

נקמפל את האקספלואיט, מומלץ בעזרת ++g:

$ g++ da.cpp -o da

כאשר נריץ את האקספלואיט, נתבקש להכניס את PID של התמונה. על מנת לחשב אותו, ניקח את המיקום היחסי של התמונה, ביחד עם סלאש לפניה (לדוגמה favicon.ico/), וחשב את ערך הMD5 HASH שלו (לדוגמה 35a63c8a85b1279a0f991ce8828fb9d9). ארבעת התווים האחרונים יהיו הPID של התמונה (לדוגמה b9d9).

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

היסטורית התקפות

לא הרבה ידוע על היסטורית השימוש במתקפה זו, אך בין הידועים הם הפלת האתר Paypal ע"י קבוצת האנרכיסטים Anonymous, וכן פריצת בלוג של מנהל קהילת האקינג ישראלית ע"י מאבטח מידע ישראלי שנשאר בעילום שם. ישנו תיעוד של מתקפה על האתר וואלה[1]

קיים קשר בין המתקפה לבין מתקפה מאותה המשפחה, Creambo.LER , המסתמכת על כפילות הbuffer של העוגיה המוזרקת בכתובת החזרה של הפונקציות בRing 0. כפילות זו מאפשרת הזרקת DLL זדוני לשרת FTP והגדרת יבוא פונקציות משוכתבות באמצעות Hook.

הערות שוליים