ABA


"כל מי שמבין בShellCodes לפה!"
גירסת הדפסה        
קבוצות דיון פיתוח, תיכנות ובניית אתרים נושא #6391 מנהל    סגן המנהל    מפקח   Winner    צל"ש   מומחה  
אשכול מספר 6391
hll

   23:19   22.06.03   
אל הפורום  
  כל מי שמבין בShellCodes לפה!  
 
   טוב החלטתי לנסות ולהפסיק להיות ילד סקריפט...
לפי מה שכבר הבנתי אני יכול לכתוב ShellCode באיזה שפה שבא (כמובן מומלץ ASM ו C כדי למזער את הגודל) לי
ופשוט אח"כ לראות את זה באמצעות עורך טקסט ולהכניס את זה לאקספלוייט שלי....
יש לי כמה שאלות:

1. האם הנ"ל נכון...?
2. איך בדיוק אני עולה על הכתובת חזרה של EIP???
3. יש לכם דוX טובים בשבילי אבל לא תחת יוניקס אלה תיכנות קוד עבור WIN32 ותחת WIN32

תודה מראש לכל המגיב לאחת השאלות האלו...!


                                שתף        
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד

  האשכול     מחבר     תאריך כתיבה     מספר  
  זה רצת יותר מורכב מזה. dryice 22.06.03 23:31 1
     1.טוב אני יודע רק קצת ASM אז אין ממש סיכוי hll 22.06.03 23:50 2
         יש סוגים שונים של exploits dryice 23.06.03 14:58 3
             כלומר, כתובת החזרה גם נשמרת במחסנית..? hll 23.06.03 15:43 4
                 מה שאני תארתי זה C Calling convention dryice 23.06.03 16:01 5
                     תודה רבה על הכל! hll 23.06.03 16:06 6

       
dryice

   23:31   22.06.03   
אל הפורום  
  1. זה רצת יותר מורכב מזה.  
בתגובה להודעה מספר 0
 
   כאשר יש לי איזה שהוא exploit שמאפשר לי להריץ קוד מbuffer
שהוזן על ידי המשתמש, אני יכול לגרום לו להריץ פחות או יותר
קוד כרצוני. אני מן הסתם אכתוב אותו בC ואסמבלי שכן לרוב
יש לי מגבלת גודל דיי רצינית. ואני לא יכול להכניס בלוק גדול
מידי של קוד. כמו כן, ברוב המקרים יש כל מיני תווים אסורים,
למשל אסור שיהיה NULL או newline בקוד.

ShellCode זה רק דבר אחד שאפשר לעשות, (להשיג Shell בהרשאה
גבוהה)

שאלה 2, שלך לא ממש ברורה? יש לך exploite ספציפי שאתה רוצה
הסבר לגביו? אתה מנסה איזה שהוא הסבר כללי? מה אתה רוצה?

יש המון eggs צפים ברשת. להלן מאמר שנתקלתי בו,(לא התעמקתי,
אבל הוא בא אליי עם המלצות)
http://www.enderunix.org/docs/en/sc-en.txt
העקרונות תחת חלונות ויוניקס הם אותם עקרונות בדיוק.

DRYICE


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
hll

   23:50   22.06.03   
אל הפורום  
  2. 1.טוב אני יודע רק קצת ASM אז אין ממש סיכוי  
בתגובה להודעה מספר 1
 
   עבר עריכה לאחרונה בתאריך 23.06.03 בשעה 00:25
 
שאני יצליח לתכנת את כולו באסמבלי (רמת תיכון, סוף שנה שנייה)
מה שכן, יש איזהשהיא סיבה אם אני יצור תוכנית פשוטה יחסית ב C שאני יקבל את אחד משני התווים האלה בתוכה, ואם כן, איך עוקפים את זה או שבשביל זה אני צריך לדעת אסמבלי קצת יותר לעומק ולערוך את הקוד...

2. התכוונתי להסבר כללי, שהרי, אתה לא שם את הקוד שלך בEIP המקורי!!
אז איך אתה יכול לשים שמה פקודת קפיצה לאן ששמת את הSHELLCODE בכלל אם אתה לא יכול להגיע לשם,...? וחוצמזה אם כן הגעת לשם בשביל לעשות פקודת JMP למה לא במקום הפקודת JMP לשים את הShellCode שלך...?

3.תודה אני יבדוק את זה!!!

תודה על התגובה המהירה בפורום הקצת צולע הזה...

אגב: תיקון על למעלה: עורך טקסט = עורך האקס


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
dryice

   14:58   23.06.03   
אל הפורום  
  3. יש סוגים שונים של exploits  
בתגובה להודעה מספר 2
 
   הפשוט שבהם הוא stack buffer overrun בהם אני דורס
מידע שנכתב על הstack אתה תמצא שדנו בנושאים אלו בפורום
בעבר(תריץ חיפוש)
כאשר אני דורס את כתובת החזרה, אני דורס אותה במצביע לתוך
הבלוק. עם כתובת החזרה היא יחסית, אזי אין לי בעיה בכלל.
אם כתובת החזרה היא אבסוליטית, אני צריך לכתוב שם את הכתובת
של המקום בstack, ואז אני צריך לנצל את העובדה שמנגנון הזיכרון
הווירטואלי גורם לכך שהתוכנית תמיד נטענת לאותו מקום בזכרון
(או לפחות כך היא רואה את זה) ואז אני יכול אפילו לקחת מערכת דומה
לזאת שאני מנסה לפרוץ אליה, לבדוק מה הכתובת אצלי,
ולהסיק שזאת אותה כתובת אצל הקורבן.

DRYICE


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
hll

   15:43   23.06.03   
אל הפורום  
  4. כלומר, כתובת החזרה גם נשמרת במחסנית..?  
בתגובה להודעה מספר 3
 
   ובגלל זה אני יכול לדרוס אותה..?
והמבנה שרשמת בתגובה 5 הוא זהה תמיד???
http://rotter.net/nor/prog/5132.shtml#5

ועוד שאלה כלומר מבנה הקלט שלנו צריך להיות ככה:
Shellcode,junk,new ret?


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
dryice

   16:01   23.06.03   
אל הפורום  
  5. מה שאני תארתי זה C Calling convention  
בתגובה להודעה מספר 4
 
   וזה נכון לחלוטין בכל מה שנכתב בשפת C, או C++
בשפות אחרות, זה או זהה, או מאוד דומה.
זה חייב להיות דומה בכל שפה שמאפשרת רקורסיה.


DRYICE


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
hll

   16:06   23.06.03   
אל הפורום  
  6. תודה רבה על הכל!  
בתגובה להודעה מספר 5
 
  


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד

תגובה מהירה  למכתב מספר: 
 
___________________________________________________________________

___________________________________________________________________
למנהלים:  נעל | תייק בארכיון | מחק | העבר לפורום אחר | מחק תגובות | עגן אשכול
       



© כל הזכויות שמורות ל-רוטר.נט בע"מ rotter.net