פינגווין

מעקב אחר יישומי אנדרואיד עם תוכניות השירות Termux ולינוקס

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

אנו נשתמש ב-Termux linux VM בתוך מכשיר אנדרואיד על מנת להתקין כלי לינוקס נפוצים לצד אפליקציות אנדרואיד.

הכלים העיקריים בהם נשתמש הם:

  1. סטרס
  2. Jtrace
  3. Inotifywatch

*דרוש מכשיר מושרש

מה זה Termux

Termux הוא אמולטור מסוף לאנדרואיד. זה דומה להפצה של לינוקס יותר מסתם יישום מסוף, בגלל המספר הגדול של חבילות זמינות כגון clang, ffmpeg, openssh, python ו-vim.

Termux אינו אמולטור מערכת הפעלה או חומרה. היא חולקת את אותה סביבה כמו חלקים אחרים של מערכת ההפעלה אנדרואיד.

למה אנחנו צריכים Termux?

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

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

כיצד להגדיר את Termux

ישנם 3 שלבים עיקריים:

  1. התקן את האפליקציה
  2. הגדר ssh ישירות ל-Termux Shell שלך
  3. בונוס - הרץ termux מ-adb shell

כלי עזר שימושיים עבור יישומי ניתוח דינמי

סטרס

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

strace -p -e trace=file

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

Jtrace

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

Inotifywatch

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

Chattr

Chattr (שינוי תכונות) מאפשר למשתמשים לשנות תכונות קבצים.

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

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

chattr -a 

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

אתה יכול גם להשתמש בפקודה עם דגל רקורסיבי עבור ספריות שלמות:

chattr -Ra /data/data/com.bad.package/files/

עבור לתוכן