Into the rabbit hole

נכתב על ידי Yaakov Cohen

Into the rabbit hole

הורדנו וחילצנו את infected.zip וקילבנו קובץ הרצה infected.

כשהרצנו עליה את strings קיבלנו:

 

זה נראה כמו קידוד בבסיס 64.

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

 

הכנסנו "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa" 8 פעמים עד סיום ריצת התוכנית.

לקחנו רק את השורות שהיה בהם strncpy:

 

חיברנו את כל חלקי הדגל והמרנו את הקידוד:

 

קיבלנו את הדגל: BSidesTLV{We_gonna_run_run_run_to_the_cities_of_the_future,_take_what_we_can_and_bring_it_back_home._So_take_me_down_to_the_cities_of_the_future,_everybody's_happy_and_I_feel_at_home.}

Success