hacktricks/mobile-pentesting/android-app-pentesting
2024-02-11 02:07:06 +00:00
..
drozer-tutorial Translated to Afrikaans 2024-02-11 02:07:06 +00:00
frida-tutorial Translated to Afrikaans 2024-02-11 02:07:06 +00:00
adb-commands.md Translated to Afrikaans 2024-02-11 02:07:06 +00:00
android-applications-basics.md Translated to Afrikaans 2024-02-11 02:07:06 +00:00
android-task-hijacking.md Translated to Afrikaans 2024-02-11 02:07:06 +00:00
apk-decompilers.md Translated to Afrikaans 2024-02-11 02:07:06 +00:00
avd-android-virtual-device.md Translated to Afrikaans 2024-02-11 02:07:06 +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 to Afrikaans 2024-02-11 02:07:06 +00:00
install-burp-certificate.md Translated to Afrikaans 2024-02-11 02:07:06 +00:00
intent-injection.md Translated to Afrikaans 2024-02-11 02:07:06 +00:00
make-apk-accept-ca-certificate.md Translated to Afrikaans 2024-02-11 02:07:06 +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 to Afrikaans 2024-02-11 02:07:06 +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 to Afrikaans 2024-02-11 02:07:06 +00:00

Android-toepassingspentesting

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

Ander maniere om HackTricks te ondersteun:

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

Hacking-insigte
Raak betrokke by inhoud wat die opwinding en uitdagings van hacking ondersoek

Hacknuus in werklike tyd
Bly op hoogte van die vinnige wêreld van hacking deur werklike nuus en insigte

Nuutste aankondigings
Bly ingelig oor die nuutste foutjagte wat begin en belangrike platformopdaterings

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

Basiese beginsels van Android-toepassings

Dit word sterk aanbeveel om hierdie bladsy te 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 belangrikste hulpmiddel wat jy nodig het om met 'n Android-toestel (geëmuleer of fisies) te verbind.
ADB maak dit moontlik om toestelle oor USB of Netwerk vanaf 'n rekenaar te beheer. Hierdie hulpprogram maak die kopieer van lêers in beide rigtings moontlik, die installeer en verwyder van programme, die uitvoer van skelopdragte, die rugsteun van data, die lees van logboeke, en ander funksies.

Neem 'n kyk 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 verborge inligting (miskien goed versteekte wagwoorde of vlae). Dan kan dit interessant wees om die apk te dekompilieer, die kode te wysig en dit weer te kompilieer.
In hierdie handleiding kan jy leer hoe om 'n APK te dekompilieer, Smali-kode te wysig en die APK weer te kompilieer 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 analisering van 'n APK moet jy kyk na die Java-kode deur 'n decompiler te gebruik.
Lees asseblief hier om inligting oor verskillende beskikbare decompilers te vind.

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 uuid's, tokens en enige iets interessant... soek selfs vir kode-uitvoerings agterdeure of outentiseringsagterdeure (hardgekodeerde administratiewe geloofsbriewe vir die app).

Firebase

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

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

Die ondersoek van 'n toepassing se Manifest.xml en strings.xml lêers kan potensiële sekuriteitskwessies aan die lig bring. Hierdie lêers kan verkry word deur decompilers te gebruik of deur die APK-lêer se uitbreiding na .zip te verander en dit dan uit te pak.

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

  • Toepassings in die ontwikkelingsfase: Toepassings wat as ontwikkelingsfase (debuggable="true") in die Manifest.xml lêer ingestel is, stel 'n risiko omdat dit verbindinge toelaat wat tot uitbuiting kan lei. Vir verdere begrip oor hoe om toepassings in die ontwikkelingsfase te vind en uit te buit, verwys na 'n handleiding oor die vind en uitbuiting van toepassings in die ontwikkelingsfase op 'n toestel.

  • Rugsteuninstellings: Die android:allowBackup="false" eienskap moet eksplisiet ingestel word vir toepassings wat met sensitiewe inligting werk om ongemagtigde databack-ups via adb te voorkom, veral wanneer USB-ontwikkeling ingeskakel is.

  • Netwerksekuriteit: Aangepaste netwerksekuriteitskonfigurasies (android:networkSecurityConfig="@xml/network_security_config") in res/xml/ kan sekuriteitsbesonderhede soos sertifikaatpennetjies 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 beklemtoon wat misbruik kan word. Verdere analise tydens dinamiese toetsing kan onthul hoe om hierdie komponente uit te buit.

  • Inhoudsverskaffers en lêerverskaffers: Blootgestelde inhoudsverskaffers kan ongemagtigde toegang of wysiging van data moontlik maak. Die konfigurasie van lêerverskaffers moet ook nagegaan word.

  • Uitsaai-ontvangers en URL-skemas: Hierdie komponente kan benut word vir uitbuiting, met besondere aandag vir hoe URL-skemas bestuur word vir insetkwessies.

  • SDK-weergawes: Die minSdkVersion, targetSDKVersion en maxSdkVersion eienskappe dui die ondersteunde Android-weergawes aan en beklemtoon die belangrikheid om verouderde, kwesbare Android-weergawes nie vir sekuriteitsredes te ondersteun nie.

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

Tapjacking

Tapjacking is 'n aanval waar 'n boosaardige toepassing geloods word en sigself bo-op 'n slagoffer-toepassing plaas. Sodra dit die slagoffer-toepassing sigbaar bedek, is sy gebruikerskoppelvlak so ontwerp dat dit die gebruiker mislei om daarmee te interaksieer, terwyl dit die interaksie aan die slagoffer-toepassing deurgee.
In werklikheid verblind dit die gebruiker om te weet dat hy eintlik handelinge op die slagoffer-toepassing 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 toepassing geïnstalleer kan word en as dit voor die werklike toepassing geloods word, kan dit die taak van die werklike toepassing ontvoer (sodat die gebruiker dink hy gebruik die regte toepassing).

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 geberg word, ontwerp om uitsluitlik deur die toepassing wat dit geskep het, toeganklik te wees. Hierdie sekuriteitsmaatreël word deur die Android-bedryfstelsel afgedwing en is oor die algemeen voldoende vir die sekuriteitsbehoeftes van die meeste toepassings. Ontwikkelaars maak egter soms gebruik van modusse soos MODE_WORLD_READABLE en MODE_WORLD_WRITABLE om lêers toe te laat om gedeel te word tussen verskillende toepassings. Hierdie modusse beperk egter nie toegang tot hierdie lêers deur ander toepassings nie, insluitend potensieel boosaardige toepassings.

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

Eksterne opberging

Wanneer dit kom by lêers op eksterne opberging, soos SD-kaarte, moet sekere voorbehoudsmaatreëls getref word:

  1. Toeganklikheid:
  • Lêers op eksterne opberging is wêreldwyd leesbaar en skryfbaar. Dit beteken dat enige toepassing of gebruiker toegang tot hierdie lêers kan verkry.
  1. Sekuriteitskwessies:
  • Gegewe die maklikheid van toegang, word dit aangeraai om nie sensitiewe inligting op eksterne opberging te stoor nie.
  • Eksterne opberging kan verwyder of deur enige toepassing benader word, wat dit minder veilig maak.
  1. Hantering van Data van Eksterne Opberging:
  • Voer altyd insetvalidering uit op data wat uit eksterne opberging herwin word. Dit is van kritieke belang 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 toepassing uitvoerbare lêers vanaf eksterne opberging moet herwin, verseker dan dat hierdie lêers onderteken en kriptografies geverifieer word voordat hulle dinamies gelaai word. Hierdie stap is van kritieke belang vir die handhawing van die sekuriteitsintegriteit van jou toepassing.

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

{% hint style="info" %} Vanaf Android 4.4 (API 17) het die SD-kaart 'n gidsstruktuur wat **toegang vanaf 'n toepassing

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

'n Goeie manier om dit te toets is om te probeer om die verkeer vas te vang deur 'n proxy soos Burp te gebruik sonder om die Burp CA binne die toestel te magtig. Jy kan ook 'n sertifikaat vir 'n ander gasheernaam genereer met behulp van Burp.

Gebroke Kriptografie

Swak Sleutelbestuurprosesse

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

Gebruik van Onveilige en/of Verouderde Algoritmes

Ontwikkelaars moet nie verouderde algoritmes gebruik om outorisasie toetse, stoor of stuur data uit te voer nie. Sommige van hierdie algoritmes is: RC4, MD4, MD5, SHA1... As hashes byvoorbeeld gebruik word om wagwoorde te stoor, moet weerstandbiedende hashe met sout gebruik word.

Ander toetse

  • Dit word aanbeveel om die APK te versteek om die omkeerwerk van aanvallers te bemoeilik.
  • As die toepassing sensitief is (soos banktoepassings), moet dit sy eie toetse uitvoer om te sien of die mobiele toestel gewortel is en daarna optree.
  • As die toepassing sensitief is (soos banktoepassings), moet dit nagaan of 'n emulator gebruik word.
  • As die toepassing sensitief is (soos banktoepassings), moet dit sy eie integriteit nagaan voordat dit uitgevoer word om te sien of dit gewysig is.
  • Gebruik APKiD om te kyk watter samesteller/pakker/versteektegniek gebruik is om die APK te bou.

React Native-toepassing

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

{% 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 te verkry tot die C#-kode van 'n Xamarin-toepassing:

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

Supergepakte Toepassings

Volgens hierdie blogpos is supergepak '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 uit 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 deursoek. Hierdie instrument bevat 'n reeks bekende bronne (wat die instrument aandui waar die inskrywing deur die gebruiker beheer word), sinks (wat die instrument gevaarlike plekke aandui waar kwaadwillige gebruikersinskrywing 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 deurloop en moontlike kwesbaarhede daarop vind.

Uitgelekte Geheime

'n Toepassing kan 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 Outentisering te Omseil

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

Ander interessante funksies

  • Kode-uitvoering: Runtime.exec(), ProcessBuilder(), native code:system()
  • Stuur SMS'e: sendTextMessage, sendMultipartTestMessage
  • Inheemse funksies wat as native verklaar is: public native, System.loadLibrary, System.load
  • Lees dit om te leer hoe om inheemse funksies om te keer

Ander truuks

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


Sluit aan by die HackenProof Discord-bediener om met ervare hackers en foutjagters te kommunikeer!

Hacking-insigte
Raak betrokke by inhoud wat die opwinding en uitdagings van hackering ondersoek

Nuus oor Hackering in Werkliktyd
Bly op hoogte van die vinnige hackeringwêreld deur middel van nuus en insigte in werkliktyd

Nuutste Aankondigings
Bly op hoogte van die nuutste foutjagte wat begin en belangrike platformopdaterings

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


Dinamiese Analise

Eerstens het jy 'n omgewing nodig waar jy die toepassing en die hele omgewing (Burp CA-sertifikaat, Drozer en Frida hoofsaaklik) kan installeer. 'n Gewortelde toestel (geëmuleer of nie) word dus 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 oplaai en uit te voer, sodat jy kan sien hoe 'n APK optree.

Jy kan selfs die logs van jou toepassing in die web sien en deur middel van adb daarmee verbind.

Dankie aan die ADB-verbindings kan jy Drozer en Frida binne die emulators gebruik.

Plaaslike Dinamiese Analise

Deur 'n emulator te gebruik

  • Android Studio (Jy kan x86 en arm toestelle skep, en volgens hierdie nuutste x86 weergawes ondersteun ARM-biblioteke sonder 'n stadige arm-emulator nodig te hê).
  • Leer hoe 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 emulator op enige platform skep, onthou dat hoe groter die skerm is, hoe stadiger die emulator sal loop. Kies dus klein skerms as moontlik. {% endhint %}

Om Google-dienste (soos AppStore) in Genymotion te installeer, moet jy op die rooi gemerkte knoppie van die volgende prentjie 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 vanaf 'n ander VM met die gereedskappe na die Android VM sal verbind).

Gebruik 'n fisiese toestel

Jy moet die afstelopsies vir foutopsporing aktiveer en dit sal goed wees as jy dit kan root:

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

Sodra jy die toepassing geïnstalleer het, is die eerste ding wat jy moet doen, om dit te probeer en ondersoek wat dit doen, hoe werk dit en gemaklik daarmee te voel.
Ek sal voorstel om hierdie aanvanklike dinamiese analise uit te voer deur gebruik te maak van MobSF dinamiese analise + pidcat, sodat ons kan leer hoe die toepassing werk terwyl MobSF 'n baie 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 monitorering van toepassingslogboeke om sensitiewe inligting te identifiseer en te beskerm. Pidcat word verkies vanweë sy gebruiksgemak en leesbaarheid.

{% hint style="warning" %} Let daarop dat vanaf later nuwer as Android 4.0, kan toepassings slegs toegang hê tot hul eie logboeke. So toepassings kan nie toegang hê tot ander toepassings se logboeke nie.
In elk geval word dit steeds aanbeveel om geen sensitiewe inligting te log nie. {% endhint %}

Kopiëer/Plak Buffer Caching

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

Storting Logboeke

As 'n toepassing afskakel en logboeke stoor, kan hierdie logboeke aanvallers help, veral wanneer die toepassing nie omgekeer-ontgin kan word nie. Om hierdie risiko te verminder, moet jy vermy om logboeke by afskakelings te registreer, en as logboeke oor die netwerk gestuur moet word, moet jy verseker dat hulle via 'n SSL-kanaal vir sekuriteit gestuur word.

As pentester, kyk na hierdie logboeke.

Analitiese Data wat na Derdepartye Gestuur Word

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 of enige sensitiewe inligting na derdeparty-dienste gestuur word.

SQLite-databasisse

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

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

Enumerate die tabelle deur .tables te gebruik en die kolomme van die tabelle te enumerate deur .schema <tabel_naam> te doen.

Drozer (Exploit Aktiwiteite, Inhoudsverskaffers en Dienste)

Vanaf Drozer Docs: Drozer stel jou in staat om die rol van 'n Android-toepassing aan te neem en met ander toepassings te interaksieer. Dit kan alles doen wat 'n geïnstalleerde toepassing kan doen, soos gebruik maak van Android se Inter-Process Communication (IPC) meganisme en interaksie hê met die onderliggende bedryfstelsel.
Drozer is 'n nuttige hulpmiddel om geëksporteerde aktiwiteite, geëksporteerde dienste en Inhoudsverskaffers uit te buit, soos jy in die volgende afdelings sal leer.

Uitbuiting van geëksporteerde Aktiwiteite

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

Bypass van Toestemming

Wanneer 'n Aktiwiteit uitgevoer word, kan jy sy skerm vanuit 'n eksterne toepassing oproep. Daarom, as 'n aktiwiteit met sensitiewe inligting geëksporteer word, kan jy die outentiseringsmeganismes omseil om daarby te kom.

Leer hoe om geëksporteerde aktiwiteite uit te buit met Drozer.

Jy kan ook 'n geëksporteerde aktiwiteit vanuit adb begin:

  • PakketNaam is com.example.demo
  • Geëksporteerde 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 slegs gevaarlik te wees op ou weergawes (API weergawes < 21).

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

Gevoelige inligting lekkasie

Aktiwiteite kan ook resultate teruggee. As jy 'n uitgevoerde en onbeskermde aktiwiteit vind wat die setResult metode aanroep en gevoelige inligting teruggee, is daar 'n gevoelige 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 Tapjacking is, volg die skakel.

Uitbuiting van Inhoudsverskaffers - Toegang tot en manipulasie van gevoelige inligting

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

Leer hoe om Inhoudsverskaffers uit te buit met Drozer.

Uitbuiting van Dienste

Lees dit as jy wil onthou 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 verwerk en teruggee (of nie) 'n respons. As 'n toepassing dienste uitvoer, moet jy die kode nagaan om te verstaan wat dit doen en dit dinamies toets om vertroulike inligting te onttrek, outentiseringsmaatreëls te omseil...
Leer hoe om Dienste uit te buit met Drozer.

Uitbuiting van Uitsaai-Ontvangers

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

'n Uitsaai-ontvanger sal wag op '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.

Jy kan handmatig soek na dieplinks deur gereedskap soos MobSF te gebruik, of skripte soos hierdie.
Jy kan 'n gedeclareerde skema open deur gebruik te maak van 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 toepassing oproep wat die skakel moet 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 %}

Uitgevoerde kode

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 die pad

Jy moet ook nagaan of enige deeplink 'n parameter in 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 example://app/users?username=../../unwanted-endpoint%3fparam=value te gebruik.
Let daarop dat as jy die korrekte eindpunte binne die toepassing vind, jy 'n Open Redirect kan veroorsaak (as 'n deel van die pad as domeinnaam gebruik word), rekeningoornames (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-rapport oor skakels (/.well-known/assetlinks.json).

Vervoerlaag-inspeksie en verifikasie-foute

  • 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-verbindinge.
  • Onderhandelinge tydens die SSL/TLS-handdruk is soms swak, met die gebruik van onveilige siferreeks. Hierdie kwesbaarheid maak die verbinding vatbaar vir man-in-die-middel (MITM) aanvalle, wat aanvallers in staat stel om die data te ontsleutel.
  • Uitlekking van private inligting is 'n risiko wanneer toepassings gebruik maak van veilige kanale vir verifikasie, maar dan kommunikeer oor nie-veilige kanale vir ander transaksies. Hierdie benadering slaag daarin om sensitiewe data, soos sessiekoekies of gebruikersbesonderhede, te beskerm teen onderskepping deur kwaadwillige entiteite nie.

Sertifikaatverifikasie

Ons sal fokus op sertifikaatverifikasie. Die integriteit van die bediener se sertifikaat moet geverifieer word om die veiligheid te verbeter. Dit is van kritieke belang omdat onveilige TLS-konfigurasies en die oordrag van sensitiewe data oor onversleutelde kanale aansienlike risiko's kan inhou. Vir gedetailleerde stappe oor die verifikasie van bediener-sertifikate 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. Dit word sterk aanbeveel om SSL Pinning te implementeer vir toepassings wat sensitiewe inligting hanteer.

Verkeersinspeksie

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

Toepassings wat API-vlak 24 en hoër teiken, vereis wysigings aan die Netwerkbeveiligingskonfigurasie 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 Netwerkbeveiligingskonfigurasie, raadpleeg hierdie handleiding.

Omseil SSL Pinning

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

  • Pas outomaties die apk aan om SSL Pinning te omseil met apk-mitm. Die grootste voordeel van hierdie opsie is dat jy nie root-toegang nodig het om die SSL Pinning te omseil nie, maar jy sal die toepassing moet verwyder en die nuwe een herinstalleer, en dit sal nie altyd werk nie.
  • Jy kan Frida (hieronder bespreek) gebruik om hierdie beskerming te omseil. Hier het jy 'n gids om Burp+Frida+Genymotion te gebruik: https://spenkk.github.io/bugbounty/Configuring-Frida-with-Burp-and-GenyMotion-to-bypass-SSL-Pinning/
  • Jy kan ook probeer om SSL Pinning outomaties te omseil deur objection: objection --gadget com.package.app explore --startup-command "android sslpinning disable" te gebruik.
  • Jy kan ook probeer om SSL Pinning outomaties te omseil deur MobSF-dinamiese analise te gebruik (hieronder verduidelik).
  • As jy steeds dink dat daar verkeer is wat jy nie vasvang nie, kan jy probeer om die verkeer na burp te stuur deur iptables te gebruik. Lees hierdie blog: https://infosecwriteups.com/bypass-ssl-pinning-with-ip-forwarding-iptables-568171b52b62

Soek na algemene webkwesbaarhede

Dit is ook belangrik om 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 uitvoerig gedek.

Frida

Frida is 'n dinamiese instrumentasiehulpmiddel vir ontwikkelaars, omgekeerde-ingenieurs en sekuriteitsnavorsers.
Jy kan toegang verkry tot die lopende toepassing en metodes tydens uitvoering koppel 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.

Dump Memory - Fridump

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

Met behulp van Fridump3 kan jy die geheue van die toepassing dump 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 aflaai, en daar kan jy soek met iets soos:

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

Sensitiewe data in Keystore

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

Selfs as 'n app 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/Biometrie Omspring

Deur die volgende Frida-skrip te gebruik, is dit moontlik om vingerafdruk-verifikasie wat Android-toepassings dalk uitvoer om sekere sensitiewe areas te beskerm, te omseil:

{% code overflow="wrap" %}

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

{% endcode %}

Agtergrondbeelde

Wanneer jy 'n toepassing agtergrond plaas, stoor Android 'n afbeelding van die toepassing sodat wanneer dit na die voorgrond herstel word, dit die beeld laai voordat die app laai, sodat dit lyk asof die app vinniger gelaai is.

Maar as hierdie afbeelding sensitiewe inligting bevat, kan iemand met toegang tot die afbeelding daardie inligting steel (let wel dat jy worteltoegang nodig het om dit te kan doen).

Die afbeeldings word gewoonlik gestoor in: /data/system_ce/0/snapshots

Android bied 'n manier om die vaslegging van skermskote te voorkom deur die FLAG_SECURE uitlegparameter in te stel. Deur hierdie vlag te gebruik, word die vensterinhoud as veilig beskou, wat voorkom dat dit in skermskote 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 instrumente te bestuur tydens die dinamiese analise: https://github.com/NotSoSecure/android_application_analyzer

Intent-inspuiting

Ontwikkelaars skep dikwels proksi-komponente soos aktiwiteite, dienste en uitsaai-ontvangers wat hierdie Intents hanteer en dit 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 deur Intent.parseUri(...) en dit dan uitvoer, wat moontlik kan lei tot skadelike Intent-inspuitings.

Belangrike punte

  • Intent-inspuiting is soortgelyk aan die web se Open Redirect-probleem.
  • Aanvalle behels die deurgawe van Intent-voorwerpe as ekstras, wat omgerig kan word om onveilige handelinge 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

Waarskynlik weet jy van hierdie soort kwesbaarhede van die web. Jy moet spesiaal versigtig wees met hierdie kwesbaarhede in 'n Android-toepassing:

  • SQL-inspuiting: Wanneer jy te doen het met dinamiese navrae of inhoudsverskaffers, moet jy verseker dat jy geparametriseerde navrae gebruik.
  • JavaScript-inspuiting (XSS): Verifieer dat JavaScript- en Plugin-ondersteuning gedeaktiveer is vir enige WebViews (standaard gedeaktiveer). Meer inligting hier.
  • Plaaslike lêerinsluiting: 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 beëindig, 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 te kommunikeer met ervare hackers en foutjagters!

Hacking-insigte
Raak betrokke by inhoud wat die opwinding en uitdagings van hackering ondersoek

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

Nuutste aankondigings
Bly ingelig met die nuutste foutjagbountes wat bekendgestel word en kritieke platform-opdaterings

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

Outomatiese analise

MobSF

Statiese analise

Kwesbaarheidsbeoordeling van die toepassing deur gebruik te maak van 'n aangename webgebaseerde 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 Android(apk), IOS(ipa) en Windows(apx) programme kan analiseer (Windows programme moet geanaliseer word vanaf 'n MobSF wat op 'n Windows-gasheer geïnstalleer is).
As jy 'n ZIP-lêer skep met die bronkode van 'n Android- of IOS-toepassing (gaan na die hoofmap van die toepassing, kies alles en skep 'n ZIP-lêer), sal dit ook in staat wees om dit te analiseer.

MobSF maak dit ook moontlik om analise te diff/Vergelyk en om VirusTotal te integreer (jy sal jou API-sleutel in MobSF/settings.py moet instel en dit aktiveer: VT_ENABLED = TRUE VT_API_KEY = <Jou API-sleutel> VT_UPLOAD = TRUE). Jy kan ook VT_UPLOAD op False stel, 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 moet jy MobSF en genymotion op jou gasheer installeer ( 'n VM of Docker sal nie werk nie). Let op: Jy moet eers 'n VM in genymotion begin en dan MobSF.
Die MobSF dinamiese analiseerder kan:

  • Toepassingsdata dump (URL's, logboeke, knipplank, skermskote wat deur jou geneem is, skermskote wat deur "Exported Activity Tester" geneem is, e-posse, SQLite-databasisse, XML-lêers en ander geskepde lêers). Alles word outomaties gedoen, behalwe vir die skermskote, jy moet druk wanneer jy 'n skermskoot wil hê of jy moet "Exported Activity Tester" druk om skermskote van al die uitgevoerde aktiwiteite te verkry.
  • HTTPS-verkeer vasvang
  • Frida gebruik om runtime-inligting te verkry

Vanaf Android-weergawes > 5 sal dit outomaties Frida begin en sal dit globale proxy-instellings stel om verkeer vas te vang. Dit sal slegs verkeer van die getoetste toepassing vasvang.

Frida

Standaard sal dit ook sommige Frida-skripte gebruik om SSL-pinning, root-opsporing en ontleder-opsporing te omseil en om interessante API's te monitor.
MobSF kan ook uitgevoerde aktiwiteite aanroep, skermskote daarvan neem en dit vir die verslag stoor.

Om die dinamiese toetsing te begin, druk die groen knoppie: "Start Instrumentation". Druk die "Frida Live Logs" om die logboeke wat deur die Frida-skripte gegenereer is te sien en "Live API Monitor" om al die aanroepings na gehaakte metodes, argumente wat oorgedra is en teruggekeerde waardes te sien (dit sal verskyn nadat "Start Instrumentation" gedruk is).
MobSF maak dit ook moontlik 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 dit net, druk "Load" en druk "Start Instrumentation" (jy sal die logboeke van daardie skripte binne "Frida Live Logs" kan sien).

Verder het jy 'n paar Hulpskakel Frida-funksies:

  • Enumerate Loaded Classes: Dit sal al die gelaai klasse druk
  • Capture Strings: Dit sal al die vasgevang strings druk terwyl jy die toepassing gebruik (baie lawaaierig)
  • Capture String Comparisons: Dit kan baie nuttig wees. Dit sal die 2 strings wat vergelyk word wys en of die resultaat waar of vals was.
  • Enumerate Class Methods: Plaas die klassenaam (soos "java.io.File") en dit sal al die metodes van die klas druk.
  • Search Class Pattern: Soek klasse volgens patroon
  • Trace Class Methods: Trace 'n hele klas (sien insette en uitsette van alle metodes van die klas). Onthou dat MobSF standaard verskeie interessante Android API-metodes naspoor.

Sodra jy die hulpskakelmodule wat jy wil gebruik, gekies het, moet jy "Start Intrumentation" druk en jy sal al die uitsette in "Frida Live Logs" sien.

Shell

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

help
shell ls
activities
exported_activities
services
receivers

HTTP-hulpmiddels

Wanneer http-verkeer gevang word, kan jy 'n lelike weergawe van die gevangde verkeer sien op die "HTTP(S) Traffic" onderkant of 'n mooier weergawe in die "Begin HTTPTools" groen onderkant. Vanaf die tweede opsie kan jy die gevangde 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 gekonfigureer wees en sal jy nie in staat wees om dit vanuit die GUI reg te stel 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 gebeur in die toepassing terwyl jy 'n dinamiese analise uitvoer.

Yaazhini

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

Qark

Hierdie instrument is ontwerp om te soek na verskeie veiligheidsverwante kwessies in Android-toepassings, hetsy 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 sommige van die gevonde kwessies gebruik te maak (blootgestelde aktiwiteite, bedoelings, tapjacking...). Soos met Drozer, is daar geen nodig 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
  • Onttrek outomaties APK-lêers na Java- en Smali-formaat
  • Analiseer AndroidManifest.xml vir algemene kwesbaarhede en gedrag
  • Statische bronkode-analise vir algemene kwesbaarhede en gedrag
  • Toestel-inligting
  • en meer
reverse-apk relative/path/to/APP.apk

SUPER Android Analyzer

SUPER is 'n opdraglyn-toepassing 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 reëls toe te pas om daardie kwesbaarhede op te spoor.

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

Laai die nuutste binaêre lêers af van die aflaaibladsy

super-analyzer {apk_file}

StaCoAn

StaCoAn is 'n kruisplatform-hulpmiddel wat ontwikkelaars, bugbounty-jagters en etiese hackers help om statiese kode-analise op mobiele toepassings uit te voer.

Die konsep is dat jy jou mobiele toepassingslêer ( 'n .apk- of .ipa-lêer) na die StaCoAn-toepassing sleep en laat dit 'n visuele en draagbare verslag vir jou genereer. Jy kan die instellings en woordelyste aanpas om 'n aangepaste ervaring te verkry.

Laai die nuutste vrystelling af:

./stacoan

AndroBugs

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

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

Androwarn

Androwarn is 'n instrument wat hoofsaaklik ontwikkel is om die gebruiker te waarsku oor potensiële skadelike gedrag wat deur 'n Android-toepassing ontwikkel is.

Die opsporing word uitgevoer deur die statiese analise van die toepassing se Dalvik-bytekode, wat verteenwoordig word as Smali, met behulp van die androguard biblioteek.

Hierdie instrument soek na algemene gedrag van "slegte" toepassings soos: Telefoonidentifiseerders wat uitgelek word, Audio-/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 saamvoeg om te help met die toetsing van mobiele applikasies teen die OWASP mobiele sekuriteitsbedreigings. Die doel is om hierdie taak makliker en vriendeliker te maak vir mobiele applikasie-ontwikkelaars en sekuriteitsprofessionele.

Dit kan die volgende doen:

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 obfuskasie. Geheime kan al dan nie geobfuskasie word nie.

ProGuard

Vanaf Wikipedia: ProGuard is 'n oopbron-opdraglyninstrument wat Java-kode verskrimp, optimaliseer en obfuskasie. Dit kan bytecode optimaliseer sowel as ongebruikte instruksies opspoor en verwyder. ProGuard is vrye sagteware en word versprei onder die GNU General Public License, weergawe 2.

ProGuard word versprei as deel van die Android SDK en word uitgevoer wanneer die toepassing in vrystellingsmodus gebou word.

DexGuard

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

(Vanuit daardie gids) Laaste keer wat ons gekyk het, was die Dexguard-modus van bedryf:

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

DeGuard

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

Jy kan 'n geobfuskaseerde APK na hul platform oplaai.

Vereenvoudig

Dit is 'n generiese Android deobfuskator. Vereenvoudig voer prakties 'n toepassing uit om sy gedrag te verstaan en probeer dan die kode te optimaliseer sodat dit identies optree, maar makliker verstaanbaar is vir 'n mens. Elke tipe optimalisering 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 en bevat die versameling van die nuutste raamwerk, tutoriale en laboratoriums van verskillende sekuriteitsgeek en navorsers vir omgekeerde ingenieurswese en malware-analise.

Verwysings

Nog om te probeer

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

Hacking-insigte
Raak betrokke by inhoud wat die opwinding en uitdagings van hacking ondersoek

Nuus oor gehackte tyd
Bly op hoogte van die vinnige wêreld van hacking deur middel van nuus en insigte in werklike tyd

Nuutste aankondigings
Bly op hoogte van die nuutste foutvondsjaers wat begin en noodsaaklike platformopdaterings

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

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

Ander maniere om HackTricks te ondersteun: