בית שעון האבטחה פריצה היא פשוט פיצוח פאזל אחד בכל פעם

פריצה היא פשוט פיצוח פאזל אחד בכל פעם

Anonim

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

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

יותר מכל למדתי כי פריצה זה כמו לפתור חידות; אתה ממשיך לחשוב "תן לי לנסות רק את הדבר האחד הזה", ולהרגיש ממש נרגש כשאתה מבין את זה.

קריפטוגרפיה מחזיקה את המפתח

בליבה, הקריפטוגרפיה נוגעת לקחת הודעה ולכתוב אותה בצורה כזו שהיא נראית כמו ג'יברית למי שלא יודע את הסוד. זה קצת כמו חזיר לטיני. אם אינך יודע את כללי השפה, אין לך מושג מה פירוש "שלום". כמה צופים הם פשוטים מאוד - כמו החלפת האות עם האות הבאה, כך a הופך להיות b, b הופך ל- c וכן הלאה, עד ש"שלום "יהפוך ל" ifmmp. " אחרים מורכבים בהרבה מתמטית ומשמשים להגנה על מספרי כרטיסי האשראי ותעודות הסיסמא שלנו.

כל משתתף בפסגה, עם ההרשמה, קיבל מכתב על אתגר הקריפטו. בסוף היה מחרוזת מכתבים שלא היו הגיוניים אך בעלי פורמט מוכר. החל מ- "vhhd: //" ואחריו קבוצות אותיות המופרדות על ידי תקופה (.), זו הייתה בבירור כתובת האתר לאתר. ברגע שהבנתי שהאותיות הראשונות היו "http: //" ידעתי שזה ROT13, צופן פופולרי (וחלש להפליא), שמחליף כל אות עם אות שמגיעה 13 מקומות אחר כך באלף-בית. לא היה צורך לעבד את כתובת האתר באופן ידני, מכיוון שיש טונות של מפענחים ROT13 באינטרנט.

Javascript מוסווה, הו שלי

העמוד שהתקבל, עם תמונה והודעה מבורכת, היה משעמם. מקור הדף היה הכל מלבד. זה היה קווים ושורות של יותר ג'יבריש, מוקף בתגים <script type = "text \ javascript">. אה, Javascript מעורפל.

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

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

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

הנדסה הפוכה כמו בוס

בשלב מסוים הורדתי קובץ הפעלה (סרוק באמצעות Kaspersky Antivirus - לא מזיק להיזהר!) מה שהניע אותי להזין שם משתמש וסיסמא. הגיע הזמן להפוך את ההפעלה ההנדסית ההפוכה.

העבודה במחשב נייד לינוקס עזרה בנקודה זו, מכיוון שיכולתי להשתמש במחרוזות , כלי לינוקס בשורת הפקודה שמדפיס את התוכן של קבצים שאינם טקסטים, ו- gdb , debugger המאפשר לראות מה קורה בקובץ בזמן שהוא מבצע.. מחרוזות היו גם שימושיות מאוחר יותר באתגר, כאשר הורדתי קבצי.D64. יכולתי להוריד אמולטור של Commodore 64 - כפי שהתכוון מארגן האתגר - להריץ את הקובץ, אבל פשוט רצתי מחרוזות כדי להבין לאן ללכת.

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

הערה אודות סיסמאות

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

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

פשוט פתרון חידות

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

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

פריצה היא פשוט פיצוח פאזל אחד בכל פעם