mirror of
https://github.com/carlospolop/hacktricks
synced 2024-11-22 04:33:28 +00:00
Translated ['mobile-pentesting/android-app-pentesting/README.md'] to af
This commit is contained in:
parent
fb02136e88
commit
9e772d13ef
1 changed files with 72 additions and 72 deletions
|
@ -20,9 +20,9 @@ Leer & oefen GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size=
|
|||
Sluit aan by [**HackenProof Discord**](https://discord.com/invite/N3FrSbmwdy) bediener om te kommunikeer met ervare hackers en bug bounty jagters!
|
||||
|
||||
**Hacking Inligting**\
|
||||
Betrek jouself met inhoud wat die opwinding en uitdagings van hacking ondersoek
|
||||
Betrek met inhoud wat die opwinding en uitdagings van hacking ondersoek
|
||||
|
||||
**Regstydse Hack Nuus**\
|
||||
**Regstyds Hack Nuus**\
|
||||
Bly op hoogte van die vinnig bewegende hacking wêreld deur regstydse nuus en insigte
|
||||
|
||||
**Laaste Aankondigings**\
|
||||
|
@ -41,7 +41,7 @@ Dit word sterk aanbeveel om hierdie bladsy te begin lees om meer te weet oor die
|
|||
## ADB (Android Debug Bridge)
|
||||
|
||||
Dit is die hoofgereedskap wat jy nodig het om met 'n android toestel (geëmuleer of fisies) te verbind.\
|
||||
**ADB** stel jou in staat om toestelle te beheer of oor **USB** of **Netwerk** vanaf 'n rekenaar. Hierdie nut kan die **kopieer** van lêers in beide rigtings, **installasie** en **deïnstallasie** van toepassings, **uitvoering** van shell-opdragte, **rugsteun** van data, **lees** van logs, onder andere funksies, moontlik maak.
|
||||
**ADB** laat jou toe om toestelle te beheer of oor **USB** of **Netwerk** vanaf 'n rekenaar. Hierdie nut kan die **kopieer** van lêers in beide rigtings, **installasie** en **verwydering** van toepassings, **uitvoering** van shell-opdragte, **rugsteun** van data, **lees** van logs, onder andere funksies, moontlik maak.
|
||||
|
||||
Kyk na die volgende lys van [**ADB Opdragte**](adb-commands.md) om te leer hoe om adb te gebruik.
|
||||
|
||||
|
@ -67,7 +67,7 @@ adb pull /data/app/com.android.insecurebankv2-Jnf8pNgwy3QA_U5f-n_4jQ==/base.apk
|
|||
* Voeg alle splits en basis apks saam met [APKEditor](https://github.com/REAndroid/APKEditor):
|
||||
```bash
|
||||
mkdir splits
|
||||
adb shell pm path com.android.insecurebankv2 | cut -d ':' -f 1 | xargs -n1 -i adb pull {} splits
|
||||
adb shell pm path com.android.insecurebankv2 | cut -d ':' -f 2 | xargs -n1 -i adb pull {} splits
|
||||
java -jar ../APKEditor.jar m -i splits/ -o merged.apk
|
||||
|
||||
# after merging, you will need to align and sign the apk, personally, I like to use the uberapksigner
|
||||
|
@ -75,7 +75,7 @@ java -jar uber-apk-signer.jar -a merged.apk --allowResign -o merged_signed
|
|||
```
|
||||
## Statiese Analise
|
||||
|
||||
Eerstens, om 'n APK te analiseer, moet jy **na die Java-kode kyk** met behulp van 'n decompiler.\
|
||||
Eerstens, om 'n APK te analiseer, moet jy **kyk na die Java-kode** met behulp van 'n decompiler.\
|
||||
Asseblief, [**lees hier om inligting oor verskillende beskikbare decompilers te vind**](apk-decompilers.md).
|
||||
|
||||
### Soek na interessante Inligting
|
||||
|
@ -84,7 +84,7 @@ Net deur na die **strings** van die APK te kyk, kan jy soek na **wagwoorde**, **
|
|||
|
||||
**Firebase**
|
||||
|
||||
Gee 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.](../../network-services-pentesting/pentesting-web/buckets/firebase-database.md)
|
||||
Gee spesiale aandag aan **firebase URL's** en kyk of dit sleg gekonfigureer is. [Meer inligting oor wat Firebase is en hoe om dit te benut hier.](../../network-services-pentesting/pentesting-web/buckets/firebase-database.md)
|
||||
|
||||
### Basiese begrip van die toepassing - Manifest.xml, strings.xml
|
||||
|
||||
|
@ -97,15 +97,15 @@ Die **ondersoek van 'n toepassing se \_Manifest.xml**_\*\* en \*\*_**strings.xml
|
|||
* **Netwerk Sekuriteit**: Pasgemaakte netwerk sekuriteit konfigurasies (`android:networkSecurityConfig="@xml/network_security_config"`) in _res/xml/_ kan sekuriteitsbesonderhede soos sertifikaat pins en HTTP-verkeer instellings spesifiseer. 'n Voorbeeld is om HTTP-verkeer vir spesifieke domeine toe te laat.
|
||||
* **Gedeelde Aktiwiteite en Dienste**: Die identifisering van gedeelde 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.
|
||||
* **Inhoud Verskaffers en LêerVerskaffers**: Blootgestelde inhoud verskaffers kan ongeoorloofde toegang of wysiging van data toelaat. Die konfigurasie van LêerVerskaffers moet ook ondersoek word.
|
||||
* **Uitsending Ontvangers en URL Skemas**: Hierdie komponente kan benut word vir uitbuiting, met spesiale aandag aan hoe URL skemas bestuur word vir invoer kwesbaarhede.
|
||||
* **Uitsaai Ontvangers en URL Skemas**: Hierdie komponente kan benut word vir uitbuiting, met spesiale aandag aan hoe URL skemas bestuur word vir invoer kwesbaarhede.
|
||||
* **SDK Weergawes**: Die `minSdkVersion`, `targetSDKVersion`, en `maxSdkVersion` attribuut dui die ondersteunde Android weergawes aan, wat die belangrikheid beklemtoon om nie verouderde, kwesbare Android weergawes vir sekuriteitsredes te ondersteun nie.
|
||||
|
||||
Uit die **strings.xml** lêer kan sensitiewe inligting soos API sleutels, pasgemaakte skemas, en ander ontwikkelaar notas ontdek word, wat die behoefte aan sorgvuldige hersiening van hierdie hulpbronne beklemtoon.
|
||||
|
||||
### Tapjacking
|
||||
|
||||
**Tapjacking** is 'n aanval waar 'n **kwaadwillige** **toepassing** geloods word en **homself bo 'n slagoffer toepassing posisioneer**. Sodra dit die slagoffer app sigbaar obscuur, is sy gebruikerskoppelvlak ontwerp om die gebruiker te mislei om met dit te interaksie, terwyl dit die interaksie aan die slagoffer app oorgedra.\
|
||||
In werklikheid, dit is **blindings die gebruiker van weet dat hulle eintlik aksies op die slagoffer app uitvoer**.
|
||||
**Tapjacking** is 'n aanval waar 'n **kwaadwillige** **toepassing** geloods word en **homself bo-op 'n slagoffer toepassing posisioneer**. Sodra dit die slagoffer app sigbaar obscuur, is sy gebruikerskoppelvlak ontwerp om die gebruiker te mislei om met dit te interaksie, terwyl dit die interaksie aan die slagoffer app oorgedra.\
|
||||
In werklikheid, dit is **blind die gebruiker van die kennis dat hulle eintlik aksies op die slagoffer app uitvoer**.
|
||||
|
||||
Vind meer inligting in:
|
||||
|
||||
|
@ -127,7 +127,7 @@ Meer inligting in:
|
|||
|
||||
**Interne Stoor**
|
||||
|
||||
In Android, lêers **gestoor** in **interne** stoor is **ontwerp** om **uitsluitend** deur die **app** wat hulle **gecreëer** het, **toeganklik** te wees. Hierdie sekuriteitsmaatreël word **afgedwing** deur die Android bedryfstelsel en is oor die algemeen voldoende vir die sekuriteitsbehoeftes van die meeste toepassings. Tog gebruik ontwikkelaars soms modi soos `MODE_WORLD_READABLE` en `MODE_WORLD_WRITABLE` om lêers tussen verskillende toepassings te **deel**. Tog, hierdie modi **beperk nie toegang** tot hierdie lêers deur ander toepassings nie, insluitend potensieel kwaadwillige.
|
||||
In Android, lêers **gestoor** in **interne** stoor is **ontwerp** om **slegs** deur die **app** wat hulle **gecreëer** het, **toeganklik** te wees. Hierdie sekuriteitsmaatreël word **afgedwing** deur die Android bedryfstelsel en is oor die algemeen voldoende vir die sekuriteitsbehoeftes van die meeste toepassings. Tog gebruik ontwikkelaars soms modi soos `MODE_WORLD_READABLE` en `MODE_WORLD_WRITABLE` om **toegang** tot lêers tussen verskillende toepassings toe te laat. Tog, hierdie modi **beperk nie toegang** tot hierdie lêers deur ander toepassings nie, insluitend potensieel kwaadwillige.
|
||||
|
||||
1. **Statiese Analise:**
|
||||
* **Verseker** dat die gebruik van `MODE_WORLD_READABLE` en `MODE_WORLD_WRITABLE` **versigtig ondersoek** word. Hierdie modi **kan potensieel** lêers aan **onbedoelde of ongeoorloofde toegang** blootstel.
|
||||
|
@ -139,10 +139,10 @@ In Android, lêers **gestoor** in **interne** stoor is **ontwerp** om **uitsluit
|
|||
Wanneer jy met lêers op **eksterne stoor** werk, soos SD Kaart, moet sekere voorsorgmaatreëls geneem word:
|
||||
|
||||
1. **Toeganklikheid**:
|
||||
* Lêers op eksterne stoor is **globaal leesbaar en skryfbaar**. Dit beteken enige toepassing of gebruiker kan toegang tot hierdie lêers verkry.
|
||||
* Lêers op eksterne stoor is **globaal leesbaar en skryfbaar**. Dit beteken enige toepassing of gebruiker kan toegang tot hierdie lêers hê.
|
||||
2. **Sekuriteitskwessies**:
|
||||
* Gegewe die maklike toegang, dit word aanbeveel om **nie sensitiewe inligting** op eksterne stoor te stoor nie.
|
||||
* Eksterne stoor kan verwyder of deur enige toepassing toegang verkry, wat dit minder veilig maak.
|
||||
* Gegewe die maklike toegang, word dit aanbeveel **om nie sensitiewe inligting** op eksterne stoor te stoor nie.
|
||||
* Eksterne stoor kan verwyder of deur enige toepassing benader word, wat dit minder veilig maak.
|
||||
3. **Hantering van Data van Eksterne Stoor**:
|
||||
* Voer altyd **invoer validasie** uit op data wat van eksterne stoor verkry is. Dit is van kardinale belang omdat die data van 'n onbetroubare bron kom.
|
||||
* Dit word sterk ontmoedig om uitvoerbare lêers of klas lêers op eksterne stoor vir dinamiese laai te stoor.
|
||||
|
@ -226,9 +226,9 @@ An application may contain secrets (API keys, passwords, hidden urls, subdomains
|
|||
|
||||
### Other interesting functions
|
||||
|
||||
* **Code execution**: `Runtime.exec(), ProcessBuilder(), native code:system()`
|
||||
* **Send SMSs**: `sendTextMessage, sendMultipartTestMessage`
|
||||
* **Native functions** declared as `native`: `public native, System.loadLibrary, System.load`
|
||||
* **Kode-uitvoering**: `Runtime.exec(), ProcessBuilder(), native code:system()`
|
||||
* **Stuur SMS's**: `sendTextMessage, sendMultipartTestMessage`
|
||||
* **Natuurlike funksies** verklaar as `native`: `public native, System.loadLibrary, System.load`
|
||||
* [Read this to learn **how to reverse native functions**](reversing-native-libraries.md)
|
||||
|
||||
### **Other tricks**
|
||||
|
@ -262,7 +262,7 @@ Stay informed with the newest bug bounties launching and crucial platform update
|
|||
|
||||
### Online Dynamic analysis
|
||||
|
||||
You can create a **free account** in: [https://appetize.io/](https://appetize.io). This platform allows you to **upload** and **execute** APKs, so it is useful to see how an apk is behaving.
|
||||
You can create a **gratis rekening** in: [https://appetize.io/](https://appetize.io). This platform allows you to **upload** and **execute** APKs, so it is useful to see how an apk is behaving.
|
||||
|
||||
You can even **see the logs of your application** in the web and connect through **adb**.
|
||||
|
||||
|
@ -281,8 +281,8 @@ Thanks to the ADB connection you can use **Drozer** and **Frida** inside the emu
|
|||
[avd-android-virtual-device.md](avd-android-virtual-device.md)
|
||||
{% endcontent-ref %}
|
||||
|
||||
* [**Genymotion**](https://www.genymotion.com/fun-zone/) **(Free version:** Personal Edition, you need to create an account. _It's recommend to **download** the version **WITH**_ _**VirtualBox** to avoid potential errors._)
|
||||
* [**Nox**](https://es.bignox.com) (Free, but it doesn't support Frida or Drozer).
|
||||
* [**Genymotion**](https://www.genymotion.com/fun-zone/) **(Gratis weergawe:** Persoonlike Uitgawe, you need to create an account. _It's recommend to **download** the version **WITH**_ _**VirtualBox** to avoid potential errors._)
|
||||
* [**Nox**](https://es.bignox.com) (Gratis, but it doesn't support Frida or Drozer).
|
||||
|
||||
{% hint style="info" %}
|
||||
When creating a new emulator on any platform remember that the bigger the screen is, the slower the emulator will run. So select small screens if possible.
|
||||
|
@ -298,11 +298,11 @@ Also, notice that in the **configuration of the Android VM in Genymotion** you c
|
|||
|
||||
You need to activate the **debugging** options and it will be cool if you can **root** it:
|
||||
|
||||
1. **Settings**.
|
||||
2. (FromAndroid 8.0) Select **System**.
|
||||
3. Select **About phone**.
|
||||
4. Press **Build number** 7 times.
|
||||
5. Go back and you will find the **Developer options**.
|
||||
1. **Instellings**.
|
||||
2. (FromAndroid 8.0) Select **Stelsel**.
|
||||
3. Select **Oor telefoon**.
|
||||
4. Press **Bou nommer** 7 times.
|
||||
5. Go back and you will find the **Ontwikkelaarsopsies**.
|
||||
|
||||
> Once you have installed the application, the first thing you should do is to try it and investigate what does it do, how does it work and get comfortable with it.\
|
||||
> I will suggest to **perform this initial dynamic analysis using MobSF dynamic analysis + pidcat**, so we will be able to **learn how the application works** while MobSF **captures** a lot of **interesting** **data** you can review later on.
|
||||
|
@ -376,12 +376,12 @@ Let daarop dat 'n magtiging omseiling nie altyd 'n kwesbaarheid is nie, dit sal
|
|||
|
||||
#### Tapjacking
|
||||
|
||||
As tapjacking nie voorkom word nie, kan jy die geexporteerde aktiwiteit misbruik om die **gebruiker onverwachte aksies** te laat uitvoer. Vir meer inligting oor [**wat is Tapjacking volg die skakel**](./#tapjacking).
|
||||
As tapjacking nie voorkom word nie, kan jy die geexporteerde aktiwiteit misbruik om die **gebruiker onvoorsiene aksies te laat uitvoer**. Vir meer inligting oor [**wat is Tapjacking volg die skakel**](./#tapjacking).
|
||||
|
||||
### Exploiting Content Providers - Toegang tot en manipulasie van sensitiewe inligting
|
||||
|
||||
[**Lees dit as jy wil opfris wat 'n Content Provider is.**](android-applications-basics.md#content-provider)\
|
||||
Inhoudverskaffers word basies gebruik om **data** te **deel**. As 'n app beskikbare inhoudverskaffers het, mag jy in staat wees om **sensitiewe** data daaruit te **onttrek**. Dit is ook interessant om moontlike **SQL-inspuitings** en **Pad Traversals** te toets aangesien hulle kwesbaar kan wees.
|
||||
Content providers word basies gebruik om **data te deel**. As 'n app beskikbare content providers het, mag jy in staat wees om **sensitiewe** data daaruit te **onttrek**. Dit is ook interessant om moontlike **SQL-inspuitings** en **Path Traversals** te toets aangesien hulle kwesbaar kan wees.
|
||||
|
||||
[**Leer hoe om Content Providers met Drozer te exploiteer.**](drozer-tutorial/#content-providers)
|
||||
|
||||
|
@ -390,21 +390,21 @@ Inhoudverskaffers word basies gebruik om **data** te **deel**. As 'n app beskikb
|
|||
[**Lees dit as jy wil opfris wat 'n Service is.**](android-applications-basics.md#services)\
|
||||
Onthou dat die aksies van 'n Service begin in die metode `onStartCommand`.
|
||||
|
||||
'n Diens is basies iets wat **data kan ontvang**, dit **verwerk** en **teruggee** (of nie) 'n antwoord. As 'n toepassing sekere dienste geexporteer het, moet jy die **kode** nagaan om te verstaan wat dit doen en dit **dynamies** toets om vertroulike inligting te onttrek, magtiging maatreëls te omseil...\
|
||||
[**Leer hoe om Dienste met Drozer te exploiteer.**](drozer-tutorial/#services)
|
||||
'n Service is basies iets wat **data kan ontvang**, dit **verwerk** en **gee** (of nie) 'n antwoord terug. As 'n toepassing sekere dienste geexporteer het, moet jy die **kode** nagaan om te verstaan wat dit doen en dit **dynamies** toets om vertroulike inligting te onttrek, magtiging maatreëls te omseil...\
|
||||
[**Leer hoe om Services met Drozer te exploiteer.**](drozer-tutorial/#services)
|
||||
|
||||
### **Exploiting Broadcast Receivers**
|
||||
|
||||
[**Lees dit as jy wil opfris wat 'n Broadcast Receiver is.**](android-applications-basics.md#broadcast-receivers)\
|
||||
Onthou dat die aksies van 'n Broadcast Receiver begin in die metode `onReceive`.
|
||||
|
||||
'n Uitzendingontvanger sal wag vir 'n tipe boodskap. Afhangende van hoe die ontvanger die boodskap hanteer, kan dit kwesbaar wees.\
|
||||
[**Leer hoe om Uitzendingontvangers met Drozer te exploiteer.**](./#exploiting-broadcast-receivers)
|
||||
'n Broadcast receiver sal wag vir 'n tipe boodskap. Afhangende van hoe die receiver die boodskap hanteer, kan dit kwesbaar wees.\
|
||||
[**Leer hoe om Broadcast Receivers met Drozer te exploiteer.**](./#exploiting-broadcast-receivers)
|
||||
|
||||
### **Exploiting Schemes / Deep links**
|
||||
|
||||
Jy kan handmatig na diep skakels soek, met behulp van gereedskap soos MobSF of skripte soos [hierdie een](https://github.com/ashleykinguk/FBLinkBuilder/blob/master/FBLinkBuilder.py).\
|
||||
Jy kan 'n verklaarde **skema** open met **adb** of 'n **blaaier**:
|
||||
Jy kan handmatig na deep links soek, met behulp van gereedskap soos MobSF of skripte soos [hierdie een](https://github.com/ashleykinguk/FBLinkBuilder/blob/master/FBLinkBuilder.py).\
|
||||
Jy kan 'n verklaarde **skema** met **adb** of 'n **blaaier** **oopmaak**:
|
||||
|
||||
{% code overflow="wrap" %}
|
||||
```bash
|
||||
|
@ -425,7 +425,7 @@ _Neem kennis dat jy die **pakkie naam** kan **weglat** en die mobiele toestel sa
|
|||
|
||||
**Kode uitgevoer**
|
||||
|
||||
Om die **kode te vind wat in die App uitgevoer sal word**, gaan na die aktiwiteit wat deur die deeplink aangeroep word en soek die funksie **`onNewIntent`**.
|
||||
Om die **kode wat in die App uitgevoer sal word** te vind, gaan na die aktiwiteit wat deur die deeplink aangeroep word en soek die funksie **`onNewIntent`**.
|
||||
|
||||
![](<../../.gitbook/assets/image (436) (1) (1) (1).png>)
|
||||
|
||||
|
@ -435,7 +435,7 @@ Elke keer as jy 'n diep skakel vind, moet jy seker maak dat dit **nie sensitiewe
|
|||
|
||||
**Parameters in pad**
|
||||
|
||||
Jy **moet ook kyk of enige diep skakel 'n parameter binne die pad** van die URL gebruik, soos: `https://api.example.com/v1/users/{username}`, in daardie geval kan jy 'n pad traversie afdwing deur iets soos: `example://app/users?username=../../unwanted-endpoint%3fparam=value` te benader.\
|
||||
Jy **moet ook nagaan of enige diep skakel 'n parameter binne die pad** van die URL gebruik, soos: `https://api.example.com/v1/users/{username}`, in daardie geval kan jy 'n pad traversie afdwing deur iets soos: `example://app/users?username=../../unwanted-endpoint%3fparam=value` te benader.\
|
||||
Let daarop dat as jy die korrekte eindpunte binne die toepassing vind, jy dalk 'n **Open Redirect** kan veroorsaak (as 'n deel van die pad as domeinnaam gebruik word), **rekening oorname** (as jy gebruikersbesonderhede kan wysig sonder 'n CSRF-token en die kwesbare eindpunt die korrekte metode gebruik) en enige ander kwesbaarheid. Meer [inligting hieroor](http://dphoeniixx.com/2020/12/13-2/).
|
||||
|
||||
**Meer voorbeelde**
|
||||
|
@ -446,7 +446,7 @@ Let daarop dat as jy die korrekte eindpunte binne die toepassing vind, jy dalk '
|
|||
|
||||
* **Sertifikate word nie altyd behoorlik ondersoek nie** deur Android-toepassings. Dit is algemeen dat hierdie toepassings waarskuwings oor die hoof sien en self-onderteken sertifikate aanvaar of, in sommige gevalle, terugkeer na die gebruik van HTTP-verbindinge.
|
||||
* **Onderhandelinge tydens die SSL/TLS handdruk is soms swak**, wat onveilige cipher suites gebruik. Hierdie kwesbaarheid maak die verbinding kwesbaar vir man-in-the-middle (MITM) aanvalle, wat aanvallers in staat stel om die data te ontsleutel.
|
||||
* **Lek van private inligting** is 'n risiko wanneer toepassings verifieer deur veilige kanale, maar dan oor nie-veilige kanale vir ander transaksies kommunikeer. Hierdie benadering slaag nie daarin om sensitiewe data, soos sessiekoekies of gebruikersbesonderhede, teen onderskep deur kwaadwillige entiteite te beskerm nie.
|
||||
* **Lek van private inligting** is 'n risiko wanneer toepassings outentiseer met behulp van veilige kanale, maar dan oor nie-veilige kanale vir ander transaksies kommunikeer. Hierdie benadering slaag nie daarin om sensitiewe data, soos sessiekoekies of gebruikersbesonderhede, teen onderskep deur kwaadwillige entiteite te beskerm nie.
|
||||
|
||||
#### Sertifikaat Verifikasie
|
||||
|
||||
|
@ -464,13 +464,13 @@ Toepassings wat **API-vlak 24 en hoër** teiken, vereis wysigings aan die Netwer
|
|||
|
||||
#### Omseiling van SSL Pinning
|
||||
|
||||
Wanneer SSL Pinning geïmplementeer is, word dit nodig om dit te omseil om HTTPS-verkeer te inspekteer. Verskeie metodes is beskikbaar vir hierdie doel:
|
||||
Wanneer SSL Pinning geïmplementeer is, word dit noodsaaklik om dit te omseil om HTTPS-verkeer te inspekteer. Verskeie metodes is beskikbaar vir hierdie doel:
|
||||
|
||||
* Outomaties **wysig** die **apk** om **SSL Pinning** te **omseil** met [**apk-mitm**](https://github.com/shroudedcode/apk-mitm). Die beste voordeel van hierdie opsie is dat jy nie root nodig het om die SSL Pinning te omseil nie, maar jy sal die toepassing moet verwyder en die nuwe een moet herinstalleer, en dit sal nie altyd werk nie.
|
||||
* Jy kan **Frida** gebruik (hieronder bespreek) om hierdie beskerming te omseil. Hier is 'n gids om Burp+Frida+Genymotion te gebruik: [https://spenkk.github.io/bugbounty/Configuring-Frida-with-Burp-and-GenyMotion-to-bypass-SSL-Pinning/](https://spenkk.github.io/bugbounty/Configuring-Frida-with-Burp-and-GenyMotion-to-bypass-SSL-Pinning/)
|
||||
* Jy kan ook probeer om **automaties SSL Pinning te omseil** met [**objection**](frida-tutorial/objection-tutorial.md)**:** `objection --gadget com.package.app explore --startup-command "android sslpinning disable"`
|
||||
* Jy kan ook probeer om **automaties SSL Pinning te omseil** met **MobSF dinamiese analise** (hieronder verduidelik)
|
||||
* As jy steeds dink dat daar enige verkeer is wat jy nie opneem nie, kan jy probeer om die **verkeer na burp te stuur met iptables**. Lees hierdie blog: [https://infosecwriteups.com/bypass-ssl-pinning-with-ip-forwarding-iptables-568171b52b62](https://infosecwriteups.com/bypass-ssl-pinning-with-ip-forwarding-iptables-568171b52b62)
|
||||
* As jy steeds dink dat daar enige verkeer is wat jy nie opneem nie, kan jy probeer om die verkeer na burp te **stuur met iptables**. Lees hierdie blog: [https://infosecwriteups.com/bypass-ssl-pinning-with-ip-forwarding-iptables-568171b52b62](https://infosecwriteups.com/bypass-ssl-pinning-with-ip-forwarding-iptables-568171b52b62)
|
||||
|
||||
#### Soek na Algemene Web Kwesbaarhede
|
||||
|
||||
|
@ -501,7 +501,7 @@ python3 fridump3.py -u <PID>
|
|||
frida-ps -Uai
|
||||
python3 fridump3.py -u "<Name>"
|
||||
```
|
||||
Dit sal die geheue in die ./dump gids dump, en daarin kan jy met iets soos grep:
|
||||
Dit sal die geheue in die ./dump gids stort, en daarin kan jy met iets soos grep:
|
||||
```bash
|
||||
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]+$"
|
||||
```
|
||||
|
@ -519,7 +519,7 @@ frida -U -f com.example.app -l frida-scripts/tracer-cipher.js
|
|||
```
|
||||
### **Vingerafdruk/Biometriese Omseiling**
|
||||
|
||||
Met behulp van die volgende Frida-skrip kan dit moontlik wees om **vingerafdrukverifikasie** te **omseil** wat Android-toepassings mag uitvoer om **sekere sensitiewe areas te beskerm:**
|
||||
Met behulp van die volgende Frida-skrip kan dit moontlik wees om **vingerafdrukverifikasie** te omseil wat Android-toepassings mag uitvoer om **sekere sensitiewe areas te beskerm:**
|
||||
|
||||
{% code overflow="wrap" %}
|
||||
```bash
|
||||
|
@ -529,9 +529,9 @@ frida --codeshare krapgras/android-biometric-bypass-update-android-11 -U -f <app
|
|||
|
||||
### **Agtergrond Beelde**
|
||||
|
||||
Wanneer jy 'n toepassing in die agtergrond plaas, stoor Android 'n **snapshot van die toepassing** sodat wanneer dit na die voorgrond herstel word, dit die beeld begin laai voordat die app, sodat dit lyk asof die app vinniger gelaai is.
|
||||
Wanneer jy 'n toepassing in die agtergrond plaas, stoor Android 'n **snapshot van die toepassing** sodat wanneer dit herstel word na die voorgrond, dit begin om die beeld te laai voordat die app, sodat dit lyk asof die app vinniger gelaai is.
|
||||
|
||||
As hierdie snapshot egter **sensitiewe inligting** bevat, kan iemand met toegang tot die snapshot daardie inligting **steel** (let daarop dat jy root nodig het om dit te bekom).
|
||||
As hierdie snapshot egter **sensitiewe inligting** bevat, kan iemand met toegang tot die snapshot **daardie inligting steel** (let daarop dat jy root nodig het om toegang te verkry).
|
||||
|
||||
Die snapshots word gewoonlik gestoor rondom: **`/data/system_ce/0/snapshots`**
|
||||
|
||||
|
@ -549,10 +549,10 @@ Ontwikkelaars skep dikwels proxy-komponente soos aktiwiteite, dienste en uitsend
|
|||
|
||||
Die gevaar lê in die toelaat van aanvallers om nie-geëksporteerde app-komponente te aktiveer of toegang tot sensitiewe inhoudverskaffers te verkry deur hierdie Intents verkeerd te lei. 'n Opmerkelijke voorbeeld is die `WebView` komponent wat URL's na `Intent` objektes omskakel via `Intent.parseUri(...)` en dit dan uitvoer, wat moontlik kan lei tot kwaadwillige Intent inspuitings.
|
||||
|
||||
### Belangrike Afleidings
|
||||
### Essensiële Afleidings
|
||||
|
||||
* **Intent Inspuiting** is soortgelyk aan die web se Open Redirect probleem.
|
||||
* Exploits behels die oorplasing van `Intent` objektes as ekstra's, wat herlei kan word om onveilige operasies uit te voer.
|
||||
* Exploits behels die oorplasing van `Intent` objektes as ekstra, wat herlei kan word om onveilige operasies uit te voer.
|
||||
* Dit kan nie-geëksporteerde komponente en inhoudverskaffers aan aanvallers blootstel.
|
||||
* `WebView`’s URL na `Intent` omskakeling kan onbedoelde aksies fasiliteer.
|
||||
|
||||
|
@ -576,7 +576,7 @@ Sluit aan by [**HackenProof Discord**](https://discord.com/invite/N3FrSbmwdy) be
|
|||
Betrek jouself met inhoud wat die opwinding en uitdagings van hacking ondersoek
|
||||
|
||||
**Regte Tyd Hack Nuus**\
|
||||
Bly op hoogte van die vinnig bewegende hacking wêreld deur regte tyd nuus en insigte
|
||||
Bly op hoogte van die vinnig bewegende hacking wêreld deur middel van regte tyd nuus en insigte
|
||||
|
||||
**Laaste Aankondigings**\
|
||||
Bly ingelig oor die nuutste bug bounties wat bekendgestel word en belangrike platform opdaterings
|
||||
|
@ -591,7 +591,7 @@ Bly ingelig oor die nuutste bug bounties wat bekendgestel word en belangrike pla
|
|||
|
||||
![](<../../.gitbook/assets/image (866).png>)
|
||||
|
||||
**Kwetsbaarheid assessering van die toepassing** met 'n mooi web-gebaseerde frontend. Jy kan ook dinamiese analise uitvoer (maar jy moet die omgewing voorberei).
|
||||
**Kwetsbaarheidsevaluasie van die toepassing** met 'n pragtige web-gebaseerde frontend. Jy kan ook dinamiese analise uitvoer (maar jy moet die omgewing voorberei).
|
||||
```bash
|
||||
docker pull opensecurity/mobile-security-framework-mobsf
|
||||
docker run -it -p 8000:8000 opensecurity/mobile-security-framework-mobsf:latest
|
||||
|
@ -624,12 +624,12 @@ MobSF also allows you to load your own **Frida scripts** (to send the results of
|
|||
|
||||
Moreover, you have some Auxiliary Frida functionalities:
|
||||
|
||||
* **Enumerate Loaded Classes**: It will print all the loaded classes
|
||||
* **Capture Strings**: It will print all the capture strings while using the application (super noisy)
|
||||
* **Capture String Comparisons**: Could be very useful. It will **show the 2 strings being compared** and if the result was True or False.
|
||||
* **Enumerate Class Methods**: Put the class name (like "java.io.File") and it will print all the methods of the class.
|
||||
* **Search Class Pattern**: Search classes by pattern
|
||||
* **Trace Class Methods**: **Trace** a **whole class** (see inputs and outputs of all methods of th class). Remember that by default MobSF traces several interesting Android Api methods.
|
||||
* **Enumerate Loaded Classes**: Dit sal al die gelaaide klasse druk
|
||||
* **Capture Strings**: Dit sal al die gevangen strings druk terwyl die toepassing gebruik word (baie lawaaierig)
|
||||
* **Capture String Comparisons**: Kan baie nuttig wees. Dit sal **die 2 strings wat vergelyk word** wys en of die resultaat Waar of Vals was.
|
||||
* **Enumerate Class Methods**: Sit die klasnaam (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 al die metodes van die klas). Onthou dat MobSF standaard verskeie interessante Android API metodes trace.
|
||||
|
||||
Once you have selected the auxiliary module you want to use you need to press "**Start Intrumentation**" and you will see all the outputs in "**Frida Live Logs**".
|
||||
|
||||
|
@ -646,10 +646,10 @@ receivers
|
|||
```
|
||||
**HTTP tools**
|
||||
|
||||
Wanneer http-verkeer gevang word, kan jy 'n lelike weergawe van die gevange verkeer op "**HTTP(S) Traffic**" onderaan sien of 'n mooi weergawe in "**Start HTTPTools**" groen onder. Van die tweede opsie kan jy die **gevange versoeke** na **proxies** soos Burp of Owasp ZAP **stuur**.\
|
||||
Wanneer http-verkeer gevang word, kan jy 'n lelike weergawe van die gevange verkeer op "**HTTP(S) Traffic**" onderaan sien of 'n mooi weergawe in "**Start HTTPTools**" groen knoppie. Van die tweede opsie kan jy **stuur** die **gevange versoeke** na **proxies** soos Burp of Owasp ZAP.\
|
||||
Om dit te doen, _skakel Burp aan -->_ _skakel Intercept af --> in MobSB HTTPTools kies die versoek_ --> druk "**Send to Fuzzer**" --> _kies die proxy adres_ ([http://127.0.0.1:8080\\](http://127.0.0.1:8080)).
|
||||
|
||||
Sodra jy die dinamiese analise met MobSF voltooi het, kan jy op "**Start Web API Fuzzer**" druk om **http versoeke te fuzz** en na kwesbaarhede te soek.
|
||||
Sodra jy die dinamiese analise met MobSF voltooi het, kan jy druk op "**Start Web API Fuzzer**" om **fuzz http versoeke** en soek na kwesbaarhede.
|
||||
|
||||
{% hint style="info" %}
|
||||
Na die uitvoering van 'n dinamiese analise met MobSF mag die proxy-instellings verkeerd geconfigureer wees en jy sal nie in staat wees om dit vanaf die GUI reg te stel nie. Jy kan die proxy-instellings regstel deur:
|
||||
|
@ -661,7 +661,7 @@ adb shell settings put global http_proxy :0
|
|||
### Geassisteerde Dinamiese Analise met Inspeckage
|
||||
|
||||
Jy kan die hulpmiddel van [**Inspeckage**](https://github.com/ac-pm/Inspeckage) kry.\
|
||||
Hierdie hulpmiddel sal **Hooks** gebruik om jou te laat weet **wat in die aansoek gebeur** terwyl jy 'n **dinamiese analise** uitvoer.
|
||||
Hierdie hulpmiddel sal **Hooks** gebruik om jou te laat weet **wat in die toepassing gebeur** terwyl jy 'n **dinamiese analise** uitvoer.
|
||||
|
||||
### [Yaazhini](https://www.vegabird.com/yaazhini/)
|
||||
|
||||
|
@ -671,7 +671,7 @@ Dit is 'n **geweldige hulpmiddel om statiese analise met 'n GUI** uit te voer.
|
|||
|
||||
### [Qark](https://github.com/linkedin/qark)
|
||||
|
||||
Hierdie hulpmiddel is ontwerp om na verskeie **veiligheidsverwante Android aansoek kwesbaarhede** te soek, hetsy in **bronkode** of **verpakte APKs**. Die hulpmiddel is ook **in staat om 'n "Bewys-van-Konsep" ontploembare APK** en **ADB-opdragte** te skep, om sommige van die gevonde kwesbaarhede (Blootgestelde aktiwiteite, intents, tapjacking...) te benut. Soos met Drozer, is daar geen behoefte om die toets toestel te root nie.
|
||||
Hierdie hulpmiddel is ontwerp om na verskeie **veiligheidsverwante Android-toepassing kwesbaarhede** te soek, hetsy in **bronkode** of **gepakte APKs**. Die hulpmiddel is ook **in staat om 'n "Bewys-van-Konsep" ontploembare APK** en **ADB-opdragte** te skep, om sommige van die gevonde kwesbaarhede (Blootgestelde aktiwiteite, intents, tapjacking...) te benut. Soos met Drozer, is daar geen behoefte om die toets toestel te root nie.
|
||||
```bash
|
||||
pip3 install --user qark # --user is only needed if not using a virtualenv
|
||||
qark --apk path/to/my.apk
|
||||
|
@ -693,7 +693,7 @@ reverse-apk relative/path/to/APP.apk
|
|||
|
||||
SUPER is 'n opdraglyn-toepassing wat gebruik kan word in Windows, MacOS X en Linux, wat _.apk_ lêers analiseer op soek na kwesbaarhede. Dit doen dit deur APK's te dekomprimeer en 'n reeks reëls toe te pas om daardie kwesbaarhede te ontdek.
|
||||
|
||||
Alle reëls is sentraal in 'n `rules.json` lêer, en elke maatskappy of toetsers kan sy eie reëls skep om te analiseer wat hulle nodig het.
|
||||
Alle reëls is gesentreer in 'n `rules.json` lêer, en elke maatskappy of toetsers kan sy eie reëls skep om te analiseer wat hulle nodig het.
|
||||
|
||||
Laai die nuutste binêre af van die [aflaai bladsy](https://superanalyzer.rocks/download.html)
|
||||
```
|
||||
|
@ -714,7 +714,7 @@ Laai [nuutste vrystelling](https://github.com/vincentcox/StaCoAn/releases):
|
|||
### [AndroBugs](https://github.com/AndroBugs/AndroBugs\_Framework)
|
||||
|
||||
AndroBugs Framework is 'n Android kwesbaarheid analise stelsel wat ontwikkelaars of hackers help om potensiële sekuriteits kwesbaarhede in Android toepassings te vind.\
|
||||
[Windows releases](https://github.com/AndroBugs/AndroBugs\_Framework/releases)
|
||||
[Windows vrylatinge](https://github.com/AndroBugs/AndroBugs\_Framework/releases)
|
||||
```
|
||||
python androbugs.py -f [APK file]
|
||||
androbugs.exe -f [APK file]
|
||||
|
@ -723,7 +723,7 @@ androbugs.exe -f [APK file]
|
|||
|
||||
**Androwarn** is 'n hulpmiddel wat as hoofdoel het om die gebruiker te detecteer en te waarsku oor potensiële kwaadwillige gedrag wat deur 'n Android-toepassing ontwikkel is.
|
||||
|
||||
Die opsporing word uitgevoer met die **statische analise** van die toepassing se Dalvik bytecode, voorgestel as **Smali**, met die [`androguard`](https://github.com/androguard/androguard) biblioteek.
|
||||
Die detectie word uitgevoer met die **statische analise** van die toepassing se Dalvik bytecode, voorgestel as **Smali**, met die [`androguard`](https://github.com/androguard/androguard) biblioteek.
|
||||
|
||||
Hierdie hulpmiddel soek na **gewone gedrag van "slegte" toepassings** soos: Telefoonidentifiseerders eksfiltrasie, Klank/video vloei onderskepping, PIM data wysiging, Willekeurige kode uitvoering...
|
||||
```
|
||||
|
@ -735,14 +735,14 @@ python androwarn.py -i my_application_to_be_analyzed.apk -r html -v 3
|
|||
|
||||
**MARA** is 'n **M**obiele **A**pplicatie **R**everse engineering en **A**nalise Framework. Dit is 'n hulpmiddel wat algemeen gebruikte mobiele toepassings reverse engineering en analise hulpmiddels saamvoeg, om te help met die toetsing van mobiele toepassings teen die OWASP mobiele sekuriteitsbedreigings. Die doel is om hierdie taak makliker en vriendeliker te maak vir mobiele toepassings ontwikkelaars en sekuriteitsprofessionals.
|
||||
|
||||
Dit kan:
|
||||
Dit is in staat om:
|
||||
|
||||
* Java en Smali kode onttrek met behulp van verskillende hulpmiddels
|
||||
* APK's analiseer met behulp van: [smalisca](https://github.com/dorneanu/smalisca), [ClassyShark](https://github.com/google/android-classyshark), [androbugs](https://github.com/AndroBugs/AndroBugs\_Framework), [androwarn](https://github.com/maaaaz/androwarn), [APKiD](https://github.com/rednaga/APKiD)
|
||||
* Privaat inligting uit die APK onttrek met behulp van regexps.
|
||||
* Die Manifest analiseer.
|
||||
* Gevonde domeine analiseer met behulp van: [pyssltest](https://github.com/moheshmohan/pyssltest), [testssl](https://github.com/drwetter/testssl.sh) en [whatweb](https://github.com/urbanadventurer/WhatWeb)
|
||||
* APK deobfuskeer via [apk-deguard.com](http://www.apk-deguard.com)
|
||||
* Java en Smali kode te onttrek met behulp van verskillende hulpmiddels
|
||||
* APK's te analiseer met behulp van: [smalisca](https://github.com/dorneanu/smalisca), [ClassyShark](https://github.com/google/android-classyshark), [androbugs](https://github.com/AndroBugs/AndroBugs\_Framework), [androwarn](https://github.com/maaaaz/androwarn), [APKiD](https://github.com/rednaga/APKiD)
|
||||
* Privaat inligting uit die APK te onttrek met behulp van regexps.
|
||||
* Die Manifest te analiseer.
|
||||
* Gevonde domeine te analiseer met behulp van: [pyssltest](https://github.com/moheshmohan/pyssltest), [testssl](https://github.com/drwetter/testssl.sh) en [whatweb](https://github.com/urbanadventurer/WhatWeb)
|
||||
* APK te deobfuskeer via [apk-deguard.com](http://www.apk-deguard.com)
|
||||
|
||||
### Koodous
|
||||
|
||||
|
@ -750,11 +750,11 @@ Nuttig om malware te detecteer: [https://koodous.com/](https://koodous.com)
|
|||
|
||||
## Obfuscating/Deobfuscating code
|
||||
|
||||
Let daarop dat dit afhang van die diens en konfigurasie wat jy gebruik om die kode te obfuskeer. Geheimenisse mag of mag nie obfuskeer wees nie.
|
||||
Let daarop dat dit afhang van die diens en konfigurasie wat jy gebruik om die kode te obfuskeer. Geheime mag of mag nie obfuskeer wees nie.
|
||||
|
||||
### [ProGuard](https://en.wikipedia.org/wiki/ProGuard\_\(software\))
|
||||
|
||||
Van [Wikipedia](https://en.wikipedia.org/wiki/ProGuard\_\(software\)): **ProGuard** is 'n oopbron-opdraglyn hulpmiddel wat Java kode verklein, optimaliseer en obfuskeer. Dit kan bytecode optimaliseer sowel as ongebruikte instruksies opspoor en verwyder. ProGuard is gratis sagteware en word versprei onder die GNU Algemene Publieke Lisensie, weergawe 2.
|
||||
Van [Wikipedia](https://en.wikipedia.org/wiki/ProGuard\_\(software\)): **ProGuard** is 'n oopbron-opdraglyn hulpmiddel wat Java kode verklein, optimaliseer en obfuskeer. Dit is in staat om bytecode te optimaliseer sowel as om ongebruikte instruksies te identifiseer en te verwyder. ProGuard is gratis sagteware en word versprei onder die GNU Algemene Publieke Lisensie, weergawe 2.
|
||||
|
||||
ProGuard word versprei as deel van die Android SDK en loop wanneer die toepassing in vrystellingmodus gebou word.
|
||||
|
||||
|
@ -768,7 +768,7 @@ Vind 'n stap-vir-stap gids om die apk te deobfuskeer in [https://blog.lexfo.fr/d
|
|||
* voer die resultaat aan 'n klas wat van FilterInputStream erf om dit te ontsleutel;
|
||||
* doen 'n paar nuttelose obfuskerings om 'n paar minute se tyd van 'n omkeerder te mors;
|
||||
* voer die ontsleutelde resultaat aan 'n ZipInputStream om 'n DEX-lêer te kry;
|
||||
* laai uiteindelik die resulterende DEX as 'n Hulpbron met behulp van die `loadDex` metode.
|
||||
* laastens laai die resulterende DEX as 'n Hulpbron met behulp van die `loadDex` metode.
|
||||
|
||||
### [DeGuard](http://apk-deguard.com)
|
||||
|
||||
|
@ -778,7 +778,7 @@ Jy kan 'n obfuskeer APK na hul platform oplaai.
|
|||
|
||||
### [Simplify](https://github.com/CalebFenton/simplify)
|
||||
|
||||
Dit is 'n **generiese android deobfuscator.** Simplify **voortvirtueel 'n app** om sy gedrag te verstaan en dan **probeer om die kode te optimaliseer** sodat dit identies optree, maar makliker vir 'n mens om te verstaan. Elke optimalisering tipe is eenvoudig en generies, so dit maak nie saak wat die spesifieke tipe obfuskerings is nie.
|
||||
Dit is 'n **generiese android deobfuscator.** Simplify **voortvirtueel 'n app** om sy gedrag te verstaan en dan **probeer om die kode te optimaliseer** sodat dit identies optree maar makliker vir 'n mens om te verstaan. Elke optimalisering tipe is eenvoudig en generies, so dit maak nie saak wat die spesifieke tipe obfuskerings is nie.
|
||||
|
||||
### [APKiD](https://github.com/rednaga/APKiD)
|
||||
|
||||
|
@ -786,7 +786,7 @@ APKiD gee jou inligting oor **hoe 'n APK gemaak is**. Dit identifiseer baie **ko
|
|||
|
||||
### Manual
|
||||
|
||||
[Lees hierdie tutoriaal om 'n paar truuks te leer oor **hoe om pasgemaakte obfuskerings te keer**](manual-deobfuscation.md)
|
||||
[Lees hierdie tutoriaal om 'n paar truuks te leer oor **hoe om pasgemaakte obfuskerings te reverseer**](manual-deobfuscation.md)
|
||||
|
||||
## Labs
|
||||
|
||||
|
@ -813,10 +813,10 @@ AndroL4b is 'n Android sekuriteits virtuele masjien gebaseer op ubuntu-mate wat
|
|||
Join [**HackenProof Discord**](https://discord.com/invite/N3FrSbmwdy) bediener om met ervare hackers en bug bounty jagters te kommunikeer!
|
||||
|
||||
**Hacking Insights**\
|
||||
Betrek jou met inhoud wat die opwinding en uitdagings van hacking ondersoek
|
||||
Betrek met inhoud wat die opwinding en uitdagings van hacking ondersoek
|
||||
|
||||
**Real-Time Hack News**\
|
||||
Bly op hoogte van die vinnige wêreld van hacking deur middel van real-time nuus en insigte
|
||||
Hou op hoogte met die vinnige wêreld van hacking deur middel van real-time nuus en insigte
|
||||
|
||||
**Latest Announcements**\
|
||||
Bly ingelig oor die nuutste bug bounties wat bekendgestel word en belangrike platform opdaterings
|
||||
|
|
Loading…
Reference in a new issue