Hi,👋 we have updated the app and fixed multiple bugs. We are lacking funds, request to free user not to use Adblock. Ads are non intrusive. 😊

✨ Visual Editor

close

Thread Truncated

Only the first 20 tweets are shown to ensure high-quality rendering and prevent image size issues.

palette Canvas & Background

Gradient:arrow_forward
Text Color:
135°

style Card Style

40px
16px

text_fields Typography

16px
Omar Alzughaibi
@Omarzzu
كيف قدرت اخترق تطبيق جوال +35 مليون مستخدم من خلال رسالة وحدة؟
Thread image
Omar Alzughaibi
@Omarzzu
مساكم الله بالخير جميعا
Omar Alzughaibi
@Omarzzu
اليوم بتكلم عن احد تطبيقات الجوال وسلسلة ثغرات قدرت استغلهم مع بعض لتحقيق اثر عالي وقدرة على اختراق اكثر من 35 مليون حساب والأخطر بدون اي تفاعل من المستخدم
Omar Alzughaibi
@Omarzzu
خلال المقالة بتطرق لعدة اشياء بداية من تخطي حماية الابلكيشن على مستوى الـ App Protection ومن ثم الثغرات على مستوى الـ Network
Omar Alzughaibi
@Omarzzu
اذا تبغى تسكب شرح تخطي الحماية وتدخل بالثغرات بشكل مباشر يمديك تبدا من قسم Deep Link Execution
Omar Alzughaibi
@Omarzzu
فنسمي بالله ونبدا
Omar Alzughaibi
@Omarzzu
---
Omar Alzughaibi
@Omarzzu

فالبداية خل نعرف كيف بنية الابلكيشن كان عبارة عن

split APK architecture
Omar Alzughaibi
@Omarzzu
```java
base.apk ← core application
split_component_lingdong.apk ← stupid crypto stuff
split_config.arm64_v8a.apk ← native libraries
split_resource.apk ← resources

```
Omar Alzughaibi
@Omarzzu
‏الجزء اللي كان يهمني أكثر هنا هو
الـ ‏Native Libraries‏

لأن التطبيق كان يستخدم عدة طبقات حماية مثل
SSL Pinning & Root Detection
Omar Alzughaibi
@Omarzzu
---
Omar Alzughaibi
@Omarzzu
## #2 تخطي حماية التطبيق (SSL Pinning & Root detection)
Omar Alzughaibi
@Omarzzu
‏بعد مافهمنا بنية التطبيق الحين جاء وقته نبدا بالفحص التطبيق بال runtime

كان فيه (ssl pinning & root detection)

وبطبيعة الحال قبل لاتدخل بقروشة ال‏ static anlyisys

جربت حلول بسيطة مثل Java based hoking scripts
و Shamiko and lsposed stuff

وشيء متوقع انه ولا وحدة منهم ضبطت
والواضح انه protection stack was custom engineered
Omar Alzughaibi
@Omarzzu
---
Omar Alzughaibi
@Omarzzu
بعد محاولات مع الحلول الاعتيادية والي ولا وحدة منهم ضبطت وهنا كان لازم نتدخل

‏بديت بتحليل الابلكيشن ولقيت احد
ال native library

باسم "libintegrity(dot)so"

‏والواضح ان ال Detection stack كان من خلاله وفعلا بعد تحليل
ال libintegrity native library

اتضح لي انه تمر على أربع مراحل وكلها تكون بال Run time
وعشان تكون الصورة واضحة خل نقسمة الى اربع مراحل, وكانت المراحل بالطريقة هذي
Omar Alzughaibi
@Omarzzu
```
Phase 1 Static Environment Scan (Java thread) → Trust level: JVM
Phase 2 Native Runtime Scan (native thread) → Trust level: kernel
Phase 3 Anti-Instrumentation (watchdog thread) → Trust level: kernel + self
Phase 4 Hardware Binding Attestation (API call) → Trust level: server + TEE

```
Omar Alzughaibi
@Omarzzu

‏نبدا بالحماية الأولى وكانت عبارة
عن Static Environment Scan والي كانت بسيطة
Omar Alzughaibi
@Omarzzu
```
Filesystem: /su /system/xbin/su /sbin/su /system/app/SuperSU.apk
Packages: com.topjohnwu.magisk eu.chainfire.supersu
Build props: ro.build.tags=test-keys ro.debuggable=1 ro.secure=0
Mount table: /proc/mounts → rw entries on /system or /vendor

```
Omar Alzughaibi
@Omarzzu
‏‏ومثل مانلاحظ ال detection هنا جدا تافهة بسبب انه static checks

وهذي امره بسيط ممكن نقدر نتخطاه بأكثر من طريقة
لكن Shamiko via Zygisk لحاله تهندلنا اياه

صحيح ان المرحلة الاولى بسيطة لكن تخطيه لحالة غير كافي بسبب انه لأن المرحلة الثانية تشتغل على native thread مستقل بيستخدم direct syscalls للكيرنل مباشرة

يعني حتى لو Shamiko مشت كل الـ Java layer والـ libc
المرحلة الثانية ما تمر من الـ libc ابد مثل ماراح نعرف الحين
Omar Alzughaibi
@Omarzzu
---
Generated by Thread Navigator
100%
view_carousel Carousel Studio NEW
Press + S to quick-export