hacktricks/mobile-pentesting/android-app-pentesting
2024-06-05 13:52:08 +00:00
..
drozer-tutorial Translated ['README.md', 'binary-exploitation/arbitrary-write-2-exec/aw2 2024-05-05 22:40:09 +00:00
frida-tutorial Translated ['README.md', 'binary-exploitation/arbitrary-write-2-exec/aw2 2024-05-05 22:40:09 +00:00
adb-commands.md Translated to Serbian 2024-02-10 13:11:20 +00:00
android-applications-basics.md Translated ['forensics/basic-forensic-methodology/partitions-file-system 2024-03-26 15:52:14 +00:00
android-task-hijacking.md Translated ['README.md', 'binary-exploitation/arbitrary-write-2-exec/aw2 2024-05-05 22:40:09 +00:00
apk-decompilers.md Translated to Serbian 2024-02-10 13:11:20 +00:00
avd-android-virtual-device.md Translated ['README.md', 'binary-exploitation/arbitrary-write-2-exec/aw2 2024-05-05 22:40:09 +00:00
bypass-biometric-authentication-android.md Translated to Serbian 2024-02-10 13:11:20 +00:00
content-protocol.md Translated ['binary-exploitation/rop-return-oriented-programing/ret2lib/ 2024-05-02 15:11:25 +00:00
exploiting-a-debuggeable-applciation.md Translated to Serbian 2024-02-10 13:11:20 +00:00
google-ctf-2018-shall-we-play-a-game.md Translated ['README.md', 'binary-exploitation/arbitrary-write-2-exec/aw2 2024-05-05 22:40:09 +00:00
install-burp-certificate.md Translated ['README.md', 'binary-exploitation/arbitrary-write-2-exec/aw2 2024-05-05 22:40:09 +00:00
intent-injection.md Translated to Serbian 2024-02-10 13:11:20 +00:00
make-apk-accept-ca-certificate.md Translated ['forensics/basic-forensic-methodology/partitions-file-system 2024-03-26 15:52:14 +00:00
manual-deobfuscation.md Translated to Serbian 2024-02-10 13:11:20 +00:00
react-native-application.md Translated to Serbian 2024-02-10 13:11:20 +00:00
README.md Translated ['generic-methodologies-and-resources/basic-forensic-methodol 2024-06-05 13:52:08 +00:00
reversing-native-libraries.md Translated ['README.md', 'binary-exploitation/arbitrary-write-2-exec/aw2 2024-05-05 22:40:09 +00:00
smali-changes.md Translated to Serbian 2024-02-10 13:11:20 +00:00
spoofing-your-location-in-play-store.md Translated to Serbian 2024-02-10 13:11:20 +00:00
tapjacking.md Translated ['binary-exploitation/rop-return-oriented-programing/ret2lib/ 2024-05-02 15:11:25 +00:00
webview-attacks.md Translated ['README.md', 'binary-exploitation/arbitrary-write-2-exec/aw2 2024-05-05 22:40:09 +00:00

Testiranje Android aplikacija

Naučite hakovanje AWS-a od nule do heroja sa htARTE (HackTricks AWS Red Team Expert)!

Drugi načini podrške HackTricks-u:

Pridružite se HackenProof Discord serveru kako biste komunicirali sa iskusnim hakerima i lovcima na bagove!

Hakerski uvidi
Uključite se u sadržaj koji istražuje uzbuđenje i izazove hakovanja

Vesti o hakovanju u realnom vremenu
Budite u toku sa brzim svetom hakovanja kroz vesti i uvide u realnom vremenu

Najnovije najave
Budite informisani o najnovijim nagradama za pronalaženje bagova i bitnim ažuriranjima platformi

Pridružite nam se na Discord-u i počnite da sarađujete sa vrhunskim hakerima danas!

Osnove Android aplikacija

Visoko se preporučuje da počnete čitati ovu stranicu kako biste saznali o najvažnijim delovima vezanim za Android bezbednost i najopasnijim komponentama u Android aplikaciji:

{% content-ref url="android-applications-basics.md" %} android-applications-basics.md {% endcontent-ref %}

ADB (Android Debug Bridge)

Ovo je glavni alat koji vam je potreban da se povežete sa Android uređajem (emuliranim ili fizičkim).
ADB omogućava kontrolu uređaja preko USB-a ili Mreže sa računara. Ova alatka omogućava kopiranje fajlova u oba smera, instalaciju i deinstalaciju aplikacija, izvršavanje shell komandi, bekapovanje podataka, čitanje logova, među ostalim funkcijama.

Pogledajte sledeću listu ADB komandi da biste naučili kako koristiti adb.

Smali

Ponekad je interesantno modifikovati kod aplikacije kako biste pristupili skrivenim informacijama (možda dobro obfuskovanim lozinkama ili zastavama). Zatim, može biti korisno dekompajlirati apk, modifikovati kod i ponovo ga kompajlirati.
U ovom tutorijalu možete naučiti kako dekompajlirati APK, modifikovati Smali kod i ponovo kompajlirati APK sa novom funkcionalnošću. Ovo može biti veoma korisno kao alternativa za nekoliko testova tokom dinamičke analize koji će biti predstavljeni. Zatim, uvek imajte na umu ovu mogućnost.

Druge interesantne trikove

adb shell pm list packages
com.android.insecurebankv2

adb shell pm path com.android.insecurebankv2
package:/data/app/com.android.insecurebankv2-Jnf8pNgwy3QA_U5f-n_4jQ==/base.apk

adb pull /data/app/com.android.insecurebankv2-Jnf8pNgwy3QA_U5f-n_4jQ==/base.apk
  • Spojite sve delove i osnovne APK-ove pomoću APKEditor:
mkdir splits
adb shell pm path com.android.insecurebankv2 | cut -d ':' -f 1 | xargs -n1 -i adb pull {} splits
java -jar ../APKEditor.jar m -i splits/ -o merged.apk

# after merging, you will need to align and sign the apk, personally, I like to use the uberapksigner
java -jar uber-apk-signer.jar -a merged.apk --allowResign -o merged_signed

Statistička analiza

Prvo, za analizu APK datoteke trebalo bi da pogledate Java kod koristeći dekompajler.
Molimo vas, pročitajte ovde da biste pronašli informacije o različitim dostupnim dekompajlerima.

Traženje interesantnih informacija

Samo pogledom na stringove APK datoteke možete tražiti šifre, URL-ove (https://github.com/ndelphit/apkurlgrep), api ključeve, enkripciju, bluetooth UUID-ove, tokene i bilo šta interesantno... tražite čak i backdoor za izvršavanje koda ili backdoor za autentifikaciju (hardkodovane administratorske akreditacije za aplikaciju).

Firebase

Posvetite posebnu pažnju Firebase URL-ovima i proverite da li je loše konfigurisan. Više informacija o tome šta je Firebase i kako ga iskoristiti možete pronaći ovde.

Osnovno razumevanje aplikacije - Manifest.xml, strings.xml

Pregled aplikacije _Manifest.xml i strings.xml fajlova može otkriti potencijalne sigurnosne ranjivosti. Ovim fajlovima se može pristupiti korišćenjem dekompajlera ili preimenovanjem ekstenzije APK fajla u .zip, a zatim raspakivanjem.

Ranjivosti identifikovane iz Manifest.xml uključuju:

  • Aplikacije sa omogućenim debug režimom: Aplikacije postavljene kao debuggable (debuggable="true") u Manifest.xml fajlu predstavljaju rizik jer omogućavaju veze koje mogu dovesti do eksploatacije. Za dalje razumevanje kako eksploatisati aplikacije sa omogućenim debug režimom, pogledajte tutorijal o pronalaženju i eksploataciji aplikacija sa omogućenim debug režimom na uređaju.
  • Podešavanja rezervne kopije: Atribut android:allowBackup="false" treba eksplicitno postaviti za aplikacije koje se bave osetljivim informacijama kako bi se sprečile neovlašćene rezervne kopije podataka putem adb-a, posebno kada je omogućeno USB debugovanje.
  • Mrežna sigurnost: Prilagođene konfiguracije mrežne sigurnosti (android:networkSecurityConfig="@xml/network_security_config") u res/xml/ mogu specificirati detalje sigurnosti poput pinova sertifikata i podešavanja HTTP saobraćaja. Primer je dozvola HTTP saobraćaja za određene domene.
  • Izložene aktivnosti i servisi: Identifikacija izloženih aktivnosti i servisa u manifestu može ukazati na komponente koje bi mogle biti zloupotrebljene. Dalja analiza tokom dinamičkog testiranja može otkriti kako eksploatisati ove komponente.
  • Provajderi sadržaja i FileProvideri: Izloženi provajderi sadržaja mogu dozvoliti neovlašćen pristup ili modifikaciju podataka. Konfiguracija FileProvidera takođe treba biti pažljivo pregledana.
  • Broadcast prijemnici i URL šeme: Ove komponente mogu biti iskorišćene za eksploataciju, sa posebnom pažnjom na to kako se upravljaju URL šeme radi ranjivosti unosa.
  • SDK verzije: Atributi minSdkVersion, targetSDKVersion i maxSdkVersion ukazuju na podržane verzije Androida, ističući važnost ne podržavanja zastarelih, ranjivih verzija Androida iz sigurnosnih razloga.

Iz strings.xml fajla, osetljive informacije poput API ključeva, prilagođenih šema i drugih beleški razvojnog tima mogu biti otkrivene, naglašavajući potrebu za pažljivim pregledom ovih resursa.

Tapjacking

Tapjacking je napad gde se zlonamerna aplikacija pokreće i pozicionira iznad aplikacije žrtve. Kada vidljivo prekrije aplikaciju žrtve, njen korisnički interfejs je dizajniran na način da prevari korisnika da interaguje sa njom, dok prenosi interakciju aplikaciji žrtve.
Na taj način, korisnik je zaslepljen i ne zna da zapravo obavlja radnje na aplikaciji žrtve.

Pronađite više informacija u:

{% content-ref url="tapjacking.md" %} tapjacking.md {% endcontent-ref %}

Preuzimanje zadatka

Aktivnost sa postavljenim launchMode na singleTask bez definisanog taskAffinity je ranjiva na preuzimanje zadatka. To znači da se aplikacija može instalirati i ako se pokrene pre prave aplikacije, može preuzeti zadatak prave aplikacije (tako da će korisnik interagovati sa zlonamernom aplikacijom misleći da koristi pravu).

Više informacija na:

{% content-ref url="android-task-hijacking.md" %} android-task-hijacking.md {% endcontent-ref %}

Nesigurno skladištenje podataka

Interni skladištenje

U Androidu, fajlovi skladišteni u internom skladištu su dizajnirani da budu pristupačni isključivo od strane aplikacije koja ih je kreirala. Ova sigurnosna mera je sprovedena od strane Android operativnog sistema i generalno je dovoljna za sigurnosne potrebe većine aplikacija. Međutim, developeri ponekad koriste režime poput MODE_WORLD_READABLE i MODE_WORLD_WRITABLE da bi omogućili fajlove da se dijele između različitih aplikacija. Ipak, ovi režimi ne ograničavaju pristup ovim fajlovima od strane drugih aplikacija, uključujući potencijalno zlonamerne.

  1. Statistička analiza:
  • Proverite da li se upotreba MODE_WORLD_READABLE i MODE_WORLD_WRITABLE pažljivo razmatra. Ovi režimi mogu potencijalno izložiti fajlove neželjenom ili neovlašćenom pristupu.
  1. Dinamička analiza:
  • Proverite dozvole postavljene na fajlove koje je kreirala aplikacija. Konkretno, proverite da li su neki fajlovi postavljeni da budu čitljivi ili upisivi globalno. Ovo može predstavljati značajan sigurnosni rizik, jer bi dozvolilo bilo kojoj aplikaciji instaliranoj na uređaju, bez obzira na poreklo ili nameru, da čita ili modifikuje ove fajlove.

Spoljno skladištenje

Kada se radi sa fajlovima na spoljnom skladištu, poput SD kartica, treba preduzeti određene mere opreza:

  1. Pristupačnost:
  • Fajlovi na spoljnom skladištu su globalno čitljivi i upisivi. To znači da bilo koja aplikacija ili korisnik može pristupiti ovim fajlovima.
  1. Sigurnosne zabrinutosti:
  • S obzirom na laku dostupnost, savetuje se ne čuvati osetljive informacije na spoljnom skladištu.
  • Spoljno skladište može biti uklonjeno ili pristupljeno od strane bilo koje aplikacije, čineći ga manje sigurnim.
  1. Obrada podataka sa spoljnog skladišta:
  • Uvek vršite validaciju unosa podataka dobijenih sa spoljnog skladišta. Ovo je ključno jer podaci potiču od nepoverljivog izvora.
  • Čuvanje izvršnih ili klasnih fajlova na spoljnom skladištu radi dinamičkog učitavanja se snažno ne preporučuje.
  • Ako vaša aplikacija mora da preuzme izvršne fajlove sa spoljnog skladišta, obezbedite da su ovi fajlovi potpisani i kriptografski verifikovani pre nego što budu dinamički učitani. Ovaj korak je od vitalnog značaja za održavanje sigurnosne celovitosti vaše aplikacije.

Spoljno skladište se može pristupiti u /storage/emulated/0, /sdcard, /mnt/sdcard

{% hint style="info" %} Počevši od Androida 4.4 (API 17), SD kartica ima strukturu direktorijuma koja ograničava pristup aplikacije direktorijumu koji je specifičan samo za tu aplikaciju. Ovo sprečava zlonamerne aplikacije da dobiju pristup čitanju ili pisanju u fajlove druge aplikacije. {% endhint %}

Osetljivi podaci čuvani u čistom tekstu

  • Deljeni podaci: Android omogućava svakoj aplikaciji da lako sačuva XML fajlove na putanji /data/data/<packagename>/shared_prefs/ i ponekad je moguće pronaći osetljive informacije u čistom tekstu u tom folderu.
  • Baze podataka: Android omogućava svakoj aplikaciji da lako sačuva SQLite baze podataka na putanji /data/data/<packagename>/databases/ i ponekad je moguće pronaći osetljive informacije u čistom tekstu u tom folderu.

Slomljen TLS

Prihvatanje svih sertifikata

Iz nekog razloga, ponekad developeri prihvataju sve sertifikate čak i ako na primer ime hosta ne odgovara sa linijama koda poput sledeće:

SSLSocketFactory sf = new cc(trustStore);
sf.setHostnameVerifier(SSLSocketFactory.ALLOW_ALL_HOSTNAME_VERIFIER);

Slomljena kriptografija

Slabi procesi upravljanja ključevima

Neki programeri čuvaju osetljive podatke u lokalnom skladištu i šifriraju ih ključem koji je unapred definisan/predvidljiv u kodu. Ovo ne bi trebalo raditi jer neko ko vrši reverzni inženjering može izvući poverljive informacije.

Korišćenje nesigurnih i/ili zastarelih algoritama

Programeri ne bi trebalo da koriste zastarele algoritme za izvođenje provera autorizacije, čuvanje ili slanje podataka. Neki od ovih algoritama su: RC4, MD4, MD5, SHA1... Ako se koriste heševi za čuvanje lozinki na primer, trebalo bi koristiti heševe otporne na napade brute-force zajedno sa solju.

Ostale provere

  • Preporučuje se obfuskacija APK datoteke kako bi se otežao rad osobama koje vrše reverzni inženjering.
  • Ako je aplikacija osetljiva (kao što su bankarske aplikacije), trebalo bi da izvrši svoje provere da vidi da li je mobilni uređaj rutovan i postupi u skladu s tim.
  • Ako je aplikacija osetljiva (kao što su bankarske aplikacije), trebalo bi proveriti da li se koristi emulator.
  • Ako je aplikacija osetljiva (kao što su bankarske aplikacije), trebalo bi proveriti svoju celovitost pre izvršavanja kako bi se proverilo da li je izmenjena.
  • Koristite APKiD da proverite koji je kompajler/paker/obfuskator korišćen za izgradnju APK datoteke.

Aplikacija napravljena u React Native-u

Pročitajte sledeću stranicu da biste naučili kako lako pristupiti JavaScript kodu React aplikacija:

{% content-ref url="react-native-application.md" %} react-native-application.md {% endcontent-ref %}

Xamarin aplikacije

Pročitajte sledeću stranicu da biste naučili kako lako pristupiti C# kodu Xamarin aplikacija:

{% content-ref url="../xamarin-apps.md" %} xamarin-apps.md {% endcontent-ref %}

Superpakovane aplikacije

Prema ovom blog postu superpakovano je Meta algoritam koji komprimuje sadržaj aplikacije u jednu datoteku. Blog govori o mogućnosti kreiranja aplikacije koja dekompresuje ovu vrstu aplikacija... i bržem načinu koji uključuje izvršavanje aplikacije i prikupljanje dekompresovanih datoteka iz fajl sistema.

Automatizovana statička analiza koda

Alatka mariana-trench je sposobna da pronađe ranjivosti skeniranjem koda aplikacije. Ovaj alat sadrži niz poznatih izvora (koji pokazuju alatki mesta gde je unos kontrolisan od strane korisnika), sinks (koji pokazuju alatki opasna mesta gde zlonamerni korisnički unos može prouzrokovati štetu) i pravila. Ova pravila pokazuju kombinaciju izvora-sinks koji ukazuju na ranjivost.

Sa ovim znanjem, mariana-trench će pregledati kod i pronaći moguće ranjivosti u njemu.

Procureli tajni podaci

Aplikacija može sadržati tajne podatke (API ključeve, lozinke, skrivene URL-ove, poddomene...) unutar sebe koje možete otkriti. Možete koristiti alat poput https://github.com/dwisiswant0/apkleaks

Zaobilaženje biometrijske autentifikacije

{% content-ref url="bypass-biometric-authentication-android.md" %} bypass-biometric-authentication-android.md {% endcontent-ref %}

Druge interesantne funkcije

Druge trikove

{% content-ref url="content-protocol.md" %} content-protocol.md {% endcontent-ref %}


Pridružite se HackenProof Discord serveru kako biste komunicirali sa iskusnim hakerima i lovcima na bagove!

Uvidi u hakovanje
Uključite se u sadržaj koji istražuje uzbuđenje i izazove hakovanja

Vesti o hakovanju u realnom vremenu
Budite u toku sa brzim svetom hakovanja kroz vesti i uvide u realnom vremenu

Najnovije najave
Budite informisani o najnovijim programima nagrađivanja za pronalaženje bagova i važnim ažuriranjima platformi

Pridružite nam se na Discord-u i počnite da sarađujete sa vrhunskim hakerima danas!


Dinamička analiza

Prvo, potrebno je okruženje gde možete instalirati aplikaciju i sve potrebne alatke (Burp CA sertifikat, Drozer i Frida pre svega). Stoga, veoma se preporučuje korišćenje rutiranog uređaja (emuliranog ili ne).

Online dinamička analiza

Možete kreirati besplatan nalog na: https://appetize.io/. Ova platforma vam omogućava da učitate i izvršite APK datoteke, pa je korisno videti kako se APK ponaša.

Čak možete videti dnevnike vaše aplikacije na vebu i povezati se putem adb.

Zahvaljujući ADB vezi, možete koristiti Drozer i Frida unutar emulatora.

Lokalna dinamička analiza

Korišćenje emulatora

  • Android Studio (Možete kreirati x86 i arm uređaje, a prema ovome najnovijim x86 verzijama podržavaju ARM biblioteke bez potrebe za sporim arm emulatorom).
  • Naučite kako da ga podesite na ovoj stranici:

{% content-ref url="avd-android-virtual-device.md" %} avd-android-virtual-device.md {% endcontent-ref %}

  • Genymotion (Besplatna verzija: Personal Edition, treba da kreirate nalog. Preporučuje se da preuzmete verziju SA VirtualBox da biste izbegli potencijalne greške.)
  • Nox (Besplatan, ali ne podržava Fridu ili Drozera).

{% hint style="info" %} Prilikom kreiranja novog emulatora na bilo kojoj platformi, zapamtite da što je veći ekran, to će emulator sporije raditi. Stoga odaberite manje ekrane ako je moguće. {% endhint %}

Da biste instalirali Google usluge (kao što je AppStore) u Genymotionu, treba da kliknete na crveno označeno dugme na sledećoj slici:

Takođe, obratite pažnju da u konfiguraciji Android VM u Genymotionu možete odabrati Bridge Network mode (ovo će biti korisno ako ćete se povezivati sa Android VM sa drugog VM-a sa alatkama).

Korišćenje fizičkog uređaja

Treba da aktivirate opcije za debagovanje i bilo bi dobro ako ga možete rutovati:

  1. Podešavanja.
  2. (Od Android 8.0) Izaberite Sistem.
  3. Izaberite O telefonu.
  4. Pritisnite Broj verzije 7 puta.
  5. Vratite se nazad i pronaći ćete Opcije za programere.

Kada instalirate aplikaciju, prva stvar koju treba da uradite je da je isprobate i istražite šta radi, kako radi i da se udobno osećate sa njom.
Predlažem da izvršite ovu početnu dinamičku analizu korišćenjem MobSF dinamičke analize + pidcat, tako da ćemo moći da saznamo kako aplikacija funkcioniše dok MobSF snima mnogo interesantnih podataka koje možete pregledati kasnije.

Neželjeno curenje podataka

Logovanje

Programeri treba da budu oprezni prilikom izlaganja informacija o otklanjanju grešaka javno, jer to može dovesti do curenja osetljivih podataka. Alati pidcat i adb logcat se preporučuju za praćenje logova aplikacije radi identifikacije i zaštite osetljivih informacija. Pidcat je preferiran zbog svoje jednostavnosti korišćenja i čitljivosti.

{% hint style="warning" %} Imajte na umu da od kasnijih verzija novijih od Android 4.0, aplikacije mogu pristupiti samo svojim logovima. Dakle, aplikacije ne mogu pristupiti logovima drugih aplikacija.
U svakom slučaju, i dalje se preporučuje ne logovati osetljive informacije. {% endhint %}

Keširanje kopiranja/lepljenja u baferu

Android-ov sistem zasnovan na klipbordu omogućava funkcionalnost kopiranja i lepljenja u aplikacijama, ali predstavlja rizik jer druge aplikacije mogu pristupiti klipbordu, potencijalno izlažući osetljive podatke. Važno je onemogućiti funkcije kopiranja/lepljenja za osetljive delove aplikacije, poput detalja kreditne kartice, kako bi se sprečilo curenje podataka.

Logovi o padu

Ako aplikacija padne i sačuva logove, ti logovi mogu pomoći napadačima, posebno kada aplikacija ne može biti reverzno inženjerisana. Da biste umanjili ovaj rizik, izbegavajte logovanje prilikom pada, a ako logovi moraju biti preneti preko mreže, obezbedite da budu poslati putem SSL kanala radi bezbednosti.

Kao pentester, pokušajte da pogledate ove logove.

Analitički podaci poslati trećim stranama

Aplikacije često integrišu usluge poput Google Adsense-a, što može nenamerno procureti osetljive podatke zbog nepravilne implementacije od strane programera. Da biste identifikovali potencijalna curenja podataka, preporučljivo je interceptovati saobraćaj aplikacije i proveriti da li se šalju osetljive informacije trećim stranama.

SQLite baze podataka

Većina aplikacija će koristiti interne SQLite baze podataka za čuvanje informacija. Tokom pentesta, pogledajte baze podataka koje su kreirane, imena tabela i kolona i sve podatke sačuvane jer biste mogli pronaći osetljive informacije (što bi predstavljalo ranjivost).
Baze podataka treba da se nalaze u /data/data/naziv.paketa/baze poput /data/data/com.mwr.example.sieve/baze

Ako baza podataka čuva poverljive informacije i enkriptovana je ali možete pronaći lozinku unutar aplikacije, to i dalje predstavlja ranjivost.

Enumerišite tabele koristeći .tables i enumerišite kolone tabela koristeći .schema <ime_tabele>

Drozer (Aktivnosti eksploatacije, pružaoci sadržaja i servisi)

Iz Drozer Dokumenata: Drozer vam omogućava da preuzmete ulogu Android aplikacije i interaktujete sa drugim aplikacijama. Može raditi sve što i instalirana aplikacija može, kao što je korišćenje Android-ovog mehanizma za međuprocesnu komunikaciju (IPC) i interakcija sa osnovnim operativnim sistemom. .
Drozer je koristan alat za eksploataciju izloženih aktivnosti, izloženih servisa i pružalaca sadržaja, kako ćete naučiti u sledećim sekcijama.

Eksploatacija izloženih aktivnosti

Pročitajte ovo ako želite da osvežite šta je Android Aktivnost.
Takođe zapamtite da kod aktivnosti počinje u metodi onCreate.

Bajpas autorizacije

Kada je Aktivnost izložena, možete pozvati njen ekran iz spoljne aplikacije. Stoga, ako je aktivnost sa osetljivim informacijama izložena, mogli biste bajpasovati mehanizme autentifikacije da biste joj pristupili.

Naučite kako da eksploatišete izložene aktivnosti pomoću Drozera.

Takođe možete pokrenuti izloženu aktivnost iz adb-a:

  • NazivPaketa je com.example.demo
  • Naziv Izložene Aktivnosti je com.example.test.MainActivity
adb shell am start -n com.example.demo/com.example.test.MainActivity

NAPOMENA: MobSF će otkriti kao zlonamjernu upotrebu singleTask/singleInstance kao android:launchMode u aktivnosti, ali zbog ovoga, očigledno je da je ovo opasno samo na starim verzijama (API verzije < 21).

{% hint style="info" %} Imajte na umu da zaobilazak autorizacije nije uvek ranjivost, to bi zavisilo od toga kako zaobilazak funkcioniše i koje informacije su izložene. {% endhint %}

Curenje osetljivih informacija

Aktivnosti takođe mogu vraćati rezultate. Ako uspete da pronađete izloženu i nezaštićenu aktivnost koja poziva metodu setResult i vraća osetljive informacije, to predstavlja curenje osetljivih informacija.

Tapjacking

Ako tapjacking nije sprečen, možete zloupotrebiti izloženu aktivnost da naterate korisnika da izvrši neočekivane radnje. Za više informacija o šta je Tapjacking pratite link.

Iskorišćavanje Provajdera Sadržaja - Pristupanje i manipulisanje osetljivim informacijama

Pročitajte ovo ako želite da osvežite šta je Provajder Sadržaja.
Provajderi sadržaja se uglavnom koriste za deljenje podataka. Ako aplikacija ima dostupne provajdere sadržaja, možda ćete moći da izvučete osetljive podatke iz njih. Takođe je zanimljivo testirati moguće SQL injection-e i Path Traversal-e jer bi mogli biti ranjivi.

Naučite kako da iskoristite Provajdere Sadržaja sa Drozer-om.

Iskorišćavanje Servisa

Pročitajte ovo ako želite da osvežite šta je Servis.
Zapamtite da akcije Servisa počinju u metodi onStartCommand.

Servis je uglavnom nešto što može primiti podatke, ih obraditi i vratiti (ili ne) odgovor. Zatim, ako aplikacija izvozi neke servise, trebalo bi da proverite kod da biste razumeli šta radi i testirali ga dinamički kako biste izvukli poverljive informacije, zaobišli mere autentifikacije...
Naučite kako da iskoristite Servise sa Drozer-om.

Iskorišćavanje Broadcast Receiver-a

Pročitajte ovo ako želite da osvežite šta je Broadcast Receiver.
Zapamtite da akcije Broadcast Receiver-a počinju u metodi onReceive.

Broadcast receiver će čekati određenu vrstu poruke. Zavisno o tome kako receiver obrađuje poruku, može biti ranjiv.
Naučite kako da iskoristite Broadcast Receiver-e sa Drozer-om.

Iskorišćavanje Šema / Dubokih linkova

Možete ručno tražiti duboke linkove, koristeći alate poput MobSF-a ili skripte poput ove.
Možete otvoriti deklarisano šema koristeći adb ili pregledač:

{% code overflow="wrap" %}

adb shell am start -a android.intent.action.VIEW -d "scheme://hostname/path?param=value" [your.package.name]

{% endcode %}

Napomena da možete izostaviti ime paketa i mobilni će automatski pozvati aplikaciju koja treba da otvori taj link.

{% code overflow="wrap" %}

<!-- Browser regular link -->
<a href="scheme://hostname/path?param=value">Click me</a>
<!-- fallback in your url you could try the intent url -->
<a href="intent://hostname#Intent;scheme=scheme;package=your.package.name;S.browser_fallback_url=http%3A%2F%2Fwww.example.com;end">with alternative</a>

{% endcode %}

Izvršeni kod

Da biste pronašli kod koji će se izvršiti u aplikaciji, idite na aktivnost pozvanu preko dubinskog linka i potražite funkciju onNewIntent.

Osetljive informacije

Svaki put kada pronađete duboki link, proverite da ne prima osetljive podatke (kao što su lozinke) putem URL parametara, jer bi bilo koja druga aplikacija mogla preuzeti identitet dubinskog linka i ukrasti te podatke!

Parametri u putanji

Takođe morate proveriti da li bilo koji duboki link koristi parametar unutar putanje URL-a kao što je: https://api.example.com/v1/users/{username}, u tom slučaju možete izazvati prolazak putanje pristupajući nečemu poput: example://app/users?username=../../unwanted-endpoint%3fparam=value.
Imajte na umu da ako pronađete tačne krajnje tačke unutar aplikacije, možda ćete moći izazvati Otvoreno preusmeravanje (ako je deo putanje korišćen kao ime domena), preuzimanje naloga (ako možete izmeniti detalje korisnika bez CSRF tokena i ranjiva krajnja tačka koristi odgovarajuću metodu) i bilo koju drugu ranjivost. Više informacija o tome ovde.

Više primera

Jedan interesantan izveštaj o nagradi za otkrivanje grešaka o linkovima (/.well-known/assetlinks.json).

Pregled i neuspesi provere sloja transportnog sloja

  • Sertifikati se ne inspiciraju uvek pravilno od strane Android aplikacija. Često je za ove aplikacije uobičajeno da zanemare upozorenja i prihvate samopotpisane sertifikate ili, u nekim slučajevima, da se vrate na korišćenje HTTP veza.
  • Pregovori tokom SSL/TLS rukovanja su ponekad slabi, koristeći nesigurne skupove šifri. Ova ranjivost čini vezu podložnom napadima čoveka u sredini (MITM), omogućavajući napadačima da dešifruju podatke.
  • Otkrivanje privatnih informacija je rizik kada aplikacije autentifikuju korišćenjem sigurnih kanala, a zatim komuniciraju preko nesigurnih kanala za druge transakcije. Ovaj pristup ne štiti osetljive podatke, poput sesijskih kolačića ili detalja korisnika, od presretanja od strane zlonamernih entiteta.

Provera sertifikata

Fokusiraćemo se na proveru sertifikata. Integritet serverskog sertifikata mora biti proveren radi poboljšanja bezbednosti. To je ključno jer nesigurne TLS konfiguracije i prenos osetljivih podataka preko nešifrovanih kanala mogu predstavljati značajne rizike. Za detaljne korake o proveri serverskih sertifikata i rešavanju ranjivosti, ovaj resurs pruža sveobuhvatno vođenje.

SSL Pinning

SSL Pinning je sigurnosna mera gde aplikacija proverava serverski sertifikat prema poznatoj kopiji koja je sačuvana unutar same aplikacije. Ova metoda je ključna za sprečavanje napada čoveka u sredini. Implementacija SSL Pinninga se snažno preporučuje za aplikacije koje rukuju osetljivim informacijama.

Inspekcija saobraćaja

Da biste inspicirali HTTP saobraćaj, neophodno je instalirati sertifikat alata za proksije (npr. Burp). Bez instaliranja ovog sertifikata, šifrovani saobraćaj možda neće biti vidljiv kroz proksi. Za vodič o instaliranju prilagođenog CA sertifikata, kliknite ovde.

Aplikacije koje ciljaju API nivo 24 i više zahtevaju modifikacije Network Security Config-a kako bi prihvatile CA sertifikat proksija. Ovaj korak je ključan za inspiciranje šifrovanog saobraćaja. Za uputstva o modifikaciji Network Security Config-a, pogledajte ovaj tutorijal.

Zaobilazak SSL Pinninga

Kada je implementiran SSL Pinning, postaje neophodno zaobići ga radi inspiciranja HTTPS saobraćaja. Različite metode su dostupne u tu svrhu:

Traženje uobičajenih ranjivosti veb aplikacija

Važno je takođe tražiti uobičajene ranjivosti veb aplikacija unutar aplikacije. Detaljne informacije o identifikaciji i ublažavanju ovih ranjivosti su van obima ovog sažetka, ali su obuhvaćene detaljno na drugim mestima.

Frida

Frida je alat za dinamičku instrumentaciju za programere, inženjere za reverzno inženjerstvo i istraživače sigurnosti.
Možete pristupiti pokrenutoj aplikaciji i kvačiti metode u vreme izvršavanja da biste promenili ponašanje, vrednosti, izvukli vrednosti, izvršili drugačiji kod...
Ako želite da testirate sigurnost Android aplikacija, morate znati kako koristiti Fridu.

Izdvajanje memorije - Fridump

Proverite da li aplikacija čuva osetljive informacije unutar memorije koje ne bi trebalo da čuva, poput lozinki ili mnemonika.

Korišćenjem Fridump3 možete izdvojiti memoriju aplikacije sa:

# With PID
python3 fridump3.py -u <PID>

# With name
frida-ps -Uai
python3 fridump3.py -u "<Name>"

Ovo će izbaciti memoriju u ./dump fascikli, a zatim možete koristiti grep sa nečim poput:

{% code overflow="wrap" %}

strings * | grep -E "^[a-z]+ [a-z]+ [a-z]+ [a-z]+ [a-z]+ [a-z]+ [a-z]+ [a-z]+ [a-z]+ [a-z]+ [a-z]+ [a-z]+$"

{% endcode %}

Osetljivi podaci u Keystore-u

U Androidu je Keystore najbolje mesto za čuvanje osetljivih podataka, međutim, sa dovoljno privilegija i dalje je moguće pristupiti. Pošto aplikacije često ovde čuvaju osetljive podatke u obliku čistog teksta, pentesteri bi trebalo da provere da li su takvi podaci prisutni, jer korisnik sa root privilegijama ili neko ko fizički pristupi uređaju može da ukrade ove podatke.

Čak i ako je aplikacija sačuvala podatke u keystore-u, podaci bi trebalo da budu enkriptovani.

Da biste pristupili podacima unutar keystore-a, možete koristiti ovaj Frida skript: https://github.com/WithSecureLabs/android-keystore-audit/blob/master/frida-scripts/tracer-cipher.js

frida -U -f com.example.app -l frida-scripts/tracer-cipher.js

Bypass otiska prsta/biometrije

Korišćenjem sledećeg Frida skripta moguće je zaobići autentikaciju otiska prsta koju Android aplikacije mogu sprovoditi kako bi zaštitile određena osetljiva područja:

{% code overflow="wrap" %}

frida --codeshare krapgras/android-biometric-bypass-update-android-11 -U -f <app.package>

{% endcode %}

Pozadinske slike

Kada stavite aplikaciju u pozadinu, Android čuva snapshot aplikacije tako da kada se vrati u prednji plan, počinje da učitava sliku pre aplikacije kako bi izgledalo da je aplikacija učitana brže.

Međutim, ako ovaj snapshot sadrži osetljive informacije, osoba sa pristupom snapshotu može ukrasti te informacije (imajte na umu da je potreban root pristup).

Snapshotovi se obično čuvaju na lokaciji: /data/system_ce/0/snapshots

Android pruža način da sprečite snimanje ekrana podešavanjem FLAG_SECURE parametra rasporeda. Korišćenjem ovog flaga, sadržaj prozora se tretira kao siguran, sprečavajući ga da se pojavi na snimcima ekrana ili da bude prikazan na nebezbednim ekranima.

getWindow().setFlags(LayoutParams.FLAG_SECURE, LayoutParams.FLAG_SECURE);

Analizator Android aplikacija

Ovaj alat može vam pomoći u upravljanju različitim alatima tokom dinamičke analize: https://github.com/NotSoSecure/android_application_analyzer

Ubacivanje Intencija

Programeri često kreiraju proxy komponente poput aktivnosti, servisa i broadcast receivera koji obrađuju ove Intencije i prosleđuju ih metodama poput startActivity(...) ili sendBroadcast(...), što može biti rizično.

Opasnost leži u tome što omogućava napadačima da pokrenu neizložene komponente aplikacije ili pristupe osetljivim provajderima sadržaja preusmeravanjem ovih Intencija. Značajan primer je komponenta WebView koja konvertuje URL-ove u Intent objekte putem Intent.parseUri(...) i zatim ih izvršava, što potencijalno može dovesti do zlonamernih ubacivanja Intencija.

Ključne informacije

  • Ubacivanje Intencija je slično problemu otvorenog preusmeravanja na vebu.
  • Eksploatacije uključuju prosleđivanje Intent objekata kao dodatnih informacija, koje mogu biti preusmerene da izvrše nesigurne operacije.
  • Može otkriti neizložene komponente i provajdere sadržaja napadačima.
  • Konverzija URL-a u Intent u WebView-u može olakšati neželjene akcije.

Ubacivanje na Android klijentskoj strani i ostalo

Verovatno ste upoznati sa ovom vrstom ranjivosti sa veba. Morate posebno paziti na ove ranjivosti u Android aplikaciji:

  • SQL Injection: Prilikom rukovanja dinamičkim upitima ili Content-Providerima, proverite da li koristite parametrizovane upite.
  • JavaScript Injection (XSS): Proverite da li je podrška za JavaScript i dodatke onemogućena za sve WebViews (podrazumevano onemogućeno). Više informacija ovde.
  • Uključivanje lokalnih fajlova: WebViews bi trebalo da imaju onemogućen pristup fajl sistemu (podrazumevano omogućeno) - (webview.getSettings().setAllowFileAccess(false);). Više informacija ovde.
  • Večni kolačići: U nekoliko slučajeva, kada Android aplikacija završi sesiju, kolačić nije povučen ili čak može biti sačuvan na disku
  • Sigurna oznaka u kolačićima

Pridružite se HackenProof Discord serveru kako biste komunicirali sa iskusnim hakerima i lovcima na bagove!

Uvidi u hakovanje
Uključite se u sadržaj koji istražuje uzbuđenje i izazove hakovanja

Vesti o hakovanju u realnom vremenu
Budite u toku sa dinamičnim svetom hakovanja putem vesti i uvida u realnom vremenu

Poslednje najave
Budite informisani o najnovijim programima nagrađivanja za pronalaženje bagova i ključnim ažuriranjima platforme

Pridružite nam se na Discord-u i počnite da sarađujete sa vrhunskim hakerima danas!

Automatska analiza

MobSF

Statička analiza

Procena ranjivosti aplikacije korišćenjem lepog veb baziranog korisničkog interfejsa. Takođe možete izvršiti dinamičku analizu (ali morate pripremiti okruženje).

docker pull opensecurity/mobile-security-framework-mobsf
docker run -it -p 8000:8000 opensecurity/mobile-security-framework-mobsf:latest

Primetite da MobSF može analizirati Android(apk), IOS(ipa) i Windows(apx) aplikacije (Windows aplikacije moraju biti analizirane sa MobSF instaliranim na Windows hostu).
Takođe, ako kreirate ZIP fajl sa izvornim kodom Android ili IOS aplikacije (idite u osnovni folder aplikacije, izaberite sve i kreirajte ZIP fajl), takođe će biti u mogućnosti da ga analizira.

MobSF takođe omogućava da uporedite analizu i integrišete VirusTotal (treba da postavite svoj API ključ u MobSF/settings.py i omogućite ga: VT_ENABLED = TRUE VT_API_KEY = <Vaš API ključ> VT_UPLOAD = TRUE). Takođe možete postaviti VT_UPLOAD na False, tada će hash biti uploadovan umesto fajla.

Asistirana dinamička analiza sa MobSF

MobSF takođe može biti veoma koristan za dinamičku analizu u Androidu, ali u tom slučaju morate instalirati MobSF i genymotion na svom hostu (VM ili Docker neće raditi). Napomena: Morate prvo pokrenuti VM u genymotionu a zatim MobSF.
MobSF dinamički analizator može:

  • Izvući podatke aplikacije (URL-ove, logove, clipboard, screenshotove koje ste napravili, screenshotove koje je napravio "Exported Activity Tester", emailove, SQLite baze podataka, XML fajlove i druge kreirane fajlove). Sve ovo se radi automatski osim screenshotova, morate pritisnuti kada želite screenshot ili pritisnuti "Exported Activity Tester" da biste dobili screenshotove svih izvezenih aktivnosti.
  • Snimiti HTTPS saobraćaj
  • Koristiti Fridu da dobije informacije o izvršavanju

Od android verzije > 5, automatski će pokrenuti Fridu i postaviti globalne proxy postavke za snimanje saobraćaja. Snimaće samo saobraćaj iz testirane aplikacije.

Frida

Podrazumevano, takođe će koristiti neke Frida skripte da zaobiđe SSL pinning, detekciju root-a i detekciju debugger-a i da prati interesantne API-je.
MobSF takođe može pozvati izvezene aktivnosti, uhvatiti njihove screenshotove i sačuvati ih za izveštaj.

Za pokretanje dinamičkog testiranja pritisnite zeleno dugme: "Start Instrumentation". Pritisnite "Frida Live Logs" da vidite logove generisane od Frida skripti i "Live API Monitor" da vidite sve pozive ka hakovanim metodama, prosleđene argumente i vraćene vrednosti (ovo će se pojaviti nakon što pritisnete "Start Instrumentation").
MobSF takođe omogućava da učitate svoje Frida skripte (da biste poslali rezultate vaših Frida skripti MobSF-u koristite funkciju send()). Takođe ima nekoliko unapred napisanih skripti koje možete učitati (možete dodati više u MobSF/DynamicAnalyzer/tools/frida_scripts/others/), samo ih izaberite, pritisnite "Load" i pritisnite "Start Instrumentation" (moći ćete videti logove tih skripti unutar "Frida Live Logs").

Osim toga, imate neke pomoćne Frida funkcionalnosti:

  • Enumerate Loaded Classes: Ispisaće sve učitane klase
  • Capture Strings: Ispisaće sve uhvaćene stringove prilikom korišćenja aplikacije (vrlo bučno)
  • Capture String Comparisons: Može biti veoma korisno. Pokazaće dva upoređena stringa i da li je rezultat bio Tačan ili Netačan.
  • Enumerate Class Methods: Unesite ime klase (kao "java.io.File") i ispisuje sve metode klase.
  • Search Class Pattern: Pretražuje klase po obrascu
  • Trace Class Methods: Prati celu klasu (vidi ulaze i izlaze svih metoda te klase). Zapamtite da MobSF podrazumevano prati nekoliko interesantnih Android Api metoda.

Kada odaberete pomoćni modul koji želite da koristite, treba da pritisnete "Start Intrumentation" i videćete sve izlaze u "Frida Live Logs".

Shell

Mobsf takođe donosi shell sa nekim adb komandama, MobSF komandama i uobičajenim shell komandama na dnu stranice dinamičke analize. Neke interesantne komande:

help
shell ls
activities
exported_activities
services
receivers

HTTP alati

Kada se uhvati http saobraćaj, možete videti ružan prikaz uhvaćenog saobraćaja na dnu "HTTP(S) Traffic" ili lepši prikaz na zelenom dugmetu "Start HTTPTools". Iz druge opcije, možete poslati uhvaćene zahteve ka proxy serverima poput Burp-a ili Owasp ZAP-a.
Da biste to uradili, uključite Burp --> isključite Intercept --> u MobSB HTTPTools izaberite zahtev --> pritisnite "Send to Fuzzer" --> izaberite adresu proxy servera (http://127.0.0.1:8080\).

Kada završite dinamičku analizu sa MobSF-om, možete pritisnuti "Start Web API Fuzzer" da fuzzujete http zahteve i tražite ranjivosti.

{% hint style="info" %} Nakon obavljanja dinamičke analize sa MobSF-om, podešavanja proxy servera mogu biti netačna i nećete moći da ih popravite iz GUI-ja. Podešavanja proxy servera možete popraviti tako što ćete:

adb shell settings put global http_proxy :0

{% endhint %}

Pomoćna dinamička analiza pomoću Inspeckage alata

Alat možete preuzeti sa Inspeckage.
Ovaj alat će koristiti neke kuke kako bi vam omogućio da saznate šta se dešava u aplikaciji dok vršite dinamičku analizu.

Yaazhini

Ovo je odličan alat za obavljanje statičke analize sa grafičkim korisničkim interfejsom

Qark

Ovaj alat je dizajniran da traži nekoliko bezbednosno povezanih ranjivosti Android aplikacija, bilo u izvornom kodu ili zapakovanim APK datotekama. Alat je takođe sposoban da kreira "Proof-of-Concept" APK koji se može implementirati i ADB komande, kako bi iskoristio neke od pronađenih ranjivosti (izložene aktivnosti, namere, tapjacking...). Kao i sa Drozer-om, nije potrebno rutovati test uređaj.

pip3 install --user qark  # --user is only needed if not using a virtualenv
qark --apk path/to/my.apk
qark --java path/to/parent/java/folder
qark --java path/to/specific/java/file.java

ReverseAPK

  • Prikazuje sve izvučene datoteke radi lakšeg referisanja
  • Automatsko dekompiliranje APK datoteka u Java i Smali format
  • Analiza AndroidManifest.xml datoteke radi otkrivanja uobičajenih ranjivosti i ponašanja
  • Statistička analiza izvornog koda radi otkrivanja uobičajenih ranjivosti i ponašanja
  • Informacije o uređaju
  • i još više
reverse-apk relative/path/to/APP.apk

SUPER Android Analyzer

SUPER je aplikacija za komandnu liniju koja se može koristiti u Windows-u, MacOS X-u i Linux-u, koja analizira .apk fajlove u potrazi za ranjivostima. To radi dekompresovanjem APK-ova i primenom niza pravila za otkrivanje tih ranjivosti.

Sva pravila su centrirana u rules.json fajlu, i svaka kompanija ili testera može kreirati svoja pravila za analizu onoga što im je potrebno.

Preuzmite najnovije binarne fajlove sa stranice za preuzimanje

super-analyzer {apk_file}

StaCoAn

StaCoAn je alatka koja pomaže developerima, istraživačima ranjivosti i etičkim hakerima u izvođenju statičke analize koda mobilnih aplikacija.

Koncept je da prevučete i otpustite datoteku vaše mobilne aplikacije (datoteku .apk ili .ipa) na aplikaciju StaCoAn i ona će generisati vizuelni i prenosivi izveštaj za vas. Možete podešavati postavke i liste reči da biste dobili prilagođeno iskustvo.

Preuzmite najnovije izdanje:

./stacoan

AndroBugs

AndroBugs Framework je sistem analize ranjivosti Androida koji pomaže developerima ili hakerima da pronađu potencijalne sigurnosne ranjivosti u Android aplikacijama.
Windows izdanja

python androbugs.py -f [APK file]
androbugs.exe -f [APK file]

Androwarn

Androwarn je alat čiji je glavni cilj da otkrije i upozori korisnika na potencijalno zlonamerne radnje razvijene od strane Android aplikacije.

Detekcija se vrši statičkom analizom Dalvik bajtkoda aplikacije, predstavljenog kao Smali, pomoću biblioteke androguard.

Ovaj alat traži uobičajeno ponašanje "loših" aplikacija kao što su: ekstrakcija telefonskih identifikatora, presretanje audio/video tokova, modifikacija PIM podataka, izvršavanje proizvoljnog koda...

python androwarn.py -i my_application_to_be_analyzed.apk -r html -v 3

MARA Framework

MARA je Mobilni Aplikacijski Reverzni inženjering i Analitički okvir. To je alat koji objedinjuje često korišćene alate za reverzni inženjering i analizu mobilnih aplikacija, kako bi pomogao u testiranju mobilnih aplikacija protiv OWASP mobilnih sigurnosnih pretnji. Njegov cilj je da olakša ovaj zadatak i da bude prijateljski nastrojen prema razvojnim inženjerima mobilnih aplikacija i sigurnosnim profesionalcima.

Može da:

Koodous

Korisno za otkrivanje malvera: https://koodous.com/

Obfuskacija/Deobfuskacija koda

Imajte na umu da zavisi od usluge i konfiguracije koju koristite za obfuskaciju koda. Tajne mogu biti ili ne završene obfuskirane.

ProGuard

Sa Vikipedije: ProGuard je alat otvorenog koda za komandnu liniju koji smanjuje, optimizuje i obfuskira Java kod. Može da optimizuje bajtkod kao i da otkrije i ukloni nekorišćene instrukcije. ProGuard je besplatan softver i distribuira se pod GNU General Public License, verzija 2.

ProGuard je distribuiran kao deo Android SDK-a i pokreće se prilikom izgradnje aplikacije u režimu izdanja.

DexGuard

Pronađite vodič korak po korak za deobfuskaciju apk-a na https://blog.lexfo.fr/dexguard.html

(Iz tog vodiča) Poslednji put kada smo proverili, način rada Dexguard-a bio je:

  • učitavanje resursa kao InputStream;
  • prosleđivanje rezultata klasi koja nasleđuje FilterInputStream da ga dešifruje;
  • obaviti nekoliko beskorisnih obfuskacija kako bi se potrošilo nekoliko minuta vremena od osobe koja reverzira;
  • prosleđivanje dešifrovanog rezultata ZipInputStream-u da bi se dobio DEX fajl;
  • konačno učitavanje rezultujućeg DEX-a kao Resurs koristeći metod loadDex.

DeGuard

DeGuard obrće proces obfuskacije koji obavljaju alati za obfuskaciju Androida. To omogućava brojne sigurnosne analize, uključujući inspekciju koda i predviđanje biblioteka.

Možete otpremiti obfuskirani APK na njihovu platformu.

Simplify

To je generički deobfuskator za Android. Simplify virtuelno izvršava aplikaciju kako bi razumeo njen ponašanje, a zatim pokušava da optimizuje kod tako da se ponaša identično, ali je lakši za razumevanje ljudima. Svaka vrsta optimizacije je jednostavna i generička, pa nije važno koji je specifičan tip obfuskacije korišćen.

APKiD

APKiD vam pruža informacije o kako je napravljen APK. Identifikuje mnoge kompajlere, pakere, obfuskatore i druge čudne stvari. To je PEiD za Android.

Ručno

Pročitajte ovaj tutorijal da biste naučili neke trikove o kako da reverzujete prilagođenu obfuskaciju

Laboratorije

Androl4b

AndroL4b je Android sigurnosna virtuelna mašina zasnovana na ubuntu-mate koja uključuje kolekciju najnovijih okvira, tutorijala i laboratorija od različitih sigurnosnih entuzijasta i istraživača za reverzni inženjering i analizu malvera.

Reference

Još uvek treba probati

Pridružite se HackenProof Discord serveru kako biste komunicirali sa iskusnim hakerima i lovcima na bagove!

Hakerski uvidi
Uključite se u sadržaj koji istražuje uzbuđenje i izazove hakovanja

Vesti o hakovanju u realnom vremenu
Budite u toku sa brzim svetom hakovanja kroz vesti i uvide u realnom vremenu

Najnovije objave
Budite informisani o najnovijim nagradama za pronalaženje bagova i važnim ažuriranjima platforme

Pridružite nam se na Discord-u i počnite da sarađujete sa vrhunskim hakerima danas!

Naučite hakovanje AWS-a od nule do heroja sa htARTE (HackTricks AWS Red Team Expert)!

Drugi načini podrške HackTricks-u: