
הטקסט המלא של הדקות הראשונות בהרצאה «פריצה של UnCrackable-Level1 - חלק 1» בקורס הווידאו של PracticU – כתוביות בעברית עם זמן התחלה לכל פסקה. כך תוכלו לקרוא ולחפש את הנושאים לפני שמתחילים ללמוד.
שלום לכולם, בהרצאה הזו אני רוצה להמשיך ולפצח את האתגר של לגלות את הסוד מאחורי האפליקציה Uncrackable Level 1 הדבר היחיד שאני רוצה לעשות זה לא להשתמש יותר בג'יני מושן בתוך מכונה וירטואלית כי נמאס לי מהקריסות אני שמתי ג'יני מושן על המחשב הפיזי שלי והוא עובד מצוין
בגלל זה אני ממשיך עם ג'יני מושן במחשב הפיזי שלי הדבר היחיד שאני רוצה להראות לכם שבאדיט שלו במחשב הפיזי פה למטה אני מעביר לברידג' כדי שטלפון יקבל כתובת IP כמו המחשב שלי בבית.
למה זה חשוב לי? כדי שהמכונה הווירטואלית הזאת תדע להגיע לטלפון. אז אני פה מקצץ מקום במכונה וירטואלית והולך לשים כאן את הטלפון שלי.
שימו לב, הטלפון רץ במחשב הפיזי ומכונה וירטואלית תתחבר לטלפון דרך ADB קונקט וכתובת ה-IP של הטלפון. זאת אומרת, הטלפון יקבל כתובת IP של הבית ו-ADB קונקט מתוך מכונה וירטואלית יתחבר לנו לטלפון שנמצא ברשת הפיזית.
לא דרך USB, אלא דרך כתובת IP. אוקיי, עכשיו עוד משהו שמציק לי זה התפריט צד הזה. אתם רואים תפריט ענקי בצד יש לי? אני לוחץ קונטרול T.
אתם לוחצים קונטרול T, הוא נעלם. עוד פעם, קונטרול T, אתם רואים? לוחצים, מופיע. לוחצים, נעלם. אני אהבתי את התפריט צד הזה כי הוא גדול מדי ויש לנו כאן את הטלפון שלנו.
טוב, אז מה אנחנו עושים? אנחנו רוצים בעצם להתקין ולפרוץ את האפליקציה של Uncrackable. אבל שנייה, בואו נתחבר שנייה לטלפון הזה.
בואו נבדוק מה ה-IP שלו. אני נכנס כאן, הוא עובד לי מצוין על המחשב הפיזי. ככה גם הם אומרים לא להתקין בתוך מכונה וירטואלית.
אוקיי, באדוונס של הטלפון אני רואה שהוא קיבל כתובת 168. נהדר. אנחנו יכולים לעשות cmd ולבדוק פינג לכתובת הזאת 10 100 102 168 אתם רואים זאת הכתובת הזאת פה 168 בואו נראה אם יש לנו תקשורת מתוך מכונה וירטואלית יש לנו תקשורת לטלפון זה מצוין עכשיו נעשה adb connect ונחבר את הadb שלנו שזה android debug bridge הנה הוא
אומר successfully connected to... בואו נבדוק שזה יתחבר נרשום adb device ADB Devices ואנחנו רואים שזה מחובר שימו לב אנחנו יכולים לחבר כמה טלפונים למחשב הזה ADB יהיה מחובר לכמה טלפונים במקביל ואם יש לנו כמה טלפונים אנחנו במקום לכתוב
ADB Shell כותבים בדיוק לאיזה טלפון לשלוח פקודת Shell והנה אנחנו בתוך הטלפון אנחנו בתוך הטלפון, נהדר בואו נעשה אקזיט, ADB עובד לנו עכשיו אם יש לנו טלפון אחד אפשר לכתוב רק ADB Shell אם יש לנו כמה טלפונים אנחנו יכולים לציין לאיזה טלפון אנחנו
שולחים את הפקודות של ADB. בקיצור יש לנו ADB שעובד, ADB Devices, טלפון אחד מחובר אז מספיק לכתוב ADB Shell ואנחנו בפנים בתוך טלפון.
יופי. עכשיו אנחנו רוצים להתקין את ה-Uncrackable, זוכרים האפליקציה שאז הצלחנו להתגבר על ה-Root שלה שהיא דורשת את ה-Root?
עכשיו אנחנו נמשיך ונפרוץ אותה לחלוטין. איפה הייתה לנו האפליקציה הזאת? ככה, זה הסקריפט שלה, זה הסקריפט שעשינו פעם שעברה שמתגבר על ההגנה של הרוט, תכף נגיע אליו, ובדאונלורדס, הנה יש לנו את האפליקציה.
טוב, בואו נתקין אותה, ניקח את השם שלה, ניכנס פה ל-CMD ונרשום ADB install ואת השם. שימו לב, זה לא אכפת לו ש-ADB מתחבר לטלפון מרוחק, זה לא מעניין אותו.
בואו נראה שזה באמת עבר התקנה, הנה הוא, Uncrackable. בואו אני אראה לכם עוד פעם, אני יכול לקחת, לעשות לו uninstall. תראו איזה יופי זה עובד על המחשב הפיזי, והנה זה הופיע לנו פה עוד פעם.
טוב, אנחנו מפעילים אותו, וכתוב פה root detected, שהוא זיהה שזה פרוץ על ידי root. על זה הצלחנו להתגבר, אני מזכיר לכם, בסקריפט שעשינו אתכם, בדסקטופ יש לי את הסקריפט הזה, ונתתי אותו בשבילכם, רק אין לי פה notepad, בואו נתקין notepad זריז, כי מעצבן אותי ה notepad המובנה,
רוצה notepad++ אני לוקח את הגרסה האחרונה יורד למטה פה איפה הוא מחפש גרסת 64 ביט installer ומתקין אותו זה הכל מאוד מאוד זריז כי זאת תוכנה קטנה וממש נוחה זה כתבן כזה פשוט יותר נוח מנותפד הרגיל זהו עדכנתי אותו עכשיו אני עושה right click edit with notepad++ אז מה עשינו אז אז עשינו דבר כזה שהוא מתגבר
על ההגנות של הרוט הזה אתם רואים רוט דטקטד. אני אזכיר לכם בשני מילים מה עשינו. בדאונלורדס לקחנו את האפליקציה, פתחנו אותה בתוך ג'אדקס, כלי חינמי שיודע לפתוח קובץ APK ולהפוך אותו לג'אווה.
ופה בפנים, במיין אקטיביטי, מצאנו את הבדיקה של הרוט, עשינו פה חיפוש, כתבנו רוט דטקטד, בדיוק כמו שכתוב פה.
אתם רואים כמו שכתוב פה רוט דטקטד, זה מה שאני כותב גם בחיפוש detect ted וסימן קריאה שיחפש לי בדיוק את הטקסט הזה שיחפש את זה בקוד הנה הוא מצא לי איפה זה נמצא בקוד וכתבנו פונקציה שמחליפה את הפונקציות a b וc אתם רואים זה class נקודה פונקציה אז במקום שהפונקציות האלו יבדקו משהו ויחזירו true אמרנו לכולם להחזיר false ואז התוכנה
חושבת שהבדיקה עברה בהצלחה כי אם אחד מהם מחזיר true אמת אנחנו מקבלים את ההודעה הזאת. בעצם ראיתי מה העיף והתגברתי עליו. זה מה שעשינו בפעם הקודמת.
בואו נראה איך זה קרה. אז ככה, אז קודם כל הפעלנו את זה, אני עושה לכם חזרה זריזה. הפעלנו את הדבר הזה בדסקטופ, כתבנו את הפקודה free dps מינוס דרך usb, אה, עכשיו זה לא דרך usb.
סליחה, עכשיו כבר לא צריך את ה-usb כי זה לא דרך usb. applications ו-installed, אה, זה צריך ככה? כן, טוב, read APS זה מראה לי את הפרוצסים שרצים ואנחנו רואים פה שהפרוצס שלנו זה Uncrackable1 השם שלו האנדיטיפייר המזהה שלו זה זה זה השם של האפליקציה ככה אני מזהה
אותה אז תדעו שזה כאילו השם שאנחנו נשתמש בו בסקריפט אז אנחנו גילינו את המזהה גילינו את האפליקציה עכשיו אנחנו רוצים להפעיל את הסקריפט שלנו מה הסקריפט שלנו עשה אני מזכיר לכם עוד פעם מצאנו את הקלאס שלנו את הקלאס C הזה איך ידעתי שזה קלאסי אתם רואים פה c נקודה a c נקודה b המילה הראשונה זה כאילו הקלאס
והקלאסים האלו יושבים בתוך פקאג'ים בקיצור זה קלאס זאת פונקציה בתוך הקלאס אז בואו ניקח את נניח את זה נעשה קונטרול קליק ואנחנו מגיעים יש לנו פה קלאסי בפונקציה שנקראת a אז השם המלא זה השם של הפקאג' ונקודה שם של הקלאס נקודה השם של הפונקציה פונקציה קלאס והפקאג'.
אז העתקתי את השם של הפקאג', הוספתי את השם של הקלאס ובפנים יושבת הפונקציה. אז זה שם של הפקאג', זה שם של הקלאס וכל זה package.class נכנס למשתנה מייקלאס.
בתוך משתנה מייקלאס עשיתי פונקציה חדשה ולפונקציה הזאת a עשיתי אימפלמנטציה, זאת אומרת פונקציית a קיבלה קוד חדש.
תוך זמן ריצה בזיכרון של המכשיר פתאום משתנה לה הקוד. במקום כל הקוד הזה של הפונקציה הזאת, לא מעניין אותי מה הוא בודק פה, אני ישר מחזיר false.
תמיד אני מחזיר false, כאילו שהבדיקה נכשלה, לא מעניין אותי מה הוא בודק, אני אומר false. אותו דבר עשיתי עבור b ו-c, זאת אומרת שתמיד אני מחזיר פה false, זה אומר שזה לא טלפון פרוץ.
כל הבדיקות אני בעצם מאפס אותן, במקומן מחזיר ישר ערך false. למעשה החלפתי את הגוף של הפונקציה ומדפיס ערך.
זה מה שעשיתי בפעם שעברה, והרצנו את זה על ידי הפקודה הזאת. זאת אומרת, באנו לתיקייה של הדבר הזה. כתבתי לכם פה את הפקודה, שלא תהיו בלחץ. frida -u -l, השם של הסקריפט, -f, השם של האפליקציה, זה המזהה של האפליקציה, no pause.
דרך אגב, לדעתי כבר לא צריך מינוס u. אוקיי. הוא אומר לי, הכל בסדר, רק מה? fail to spawn, הוא לא הצליח ליצור את האובייקט. למה? כי שכחנו להפעיל בתוך טלפון את השרת.
זוכרים אנחנו צריכים בתוך הטלפון את הסוכן הסודי שלנו? את השרת של פרידה. איפה השרת של פרידה? זה השרת של פרידה שהורדנו אותו מאתר של פרידה אתם כבר צריכים לדעת את זה עשינו את זה בסרטים קודמים אז אנחנו מעתיקים את השרת הזה לתיקיית
פוש דרך אגב כל הפקודות אני שם לכם בשרת הקבצים שלא תהיו בלחץ אחרי שהעתקנו את זה לתיקיית טמפ אנחנו נותנים לזה הרשאות אקזיקיוט פלוס איקס זה אקזיקיוט שנוכל להריץ את זה וכותבים ADB של ותריץ לנו בתוך השל את הקובץ הזה של הסרבר.
זהו, הוא רץ בפנים. יש לנו שם עכשיו שרת שרץ, כאילו עשינו ADB של פנימה והרצנו את השרת