hacktricks/mobile-pentesting/android-app-pentesting
2024-04-07 05:33:57 +00:00
..
drozer-tutorial Translated ['README.md', 'binary-exploitation/arbitrary-write-2-exec/REA 2024-04-07 05:33:57 +00:00
frida-tutorial Translated ['README.md', 'binary-exploitation/arbitrary-write-2-exec/REA 2024-04-07 05:33:57 +00:00
adb-commands.md Translated to Afrikaans 2024-02-11 02:07:06 +00:00
android-applications-basics.md Translated ['forensics/basic-forensic-methodology/partitions-file-system 2024-03-26 15:51:04 +00:00
android-task-hijacking.md Translated ['README.md', 'binary-exploitation/arbitrary-write-2-exec/REA 2024-04-07 05:33:57 +00:00
apk-decompilers.md Translated to Afrikaans 2024-02-11 02:07:06 +00:00
avd-android-virtual-device.md Translated ['README.md', 'binary-exploitation/arbitrary-write-2-exec/REA 2024-04-07 05:33:57 +00:00
bypass-biometric-authentication-android.md Translated to Afrikaans 2024-02-11 02:07:06 +00:00
content-protocol.md Translated to Afrikaans 2024-02-11 02:07:06 +00:00
exploiting-a-debuggeable-applciation.md Translated to Afrikaans 2024-02-11 02:07:06 +00:00
google-ctf-2018-shall-we-play-a-game.md Translated ['README.md', 'binary-exploitation/arbitrary-write-2-exec/REA 2024-04-07 05:33:57 +00:00
install-burp-certificate.md Translated ['README.md', 'binary-exploitation/arbitrary-write-2-exec/REA 2024-04-07 05:33:57 +00:00
intent-injection.md Translated to Afrikaans 2024-02-11 02:07:06 +00:00
make-apk-accept-ca-certificate.md Translated ['forensics/basic-forensic-methodology/partitions-file-system 2024-03-26 15:51:04 +00:00
manual-deobfuscation.md Translated to Afrikaans 2024-02-11 02:07:06 +00:00
react-native-application.md Translated to Afrikaans 2024-02-11 02:07:06 +00:00
README.md Translated ['README.md', 'binary-exploitation/arbitrary-write-2-exec/REA 2024-04-07 05:33:57 +00:00
reversing-native-libraries.md Translated to Afrikaans 2024-02-11 02:07:06 +00:00
smali-changes.md Translated to Afrikaans 2024-02-11 02:07:06 +00:00
spoofing-your-location-in-play-store.md Translated to Afrikaans 2024-02-11 02:07:06 +00:00
tapjacking.md Translated to Afrikaans 2024-02-11 02:07:06 +00:00
webview-attacks.md Translated ['README.md', 'binary-exploitation/arbitrary-write-2-exec/REA 2024-04-07 05:33:57 +00:00

Android-toepassingspentesting

Leer AWS-hacking vanaf nul tot held met htARTE (HackTricks AWS Red Team Expert)!

Ander maniere om HackTricks te ondersteun:

Sluit aan by HackenProof Discord bediener om met ervare hackers en foutbeloningsjagters te kommunikeer!

Hakinsigte
Gaan in gesprek met inhoud wat die opwinding en uitdagings van hak bevat

Haknuus in Werklikheid
Bly op hoogte van die snelveranderende hakwêreld deur werklike nuus en insigte

Nuutste Aankondigings
Bly ingelig oor die nuutste foutbelonings wat bekendgestel word en belangrike platformopdaterings

Sluit by ons aan op Discord en begin vandag saamwerk met top hackers!

Basiese beginsels van Android-toepassings

Dit word sterk aanbeveel om hierdie bladsy te begin lees om meer te wete te kom oor die belangrikste dele wat verband hou met Android-sekuriteit en die gevaarlikste komponente in 'n Android-toepassing:

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

ADB (Android Debug Bridge)

Dit is die hoofinstrument wat jy nodig het om aan 'n Android-toestel (nageboots of fisies) te koppel.
ADB maak dit moontlik om toestelle te beheer oor USB of Netwerk vanaf 'n rekenaar. Hierdie nut stel die kopieer van lêers in beide rigtings, installeer en deïnstalleer van programme, uitvoer van skelopdragte, back-up van data, lees van logboeke, onder andere funksies, moontlik.

Neem 'n kykie na die volgende lys van ADB-opdragte om te leer hoe om adb te gebruik.

Smali

Dit is soms interessant om die toepassingskode te verander om toegang te verkry tot verskuilde inligting (miskien goed verduisterde wagwoorde of vlae). Dan kan dit interessant wees om die apk te dekompilieer, die kode te wysig en dit weer saam te stel.
In hierdie handleiding kan jy leer hoe om 'n APK te dekompilieer, Smali-kode te wysig en die APK weer saam te stel met die nuwe funksionaliteit. Dit kan baie nuttig wees as 'n alternatief vir verskeie toetse tydens die dinamiese analise wat aangebied gaan word. Hou dus altyd hierdie moontlikheid in gedagte.

Ander interessante truuks

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

Statische Analise

Eerstens, vir die analise van 'n APK moet jy 'n kykie neem na die Java-kode deur 'n decompiler te gebruik.
Lees asseblief hier om inligting oor verskillende beskikbare decompilers te vind.

Op soek na interessante inligting

Deur net na die strings van die APK te kyk, kan jy soek na wagwoorde, URL's (https://github.com/ndelphit/apkurlgrep), api sleutels, enkripsie, bluetooth uuids, tokens en enige iets interessant... soek selfs vir kode-uitvoer agterdeure of outentiseringsagterdeure (hardgekoppelde administrateurskredensiaal vir die app).

Firebase

Betaal spesiale aandag aan firebase URL's en kyk of dit sleg geconfigureer is. Meer inligting oor wat Firebase is en hoe om dit te benut hier.

Basiese begrip van die aansoek - Manifest.xml, strings.xml

Die ondersoek van 'n aansoek se _Manifest.xml en strings.xml lêers kan potensiële sekuriteitskwessies aan die lig bring. Hierdie lêers kan benader word deur decompilers te gebruik of deur die APK-lêernaamuitbreiding na .zip te verander en dit dan te ontzip.

Kwessies wat geïdentifiseer word vanuit die Manifest.xml sluit in:

  • Toepassings wat gedebug kan word: Toepassings wat as gedebug kan word (debuggable="true") in die Manifest.xml lêer stel 'n risiko in omdat dit verbindings toelaat wat tot uitbuiting kan lei. Vir 'n verdere begrip van hoe om gedebugbare toepassings te benut, verwys na 'n handleiding oor die vind en benutting van gedebugbare toepassings op 'n toestel.
  • Agtergrondinstellings: Die android:allowBackup="false" eienskap moet uitdruklik ingestel word vir toepassings wat met sensitiewe inligting werk om ongemagtigde databack-ups via adb te voorkom, veral wanneer usb-debogging geaktiveer is.
  • Netwerksekuriteit: Aangepaste netwerksekuriteitskonfigurasies (android:networkSecurityConfig="@xml/network_security_config") in res/xml/ kan sekuriteitsbesonderhede soos sertifikaatpenne en HTTP-verkeersinstellings spesifiseer. 'n Voorbeeld is om HTTP-verkeer vir spesifieke domeine toe te laat.
  • Geëksporteerde Aktiwiteite en Dienste: Die identifisering van geëksporteerde aktiwiteite en dienste in die manifest kan komponente uitlig wat misbruik kan word. Verdere analise tydens dinamiese toetsing kan onthul hoe om hierdie komponente te benut.
  • Inhoudsverskaffers en Lêerverskaffers: Blootgestelde inhoudsverskaffers kan ongemagtigde toegang of wysiging van data toelaat. Die konfigurasie van Lêerverskaffers moet ook deeglik ondersoek word.
  • Uitsaai-ontvangers en URL-skemas: Hierdie komponente kan benut word vir uitbuiting, met spesiale aandag aan hoe URL-skemas bestuur word vir insetkwessies.
  • SDK-weergawes: Die minSdkVersion, targetSDKVersion en maxSdkVersion eienskappe dui die ondersteunde Android-weergawes aan, wat die belangrikheid beklemtoon om verouderde, kwesbare Android-weergawes nie te ondersteun vir sekuriteitsredes nie.

Uit die strings.xml lêer kan sensitiewe inligting soos API-sleutels, aangepaste skemas en ander ontwikkelaarsnotas ontdek word, wat die noodsaaklikheid van 'n sorgvuldige hersiening van hierdie bronne beklemtoon.

Tikjacking

Tikjacking is 'n aanval waar 'n boosaardige aansoek gelanseer word en sigself bo-op 'n slagoffer-aansoek posisioneer. Wanneer dit die slagoffer-aansoek sigbaar verduister, is sy gebruikerskoppelvlak so ontwerp dat dit die gebruiker mislei om daarmee te interaksioneer, terwyl dit die interaksie na die slagoffer-aansoek deurgee.
In werklikheid verblind dit die gebruiker om te weet dat hulle eintlik handelinge op die slagoffer-aansoek uitvoer.

Vind meer inligting in:

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

Taakontvoering

'n Aktiwiteit met die launchMode ingestel op singleTask sonder enige taskAffinity gedefinieer is vatbaar vir taakontvoering. Dit beteken dat 'n aansoek geïnstalleer kan word en as dit voor die werklike aansoek begin word, kan dit die taak van die werklike aansoek ontvoer (sodat die gebruiker met die boosaardige aansoek sal interaksioneer en dink hy gebruik die regte een).

Meer inligting in:

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

Onveilige data-opberging

Interne Opberging

In Android is lêers wat in interne opberging gestoor word, ontwerp om eksklusief deur die aansoek wat dit geskep het, toeganklik te wees. Hierdie sekuriteitsmaatreël word deur die Android-bedryfstelsel afgedwing en is gewoonlik voldoende vir die sekuriteitsbehoeftes van die meeste aansoeke. Ontwikkelaars gebruik egter soms modusse soos MODE_WORLD_READABLE en MODE_WORLD_WRITABLE om lêers toe te laat om tussen verskillende aansoeke gedeel te word. Tog beperk hierdie modusse nie toegang tot hierdie lêers deur ander aansoeke nie, insluitend moontlik boosaardige aansoeke.

  1. Statische Analise:
  • Verseker dat die gebruik van MODE_WORLD_READABLE en MODE_WORLD_WRITABLE sorgvuldig ondersoek word. Hierdie modusse kan potensieel lêers blootstel aan onbedoelde of ongemagtigde toegang.
  1. Dinamiese Analise:
  • Verifieer die toestemmings wat op lêers geskep deur die aansoek ingestel is. Spesifiek, kontroleer of enige lêers ingestel is om wêreldwyd leesbaar of skryfbaar te wees. Dit kan 'n beduidende sekuriteitsrisiko inhou, aangesien dit enige aansoek wat op die toestel geïnstalleer is, ongeag sy oorsprong of bedoeling, toelaat om hierdie lêers te lees of te wysig.

Eksterne Opberging

Wanneer daar met lêers op eksterne opberging, soos SD-kaarte, gewerk word, moet sekere voorbehoudsmaatreëls getref word:

  1. Toeganklikheid:
  • Lêers op eksterne opberging is wêreldwyd leesbaar en skryfbaar. Dit beteken enige aansoek of gebruiker kan by hierdie lêers kom.
  1. Sekuriteitskwessies:
  • Gegewe die maklikheid van toegang, word dit aanbeveel om nie sensitiewe inligting op eksterne opberging te stoor nie.
  • Eksterne opberging kan verwyder of deur enige aansoek benader word, wat dit minder veilig maak.
  1. Hantering van Data van Eksterne Opberging:
  • Voer altyd insetvalidering uit op data wat van eksterne opberging herwin word. Dit is krities omdat die data van 'n onbetroubare bron afkomstig is.
  • Dit word sterk afgeraai om uitvoerbare lêers of klaslêers op eksterne opberging vir dinamiese laai te stoor.
  • As jou aansoek uitvoerbare lêers van eksterne opberging moet herwin, verseker dan dat hierdie lêers onderteken en kriptografies geverifieer word voordat hulle dinamies gelaai word. Hierdie stap is noodsaaklik vir die handhawing van die sekuriteitsintegriteit van jou aansoek.

Eksterne opberging kan benader word in /storage/emulated/0, /sdcard, /mnt/sdcard

{% hint style="info" %} Van Android 4.4 (API 17) af het die SD-kaart 'n gidsstruktuur wat toegang van 'n aansoek tot die gids wat spesifiek vir daardie aansoek is, beperk. Dit voorkom dat boosaardige aansoeke lees- of skryftoegang tot 'n ander aansoek se lêers verkry. {% endhint %}

Sensitiewe data in teks

  • Gedeelde voorkeure: Android laat elke aansoek toe om maklik XML-lêers in die pad /data/data/<pakketnaam>/shared_prefs/ te stoor en soms is dit moontlik om sensitiewe inligting in teks in daardie vouer te vind.
  • Databasisse: Android laat elke aansoek toe om maklik sqlite-databasisse in die pad /data/data/<pakketnaam>/databases/ te stoor en soms is dit moontlik om sensitiewe inligting in teks in daardie vouer te vind.

Gebreekte TLS

Aanvaar Alle Sertifikate

Om een of ander rede aanvaar ontwikkelaars soms al die sertifikate selfs al stem die gasheernaam nie ooreen met lyne kode soos die volgende een nie:

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

Gebroke Kriptografie

Swak Sleutelbestuurprosesse

Sommige ontwikkelaars stoor sensitiewe data in die plaaslike stoor en enkripteer dit met 'n sleutel wat hardgekodel/voorspelbaar in die kode is. Dit behoort nie gedoen te word nie, aangesien sommige omkeerwerk dit vir aanvallers moontlik kan maak om die vertroulike inligting te onttrek.

Gebruik van Onveilige en/of Verouderde Algoritmes

Ontwikkelaars behoort nie verouderde algoritmes te gebruik om outorisasie kontroles, stoor of stuur data uit te voer nie. Sommige van hierdie algoritmes is: RC4, MD4, MD5, SHA1... As hashe byvoorbeeld gebruik word om wagwoorde te stoor, behoort hashe wat weerstand bied teen brutale krag met sout gebruik te word.

Ander kontroles

  • Dit word aanbeveel om die APK te verduister om die omkeerder se arbeid vir aanvallers te bemoeilik.
  • As die app sensitief is (soos bankapps), behoort dit sy eie kontroles uit te voer om te sien of die mobiele toestel gewortel is en daarna op te tree.
  • As die app sensitief is (soos bankapps), behoort dit te kontroleer of 'n emuleerder gebruik word.
  • As die app sensitief is (soos bankapps), behoort dit sy eie integriteit te kontroleer voordat dit uitgevoer word om te sien of dit gewysig is.
  • Gebruik APKiD om te sien watter samesteller/pakker/verduisteraar gebruik is om die APK te bou.

React Native-toepassing

Lees die volgende bladsy om te leer hoe om maklik toegang tot die Javascript-kode van React-toepassings te verkry:

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

Xamarin-toepassings

Lees die volgende bladsy om te leer hoe om maklik toegang tot die C#-kode van 'n Xamarin-toepassing te verkry:

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

Supergepakte Toepassings

Volgens hierdie blogpos is supergepakte 'n Meta-algoritme wat die inhoud van 'n toepassing in 'n enkele lêer saamdruk. Die blog praat oor die moontlikheid om 'n toepassing te skep wat hierdie soort toepassings dekomprimeer... en 'n vinniger manier wat behels om die toepassing uit te voer en die gedekomprimeerde lêers van die lêersisteem te versamel.

Geoutomatiseerde Statische Kode-analise

Die instrument mariana-trench is in staat om kwesbaarhede te vind deur die kode van die toepassing te skandeer. Hierdie instrument bevat 'n reeks bekende bronne (wat die instrument die plekke aandui waar die invoer deur die gebruiker beheer word), sinks (wat die instrument gevaarlike plekke aandui waar skadelike gebruikersinvoer skade kan veroorsaak) en reëls. Hierdie reëls dui die kombinasie van bronne-sinks aan wat 'n kwesbaarheid aandui.

Met hierdie kennis sal mariana-trench die kode deurkyk en moontlike kwesbaarhede daarop vind.

Gelekte Geheime

'n Toepassing mag geheime (API-sleutels, wagwoorde, verborge URL's, subdomeine...) binne-in hê wat jy dalk kan ontdek. Jy kan 'n instrument soos https://github.com/dwisiswant0/apkleaks gebruik

Om Biometriese Outentifikasie te Verbygaan

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

Ander interessante funksies

Ander truuks

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


Sluit aan by HackenProof Discord bediener om met ervare hackers en foutbeloningsjagters te kommunikeer!

Hack-insigte
Neem deel aan inhoud wat die opwinding en uitdagings van hack ondersoek

Nuus oor Hack in Werklikheid
Bly op hoogte van die vinnige hack-wêreld deur middel van nuus en insigte in werklikheid

Nuutste Aankondigings
Bly ingelig met die nuutste foutbelonings wat bekendgestel word en kritieke platformopdaterings

Sluit by ons aan op Discord en begin vandag saamwerk met top hackers!


Dinamiese Analise

Eerstens, jy benodig 'n omgewing waar jy die toepassing kan installeer en al die omgewing (Burp CA-sertifikaat, Drozer en Frida hoofsaaklik). Daarom word 'n gewortelde toestel (geëmuleer of nie) sterk aanbeveel.

Aanlyn Dinamiese analise

Jy kan 'n gratis rekening skep by: https://appetize.io/. Hierdie platform stel jou in staat om APK's te laai en uit te voer, sodat dit nuttig is om te sien hoe 'n apk optree.

Jy kan selfs die logs van jou toepassing op die web sien en deur middel van adb koppel.

Dankie aan die ADB-koppeling kan jy Drozer en Frida binne die emuleerders gebruik.

Plaaslike Dinamiese Analise

Gebruik van 'n emuleerder

  • Android Studio (Jy kan x86 en arm toestelle skep, en volgens hierdie nuutste x86 weergawes ondersteun ARM-biblioteke sonder 'n stadige arm-emuleerder nodig te hê).
  • Leer om dit op te stel op hierdie bladsy:

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

  • Genymotion (Gratis weergawe: Persoonlike Uitgawe, jy moet 'n rekening skep. Dit word aanbeveel om die weergawe MET VirtualBox af te laai om potensiële foute te vermy.)
  • Nox (Gratis, maar dit ondersteun nie Frida of Drozer nie).

{% hint style="info" %} Wanneer jy 'n nuwe emuleerder op enige platform skep, onthou dat hoe groter die skerm is, hoe stadiger die emuleerder sal loop. Kies dus klein skerms as moontlik. {% endhint %}

Om Google-dienste te installeer (soos AppStore) in Genymotion moet jy op die rooi gemerkte knoppie van die volgende beeld klik:

Let ook daarop dat jy in die konfigurasie van die Android VM in Genymotion die Bridge Network-modus kan kies (dit sal nuttig wees as jy die Android VM vanaf 'n ander VM met die gereedskap verbind).

Gebruik 'n fisiese toestel

Jy moet die afskakeling-opsies aktiveer en dit sal goed wees as jy dit kan wortel:

  1. Instellings.
  2. (Vanaf Android 8.0) Kies Stelsel.
  3. Kies Oor foon.
  4. Druk Bou-nommer 7 keer.
  5. Gaan terug en jy sal die Ontwikkelaar-opsies vind.

Nadat jy die toepassing geïnstalleer het, is die eerste ding wat jy moet doen, om dit te probeer en ondersoek in te stel wat dit doen, hoe dit werk en gemaklik daarmee te voel.
Ek sal voorstel om hierdie aanvanklike dinamiese analise uit te voer deur MobSF dinamiese analise + pidcat te gebruik, sodat ons in staat sal wees om te leer hoe die toepassing werk terwyl MobSF 'n baie van interessante data vasvang wat jy later kan deurkyk.

Onbedoelde Datalek

Logging

Ontwikkelaars moet versigtig wees om foutopsporingsinligting openlik bloot te stel, aangesien dit kan lei tot lekkasies van sensitiewe data. Die gereedskap pidcat en adb logcat word aanbeveel vir die monitor van programlogs om sensitiewe inligting te identifiseer en te beskerm. Pidcat word verkies vanweë sy gebruiksgemak en leesbaarheid.

{% hint style="warning" %} Let daarop dat van later nuwer as Android 4.0, toepassings slegs toegang het tot hul eie logs. So toepassings kan nie toegang verkry tot ander toepassings se logs nie.
Dit word steeds aanbeveel om nie sensitiewe inligting te log nie. {% endhint %}

Kopieer/Plak Buffer Kaching

Android se klembord-gebaseerde raamwerk maak kopieer-en-plak funksionaliteit in programme moontlik, maar hou 'n risiko in aangesien ander toepassings die klembord kan benader, wat moontlik sensitiewe data kan blootstel. Dit is noodsaaklik om kopieer/plak funksies vir sensitiewe dele van 'n toepassing, soos kredietkaartbesonderhede, te deaktiveer om datalekke te voorkom.

Kraaklogs

As 'n toepassing afskryf en logs stoor, kan hierdie logs aanvallers help, veral wanneer die toepassing nie omgekeer-ontgin kan word nie. Om hierdie risiko te verminder, moet gelog word op kraakgevalle vermy word, en as logs oor die netwerk gestuur moet word, moet verseker word dat hulle via 'n SSL-kanaal vir sekuriteit gestuur word.

As pentester, probeer om na hierdie logs te kyk.

Analitiese Data Gestuur Na 3de Partye

Toepassings integreer dikwels dienste soos Google Adsense, wat onbedoeld sensitiewe data kan lek as gevolg van onvanpaste implementering deur ontwikkelaars. Om potensiële datalekke te identifiseer, is dit raadsaam om die toepassing se verkeer te onderskep en te kyk vir enige sensitiewe inligting wat aan derdepartydiens gestuur word.

SQLite-databasisse

Meeste van die toepassings sal interne SQLite-databasisse gebruik om inligting te stoor. Tydens die pentest moet 'n kykie na die databasisse wat geskep is, die name van tabelle en kolomme en al die data wat gestoor is geneem word, omdat jy sensitiewe inligting (wat 'n kwesbaarheid sou wees) kan vind.
Databasisse behoort in /data/data/die.pakket.naam/databasisse soos /data/data/com.mwr.example.sieve/databasisse geleë te wees.

As die databasis vertroulike inligting stoor en geënkripteer is, maar jy kan steeds die wagwoord binne die toepassing vind, is dit steeds 'n kwesbaarheid.

Tel die tabelle op deur .tabelle te gebruik en tel die kolomme van die tabelle op deur .skema <tabel_naam> te doen.

Drozer (Uitbuitingsaktiwiteite, Inhoudsverskaffers en Dienste)

Vanaf Drozer-dokumente: Drozer stel jou in staat om die rol van 'n Android-toepassing aan te neem en met ander toepassings te interaksieer. Dit kan enigiets doen wat 'n geïnstalleerde toepassing kan doen, soos gebruik maak van Android se Interproseskommunikasie (IPC)-meganisme en interaksie met die onderliggende bedryfstelsel.
Drozer is 'n nuttige gereedskap om uitgevoerde aktiwiteite, uitgevoerde dienste en Inhoudsverskaffers uit te buit soos wat jy in die volgende afdelings sal leer.

Uitbuiting van uitgevoerde Aktiwiteite

Lees dit as jy wil onthou wat 'n Android-aktiwiteit is.
Onthou ook dat die kode van 'n aktiwiteit begin in die onSkep metode.

Outorisasie-omleiding

Wanneer 'n Aktiwiteit uitgevoer word, kan jy sy skerm vanaf 'n eksterne toepassing aanroep. Daarom, as 'n aktiwiteit met sensitiewe inligting uitgevoer word, kan jy die outentiserings meganismes omseil om dit te benader.

Leer hoe om uitgevoerde aktiwiteite met Drozer uit te buit.

Jy kan ook 'n uitgevoerde aktiwiteit vanaf adb begin:

  • PakketNaam is com.example.demo
  • Uitgevoerde AktiwiteitNaam is com.example.test.MainActivity
adb shell am start -n com.example.demo/com.example.test.MainActivity

NOTA: MobSF sal as skadelik beskou die gebruik van singleTask/singleInstance as android:launchMode in 'n aktiwiteit, maar as gevolg van hierdie, blyk dit dat dit slegs gevaarlik is op ou weergawes (API weergawes < 21).

{% hint style="info" %} Let daarop dat 'n outorisasie-omleiding nie altyd 'n kwesbaarheid is nie, dit sal afhang van hoe die omleiding werk en watter inligting blootgestel word. {% endhint %}

Sensitiewe inligting lekkasie

Aktiwiteite kan ook resultate teruggee. As jy 'n uitgevoerde en onbeskermde aktiwiteit vind wat die setResult metode aanroep en sensitiewe inligting teruggee, is daar 'n sensitiewe inligting lekkasie.

Tapjacking

As tapjacking nie voorkom word nie, kan jy die uitgevoerde aktiwiteit misbruik om die gebruiker onverwagte aksies te laat uitvoer. Vir meer inligting oor wat is Tapjacking volg die skakel.

Uitbuiting van Inhoudsverskaffers - Toegang tot en manipulering van sensitiewe inligting

Lees dit as jy wil hersien wat 'n Inhoudsverskaffer is.
Inhoudsverskaffers word basies gebruik om data te deel. As 'n toepassing beskikbare inhoudsverskaffers het, kan jy moontlik sensitiewe data daaruit onttrek. Dit is ook interessant om moontlike SQL-injeksies en Padaflitsings te toets aangesien hulle kwesbaar kan wees.

Leer hoe om Inhoudsverskaffers uit te buit met Drozer.

Uitbuiting van Dienste

Lees dit as jy wil hersien wat 'n Diens is.
Onthou dat die aksies van 'n Diens begin in die metode onStartCommand.

'n Diens is basies iets wat data kan ontvang, dit kan verwerk en 'n antwoord teruggee (of nie). As 'n toepassing dienste uitvoer, moet jy die kode nagaan om te verstaan wat dit doen en dit dinamies toets vir die onttrek van vertroulike inligting, omseilings van outentiseringsmaatreëls...
Leer hoe om Dienste uit te buit met Drozer.

Uitbuiting van Uitsaai-Ontvangers

Lees dit as jy wil hersien wat 'n Uitsaai-Ontvanger is.
Onthou dat die aksies van 'n Uitsaai-Ontvanger begin in die metode onReceive.

'n Uitsaai-ontvanger sal wag vir 'n tipe boodskap. Afhangend van hoe die ontvanger die boodskap hanteer, kan dit kwesbaar wees.
Leer hoe om Uitsaai-Ontvangers uit te buit met Drozer.

Uitbuiting van Skemas / Diep skakels

Jy kan handmatig vir diep skakels soek, hulpmiddels soos MobSF gebruik of skripte soos hierdie.
Jy kan 'n verklaarde skema open met adb of 'n blaaier:

{% code overflow="wrap" %}

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

{% endcode %}

Merk op dat jy die pakketnaam kan weglaat en die mobiele toestel sal outomaties die program oproep wat die skakel behoort te open.

{% 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 %}

Kode uitgevoer

Om die kode wat in die app uitgevoer sal word te vind, gaan na die aktiwiteit wat deur die deeplink geroep word en soek die funksie onNewIntent.

Sensitiewe inligting

Elke keer as jy 'n deeplink vind, moet jy nagaan dat dit nie sensitiewe data (soos wagwoorde) via URL parameters ontvang nie, omdat enige ander toepassing die deeplink kan naboots en daardie data kan steel!

Parameters in pad

Jy moet ook nagaan of enige deeplink 'n parameter binne die pad van die URL gebruik soos: https://api.example.com/v1/users/{username}, in daardie geval kan jy 'n padtraversie afdwing deur iets soos te benader: example://app/users?username=../../unwanted-endpoint%3fparam=value.
Let daarop dat as jy die korrekte eindpunte binne die toepassing vind, jy dalk 'n Oop Aanstuur kan veroorsaak (as deel van die pad as domeinnaam gebruik word), rekeningoorname (as jy gebruikersbesonderhede sonder CSRF-token kan wysig en die kwesbare eindpunt die korrekte metode gebruik) en enige ander kwesbaarheid. Meer inligting hieroor hier.

Meer voorbeelde

'n Interessante bug bounty verslag oor skakels (/.well-known/assetlinks.json).

Inspeksie en Verifikasie van die Vervoerlaag

  • Sertifikate word nie altyd behoorlik geïnspekteer deur Android-toepassings nie. Dit is algemeen vir hierdie toepassings om waarskuwings te ignoreer en selfondertekende sertifikate te aanvaar of, in sommige gevalle, terug te keer na die gebruik van HTTP-verbindings.
  • Onderhandelinge tydens die SSL/TLS-handdruk is soms swak, waar onveilige siferreeksse gebruik word. Hierdie kwesbaarheid maak die verbinding vatbaar vir man-in-die-middel (MITM) aanvalle, wat aanvallers in staat stel om die data te dekodeer.
  • Lekkasie van private inligting is 'n risiko wanneer toepassings gebruik maak van veilige kanale vir verifikasie, maar dan kommunikeer oor nie-beveiligde kanale vir ander transaksies. Hierdie benadering slaag daarin om sensitiewe data, soos sessiekoekies of gebruikersbesonderhede, te beskerm teen onderskepping deur skadelike entiteite.

Sertifikaatverifikasie

Ons sal fokus op sertifikaatverifikasie. Die integriteit van die bediener se sertifikaat moet geverifieer word om die veiligheid te verbeter. Dit is noodsaaklik omdat onveilige TLS-konfigurasies en die oordrag van sensitiewe data oor ongekripteerde kanale aansienlike risiko's kan inhou. Vir gedetailleerde stappe oor die verifikasie van bedienersertifikate en die aanspreek van kwesbaarhede, bied hierdie bron omvattende leiding.

SSL Pinning

SSL Pinning is 'n sekuriteitsmaatreël waar die toepassing die bediener se sertifikaat teen 'n bekende kopie wat binne die toepassing self gestoor word, verifieer. Hierdie metode is noodsaaklik om MITM-aanvalle te voorkom. Die implementering van SSL Pinning word sterk aanbeveel vir toepassings wat sensitiewe inligting hanteer.

Verkeersinspeksie

Om HTTP-verkeer te inspekteer, is dit nodig om die sertifikaat van die proksigereedskap te installeer (bv. Burp). Sonder die installering van hierdie sertifikaat mag versleutelde verkeer nie sigbaar wees deur die proksi nie. Vir 'n gids oor die installeer van 'n aangepaste CA-sertifikaat, klik hier.

Toepassings wat API-vlak 24 en hoër teiken, vereis wysigings aan die Netwerksekuriteitskonfigurasie om die CA-sertifikaat van die proksi te aanvaar. Hierdie stap is krities vir die inspeksie van versleutelde verkeer. Vir instruksies oor die wysiging van die Netwerksekuriteitskonfigurasie, verwys na hierdie handleiding.

Bypassing SSL Pinning

Wanneer SSL Pinning geïmplementeer is, word dit nodig om dit te omseil vir die inspeksie van HTTPS-verkeer. Verskeie metodes is beskikbaar vir hierdie doel:

Soek na Algemene Webkwesbaarhede

Dit is belangrik om ook na algemene webkwesbaarhede binne die toepassing te soek. Gedetailleerde inligting oor die identifisering en beperking van hierdie kwesbaarhede val buite die bestek van hierdie opsomming, maar word elders uitgebreid gedek.

Frida

Frida is 'n dinamiese instrumenteringstoolkit vir ontwikkelaars, omgekeerde-ingenieurs en sekuriteitsnavorsers.
Jy kan die lopende toepassing benader en metodes op tyd hardloop om die gedrag te verander, waardes te verander, waardes te onttrek, verskillende kode uit te voer...
As jy Android-toepassings wil pentest, moet jy weet hoe om Frida te gebruik.

Gedagtegeheue aflaai - Fridump

Kyk of die toepassing sensitiewe inligting binne die geheue stoor wat dit nie behoort te stoor nie, soos wagwoorde of mnemoniese frases.

Deur Fridump3 te gebruik, kan jy die geheue van die app aflaai met:

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

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

Dit sal die geheue in die ./dump vouer dump, en daar kan jy soek met iets soos:

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 %}

Sensitiewe data in Keystore

In Android is die Keystore die beste plek om sensitiewe data te stoor, maar met genoeg regte is dit steeds moontlik om dit te benader. Aangesien programme geneig is om hier sensitiewe data in teksformaat te stoor, moet die pentests hiervoor nagaan, aangesien 'n root-gebruiker of iemand met fisieke toegang tot die toestel in staat kan wees om hierdie data te steel.

Selfs as 'n program data in die keystore stoor, moet die data versleutel word.

Om toegang tot die data binne die keystore te verkry, kan jy hierdie Frida-skrip gebruik: 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

Vingerafdruk/Biometriese Omgang

Deur die volgende Frida-skrip te gebruik, kan dit moontlik wees om vingerafdrukverifikasie wat Android-toepassings mag uitvoer om sekere sensitiewe areas te beskerm, te omseil:

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

{% endcode %}

Agtergrondbeelde

Wanneer jy 'n aansoek in die agtergrond plaas, stoor Android 'n momentopname van die aansoek sodat wanneer dit na die voorgrond herstel word, dit die beeld begin laai voordat die aansoek dit lyk asof die aansoek vinniger gelaai is.

Indien hierdie momentopname sensitiewe inligting bevat, kan iemand met toegang tot die momentopname dalk daardie inligting steel (let wel dat jy worteltoegang nodig het om dit te kan benader).

Die momentopnames word gewoonlik gestoor rondom: /data/system_ce/0/snapshots

Android bied 'n manier om die skermafbeelding vas te vang deur die FLAG_SECURE uitlegparameter in te stel. Deur hierdie vlag te gebruik, word die vensterinhoud as veilig beskou, wat voorkom dat dit in skermafbeeldings verskyn of op nie-veilige vertonings besigtig kan word.

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

Android-toepassingontleder

Hierdie instrument kan jou help om verskillende gereedskap tydens die dinamiese analise te bestuur: https://github.com/NotSoSecure/android_application_analyzer

Intent-inspuiting

Ontwikkelaars skep dikwels pligsgetroue komponente soos aktiwiteite, dienste, en uitsaai-ontvangers wat hierdie Intents hanteer en hulle deurgee na metodes soos startActivity(...) of sendBroadcast(...), wat riskant kan wees.

Die gevaar lê daarin dat aanvallers nie-uitgevoerde app-komponente kan aktiveer of toegang kan verkry tot sensitiewe inhoudsverskaffers deur hierdie Intents te mislei. 'n Noemenswaardige voorbeeld is die WebView-komponent wat URL's na Intent-voorwerpe omskakel via Intent.parseUri(...) en dit dan uitvoer, wat moontlik kan lei tot skadelike Intent-inspuitings.

Belangrike punte

  • Intent-inspuiting is soortgelyk aan die web se Oop Herlei-probleem.
  • Uitbuitings behels die deurgang van Intent-voorwerpe as ekstra's, wat omgelei kan word om onveilige operasies uit te voer.
  • Dit kan nie-uitgevoerde komponente en inhoudsverskaffers aan aanvallers blootstel.
  • Die omskakeling van WebView se URL na Intent kan onbedoelde aksies fasiliteer.

Android-kliëntkant-inspuitings en ander

Jy ken waarskynlik van hierdie soort kwesbaarhede van die Web. Wees spesiaal versigtig met hierdie kwesbaarhede in 'n Android-toepassing:

  • SQL-inspuiting: Wanneer jy te make het met dinamiese navrae of Inhoudsverskaffers, verseker dat jy geparametriseerde navrae gebruik.
  • JavaScript-inspuiting (XSS): Verifieer dat JavaScript- en Inprop-ondersteuning gedeaktiveer is vir enige WebViews (standaard gedeaktiveer). Meer inligting hier.
  • Plaaslike lêer-insluiting: WebViews moet nie toegang tot die lêersisteem hê nie (standaard geaktiveer) - (webview.getSettings().setAllowFileAccess(false);). Meer inligting hier.
  • Ewige koekies: In verskeie gevalle, wanneer die Android-toepassing die sessie afsluit, word die koekie nie herroep nie of dit kan selfs na die skyf gestoor word.
  • Veilige Vlag in koekies

Sluit aan by HackenProof Discord bediener om met ervare hackers en foutbeloningsjagters te kommunikeer!

Hack-insigte
Raak betrokke by inhoud wat die opwinding en uitdagings van hack ondersoek

Nuus oor Hack in Werklikheid
Bly op hoogte van die vinnige hack-wêreld deur middel van nuus en insigte in werklikheid

Nuutste Aankondigings
Bly ingelig met die nuutste foutbelonings wat bekendgestel word en kritieke platformopdaterings

Sluit by ons aan op Discord en begin vandag saamwerk met top hackers!

Outomatiese Analise

MobSF

Statiese analise

Kwesbaarheidsassessering van die toepassing deur 'n aangename web-gebaseerde voorkant. Jy kan ook dinamiese analise uitvoer (maar jy moet die omgewing voorberei).

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

Let daarop dat MobSF kan analiseer Android(apk), IOS(ipa) en Windows(apx) aansoeke (Windows-aansoeke moet geanaliseer word vanaf 'n MobSF wat op 'n Windows-gashuis geïnstalleer is).
Ook, as jy 'n ZIP-lêer skep met die bronkode van 'n Android of 'n IOS-toep (gaan na die hoofmap van die aansoek, kies alles en skep 'n ZIP-lêer), sal dit ook in staat wees om dit te analiseer.

MobSF laat jou ook toe om diff/Vergelyk analise en om VirusTotal te integreer (jy sal jou API-sleutel moet instel in MobSF/settings.py en dit aktiveer: VT_ENABLED = TRUE VT_API_KEY = <Jou API-sleutel> VT_UPLOAD = TRUE). Jy kan ook VT_UPLOAD instel op False, dan sal die hash in plaas van die lêer opgelaai word.

Ondersteunde Dinamiese analise met MobSF

MobSF kan ook baie nuttig wees vir dinamiese analise in Android, maar in daardie geval sal jy MobSF en genymotion op jou gasheer moet installeer ('n VM of Docker sal nie werk nie). Nota: Jy moet eers 'n VM in genymotion begin en dan MobSF.
Die MobSF dinamiese analiseerder kan:

  • Toepassingsdata dump (URL's, logboeke, knipbuiskakels, skermskote deur jou geneem, skermskote deur "Geëksporteerde Aktiwiteitstoetser", e-posse, SQLite-databasisse, XML-lêers, en ander geskepte lêers). Al hierdie word outomaties gedoen behalwe vir die skermskote, jy moet druk wanneer jy 'n skermskoot wil hê of jy moet "Geëksporteerde Aktiwiteitstoetser" druk om skermskote van al die geëksporteerde aktiwiteite te verkry.
  • Vang HTTPS-verkeer
  • Gebruik Frida om runtime-inligting te verkry

Vanaf android weergawes > 5, sal dit outomaties Frida begin en sal globale proksi-instellings stel om verkeer vas te vang. Dit sal slegs verkeer van die getoetste aansoek vasvang.

Frida

Standaard sal dit ook van sommige Frida-skripte gebruik maak om SSL-pinning te omseil, root-opsporing en debugger-opsporing en om interessante API's te monitor.
MobSF kan ook geëksporteerde aktiwiteite aanroep, skermskote daarvan gryp en hulle vir die verslag stoor.

Om die dinamiese toetsing te begin, druk die groen knoppie: "Begin Instrumentasie". Druk die "Frida Lewende Logboeke" om die logboeke wat deur die Frida-skripte gegenereer is te sien en "Lewende API-monitor" om al die aanroepings na gehaakte metodes, argumente wat oorgedra is en teruggekeerde waardes te sien (dit sal verskyn nadat jy "Begin Instrumentasie" gedruk het).
MobSF laat jou ook toe om jou eie Frida-skripte te laai (om die resultate van jou Vrydag-skripte na MobSF te stuur, gebruik die funksie send()). Dit het ook verskeie vooraf geskrewe skripte wat jy kan laai (jy kan meer byvoeg in MobSF/DynamicAnalyzer/tools/frida_scripts/others/), kies hulle net, druk "Laai" en druk "Begin Instrumentasie" (jy sal die logboeke van daardie skripte binne "Frida Lewende Logboeke" kan sien).

Verder het jy 'n paar Hulp Frida-funksies:

  • Tel Gelaai Klas: Dit sal al die gelaai klas druk
  • Vang Strings: Dit sal al die gevangen strings druk terwyl jy die aansoek gebruik (baie lawaaierig)
  • Vang String Vergelykings: Kan baie nuttig wees. Dit sal die 2 strings wat vergelyk word wys en of die resultaat Waar of Vals was.
  • Tel Klas Metodes op: Plaas die klasnaam (soos "java.io.File") en dit sal al die metodes van die klas druk.
  • Soek Klaspatroon: Soek klasse volgens patroon
  • Spoor Klas Metodes op: Spoor 'n hele klas (sien insette en uitsette van al die metodes van die klas). Onthou dat MobSF standaard verskeie interessante Android Api-metodes nagaan.

Sodra jy die hulpmodule wat jy wil gebruik gekies het, moet jy "Begin Instrumentasie" druk en jy sal al die uitsette in "Frida Lewende Logboeke" sien.

Shell

Mobsf bring ook 'n skul met 'n paar adb-opdragte, MobSF-opdragte, en algemene skul opdragte aan die onderkant van die dinamiese analisepagina. Sommige interessante opdragte:

help
shell ls
activities
exported_activities
services
receivers

HTTP-gereedskap

Wanneer http-verkeer vasgelê word, kan jy 'n lelike aansig van die vasgelê verkeer sien op die "HTTP(S) Verkeer" onderkant of 'n mooier aansig in "Begin HTTPTools" groen onderkant. Van die tweede opsie af kan jy die vasgelê versoek na proksi's soos Burp of Owasp ZAP stuur.
Om dit te doen, skakel Burp aan --> skakel Intercept af --> in MobSB HTTPTools kies die versoek --> druk "Stuur na Fuzzer" --> kies die proksi-adres (http://127.0.0.1:8080\).

Nadat jy die dinamiese analise met MobSF voltooi het, kan jy op "Begin Web API Fuzzer" druk om http-versoeke te fuzz en na kwesbaarhede te soek.

{% hint style="info" %} Na die uitvoering van 'n dinamiese analise met MobSF kan die proksi-instellings verkeerd ingestel wees en sal jy dit nie vanaf die GUI kan regstel nie. Jy kan die proksi-instellings regstel deur die volgende te doen:

adb shell settings put global http_proxy :0

{% endhint %}

Ondersteunde Dinamiese Analise met Inspeckage

Jy kan die instrument kry vanaf Inspeckage.
Hierdie instrument gebruik Hooks om jou te laat weet wat in die aansoek gebeur terwyl jy 'n dinamiese analise uitvoer.

Yaazhini

Dit is 'n uitstekende instrument om statiese analise met 'n GUI uit te voer

Qark

Hierdie instrument is ontwerp om te soek na verskeie sekuriteitsverwante Android-toepassing kwesbaarhede, of in bronkode of verpakte APK's. Die instrument is ook in staat om 'n "Proof-of-Concept" implementeerbare APK en ADB-opdragte te skep, om van die gevonde kwesbaarhede te misbruik (Blootgestelde aktiwiteite, bedoelings, tapjacking...). Soos met Drozer, is daar geen behoefte om die toestel te root nie.

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

  • Wys al die onttrekte lêers vir maklike verwysing
  • Ontbind outomaties APK-lêers na Java- en Smali-formaat
  • Analiseer AndroidManifest.xml vir algemene kwesbaarhede en gedrag
  • Statiese bronkode-analise vir algemene kwesbaarhede en gedrag
  • Toestelinligting
  • en meer
reverse-apk relative/path/to/APP.apk

SUPER Android Analyzer

SUPER is 'n opdraggereeltoepassing wat in Windows, MacOS X en Linux gebruik kan word om .apk lêers te analiseer op soek na kwesbaarhede. Dit doen dit deur APK's te dekompresseer en 'n reeks reels toe te pas om daardie kwesbaarhede op te spoor.

Alle reels is gesentreer in 'n rules.json lêer, en elke maatskappy of toetspersoon kan sy eie reels skep om te analiseer wat hulle nodig het.

Laai die nuutste bineêre lêers af van die aflaaiblad

super-analyzer {apk_file}

StaCoAn

StaCoAn is 'n kruisplatform-werktuig wat ontwikkelaars, foutbeloningsjagters en etiese hackers help om statische kode-analise op mobiele aansoeke uit te voer.

Die konsep is dat jy jou mobiele aansoeklêer ( 'n .apk of .ipa-lêer) na die StaCoAn-toepassing sleep en afsit, en dit sal 'n visuele en draagbare verslag vir jou genereer. Jy kan die instellings en woordlyste aanpas om 'n aangepaste ervaring te kry.

Laai die nuutste vrystelling af:

./stacoan

AndroBugs

AndroBugs Framework is 'n Android kwetsbaarheidsanalise-sisteem wat ontwikkelaars of hackers help om potensiële sekuriteitskwetsbaarhede in Android-toepassings te vind.
Windows vrystellings

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

Androwarn

Androwarn is 'n instrument met die hoofdoel om potensiële skadelike gedrag wat deur 'n Android-toepassing ontwikkel is, op te spoor en die gebruiker te waarsku.

Die opsporing word uitgevoer met die statische analise van die toepassing se Dalvik-bytekode, voorgestel as Smali, met die androguard biblioteek.

Hierdie instrument soek na algemene gedrag van "slegte" toepassings soos: Telefoonidentifiseerders wat uitlek, Klank-/videovloei onderskepping, PIM-data-wysiging, Willekeurige kode-uitvoering...

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

MARA-raamwerk

MARA is 'n Mobiele Applikasie Reverse engineering en Analise-raamwerk. Dit is 'n instrument wat algemeen gebruikte mobiele applikasie reverse engineering en analise-instrumente saambring, om te help met die toets van mobiele toepassings teen die OWASP mobiele sekuriteitsbedreigings. Die doel is om hierdie taak makliker en vriendeliker te maak vir mobiele toepassingsontwikkelaars en sekuriteitsprofessionals.

Dit kan:

Koodous

Nuttig om malware op te spoor: https://koodous.com/

Kode obfuskasie/deobfuskasie

Let daarop dat afhangende van die diens en konfigurasie wat jy gebruik om die kode te obfuskeer. Geheime mag al dan nie geobfuskeer eindig nie.

ProGuard

Vanaf Wikipedia: ProGuard is 'n oopbron-kommalyn-instrument wat Java-kode verklein, optimaliseer en obfuskeer. Dit kan bytecode optimaliseer sowel as ongebruikte instruksies opspoor en verwyder. ProGuard is vrye sagteware en word versprei onder die GNU Algemene Openbare Lisensie, weergawe 2.

ProGuard word versprei as deel van die Android SDK en hardloop wanneer die aansoek in vrystellingmodus gebou word.

DexGuard

Vind 'n stap-vir-stap-gids om die apk te deobfuskeer in https://blog.lexfo.fr/dexguard.html

(Uit daardie gids) Laaste keer wat ons gekyk het, was die werkwys van Dexguard:

  • laai 'n hulpbron as 'n InputStream;
  • voer die resultaat aan 'n klas wat van FilterInputStream erf om dit te dekripteer;
  • doen 'n paar nuttelose obfuskasie om 'n paar minute van 'n omkeerder se tyd te mors;
  • voer die dekripteerde resultaat aan 'n ZipInputStream om 'n DEX-lêer te kry;
  • laai uiteindelik die resulterende DEX as 'n hulpbron deur die loadDex-metode te gebruik.

DeGuard

DeGuard keer die proses van obfuskasie wat deur Android obfuskasie-instrumente uitgevoer is, om. Dit maak verskeie sekuriteitsontledings moontlik, insluitend kode-inspeksie en voorspelling van biblioteke.

Jy kan 'n geobfuskeerde APK na hul platform oplaai.

Vereenvoudig

Dit is 'n generiese Android deobfuskator. Vereenvoudig voer feitlik 'n app uit om sy gedrag te verstaan en probeer dan die kode te optimaliseer sodat dit identies optree, maar makliker vir 'n mens is om te verstaan. Elke optimiseringssoort is eenvoudig en generies, dus maak dit nie saak watter spesifieke tipe obfuskasie gebruik word nie.

APKiD

APKiD gee jou inligting oor hoe 'n APK gemaak is. Dit identifiseer baie kompilers, pakkers, obfuskators, en ander vreemde goed. Dit is PEiD vir Android.

Handleiding

Lees hierdie handleiding om 'n paar truuks te leer oor hoe om aangepaste obfuskasie om te keer

Laboratoriums

Androl4b

AndroL4b is 'n Android-sekuriteitsvirtuele masjien gebaseer op ubuntu-mate wat die versameling van die nuutste raamwerk, tutoriale en laboratoriums van verskillende sekuriteitsgeek en navorsers insluit vir omgekeerde ingenieurswese en malware-analise.

Verwysings

Nog om te probeer

Sluit aan by HackenProof Discord bediener om met ervare hackers en foutbeloningsjagters te kommunikeer!

Hack-insigte
Gaan in gesprek met inhoud wat die opwinding en uitdagings van hack bekyk

Nuus oor Hack in Werklikheid
Bly op hoogte van die vinnige tempo van die hack-wêreld deur middel van nuus en insigte in werklikheid

Nuutste Aankondigings
Bly ingelig met die nuutste foutbelonings wat bekendgestel word en kritieke platformopdaterings

Sluit by ons aan op Discord en begin vandag saamwerk met top hackers!

Leer AWS-hack van nul tot held met htARTE (HackTricks AWS Red Team Expert)!

Ander maniere om HackTricks te ondersteun: