Logo

רד-בורד: ארכיון

ראשי > אבטחת מידע > איך אפשר למצוא ולכתוב אקספלויט?

2004-06-28 17:45 ygn
איפה אפשר לקרוא משהו בנושא?....בתודה מראש
2004-06-28 18:49 cp77fk4r
אוקיי, כדי למצוא אקספלויט פשוט כנס לאיזה אתר שיש בו הרבה אקספלויטים (למשל /www.securiteam.com), או שפשוט תכנס לגוגל..


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

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

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

אז הבסיס זה להתחיל ללמוד שפת תיכנות שתעזור לך, לרב כותבים אקספלויטים בPerl או בCPP, ובגלל שPerl היא ה"יותר נוחה" והשימוש והגשיה לסוקטים (כלי שבעזרתו אפשר לשלוח ולקבל מידע מהוסט מסויים) יותר נוחה והרבה יותר "גמישה", אבל אם אתה מעדיף C אז תלמד אותה..

בכל אופן, מה הידע שלך בתיכנות/תיכנות בעזרת סוקטים?
2004-06-28 18:51 silicon_wolf
אוי ציפי יה יה!!

הממ אם אני אסביר לך את התיאוריה מאחורי חלק מהאקספלוייטים הנפוצים כמו גט ובאפר אוברפלוו אני איאלץ לבזבז זמן כי HLL כתב מאמר מצויין שנמצא בisra-hell.org
תעיף מבט!
ציפי!! אני מחכה לתוכנה שלי
2004-06-28 19:07 cp77fk4r
חח, סבבה סיליקון, אני היום אשתדל להתיישב לכתוב לך תוכנה איכותית כמו שאתה כתבת לי P:

וסילי... אממ.. איך אני אגיד את זה... אהה... אוה.... האתר כבר לא קיים... אולי הם מתכננים איזה קאמ-באק, אבל אין לי מושג)
2004-06-28 19:26 tttttt
האמת אני לא מכיר אקספלוייטים שנכתבו ב c++.
רוב האקספלוייטים נכתבים ב c, ורובם משתמשים בטכניקת הבאפר אוברפלו...


דוגמא לבאפר אוברפלו (גלישת מאגרים בתרגום חופשי)

1)


char c[10]; הגדרנו מחרוזת בת 10 איברים או יותר נכון 9 ועוד תו סיום אחד.
strcpy("aaaaaaaaaaaaaaaaaaaa",c) העתקנו אל המקום שהוגדר מחרוזת בת יותר מ9 תווים מה שיגרום לשמירתם של התווים בכתובות מסויימות שבכלל לא הוגדרו לצורך הזה.


עוד דוגמא:

char *p;
p=(int *)malloc(10 * sizeof(char));
strcpy("jfgjfikfkgfjgkfjgkfwijejhrsfd",p);

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









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






x05\x07\x75\45x\34x
שהושם כערך של char.....
ברובם גם תראו בסוף bin/sh...... זתומרת התוכנית יוצרת shell אחרי שהיא עושה באפר אוברפלו.......
אמממ, זה קוד אסמבלי שיוצר shell והפכו אוטתו להקסדצימלי........
בעיקרון שימוש בסוקטים תחת לינוקס הוא יחסית קל, והאמת רוב האקספלוייטים שמתחברים לשרת מסויים נכתבים ב c.....
2004-06-28 19:43 cp77fk4r
יש גם אקספלויטים מסוג "Sql Injection", שזה יותר למערכות שמשתמשות שמסדי נתונים מבוססי SQL.

הרעיון הוא "להזריק" מידע בSQL לשאילתה מסויימת וככה להשיג מידע שלא היה לנו גישה אליו לפני-כן.

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

עכשיו אם למשל בשם משתמש נכתוב "יוסי כהן" ובסיסמא נכתוב" 'Baka or 'SSS'='SSS " אז השאילתה תבדוק קודם אם יש כזה משתמש ואז היא בודקת את הסיסמה ועכשיו, תראה שלא משנה מה, תמיד התנאי הזה יתקיים כי תמיד 'SSS' יהיה שווה ל'SSS' ולכן הסיסמה תיהיה או Baka (מה שכמעט בטוח שלא) אבל אחרי זה יהיה את התנאי שמתקיים ובגלל ש F or T שווה לT אז זה יתקיים ויחזיר לך True ויחבר אותך לחשבון של "יוסי כהן".

לרב ההזרקה תיהיה יותר מסובכת ולפעמים תיהיה צריך ליצור שאילתה מכוננת או לנסות לנחש ערכים מסויימים בטבלה (אם זה למשל פורום אז אתה יכול להוריד את המערכת (כל עוד היא חינמית) ואז לבדוק את הערכים וככה לא תיהיה צריך לנחש..)

וBufferOver Flow אני תמיד מדמה לארון שכשאתה ממלא תא מסווים בו ב"יותר ספרים ממה שהוא יכול להכיל" אז אותו התא קורס וכל הספרים נופלים לתא שמתחתיו וככה הם כיביכול "דורסים" את הספרים (מידע) שיש באותו התא.

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

תהנה, ואל תשכח- לאכול בריא זה חשוב!
2004-06-28 19:54 tttttt
סיפי תכנס שניה לערוץ שלכם בisralnet
נדבר קצת....
2004-06-28 20:01 cp77fk4r
אני אשתדל להתחבר בזמן הקרוב, הרבה זמן לא הייתי שם.

גם לאי סי קיו שנים לא התחברתי, שלח לי את המספר שלך בפרטי וכשאני אתחבר אני אדבר איתך אחי :)


אגב, לכבוד הוא לי שנוסטלגיה כמוך מגיב פה
2004-06-28 20:04 tttttt
התכוונתי עכשיו אחי..... ותגיד אתה יודע איפה דודידו?
2004-06-28 20:08 tttttt
ותגיד אחי אתה נמצא באיזה סרבר או משהו?? ודודידו ואלה??
2004-06-28 20:09 cp77fk4r
כתבתי לפני די הרבה זמן טקסט על זה.

אתה יכול להוריד אותו מכאן בנושא "אשכול טקסטים" (הוא בספר השני שלי).

או מכאן:
http://planet.nana.co.il/cp77/texts/3xpl01ts.txt

תהנה, אני אשמח לקבל תגובה.


אני זוכר שרון היה מחובר לאי סי קיו הרבה בזמן האחרון (כל הפעמים האחרונות שאני התחברתי ראיתי אותו מחובר), שמע, כשאני אתחבר ואשלים לך את כל מספרי האי סי קיו, שמרתי על קשר עם הרבה מהעבר...

[נערך על-ידי cp77fk4r בתאריך 2004/06/28 20:11]
2004-06-28 20:09 Enn
על סמך מקורות מסויימים אני יכול להגיד שככל הנראה israhell לא יחזור בקרוב.

בכל מקרה אפשר אולי לבקש ישירות מHLL את הטקסט שלו
2004-06-28 20:12 cp77fk4r
היי ערן, אם הבנתי נכון, ענבר (Amber) שמרה הרבה מהטקסטים שהיה שם, תבררו אצלה..
אגב, אם אני זוכר טוב, זה בכלל היה של סרבי, לא? הוא כתב בזה משהו בפרל..

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

אגב, מנהל גראפיקה (Forbidden) זה Debugger, אם אתה זוכר אותו :)[נערך על-ידי cp77fk4r בתאריך 2004/06/28 20:15]
2004-06-28 20:40 cp77fk4r
סיליקון, קבל:
http://www.red-board.co.il/board/topic.asp?tid=13173

:)
2004-06-28 21:04 tttttt
סיפי תגיד..... סתם מעניין אותי...ץ איפה אתה מסתובב?? מה אתה עושה כשאתה על המחשב? מתכנת בשפה כלשהיא רוב הזמן? וסתם אם יש לך איזה קהילות או סרברים על רמה שאתה מכיר...
2004-06-28 21:09 cp77fk4r
אחי, מצטער אבל זה לא קשור לפה, דבר איתי בפרטי...
2004-06-28 21:21 silicon_wolf
גמני רוצה לדעת :)
2004-06-28 23:35 Cynic
tttttt, אפשר לדעת מי אתה במקרה?
2004-06-29 00:46 cp77fk4r
זה Latrep למי שזוכר.. הוא וותיק פה, היה פעם..

ואמ.. הודעה שלך לא ראיתי פה... מי אתה? (אם היה לך ניק לפני-כן..)
2004-06-29 01:14 tttttt
cp, לא יודע אם אתה מכיר (אני לא מכיר)
אבל זה אחד שכינויו בארץ הוא Paranoia.... נשמע קצת מוכר.....
2004-06-29 01:16 tttttt
סיפי... אולי האווק שנרשם הוא האווקי?
2004-06-29 01:18 cp77fk4r
פרה? ברור שאני מכיר! וזה P4ran0ia! מגניב שחזרת אלינו אחי.
(כמה אני מקווה שאנחנו מדברים על אותו אחד..)

ולא אחי, הוקי שינה ניק ממזמן.
ובבקשה, זה לא הנושא...[נערך על-ידי cp77fk4r בתאריך 2004/06/29 01:19]
2004-06-29 01:39 hawk
לTTTTT:
אחי איזה האווקי אני האוק מעפן שלא מבין כלום בתכנות והאקר בחיתולים
2004-06-29 01:42 cp77fk4r
עזוב, הוא דיבר על מישה אחר.. וותיק, אחד שהיה פה בפעם האחרונה מלפני שנה וחצי.
הניק שלו היה BlackHawk ובדיוק אני והוא דיברנו עליו ואז נרשמת, אז הוא חשב שזה אתה, ואמרתי לו שלא בגלל שראיתי את ההודעה שכתבת (זאת שמחקתי- שלחתי לך הודעה פרטית עם התשובה והסיבה למחיקה), וגם בגלל שהוקי שינה את הניק שלו לפני הרבה זמן.


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