דילוג לתוכן
  • חוקי הפורום
  • פופולרי
  • לא נפתר
  • משתמשים
  • חיפוש גוגל בפורום
  • צור קשר
עיצובים
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • ברירת מחדל (ללא עיצוב (ברירת מחדל))
  • ללא עיצוב (ברירת מחדל)
כיווץ
מתמחים טופ
  1. דף הבית
  2. אנדרואיד - כללי
  3. עזרה הדדית - אנדרואיד
  4. שיתוף | הנדסה לאחור של אפליקצייה זדונית

שיתוף | הנדסה לאחור של אפליקצייה זדונית

מתוזמן נעוץ נעול הועבר עזרה הדדית - אנדרואיד
25 פוסטים 10 כותבים 511 צפיות 18 עוקבים
  • מהישן לחדש
  • מהחדש לישן
  • הכי הרבה הצבעות
תגובה
  • תגובה כנושא
התחברו כדי לפרסם תגובה
נושא זה נמחק. רק משתמשים עם הרשאות מתאימות יוכלו לצפות בו.
  • מישהו12מ מישהו12

    אני לא הולך להזהיר כאן שוב! חלק מהקבצים שאצרף כאן זדוניים ויש להתייחס אליהם בהתאם!

    אתמול, ישראלים רבים קיבלו את ההודעה הזו:
    9240696c-5ee0-426f-a1b4-38851169205e-image.png .

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

    בדיקה ראשונית שלו תראה ששם החבילה הוא
    com.red.alertx
    ולא
    com.red.alert - שם החבילה של האפליקציה האמיתית.

    כמו כן, כשנפתח את האפליקציה כשאפליקציית "ה-Activity הנוכחי" פועלת, יוצג לנו גם שם האקטיביטי הראשי.
    f898bbe9-989b-4494-bc8b-f0ee6bc0dfe4-image.png
    זה לא ActivityMain או משהו, אלא משהו מסורבל... בתוך תת נתיב בתוך האפליקציה בשמות שלא מעידים על זה. כבר קצת חשוד.
    פתיחה עם JADX גילתה שהאפליקצייה כתובה בקוטלין - בעוד "צבע אדום" המקורית כתובה בJAVA.
    https://github.com/eladnava/redalert-android
    (ואגב, שם האקטיביטי הראשי הוא אקטיביטי עם שם רגיל).

    בפתיחה עם MT Manager נראה המון הבדלים, אבל הלכתי ישר לתיקיית הassets. הקובץ הזדוני מכיל שם קובץ שלא קיים במקור, בשם umgdn. בדיקה קצרה (אם כי ספציפית ראיתי שמישהו כתב את זה, אבל בכל מקרה הייתי בודק את הקובץ הזה) מראה שזהו קובץ APK. ובכן, הנה הוא.
    umgdn.apk
    קובץ הumgdn הוא עם אותו שם חבילה של הקובץ הזדוני המקורי (com.red.alertx) אך משום מה חתום עם מפתח אחר (וזה מוזר, הרי התוקף פיתח את שני הקבצים).

    אז חיפשתי בSMALI את המילה umgdn - ומצאתי אותה במקום אחד, עם שם מוזר - בהחלט מריח כמו קוד שעבר אובספיקציה.
    3252fb32-47de-4f38-a649-fc034193db2b-image.png
    אז פתחתי את זה עם JADX במחשב.
    וכאן כבר מתחיל להיות מעניין...
    הקוד, באופן די מפתיע, לא מתקין את הumgdn. הוא ערמומי בהרבה! הוא מכניס אותו לתיקיית הנתונים של האפליקציה, ומעכשיו טוען קוד ממנו ולא מהAPK המותקן. ככה שאפילו לא מותקן APK אחר. מתוחכם מאוד.
    ו... גורם לכך שהאפליקציה תזוהה כמותקנת מגוגל פליי.

    חוץ מכל מה שקורה עד לכאן, האפליקציה הזו מבקשת הרשאות לSMS וכדומה - מה שהאפליקציה המקורית לא מבקשת.

    אז בואו נפתח את הAndroidManifest.xml של שתי האפליקציות להשוואת בקשת הרשאות:

    בקובץ הזדוני:

        <!-- Control vibration -->
        <uses-permission android:name="android.permission.VIBRATE" />
        <!-- Have full network access -->
        <uses-permission android:name="android.permission.INTERNET" />
        <!-- Prevent phone from sleeping -->
        <uses-permission android:name="android.permission.WAKE_LOCK" />
        <!-- View network connections -->
        <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
        <!-- Run at startup -->
        <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
        <!-- Allows applications to access coarse location information usually obtained through the network -->
        <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
        <!-- Allows applications to access fine location information obtained through GPS -->
        <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
        <!-- Show notifications -->
        <uses-permission android:name="android.permission.POST_NOTIFICATIONS" />
        <!-- This app can appear on top of other apps -->
        <uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW" />
        <!-- Schedule precisely timed actions -->
        <uses-permission android:name="android.permission.SCHEDULE_EXACT_ALARM" />
        <!-- Run foreground service -->
        <uses-permission android:name="android.permission.FOREGROUND_SERVICE" />
        <!-- Run foreground service with the type "location" -->
        <uses-permission android:name="android.permission.FOREGROUND_SERVICE_LOCATION" />
        <!-- Run foreground service with the type "remoteMessaging" -->
        <uses-permission android:name="android.permission.FOREGROUND_SERVICE_REMOTE_MESSAGING" />
        <!-- Find accounts on the device -->
        <uses-permission android:name="android.permission.GET_ACCOUNTS" />
        <!-- Read your text messages (SMS or MMS) -->
        <uses-permission android:name="android.permission.READ_SMS" />
        <!-- Read your contacts -->
        <uses-permission android:name="android.permission.READ_CONTACTS" />
        <!-- Query all packages -->
        <uses-permission android:name="android.permission.QUERY_ALL_PACKAGES" />
        <uses-feature
            android:name="android.hardware.location"
            android:required="false" />
        <uses-feature
            android:name="android.hardware.location.gps"
            android:required="false" />
        <uses-feature
            android:name="android.hardware.location.network"
            android:required="false" />
        <uses-feature
            android:glEsVersion="0x20000"
            android:required="true" />
        <uses-permission android:name="com.google.android.c2dm.permission.RECEIVE" />
    

    בקוד המקורי

        <!-- Control vibration -->
        <uses-permission android:name="android.permission.VIBRATE" />
        <!-- Have full network access -->
        <uses-permission android:name="android.permission.INTERNET" />
        <!-- Prevent phone from sleeping -->
        <uses-permission android:name="android.permission.WAKE_LOCK" />
        <!-- View network connections -->
        <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
        <!-- Run at startup -->
        <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
        <!-- Allows applications to access coarse location information usually obtained through the network -->
        <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
        <!-- Allows applications to access fine location information obtained through GPS -->
        <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
        <!-- Show notifications -->
        <uses-permission android:name="android.permission.POST_NOTIFICATIONS" />
        <!-- This app can appear on top of other apps -->
        <uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW" />
        <!-- Schedule precisely timed actions -->
        <uses-permission android:name="android.permission.SCHEDULE_EXACT_ALARM" />
        <!-- Run foreground service -->
        <uses-permission android:name="android.permission.FOREGROUND_SERVICE" />
        <!-- Run foreground service with the type "location" -->
        <uses-permission android:name="android.permission.FOREGROUND_SERVICE_LOCATION" />
        <!-- Run foreground service with the type "remoteMessaging" -->
        <uses-permission android:name="android.permission.FOREGROUND_SERVICE_REMOTE_MESSAGING" />
        <uses-feature
            android:name="android.hardware.location"
            android:required="false" />
        <uses-feature
            android:name="android.hardware.location.gps"
            android:required="false" />
        <uses-feature
            android:name="android.hardware.location.network"
            android:required="false" />
        <uses-feature
            android:glEsVersion="0x20000"
            android:required="true" />
        <uses-permission android:name="com.google.android.c2dm.permission.RECEIVE" /
    

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

    android.permission.GET_ACCOUNTS
    

    מאפשר גישה לרשימת החשבונות במכשיר (Google, WhatsApp וכו’).

    ו

    android.permission.QUERY_ALL_PACKAGES
    

    שמאפשר לדעת אילו אפליקציות מותקנות במכשיר.

    יש לציין, ששתי האפליקציות הזדוניות (זו שיורדת מהלינק והumgdn) נראות מבחינת ממשק וכו' חיקוי מושלם ל"צבע אדום" המקורית, ובמבט מלמעלה גם די זהות אחת לשניה. למעשה, לא ממש הבנתי את הצורך במהלך המתוחכם מאוד שנעשה פה עם הAPK הנוסף - אחרי שגרמת למשתמש להתקין אפליקציה, שנראית לגיטימית לחלוטין, הוא כבר בידיים שלך, ואת זיופי החתימות ומקור ההתקנה הוא גם ככה עושה...

    צ"ע.

    @cfopuser @10110000 רוצים להצטרף אלי למחקר?

    cfopuserC מנותק
    cfopuserC מנותק
    cfopuser
    כתב נערך לאחרונה על ידי cfopuser
    #10

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

    עריכה: ראיתי את זה כאן,
    https://www.youtube.com/watch?v=QEq2JQ6nzuQ

    גם שם זה קרה בגלל שהאפליקצייה היא קוד פתוח (נראה שזה לא היה רעיון כול כך טוב😉)

    סורי על העריכה 🤦‍♂️

    תגובה 1 תגובה אחרונה
    0
    • cfopuserC מנותק
      cfopuserC מנותק
      cfopuser
      כתב נערך לאחרונה על ידי cfopuser
      #11

      מהסתכלות שטחית זה נראה infostealer רגיל שמוסווה בתוך אפליקציה (trojan horse במילים אחרות),
      אם אתה רוצה להתעמק לך androidx.activity.yuma
      שמה כול הפעילות קורית.

      עריכה: מהסתכלות לעומק,

          public static String Bewailed() {
              String str = new String(Cucurbit("GxwuAyR4Fm4pNg0aOShlMTQrGwQAeTYDFx0iPxIYQEwaCylcJDdbLCEySkQjOQ==", 0));
              char[] cArr = new char[Asse(str)];
              for (int i = 0; i < cArr.length; i++) {
                  cArr[i] = (char) (Stramony(str, i) ^ Nucleoli("shZsWB9AHFd4KIHSUHpqpWUlz2CQst98", i % 32));
              }
              return new String(cArr);
          }
      
      

      נראה שהc2 זה https://api[.]ra-backup[.]com/analytics/submit.php
      בwhois לא נראה משהו מעניין,
      אז בקיצור אין הרבה מה לעשות בנידון חוץ מלדווח על הדומיין לname cheap,
      ולקוות שיחסם כך אולי להציל את מי שנפגעו.

      אגב מעניין לראות שאף על פי שהדומיין של ra-backup[.]com רק עושה הפניה לצבע אדום גוגל רואה אותו כדומיין של צבע אדום לכול דבר ועניין.

      https://www.google.com/search?q=ra-backup.com

      תוך כדי חיפוש ראיתי את הפוסט הזה אם כי לא נראה שנעשה הרבה בנושא.

      שניאור שמחש iosi poliI מישהו12מ 4 תגובות תגובה אחרונה
      6
      • cfopuserC cfopuser

        מהסתכלות שטחית זה נראה infostealer רגיל שמוסווה בתוך אפליקציה (trojan horse במילים אחרות),
        אם אתה רוצה להתעמק לך androidx.activity.yuma
        שמה כול הפעילות קורית.

        עריכה: מהסתכלות לעומק,

            public static String Bewailed() {
                String str = new String(Cucurbit("GxwuAyR4Fm4pNg0aOShlMTQrGwQAeTYDFx0iPxIYQEwaCylcJDdbLCEySkQjOQ==", 0));
                char[] cArr = new char[Asse(str)];
                for (int i = 0; i < cArr.length; i++) {
                    cArr[i] = (char) (Stramony(str, i) ^ Nucleoli("shZsWB9AHFd4KIHSUHpqpWUlz2CQst98", i % 32));
                }
                return new String(cArr);
            }
        
        

        נראה שהc2 זה https://api[.]ra-backup[.]com/analytics/submit.php
        בwhois לא נראה משהו מעניין,
        אז בקיצור אין הרבה מה לעשות בנידון חוץ מלדווח על הדומיין לname cheap,
        ולקוות שיחסם כך אולי להציל את מי שנפגעו.

        אגב מעניין לראות שאף על פי שהדומיין של ra-backup[.]com רק עושה הפניה לצבע אדום גוגל רואה אותו כדומיין של צבע אדום לכול דבר ועניין.

        https://www.google.com/search?q=ra-backup.com

        תוך כדי חיפוש ראיתי את הפוסט הזה אם כי לא נראה שנעשה הרבה בנושא.

        שניאור שמחש מחובר
        שניאור שמחש מחובר
        שניאור שמח
        מדריכים עימוד
        כתב נערך לאחרונה על ידי
        #12

        @cfopuser אולי מספיק עם העריכות? 😉

        "אם לא תנסה, איך תדע?"

        cfopuserC תגובה 1 תגובה אחרונה
        1
        • שניאור שמחש שניאור שמח

          @cfopuser אולי מספיק עם העריכות? 😉

          cfopuserC מנותק
          cfopuserC מנותק
          cfopuser
          כתב נערך לאחרונה על ידי
          #13

          @שניאור-שמח סורי👍

          תגובה 1 תגובה אחרונה
          1
          • cfopuserC cfopuser

            מהסתכלות שטחית זה נראה infostealer רגיל שמוסווה בתוך אפליקציה (trojan horse במילים אחרות),
            אם אתה רוצה להתעמק לך androidx.activity.yuma
            שמה כול הפעילות קורית.

            עריכה: מהסתכלות לעומק,

                public static String Bewailed() {
                    String str = new String(Cucurbit("GxwuAyR4Fm4pNg0aOShlMTQrGwQAeTYDFx0iPxIYQEwaCylcJDdbLCEySkQjOQ==", 0));
                    char[] cArr = new char[Asse(str)];
                    for (int i = 0; i < cArr.length; i++) {
                        cArr[i] = (char) (Stramony(str, i) ^ Nucleoli("shZsWB9AHFd4KIHSUHpqpWUlz2CQst98", i % 32));
                    }
                    return new String(cArr);
                }
            
            

            נראה שהc2 זה https://api[.]ra-backup[.]com/analytics/submit.php
            בwhois לא נראה משהו מעניין,
            אז בקיצור אין הרבה מה לעשות בנידון חוץ מלדווח על הדומיין לname cheap,
            ולקוות שיחסם כך אולי להציל את מי שנפגעו.

            אגב מעניין לראות שאף על פי שהדומיין של ra-backup[.]com רק עושה הפניה לצבע אדום גוגל רואה אותו כדומיין של צבע אדום לכול דבר ועניין.

            https://www.google.com/search?q=ra-backup.com

            תוך כדי חיפוש ראיתי את הפוסט הזה אם כי לא נראה שנעשה הרבה בנושא.

            iosi poliI מנותק
            iosi poliI מנותק
            iosi poli
            כתב נערך לאחרונה על ידי
            #14

            @cfopuser רק הגעת, כבר עשית לנו סדר בעניינים 😉

            אם טעיתי, בבקשה תתקן אותי!

            תגובה 1 תגובה אחרונה
            2
            • cfopuserC cfopuser

              מהסתכלות שטחית זה נראה infostealer רגיל שמוסווה בתוך אפליקציה (trojan horse במילים אחרות),
              אם אתה רוצה להתעמק לך androidx.activity.yuma
              שמה כול הפעילות קורית.

              עריכה: מהסתכלות לעומק,

                  public static String Bewailed() {
                      String str = new String(Cucurbit("GxwuAyR4Fm4pNg0aOShlMTQrGwQAeTYDFx0iPxIYQEwaCylcJDdbLCEySkQjOQ==", 0));
                      char[] cArr = new char[Asse(str)];
                      for (int i = 0; i < cArr.length; i++) {
                          cArr[i] = (char) (Stramony(str, i) ^ Nucleoli("shZsWB9AHFd4KIHSUHpqpWUlz2CQst98", i % 32));
                      }
                      return new String(cArr);
                  }
              
              

              נראה שהc2 זה https://api[.]ra-backup[.]com/analytics/submit.php
              בwhois לא נראה משהו מעניין,
              אז בקיצור אין הרבה מה לעשות בנידון חוץ מלדווח על הדומיין לname cheap,
              ולקוות שיחסם כך אולי להציל את מי שנפגעו.

              אגב מעניין לראות שאף על פי שהדומיין של ra-backup[.]com רק עושה הפניה לצבע אדום גוגל רואה אותו כדומיין של צבע אדום לכול דבר ועניין.

              https://www.google.com/search?q=ra-backup.com

              תוך כדי חיפוש ראיתי את הפוסט הזה אם כי לא נראה שנעשה הרבה בנושא.

              מישהו12מ מנותק
              מישהו12מ מנותק
              מישהו12
              מדריכים
              כתב נערך לאחרונה על ידי מישהו12
              #15

              @cfopuser אכן מצאתי את הדומיין הזה כשהקלטתי תעבורה עם AdGuard

              @cfopuser כתב בשיתוף | הנדסה לאחור של אפליקצייה זדונית:

              גם שם זה קרה בגלל שהאפליקצייה היא קוד פתוח (נראה שזה לא היה רעיון כול כך טוב)

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

              אין שום דבר, שום קשר ביניהם, חוץ מחיקוי של הממשק.

              הקוד בנוי אחרת לחלוטין, הזדוני כתוב בקוטלין והמקורי בJAVA. ואם תשים לב, הזדוני בכלל לא קורא לAPI של api.redalert.me...

              הבלוג שלי
              https://aiv-dev.com/he-IL/

              תגובה 1 תגובה אחרונה
              1
              • cfopuserC cfopuser

                מהסתכלות שטחית זה נראה infostealer רגיל שמוסווה בתוך אפליקציה (trojan horse במילים אחרות),
                אם אתה רוצה להתעמק לך androidx.activity.yuma
                שמה כול הפעילות קורית.

                עריכה: מהסתכלות לעומק,

                    public static String Bewailed() {
                        String str = new String(Cucurbit("GxwuAyR4Fm4pNg0aOShlMTQrGwQAeTYDFx0iPxIYQEwaCylcJDdbLCEySkQjOQ==", 0));
                        char[] cArr = new char[Asse(str)];
                        for (int i = 0; i < cArr.length; i++) {
                            cArr[i] = (char) (Stramony(str, i) ^ Nucleoli("shZsWB9AHFd4KIHSUHpqpWUlz2CQst98", i % 32));
                        }
                        return new String(cArr);
                    }
                
                

                נראה שהc2 זה https://api[.]ra-backup[.]com/analytics/submit.php
                בwhois לא נראה משהו מעניין,
                אז בקיצור אין הרבה מה לעשות בנידון חוץ מלדווח על הדומיין לname cheap,
                ולקוות שיחסם כך אולי להציל את מי שנפגעו.

                אגב מעניין לראות שאף על פי שהדומיין של ra-backup[.]com רק עושה הפניה לצבע אדום גוגל רואה אותו כדומיין של צבע אדום לכול דבר ועניין.

                https://www.google.com/search?q=ra-backup.com

                תוך כדי חיפוש ראיתי את הפוסט הזה אם כי לא נראה שנעשה הרבה בנושא.

                מישהו12מ מנותק
                מישהו12מ מנותק
                מישהו12
                מדריכים
                כתב נערך לאחרונה על ידי מישהו12
                #16

                @cfopuser כתב בשיתוף | הנדסה לאחור של אפליקצייה זדונית:

                אם אתה רוצה להתעמק לך androidx.activity.yuma

                איך הגעת לשם?

                @cfopuser כתב בשיתוף | הנדסה לאחור של אפליקצייה זדונית:

                בwhois לא נראה משהו מעניין,

                הדומיין שייך לחברה איסלנדית שמושבה בריקאוויק.

                יש את הדומיין שלה בכתובת המייל ליצירת קשר - אך הwhois שלו מביא את אותם הפרטים בדיוק.
                https://www.whois.com/whois/withheldforprivacy.com

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

                הבלוג שלי
                https://aiv-dev.com/he-IL/

                cfopuserC תגובה 1 תגובה אחרונה
                2
                • מישהו12מ מישהו12

                  @cfopuser כתב בשיתוף | הנדסה לאחור של אפליקצייה זדונית:

                  אם אתה רוצה להתעמק לך androidx.activity.yuma

                  איך הגעת לשם?

                  @cfopuser כתב בשיתוף | הנדסה לאחור של אפליקצייה זדונית:

                  בwhois לא נראה משהו מעניין,

                  הדומיין שייך לחברה איסלנדית שמושבה בריקאוויק.

                  יש את הדומיין שלה בכתובת המייל ליצירת קשר - אך הwhois שלו מביא את אותם הפרטים בדיוק.
                  https://www.whois.com/whois/withheldforprivacy.com

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

                  cfopuserC מנותק
                  cfopuserC מנותק
                  cfopuser
                  כתב נערך לאחרונה על ידי cfopuser
                  #17

                  @מישהו12 לא משנה איך הוא יצפין ויערפל את הקוד שלו (והוא לא)
                  בסוף הוא יצטרך לקרוא לapi של אנדרואיד כדי לקרוא את הsms וכו'

                  חיפוש מהיר בjadx ואתה שם.

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

                  בתכלס אפשר גם לתקוף את האתר אבל זה פחות סביר😉

                  א מישהו12מ 2 תגובות תגובה אחרונה
                  0
                  • cfopuserC cfopuser

                    @מישהו12 לא משנה איך הוא יצפין ויערפל את הקוד שלו (והוא לא)
                    בסוף הוא יצטרך לקרוא לapi של אנדרואיד כדי לקרוא את הsms וכו'

                    חיפוש מהיר בjadx ואתה שם.

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

                    בתכלס אפשר גם לתקוף את האתר אבל זה פחות סביר😉

                    א מחובר
                    א מחובר
                    אפרים ד
                    כתב נערך לאחרונה על ידי אפרים ד
                    #18

                    @cfopuser כתב בשיתוף | הנדסה לאחור של אפליקצייה זדונית:

                    בסוף הוא יצטרך לקרוא לapi של אנדרואיד כדי לקרוא את הsms וכו'

                    אפשר גם לקרוא ל api באמצעות invoke method והמתודה בסטרינג... ואפשר גם בקבצי so elf..
                    כלומר אפשר גם להסתיר קריאות לapi של אנדרואיד.

                    cfopuserC תגובה 1 תגובה אחרונה
                    1
                    • א אפרים ד

                      @cfopuser כתב בשיתוף | הנדסה לאחור של אפליקצייה זדונית:

                      בסוף הוא יצטרך לקרוא לapi של אנדרואיד כדי לקרוא את הsms וכו'

                      אפשר גם לקרוא ל api באמצעות invoke method והמתודה בסטרינג... ואפשר גם בקבצי so elf..
                      כלומר אפשר גם להסתיר קריאות לapi של אנדרואיד.

                      cfopuserC מנותק
                      cfopuserC מנותק
                      cfopuser
                      כתב נערך לאחרונה על ידי cfopuser
                      #19

                      @אפרים-ד כתב בשיתוף | הנדסה לאחור של אפליקצייה זדונית:

                      so elf

                      האמת שכחתי שזה אפשרי באנדרואיד,
                      לא נראה לי jadx ישרוד את זה 🙂.

                      א תגובה 1 תגובה אחרונה
                      0
                      • cfopuserC cfopuser

                        @אפרים-ד כתב בשיתוף | הנדסה לאחור של אפליקצייה זדונית:

                        so elf

                        האמת שכחתי שזה אפשרי באנדרואיד,
                        לא נראה לי jadx ישרוד את זה 🙂.

                        א מחובר
                        א מחובר
                        אפרים ד
                        כתב נערך לאחרונה על ידי
                        #20

                        @cfopuser מה קשור so ל jadex?

                        cfopuserC תגובה 1 תגובה אחרונה
                        0
                        • א אפרים ד

                          @cfopuser מה קשור so ל jadex?

                          cfopuserC מנותק
                          cfopuserC מנותק
                          cfopuser
                          כתב נערך לאחרונה על ידי
                          #21

                          @אפרים-ד בדיוק שזה לא קשור זה bytecode זה בינארי,
                          יש אימוג'י ליד המשפט🙂.

                          מתכנת חובבמ תגובה 1 תגובה אחרונה
                          1
                          • cfopuserC cfopuser

                            @מישהו12 לא משנה איך הוא יצפין ויערפל את הקוד שלו (והוא לא)
                            בסוף הוא יצטרך לקרוא לapi של אנדרואיד כדי לקרוא את הsms וכו'

                            חיפוש מהיר בjadx ואתה שם.

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

                            בתכלס אפשר גם לתקוף את האתר אבל זה פחות סביר😉

                            מישהו12מ מנותק
                            מישהו12מ מנותק
                            מישהו12
                            מדריכים
                            כתב נערך לאחרונה על ידי
                            #22

                            @cfopuser כתב בשיתוף | הנדסה לאחור של אפליקצייה זדונית:

                            חיפוש מהיר בjdax ואתה שם.

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

                            למשל כאן:

                                @Override // java.lang.reflect.InvocationHandler
                                public Object invoke(Object proxy, Method method, Object[] args) throws Throwable {
                                    if (method != null && "getPackageInfo".equals(method.getName())) {
                                        String str = (String) args[0];
                                        if ((((Number) args[1]).intValue() & 64) != 0 && appPkgName.equals(str)) {
                                            PackageInfo packageInfo = (PackageInfo) method.invoke(this.base, args);
                                            packageInfo.signatures = new Signature[signatures.length];
                                            System.arraycopy(signatures, 0, packageInfo.signatures, 0, signatures.length);
                                            return packageInfo;
                                        }
                                    }
                                    if (method == null || !"getApplicationInfo".equals(method.getName()) || !appPkgName.equals((String) args[0])) {
                                        return new String(new byte[]{103, 101, 116, 73, 110, 115, 116, 97, 108, 108, 101, 114, 80, 97, 99, 107, 97, 103, 101, 78, 97, 109, 101}).equals(method.getName()) ? "com.android.vending" : method.invoke(this.base, args);
                                    }
                                    ApplicationInfo applicationInfo = (ApplicationInfo) method.invoke(this.base, args);
                                    File file = this.fileStreamPath;
                                    if (file != null) {
                                        applicationInfo.sourceDir = file.getPath();
                                        applicationInfo.publicSourceDir = this.fileStreamPath.getPath();
                                    }
                                    return applicationInfo;
                                }
                            

                            אז השורה הזו:

                            new String(new byte[]{103,101,116,73,110,115,116,97,108,108,101,114,80,97,99,107,97,103,101,78,97,109,101})
                            

                            היא בסה"כ

                            getInstallerPackageName
                            

                            הבלוג שלי
                            https://aiv-dev.com/he-IL/

                            cfopuserC תגובה 1 תגובה אחרונה
                            0
                            • cfopuserC cfopuser

                              @אפרים-ד בדיוק שזה לא קשור זה bytecode זה בינארי,
                              יש אימוג'י ליד המשפט🙂.

                              מתכנת חובבמ מנותק
                              מתכנת חובבמ מנותק
                              מתכנת חובב
                              מדריכים
                              כתב נערך לאחרונה על ידי
                              #23

                              @cfopuser
                              bytecode זה לא בדיוק בינארי רגיל וגם בו אפשר לחפש מחרוזות אם כי במקרה שהוא בונה אותם בזמן ריצה אז צריך ניתוח דינאמי ולא יודע איך זה מתבצע באנדרואיד
                              בכל אופן היום קצר והמלאכה מרובה
                              נראה אם ישאר לי מה לתרום מחר...

                              צריך עזרה בשחזור מידע? ייעוץ? egozkokus1@gmail.com

                              תגובה 1 תגובה אחרונה
                              0
                              • מישהו12מ מישהו12

                                @cfopuser כתב בשיתוף | הנדסה לאחור של אפליקצייה זדונית:

                                חיפוש מהיר בjdax ואתה שם.

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

                                למשל כאן:

                                    @Override // java.lang.reflect.InvocationHandler
                                    public Object invoke(Object proxy, Method method, Object[] args) throws Throwable {
                                        if (method != null && "getPackageInfo".equals(method.getName())) {
                                            String str = (String) args[0];
                                            if ((((Number) args[1]).intValue() & 64) != 0 && appPkgName.equals(str)) {
                                                PackageInfo packageInfo = (PackageInfo) method.invoke(this.base, args);
                                                packageInfo.signatures = new Signature[signatures.length];
                                                System.arraycopy(signatures, 0, packageInfo.signatures, 0, signatures.length);
                                                return packageInfo;
                                            }
                                        }
                                        if (method == null || !"getApplicationInfo".equals(method.getName()) || !appPkgName.equals((String) args[0])) {
                                            return new String(new byte[]{103, 101, 116, 73, 110, 115, 116, 97, 108, 108, 101, 114, 80, 97, 99, 107, 97, 103, 101, 78, 97, 109, 101}).equals(method.getName()) ? "com.android.vending" : method.invoke(this.base, args);
                                        }
                                        ApplicationInfo applicationInfo = (ApplicationInfo) method.invoke(this.base, args);
                                        File file = this.fileStreamPath;
                                        if (file != null) {
                                            applicationInfo.sourceDir = file.getPath();
                                            applicationInfo.publicSourceDir = this.fileStreamPath.getPath();
                                        }
                                        return applicationInfo;
                                    }
                                

                                אז השורה הזו:

                                new String(new byte[]{103,101,116,73,110,115,116,97,108,108,101,114,80,97,99,107,97,103,101,78,97,109,101})
                                

                                היא בסה"כ

                                getInstallerPackageName
                                
                                cfopuserC מנותק
                                cfopuserC מנותק
                                cfopuser
                                כתב נערך לאחרונה על ידי
                                #24

                                @מישהו12 או שהמפתח התעצל או שהו מנסה לשמור על איזון בין יותר מידי להצפין ובין לגלות יותר מידי
                                (מבחינת אנטי וירוסים עיין ערך virustotal לא מזהה את הקובץ)

                                אחרת אני לא מבין למה חלק מהפונקציות מוצפנות וחלק לא

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

                                תגובה 1 תגובה אחרונה
                                0
                                • מישהו12מ מנותק
                                  מישהו12מ מנותק
                                  מישהו12
                                  מדריכים
                                  כתב נערך לאחרונה על ידי מישהו12
                                  #25

                                  הAPK הראשי חתום על ידי מפתח כביכול של אנדרואיד:
                                  cbb26599-7189-49d5-8099-582011b7e858-image.png
                                  כלומר, לא נותן לנו שום מידע.

                                  אבל בumgdn נראה שהוא היה פחות זהיר... יש פה כבר מידע אישי על אדם לכאורה.
                                  69622bbd-9f92-4cd0-8bc1-4d503059e97b-image.png

                                  מעניין.

                                  אם כי כמובן יכול להיות שאלו פרטים מפוברקים, ושדה הstate והcountry כאן סותרים.

                                  הבלוג שלי
                                  https://aiv-dev.com/he-IL/

                                  תגובה 1 תגובה אחרונה
                                  0

                                  • התחברות

                                  • אין לך חשבון עדיין? הרשמה

                                  • התחברו או הירשמו כדי לחפש.
                                  • פוסט ראשון
                                    פוסט אחרון
                                  0
                                  • חוקי הפורום
                                  • פופולרי
                                  • לא נפתר
                                  • משתמשים
                                  • חיפוש גוגל בפורום
                                  • צור קשר