Translated ['src/generic-methodologies-and-resources/pentesting-wifi/ena

This commit is contained in:
Translator 2025-07-15 17:15:05 +00:00
parent e5fd82d504
commit b8b3405afb
8 changed files with 122 additions and 122 deletions

View File

@ -3,7 +3,7 @@
{{#include ../../banners/hacktricks-training.md}}
## Oorsig
Meeste moderne Android fone bevat 'n Broadcom/Cypress Wi-Fi skyfie wat sonder 802.11 monitor modus of raam-inspuitingsvermoëns verskaf word. Die oopbron NexMon-raamwerk patch die eiendomsfirmware om daardie funksies by te voeg en stel dit bloot deur 'n gedeelde biblioteek (`libnexmon.so`) en 'n CLI-helper (`nexutil`). Deur daardie biblioteek in die standaard Wi-Fi bestuurder te laai, kan 'n ge-root toestel rou 802.11 verkeer vasvang en arbitrêre rame inspuit wat die behoefte aan 'n eksterne USB-adapter verwyder.
Meeste moderne Android fone bevat 'n Broadcom/Cypress Wi-Fi skyfie wat sonder 802.11 monitor modus of raam-inspuitingsvermoëns verskaf word. Die oopbron NexMon-raamwerk patch die eiendomsfirmware om daardie funksies by te voeg en stel dit bloot deur 'n gedeelde biblioteek (`libnexmon.so`) en 'n CLI-helper (`nexutil`). Deur daardie biblioteek in die standaard Wi-Fi bestuurder te laai, kan 'n ge-root toestel rou 802.11 verkeer vasvang en arbitrêre rame inspuit wat die behoefte aan 'n eksterne USB-adapter uitskakel.
Hierdie bladsy dokumenteer 'n vinnige werksvloei wat 'n volledig-gepatchte Samsung Galaxy S10 (BCM4375B1) as 'n voorbeeld neem, met behulp van:
@ -11,7 +11,7 @@ Hierdie bladsy dokumenteer 'n vinnige werksvloei wat 'n volledig-gepatchte Samsu
* Hijacker Android toepassing om monitor-modus skakeling te outomatiseer
* Opsionele Kali NetHunter chroot om klassieke draadlose gereedskap (aircrack-ng, wifite, mdk4 …) direk teen die interne koppelvlak te laat loop
Dieselfde tegniek geld vir enige toestel wat 'n publiek beskikbare NexMon patch het (Pixel 1, Nexus 6P, Galaxy S7/S8, ens.).
Dieselfde tegniek is van toepassing op enige toestel wat 'n publiek beskikbare NexMon patch het (Pixel 1, Nexus 6P, Galaxy S7/S8, ens.).
---

BIN
src/images/discount.jpeg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 186 KiB

View File

@ -4,7 +4,7 @@
## Android Toepassings Basiese Beginsels
Dit word sterk aanbeveel om hierdie bladsy te begin lees om te weet oor die **belangrikste dele wat verband hou met Android-sekuriteit en die gevaarlikste komponente in 'n Android-toepassing**:
Dit word sterk aanbeveel om hierdie bladsy te begin lees om meer te weet oor die **belangrikste dele wat verband hou met Android-sekuriteit en die gevaarlikste komponente in 'n Android-toepassing**:
{{#ref}}
android-applications-basics.md
@ -13,14 +13,14 @@ android-applications-basics.md
## ADB (Android Debug Bridge)
Dit is die hoofgereedskap wat jy nodig het om met 'n android toestel (geëmuleer of fisies) te verbind.\
**ADB** laat jou toe om toestelle te beheer, hetsy oor **USB** of **Netwerk** vanaf 'n rekenaar. Hierdie nut is in staat om **lêers** in beide rigtings te **kopieer**, **toepassings** te **installeer** en **verwyder**, **skilopdragte** uit te voer, **data** te **rugsteun**, **logs** te **lees**, onder andere funksies.
**ADB** stel jou in staat om toestelle te beheer, hetsy oor **USB** of **Netwerk** vanaf 'n rekenaar. Hierdie nut is in staat om **lêers** in beide rigtings te **kopieer**, **toepassings** te **installeer** en **verwyder**, **skilopdragte** uit te voer, **data** te **rugsteun**, **logs** te **lees**, onder andere funksies.
Kyk na die volgende lys van [**ADB Opdragte**](adb-commands.md) om te leer hoe om adb te gebruik.
## Smali
Soms is dit interessant om die **toepassingkode** te **wysig** om toegang te verkry tot **verborge inligting** (miskien goed obfuskeerde wagwoorde of vlae). Dan kan dit interessant wees om die apk te dekompileer, die kode te wysig en dit weer te compileer.\
[**In hierdie tutoriaal** kan jy **leer hoe om 'n APK te dekompileer, Smali-kode te wysig en die APK** met die nuwe funksionaliteit te **hercompileer**](smali-changes.md). Dit kan baie nuttig wees as 'n **alternatief vir verskeie toetse tydens die dinamiese analise** wat gaan aangebied word. Dan, **hou altyd hierdie moontlikheid in gedagte**.
Soms is dit interessant om die **toepassingkode** te **wysig** om toegang te verkry tot **verborge inligting** (miskien goed obfuskeerde wagwoorde of vlae). Dan kan dit interessant wees om die apk te dekompileer, die kode te wysig en dit weer te kompileren.\
[**In hierdie tutoriaal** kan jy **leer hoe om 'n APK te dekompileer, Smali-kode te wysig en die APK** met die nuwe funksionaliteit te **kompileren**](smali-changes.md). Dit kan baie nuttig wees as 'n **alternatief vir verskeie toetse tydens die dinamiese analise** wat gaan aangebied word. Dan, **hou altyd hierdie moontlikheid in gedagte**.
## Ander interessante truuks
@ -37,7 +37,7 @@ 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
```
- Kombineer alle splits en basis apks met [APKEditor](https://github.com/REAndroid/APKEditor):
- 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 2 | xargs -n1 -i adb pull {} splits
@ -70,7 +70,7 @@ Die **ondersoek van 'n toepassing se _Manifest.xml_ en **_strings.xml_** lêers
- **Netwerk Sekuriteit**: Aangepaste 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.
- **Uitsaai Ontvangers en URL Skemas**: Hierdie komponente kan benut word vir uitbuiting, met spesiale aandag aan hoe URL skemas bestuur word vir invoer kwesbaarhede.
- **Uitsending 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, aangepaste skemas, en ander ontwikkelaar notas ontdek word, wat die behoefte aan sorgvuldige hersiening van hierdie hulpbronne beklemtoon.
@ -115,7 +115,7 @@ Wanneer jy met lêers op **eksterne stoor** werk, soos SD-kaarte, moet sekere vo
- Lêers op eksterne stoor is **globaal leesbaar en skryfbaar**. Dit beteken enige toepassing of gebruiker kan toegang tot hierdie lêers verkry.
2. **Sekuriteitskwessies**:
- 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 toeganklik gemaak word, wat dit minder veilig maak.
- 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.
@ -128,7 +128,7 @@ Eksterne stoor kan **toegang verkry** in `/storage/emulated/0`, `/sdcard`, `/mnt
**Sensitiewe data gestoor in duidelike teks**
- **Gedeelde voorkeure**: Android laat elke toepassing toe om maklik xml lêers in die pad `/data/data/<packagename>/shared_prefs/` te stoor en soms is dit moontlik om sensitiewe inligting in duidelike teks in daardie gids te vind.
- **Gedeelde voorkeure**: Android laat elke toepassing toe om maklik xml-lêers in die pad `/data/data/<packagename>/shared_prefs/` te stoor en soms is dit moontlik om sensitiewe inligting in duidelike teks in daardie gids te vind.
- **Databasisse**: Android laat elke toepassing toe om maklik sqlite databasisse in die pad `/data/data/<packagename>/databases/` te stoor en soms is dit moontlik om sensitiewe inligting in duidelike teks in daardie gids te vind.
### Gebroke TLS
@ -154,7 +154,7 @@ Ontwikkelaars moet nie **verouderde algoritmes** gebruik om **outorisering** **k
### Ander kontroles
- Dit word aanbeveel om die **APK te obfuskeer** om die omgekeerde ingenieurswerk vir aanvallers moeilik te maak.
- Dit word aanbeveel om die **APK te obfuskeer** om die omgekeerde ingenieurswerk vir aanvallers te bemoeilik.
- As die app sensitief is (soos bankapps), moet dit sy **eie kontroles uitvoer om te sien of die mobiele toestel ge-root is** en dienooreenkomstig optree.
- As die app sensitief is (soos bankapps), moet dit nagaan of 'n **emulator** gebruik word.
- As die app sensitief is (soos bankapps), moet dit **sy eie integriteit nagaan voordat dit uitgevoer** word om te kyk of dit gewysig is.
@ -184,7 +184,7 @@ Volgens hierdie [**blogpos**](https://clearbluejar.github.io/posts/desuperpackin
Die hulpmiddel [**mariana-trench**](https://github.com/facebook/mariana-trench) is in staat om **kwesbaarhede** te vind deur die **kode** van die toepassing te **skandeer**. Hierdie hulpmiddel bevat 'n reeks **bekende bronne** (wat die hulpmiddel die **plekke** aandui waar die **invoer** deur die gebruiker **beheer** word), **sinkholes** (wat die hulpmiddel **gevaarlike** **plekke** aandui waar kwaadwillige gebruikersinvoer skade kan aanrig) en **reëls**. Hierdie reëls dui die **kombinasie** van **bronne-sinkholes** aan wat 'n kwesbaarheid aandui.
Met hierdie kennis, **sal mariana-trench die kode hersien en moontlike kwesbaarhede daarin vind**.
Met hierdie kennis sal **mariana-trench die kode hersien en moontlike kwesbaarhede daarin vind**.
### Geheime gelekt
@ -215,7 +215,7 @@ content-protocol.md
## Dinamiese Analise
> Eerstens, jy het 'n omgewing nodig waar jy die toepassing en al die omgewing (Burp CA sertifikaat, Drozer en Frida hoofsaaklik) kan installeer. Daarom word 'n ge-root toestel (geëmuleer of nie) uiters aanbeveel.
> Eerstens het jy 'n omgewing nodig waar jy die toepassing en al die omgewing (Burp CA sertifikaat, Drozer en Frida hoofsaaklik) kan installeer. Daarom is 'n ge-root toestel (geëmuleer of nie) uiters aanbeveel.
### Aanlyn Dinamiese analise
@ -248,7 +248,7 @@ Om **google dienste** (soos AppStore) in Genymotion te installeer, moet jy op di
![](<../../images/image (277).png>)
Let ook daarop dat jy in die **konfigurasie van die Android VM in Genymotion** **Bridge Network mode** kan kies (dit sal nuttig wees as jy aan die Android VM van 'n ander VM met die gereedskap sal verbind).
Let ook daarop dat jy in die **konfigurasie van die Android VM in Genymotion** **Bridge Network mode** kan kies (dit sal nuttig wees as jy aan die Android VM wil koppel vanaf 'n ander VM met die hulpmiddels).
#### Gebruik 'n fisiese toestel
@ -267,7 +267,7 @@ Jy moet die **debugging** opsies aktiveer en dit sal goed wees as jy dit kan **r
**Logging**
Ontwikkelaars moet versigtig wees om **debugging inligting** publiek bloot te stel, aangesien dit kan lei tot sensitiewe data lek. Die gereedskap [**pidcat**](https://github.com/JakeWharton/pidcat) en `adb logcat` word aanbeveel om toepassingslogs te monitor om sensitiewe inligting te identifiseer en te beskerm. **Pidcat** word verkies vir sy gebruiksgemak en leesbaarheid.
Ontwikkelaars moet versigtig wees om **debugging inligting** publiek bloot te stel, aangesien dit kan lei tot sensitiewe data lek. Die hulpmiddels [**pidcat**](https://github.com/JakeWharton/pidcat) en `adb logcat` word aanbeveel om toepassingslogs te monitor om sensitiewe inligting te identifiseer en te beskerm. **Pidcat** word verkies vir sy gebruiksgemak en leesbaarheid.
> [!WARNING]
> Let daarop dat vanaf **later nuwer as Android 4.0**, **toepassings slegs toegang tot hul eie logs kan verkry**. So toepassings kan nie ander apps se logs toegang nie.\
@ -285,21 +285,21 @@ As pentester, **probeer om na hierdie logs te kyk**.
**Analitiese Data Gestuur Aan 3de Partye**
Toepassings integreer dikwels dienste soos Google Adsense, wat per ongeluk **sensitiewe data kan lek** as gevolg van onvanpaste implementering deur ontwikkelaars. Om potensiële data lek te identifiseer, is dit raadsaam om **die toepassing se verkeer te onderskep** en te kyk vir enige sensitiewe inligting wat aan derdeparty dienste gestuur word.
Toepassings integreer dikwels dienste soos Google Adsense, wat per ongeluk **sensitiewe data kan lek** as gevolg van onvanpaste implementering deur ontwikkelaars. Om potensiële data lek te identifiseer, is dit raadsaam om **die toepassing se verkeer te onderskep** en na te gaan of enige sensitiewe inligting aan derdeparty dienste gestuur word.
### SQLite DB's
Die meeste van die toepassings sal **interne SQLite databasisse** gebruik om inligting te stoor. Tydens die pentest, kyk na die **databasisse** wat geskep is, die name van **tabelle** en **kolomme** en al die **data** wat gestoor is, want jy kan **sensitiewe inligting** vind (wat 'n kwesbaarheid sou wees).\
Die meeste toepassings sal **interne SQLite databasisse** gebruik om inligting te stoor. Tydens die pentest, kyk na die **databasisse** wat geskep is, die name van **tabelle** en **kolomme** en al die **data** wat gestoor is, want jy kan **sensitiewe inligting** vind (wat 'n kwesbaarheid sou wees).\
Databasisse moet geleë wees in `/data/data/the.package.name/databases` soos `/data/data/com.mwr.example.sieve/databases`.
As die databasis vertroulike inligting stoor en is **geënkripteer** maar jy kan die **wagwoord** binne die toepassing vind, is dit steeds 'n **kwesbaarheid**.
Lys die tabelle met `.tables` en lys die kolomme van die tabelle met `.schema <table_name>`.
Enumerate die tabelle met `.tables` en enumerate die kolomme van die tabelle met `.schema <table_name>`.
### Drozer (Eksploiteer Aktiwiteite, Inhoudverskaffers en Dienste)
### Drozer (Eksploiteer Aktiwiteite, Inhoud Verskaffers en Dienste)
Van [Drozer Docs](https://labs.mwrinfosecurity.com/assets/BlogFiles/mwri-drozer-user-guide-2015-03-23.pdf): **Drozer** laat jou toe om **die rol van 'n Android-app aan te neem** en met ander apps te kommunikeer. Dit kan **enigiets doen wat 'n geïnstalleerde toepassing kan doen**, soos om gebruik te maak van Android se Inter-Process Communication (IPC) meganisme en met die onderliggende bedryfstelsel te kommunikeer.\
Drozer is 'n nuttige hulpmiddel om **geëksporteerde aktiwiteite, geëksporteerde dienste en Inhoudverskaffers** te **eksploiteer** soos jy in die volgende afdelings sal leer.
Drozer is 'n nuttige hulpmiddel om **geëksporteerde aktiwiteite, geëksporteerde dienste en Inhoud Verskaffers** te **eksploiteer** soos jy in die volgende afdelings sal leer.
### Eksploiteer geëksporteerde Aktiwiteite
@ -308,7 +308,7 @@ Onthou ook dat die kode van 'n aktiwiteit begin in die **`onCreate`** metode.
**Outorisering omseiling**
Wanneer 'n Aktiwiteit geëksporteer word, kan jy sy skerm van 'n eksterne app aanroep. Daarom, as 'n aktiwiteit met **sensitiewe inligting** **geëksporteer** is, kan jy die **outorisering** meganismes **omseil** om toegang daartoe te verkry.
Wanneer 'n Aktiwiteit geëksporteer word, kan jy sy skerm vanaf 'n eksterne app aanroep. Daarom, as 'n aktiwiteit met **sensitiewe inligting** **geëksporteer** is, kan jy die **outorisering** meganismes **omseil** om toegang daartoe te verkry.
[**Leer hoe om geëksporteerde aktiwiteite met Drozer te eksploiteer.**](drozer-tutorial/index.html#activities)
@ -319,50 +319,50 @@ Jy kan ook 'n geëksporteerde aktiwiteit vanaf adb begin:
```bash
adb shell am start -n com.example.demo/com.example.test.MainActivity
```
**NOTE**: MobSF sal die gebruik van _**singleTask/singleInstance**_ as `android:launchMode` in 'n aktiwiteit as kwaadwillig beskou, maar weens [this](https://github.com/MobSF/Mobile-Security-Framework-MobSF/pull/750), blyk dit dat dit slegs gevaarlik is op ouer weergawes (API weergawes < 21).
**NOTE**: MobSF sal die gebruik van _**singleTask/singleInstance**_ as `android:launchMode` in 'n aktiwiteit as kwaadwillig beskou, maar weens [hierdie](https://github.com/MobSF/Mobile-Security-Framework-MobSF/pull/750) is dit blykbaar net gevaarlik op ouer weergawes (API weergawes < 21).
> [!TIP]
> Let daarop dat 'n magtiging omseiling nie altyd 'n kwesbaarheid is nie, dit sal afhang van hoe die omseiling werk en watter inligting blootgestel word.
**Sensitiewe inligting lekkasie**
**Aktiwiteite kan ook resultate teruggee**. As jy daarin slaag om 'n geexporteerde en onbeveiligde aktiwiteit te vind wat die **`setResult`** metode aanroep en **sensitiewe inligting teruggee**, is daar 'n sensitiewe inligting lekkasie.
**Aktiwiteite kan ook resultate teruggee**. As jy daarin slaag om 'n uitgevoerde en onbeveiligde aktiwiteit te 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 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 uitgevoerde 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 verfris wat 'n Content Provider is.**](android-applications-basics.md#content-provider)\
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 injections** en **Path Traversals** te toets aangesien hulle kwesbaar kan wees.
[**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.
[**Leer hoe om Content Providers met Drozer te exploiteer.**](drozer-tutorial/index.html#content-providers)
### **Exploiting Services**
[**Lees dit as jy wil verfris wat 'n Service is.**](android-applications-basics.md#services)\
[**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 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/index.html#services)
Aangesien 'n diens basies iets is wat **data kan ontvang**, dit **verwerk** en **teruggee** (of nie) 'n antwoord. As 'n toepassing sekere dienste uitvoer, 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/index.html#services)
### **Exploiting Broadcast Receivers**
[**Lees dit as jy wil verfris wat 'n Broadcast Receiver is.**](android-applications-basics.md#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 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)
'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)
### **Exploiting Schemes / Deep links**
Jy kan handmatig na deep links soek, met behulp van gereedskap soos MobSF of skripte soos [this one](https://github.com/ashleykinguk/FBLinkBuilder/blob/master/FBLinkBuilder.py).\
Jy kan 'n verklaarde **scheme** met **adb** of 'n **blaaier** **oopmaak**:
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** met **adb** of 'n **blaaier** **oopmaak**:
```bash
adb shell am start -a android.intent.action.VIEW -d "scheme://hostname/path?param=value" [your.package.name]
```
_Note dat jy die **pakketnaam kan oorslaan** en die mobiele toestel sal outomaties die app oproep wat daardie skakel moet oopmaak._
Let daarop dat jy **die pakkie naam kan oorslaan** en die mobiele toestel sal outomaties die app oproep wat daardie skakel moet oopmaak.
```html
<!-- Browser regular link -->
<a href="scheme://hostname/path?param=value">Click me</a>
@ -377,11 +377,11 @@ Om die **kode wat in die App uitgevoer sal word** te vind, gaan na die aktiwitei
**Sensitiewe inligting**
Elke keer as jy 'n diep skakel vind, moet jy seker maak dat **dit nie sensitiewe data (soos wagwoorde) via URL parameters ontvang nie**, want enige ander toepassing kan **die diep skakel naboots en daardie data steel!**
Elke keer as jy 'n diep link vind, moet jy seker maak dat **dit nie sensitiewe data (soos wagwoorde) via URL parameters ontvang nie**, want enige ander toepassing kan **die diep link naboots en daardie data steel!**
**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 kyk of enige diep link '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**
@ -390,13 +390,13 @@ Let daarop dat as jy die korrekte eindpunte binne die toepassing vind, jy dalk '
### Vervoer Laag Inspeksie en Verifikasie Foute
- **Sertifikate word nie altyd behoorlik ondersoek nie** deur Android-toepassings. Dit is algemeen dat hierdie toepassings waarskuwings oorsien en self-onderteken sertifikate aanvaar of, in sommige gevalle, terugkeer na die gebruik van HTTP-verbindinge.
- **Sertifikate word nie altyd behoorlik inspekteer** deur Android-toepassings nie. Dit is algemeen dat hierdie toepassings waarskuwings oorsien 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 beskerm nie sensitiewe data, soos sessiekoekies of gebruikersbesonderhede, teen onderskep deur kwaadwillige entiteite nie.
#### Sertifikaat Verifikasie
Ons sal fokus op **sertifikaat verifikasie**. Die integriteit van die bediener se sertifikaat moet geverifieer word om sekuriteit te verbeter. Dit is van kardinale belang omdat onveilige TLS-konfigurasies en die oordrag van sensitiewe data oor nie-geënkripteerde kanale beduidende risiko's kan inhou. Vir gedetailleerde stappe oor die verifikasie van bedienersertifikate en die aanspreek van kwesbaarhede, bied [**hierdie hulpbron**](https://manifestsecurity.com/android-application-security-part-10/) omvattende leiding.
Ons sal fokus op **sertifikaat verifikasie**. Die integriteit van die bediener se sertifikaat moet geverifieer word om sekuriteit te verbeter. Dit is van kardinale belang omdat onveilige TLS-konfigurasies en die oordrag van sensitiewe data oor nie-geënkripteerde kanale beduidende risiko's kan inhou. Vir gedetailleerde stappe oor die verifikasie van bedienersertifikate en die aanspreek van kwesbaarhede, [**hierdie hulpbron**](https://manifestsecurity.com/android-application-security-part-10/) bied omvattende leiding.
#### SSL Pinning
@ -422,18 +422,18 @@ Wanneer SSL Pinning geïmplementeer is, word dit noodsaaklik om dit te omseil om
#### Soek na Algemene Web Kwesbaarhede
Dit is belangrik om ook te soek na algemene web kwesbaarhede binne die toepassing. Gedetailleerde inligting oor die identifisering en versagting van hierdie kwesbaarhede is buite die omvang van hierdie opsomming, maar word elders uitgebreid behandel.
Dit is belangrik om ook te soek na algemene web kwesbaarhede binne die toepassing. Gedetailleerde inligting oor die identifisering en mitigering van hierdie kwesbaarhede is buite die omvang van hierdie opsomming, maar word elders uitgebreid behandel.
### Frida
[Frida](https://www.frida.re) is 'n dinamiese instrumentasie-gereedskapstel vir ontwikkelaars, omgekeerde ingenieurs, en sekuriteitsnavorsers.\
**Jy kan lopende toepassings toegang verkry en metodes op tydstip aanroep om die gedrag te verander, waardes te verander, waardes uit te trek, verskillende kode te loop...**\
[Frida](https://www.frida.re) is 'n dinamiese instrumentasie toolkit vir ontwikkelaars, omgekeerde ingenieurs, en sekuriteitsnavorsers.\
**Jy kan lopende toepassings toegang verkry en metodes op tydstip haak om die gedrag te verander, waardes te verander, waardes uit te trek, verskillende kode te loop...**\
As jy Android-toepassings wil pentest, moet jy weet hoe om Frida te gebruik.
- Leer hoe om Frida te gebruik: [**Frida tutoriaal**](frida-tutorial/index.html)
- Sommige "GUI" vir aksies met Frida: [**https://github.com/m0bilesecurity/RMS-Runtime-Mobile-Security**](https://github.com/m0bilesecurity/RMS-Runtime-Mobile-Security)
- Ojection is wonderlik om die gebruik van Frida te outomatiseer: [**https://github.com/sensepost/objection**](https://github.com/sensepost/objection) **,** [**https://github.com/dpnishant/appmon**](https://github.com/dpnishant/appmon)
- Jy kan 'n paar wonderlike Frida-skripte hier vind: [**https://codeshare.frida.re/**](https://codeshare.frida.re)
- Jy kan 'n paar wonderlike Frida skripte hier vind: [**https://codeshare.frida.re/**](https://codeshare.frida.re)
- Probeer om anti-debugging / anti-frida meganismes te omseil deur Frida te laai soos aangedui in [https://erfur.github.io/blog/dev/code-injection-without-ptrace](https://erfur.github.io/blog/dev/code-injection-without-ptrace) (gereedskap [linjector](https://github.com/erfur/linjector-rs))
### **Dump Geheue - Fridump**
@ -449,7 +449,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 grep met iets soos:
Dit sal die geheue in die ./dump gids dump, 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]+$"
```
@ -471,7 +471,7 @@ 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 herstel word na die voorgrond, 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 laai van die beeld 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 toegang te verkry).
@ -491,7 +491,7 @@ 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.
### Essensiële Afleidings
### Belangrike 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.
@ -503,7 +503,7 @@ Die gevaar lê in die toelaat van aanvallers om nie-geëksporteerde app-komponen
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 met dinamiese navrae of Inhoudverskaffers werk, verseker dat jy geparametriseerde navrae gebruik.
- **JavaScript Inspuiting (XSS):** Verifieer dat JavaScript en Plugin-ondersteuning vir enige WebViews gedeaktiveer is (standaard gedeaktiveer). [Meer inligting hier](webview-attacks.md#javascript-enabled).
- **JavaScript Inspuiting (XSS):** Verifieer dat JavaScript en Plugin ondersteuning vir enige WebViews gedeaktiveer is (standaard gedeaktiveer). [Meer inligting hier](webview-attacks.md#javascript-enabled).
- **Plaaslike Lêer Insluiting:** WebViews moet toegang tot die lêerstelsel gedeaktiveer hê (standaard geaktiveer) - `(webview.getSettings().setAllowFileAccess(false);)`. [Meer inligting hier](webview-attacks.md#javascript-enabled).
- **Ewige koekies**: In verskeie gevalle wanneer die android-toepassing die sessie beëindig, word die koekie nie herroep nie of dit kan selfs op skyf gestoor word.
- [**Veilige Vlag** in koekies](../../pentesting-web/hacking-with-cookies/index.html#cookies-flags)
@ -518,22 +518,22 @@ Waarskynlik weet jy van hierdie soort kwesbaarhede van die Web. Jy moet spesiaal
![](<../../images/image (866).png>)
**Kwetsbaarheidsevaluasie van die toepassing** met 'n pragtige web-gebaseerde frontend. Jy kan ook dinamiese analise uitvoer (maar jy moet die omgewing voorberei).
**Kwetsbaarheidsevaluasie van die toepassing** met 'n mooi 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
```
Let wel dat MobSF **Android**(apk)**, IOS**(ipa) **en Windows**(apx) toepassings kan analiseer (_Windows toepassings moet geanaliseer word vanaf 'n MobSF wat op 'n Windows gasheer geïnstalleer is_).\
As jy ook 'n **ZIP**-lêer met die bronkode van 'n **Android** of **IOS** app skep (gaan na die wortelgids van die toepassing, kies alles en skep 'n ZIP-lêer), sal dit ook in staat wees om dit te analiseer.
As jy ook 'n **ZIP** lêer met die bronkode van 'n **Android** of **IOS** app skep (gaan na die wortelgids van die toepassing, 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/vergelyking** analises te doen 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 = <Your API key>` `VT_UPLOAD = TRUE`). Jy kan ook `VT_UPLOAD` op `False` stel, dan sal die **hash** ge **upload** word in plaas van die lêer.
MobSF laat jou ook toe om **diff/vergelyking** analises te doen 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** ge **upload** word in plaas van die lêer.
### Geassisteerde 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). _Let wel: Jy moet **eers 'n VM in genymotion begin** en **dan 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). _Let wel: Jy moet **eers 'n VM in genymotion begin** en **dan MobSF.**_\
Die **MobSF dinamiese ontleder** kan:
- **Dump toepassingsdata** (URL's, logs, klembord, skermskote gemaak deur jou, skermskote gemaak deur "**Exported Activity Tester**", 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 druk op "**Exported Activity Tester**" om skermskote van al die uitgevoerde aktiwiteite te verkry.
- **Dump toepassingsdata** (URL's, logs, klembord, skermskote gemaak deur jou, skermskote gemaak deur "**Exported Activity Tester**", 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 druk op "**Exported Activity Tester**" om skermskote van al die uitgevoerde aktiwiteite te verkry.
- **HTTPS-verkeer** vasvang
- **Frida** gebruik om **runtime** **inligting** te verkry
@ -544,25 +544,25 @@ Van Android **weergawe > 5**, sal dit **outomaties Frida begin** en globale **pr
Standaard sal dit ook 'n paar Frida-skripte gebruik om **SSL pinning** te **omseil**, **root-detektering** en **debugger-detektering** en om **interessante API's** te **moniteer**.\
MobSF kan ook **uitgevoerde aktiwiteite** aanroep, **skermskote** daarvan neem en dit **stoor** vir die verslag.
Om die dinamiese toetsing te **begin**, druk die groen knoppie: "**Start Instrumentation**". Druk op die "**Frida Live Logs**" om die logs te sien wat deur die Frida-skripte gegenereer word en "**Live API Monitor**" om al die aanroepings na gehookte metodes, oorgedraagde argumente en teruggegee waardes te sien (dit sal verskyn nadat jy "Start Instrumentation" gedruk het).\
MobSF laat jou ook toe om jou eie **Frida-skripte** te laai (om die resultate van jou Frida-skripte na MobSF te stuur, gebruik die funksie `send()`). Dit het ook **verskeie vooraf geskryfde skripte** wat jy kan laai (jy kan meer by `MobSF/DynamicAnalyzer/tools/frida_scripts/others/` voeg), kies net **hulle**, druk "**Load**" en druk "**Start Instrumentation**" (jy sal in staat wees om die logs van daardie skripte binne "**Frida Live Logs**" te sien).
Om die dinamiese toetsing te **begin**, druk die groen knoppie: "**Begin Instrumentasie**". Druk op die "**Frida Live Logs**" om die logs te sien wat deur die Frida-skripte gegenereer word en "**Live API Monitor**" om al die aanroepe na gehookte metodes, oorgedraagde argumente en teruggegee 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 Frida-skripte na MobSF te stuur, gebruik die funksie `send()`). Dit het ook **verskeie vooraf geskryfde skripte** wat jy kan laai (jy kan meer byvoeg in `MobSF/DynamicAnalyzer/tools/frida_scripts/others/`), kies net **hulle**, druk "**Laai**" en druk "**Begin Instrumentasie**" (jy sal die logs van daardie skripte binne "**Frida Live Logs**" kan sien).
![](<../../images/image (419).png>)
Boonop het jy 'n paar bykomende Frida-funksies:
- **Lys Gelaaide Klasse**: Dit sal al die gelaaide klasse druk
- **Vang Strings**: Dit sal al die gevangenis strings druk terwyl jy die toepassing gebruik (baie lawaaierig)
- **Vang Strings**: Dit sal al die gevangenis strings druk terwyl jy die toepassing gebruik (baie lawaaiig)
- **Vang String Vergelykings**: Kan baie nuttig wees. Dit sal **die 2 strings wat vergelyk word** wys en of die resultaat Waar of Onwaar was.
- **Lys Klas Metodes**: Sit die klasnaam (soos "java.io.File") en dit sal al die metodes van die klas druk.
- **Soek Klas Patroon**: Soek klasse volgens patroon
- **Trace Klas Metodes**: **Trace** 'n **hele klas** (sien insette en uitsette van al die metodes van die klas). Onthou dat MobSF standaard verskeie interessante Android API-metodes traceer.
Sodra jy die bykomende module wat jy wil gebruik, gekies het, moet jy druk op "**Start Instrumentation**" en jy sal al die uitsette in "**Frida Live Logs**" sien.
Sodra jy die bykomende module wat jy wil gebruik, gekies het, moet jy druk op "**Begin Instrumentasie**" en jy sal al die uitsette in "**Frida Live Logs**" sien.
**Shell**
Mobsf bied jou ook 'n shell met 'n paar **adb** opdragte, **MobSF opdragte**, en algemene **shell** **opdragte** aan die onderkant van die dinamiese analise bladsy. Sommige interessante opdragte:
MobSF bied jou ook 'n shell met 'n paar **adb** opdragte, **MobSF opdragte**, en algemene **shell** **opdragte** onderaan die dinamiese analise bladsy. Sommige interessante opdragte:
```bash
help
shell ls
@ -579,7 +579,7 @@ Om dit te doen, _skakel Burp aan -->_ _skakel Intercept af --> in MobSB HTTPTool
Sodra jy die dinamiese analise met MobSF voltooi het, kan jy op "**Start Web API Fuzzer**" druk om **http versoeke te fuzz** en soek na kwesbaarhede.
> [!TIP]
> 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:
> Na die uitvoering van 'n dinamiese analise met MobSF mag die proxy-instellings verkeerd geconfigureer wees en jy sal dit nie vanaf die GUI kan regstel nie. Jy kan die proxy-instellings regstel deur:
>
> ```
> adb shell settings put global http_proxy :0
@ -592,13 +592,13 @@ Hierdie gereedskap sal 'n paar **Hooks** gebruik om jou te laat weet **wat in di
### [Yaazhini](https://www.vegabird.com/yaazhini/)
Dit is 'n **wonderlike gereedskap om statiese analise met 'n GUI uit te voer**
Dit is 'n **wonderlike gereedskap om statiese analise met 'n GUI** uit te voer.
![](<../../images/image (741).png>)
### [Qark](https://github.com/linkedin/qark)
Hierdie gereedskap is ontwerp om na verskeie **veiligheidsverwante Android-toepassing kwesbaarhede** te soek, hetsy in **bronkode** of **gepakte APK's**. Die gereedskap is ook **in staat om 'n "Proof-of-Concept" 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 gereedskap is ontwerp om na verskeie **veiligheidsverwante Android-toepassing kwesbaarhede** te soek, hetsy in **bronkode** of **gepakde APK's**. Die gereedskap is ook **in staat om 'n "Proof-of-Concept" 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
@ -608,7 +608,7 @@ qark --java path/to/specific/java/file.java
### [**ReverseAPK**](https://github.com/1N3/ReverseAPK.git)
- Vertoon alle onttrokken lêers vir maklike verwysing
- Decompileer outomaties APK-lêers na Java en Smali-formaat
- Decompileer APK-lêers outomaties na Java en Smali-formaat
- Analiseer AndroidManifest.xml vir algemene kwesbaarhede en gedrag
- Statiese bronnekode-analise vir algemene kwesbaarhede en gedrag
- Toestelinligting
@ -620,9 +620,9 @@ 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 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.
Alle reëls is gefokus in 'n `rules.json` lêer, en elke maatskappy of toetsers kan hul eie reëls skep om te analiseer wat hulle nodig het.
Laai die nuutste binaire lêers af van die [aflaai bladsy](https://superanalyzer.rocks/download.html)
Laai die nuutste binaire lêers af van die [download page](https://superanalyzer.rocks/download.html)
```
super-analyzer {apk_file}
```
@ -632,7 +632,7 @@ super-analyzer {apk_file}
StaCoAn is 'n **crossplatform** hulpmiddel wat ontwikkelaars, bugbounty jagters en etiese hackers help om [statiese kode analise](https://en.wikipedia.org/wiki/Static_program_analysis) op mobiele toepassings uit te voer.
Die konsep is dat jy jou mobiele toepassingslêer (n .apk of .ipa lêer) op die StaCoAn toepassing sleep en dit 'n visuele en draagbare verslag vir jou sal genereer. Jy kan die instellings en woordlyste aanpas om 'n gepersonaliseerde ervaring te kry.
Die konsep is dat jy jou mobiele toepassingslêer (n .apk of .ipa-lêer) op die StaCoAn-toepassing sleep en dit sal 'n visuele en draagbare verslag vir jou genereer. Jy kan die instellings en woordlyste aanpas om 'n gepersonaliseerde ervaring te kry.
Laai [nuutste vrystelling](https://github.com/vincentcox/StaCoAn/releases):
```
@ -662,14 +662,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 toepassingsontwikkelaars en sekuriteitsprofessionals.
Dit is in staat om:
Dit kan:
- 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)
- Privaatsakennisse 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 deobfuscate via [apk-deguard.com](http://www.apk-deguard.com)
- Java en Smali kode onttrek met behulp van verskillende hulpmiddels
- APK's analiseer met: [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: [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)
### Koodous
@ -681,15 +681,15 @@ Let daarop dat dit afhang van die diens en konfigurasie wat jy gebruik om die ko
### [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 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.
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.
ProGuard word versprei as deel van die Android SDK en loop wanneer die toepassing in vrystellingmodus gebou word.
### [DexGuard](https://www.guardsquare.com/dexguard)
Vind 'n stap-vir-stap gids om die apk te deobfuscate in [https://blog.lexfo.fr/dexguard.html](https://blog.lexfo.fr/dexguard.html)
Vind 'n stap-vir-stap gids om die apk te deobfuskeer in [https://blog.lexfo.fr/dexguard.html](https://blog.lexfo.fr/dexguard.html)
(Van daardie gids) Laas keer wat ons gekyk het, was die Dexguard werksmodus:
(Van daardie gids) Laas keer wat ons gekontroleer het, was die Dexguard werksmodus:
- laai 'n hulpbron as 'n InputStream;
- voer die resultaat aan 'n klas wat van FilterInputStream erf om dit te ontsleutel;
@ -705,11 +705,11 @@ Jy kan 'n obfuskeer APK na hul platform oplaai.
### [Deobfuscate android App]https://github.com/In3tinct/deobfuscate-android-app
Dit is 'n LLM hulpmiddel om enige potensiële sekuriteitskwesbaarhede in android toepassings te vind en android toepassingskode te deobfuscate. Gebruik Google's Gemini publieke API.
Dit is 'n LLM hulpmiddel om enige potensiële sekuriteitskwesbaarhede in android toepassings te vind en android toepassingskode te deobfuskeer. Gebruik Google se Gemini publieke API.
### [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 obfuskering 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 obfuskering is nie.
### [APKiD](https://github.com/rednaga/APKiD)
@ -717,7 +717,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 reverse**](manual-deobfuscation.md)
[Lees hierdie tutoriaal om 'n paar truuks te leer oor **hoe om pasgemaakte obfuskerings te reverseer**](manual-deobfuscation.md)
## Labs

View File

@ -2,13 +2,13 @@
{{#include ../../banners/hacktricks-training.md}}
Shizuku is 'n oop-bron diens wat **'n bevoorregte Java-proses met `app_process` genereer** en gekose **Android-stelsel API's oor Binder blootstel**. Omdat die proses met dieselfde **`shell` UID vermoëns wat ADB gebruik** begin word, kan enige aansoek (of terminal) wat aan die uitgevoerde AIDL-koppelvlak bind, baie aksies uitvoer wat normaalweg **`WRITE_SECURE_SETTINGS`, `INSTALL_PACKAGES`, lêer I/O binne `/data`,** ens. vereis **sonder om die toestel te root**.
Shizuku is 'n oop-bron diens wat **'n bevoorregte Java-proses genereer met behulp van `app_process`** en stel geselekteerde **Android-stelsels API's oor Binder** beskikbaar. Omdat die proses met dieselfde **`shell` UID vermoëns wat ADB gebruik**, enige toepassing (of terminal) wat aan die uitgevoerde AIDL-koppelvlak bind, kan baie aksies uitvoer wat normaalweg **`WRITE_SECURE_SETTINGS`, `INSTALL_PACKAGES`, lêer I/O binne `/data`,** ens. vereis **sonder om die toestel te root**.
Tipiese gebruiksgevalle:
* Sekuriteitsouditering vanaf 'n nie-ge-root toestel
* Verwydering van bloatware / debloating stelselaansoeke
* Sekuriteitsouditing vanaf 'n nie-ge-root toestel
* Verwydering van bloatware / debloating stelsels toepassings
* Versameling van logs, Wi-Fi sleutels, proses en sokketinligting vir blue-team/DFIR
* Outomatisering van toestelkonfigurasie vanaf pasgemaakte aansoeke of shell-skripte
* Outomatisering van toestelkonfigurasie vanaf pasgemaakte toepassings of shell skripte
---
## 1. Starting the privileged service
@ -17,8 +17,8 @@ Tipiese gebruiksgevalle:
### 1.1 Wireless ADB (Android 11+)
1. Aktiveer **Ontwikkelaarsopsies ➜ Draadlose foutopsporing** en koppel die toestel.
2. Binne die Shizuku-app kies **“Begin via Draadlose foutopsporing”** en kopieer die paar kode.
3. Die diens oorleef tot die volgende herbegin (draadlose-foutopsporing sessies word op opstart skoongemaak).
2. Binne die Shizuku-toepassing kies **“Begin via Draadlose foutopsporing”** en kopieer die paar kode.
3. Die diens oorleef tot die volgende herlaai (draadlose-foutopsporing sessies word op opstart skoongemaak).
### 1.2 USB / local ADB one-liner
```bash
@ -39,11 +39,11 @@ su -c sh /data/adb/shizuku/start.sh
```bash
adb shell dumpsys activity service moe.shizuku.privileged.api | head
```
'n Succesvolle begin keer terug `Running services (1)` saam met die PID van die bevoorregte proses.
'n Succesvolle begin keer `Running services (1)` saam met die PID van die bevoorregte proses terug.
---
## 2. Bind vanaf 'n toepassing
Derdeparty toepassings het net die volgende nodig binne hul `AndroidManifest.xml`:
## 2. Binding vanaf 'n toepassing
Derdeparty-apps het net die volgende binne hul `AndroidManifest.xml` nodig:
```xml
<uses-permission android:name="moe.shizuku.manager.permission.API"/>
```
@ -91,7 +91,7 @@ logcat -d | grep -iE "(error|exception)"
```bash
cat /data/misc/wifi/WifiConfigStore.xml | grep -i "<ConfigKey>"
```
* Bulk debloat (voorbeeld):
* Massiewe debloat (voorbeeld):
```bash
pm uninstall --user 0 com.miui.weather2
```
@ -101,7 +101,7 @@ pm uninstall --user 0 com.miui.weather2
1. Shizuku benodig **ADB-foutopsporing** regte, daarom moet _Ontwikkelaar Opsies → USB/Draadlose foutopsporing_ **geaktiveer** wees.
Organisasies kan dit blokkeer deur 'n MDM of via `settings put global development_settings_enabled 0`.
2. Die diens registreer homself onder die naam `moe.shizuku.privileged.api`.
'n Eenvoudige `adb shell service list | grep shizuku` (of Endpoint Security-reël) ontdek sy teenwoordigheid.
'n Eenvoudige `adb shell service list | grep shizuku` (of Endpoint Security-reël) detecteer sy teenwoordigheid.
3. Vermoëns is beperk tot wat die `shell` gebruiker reeds kan doen dit is **nie root** nie.
Sensitiewe API's wat die `system` of `root` gebruiker vereis, is steeds ontoeganklik.
4. Sessies oorleef **nie 'n herbegin** nie, tensy die toestel ge-root is en Shizuku as 'n opstart-daeemon geconfigureer is.
@ -110,14 +110,14 @@ Sensitiewe API's wat die `system` of `root` gebruiker vereis, is steeds ontoegan
## 5. Versagting
* Deaktiveer USB/Draadlose foutopsporing op produksietoestelle.
* Monitor vir Binder dienste wat `moe.shizuku.privileged.api` blootstel.
* Gebruik SELinux-beleide (Android enterprise) om die AIDL-koppelvlak van onbeheerde toepassings te blokkeer.
* Gebruik SELinux-beleide (Android enterprise) om die AIDL-koppelvlak van nie-gemandeerde toepassings te blokkeer.
---
## Verwysings
- [Blog Shizuku: Ontsluiting van Gevorderde Android Vermoëns Sonder Root](https://www.mobile-hacker.com/2025/07/14/shizuku-unlocking-advanced-android-capabilities-without-root/)
- [Shizuku Amptelike Dokumentasie](https://shizuku.rikka.app/)
- [awesome-shizuku lys van ondersteunende toepassings](https://github.com/timschneeb/awesome-shizuku)
- [awesome-shizuku lys van ondersteunde toepassings](https://github.com/timschneeb/awesome-shizuku)
- [rish shell (privileged reverse-adb shell)](https://github.com/RikkaApps/Shizuku/blob/master/RISH.md)
{{#include ../../banners/hacktricks-training.md}}

View File

@ -17,8 +17,8 @@ Met 'n ou jailbreak toestel is dit moontlik om die IPA te installeer, **dit te d
1. Installeer die app om te pentest in die iPhone
2. Installeer en begin [Apple Configurator](https://apps.apple.com/au/app/apple-configurator/id1037126344?mt=12) binne jou macos
3. Open `Terminal` op jou Mac, en cd na `/Users/[username]/Library/Group\\ Containers/K36BKF7T3D.group.com.apple.configurator/Library/Caches/Assets/TemporaryItems/MobileApps`. Die IPA sal later in hierdie gids verskyn.
4. Jy behoort jou iOS-toestel te sien. Dubbelklik daarop, en klik dan op Voeg by + → Apps vanaf die boonste menu-balk.
5. Nadat jy op Voeg geklik het, sal Configurator die IPA van Apple aflaai, en probeer om dit na jou toestel te druk. As jy my aanbeveling vroeër gevolg het en die IPA reeds geïnstalleer het, sal 'n prompt wat jou vra om die app weer te installeer verskyn.
4. Jy behoort jou iOS-toestel te sien. Dubbelklik daarop, en klik dan op Voeg by + → Apps vanaf die boonste menubalk.
5. Na jy op Voeg by geklik het, sal Configurator die IPA van Apple aflaai, en probeer om dit na jou toestel te druk. As jy my aanbeveling vroeër gevolg het en die IPA reeds geïnstalleer het, sal 'n prompt wat jou vra om die app weer te installeer verskyn.
6. Die IPA behoort afgelaai te wees binne `/Users/[username]/Library/Group\\ Containers/K36BKF7T3D.group.com.apple.configurator/Library/Caches/Assets/TemporaryItems/MobileApps` waar jy dit kan gryp.
Kyk na [https://dvuln.com/blog/modern-ios-pentesting-no-jailbreak-needed](https://dvuln.com/blog/modern-ios-pentesting-no-jailbreak-needed) vir meer gedetailleerde inligting oor hierdie proses.
@ -38,7 +38,7 @@ Zip die IPA terug:
cd unzipped
zip -r ../no-min-version.ipa *
```
Dan installeer die IPA byvoorbeeld met:
Dan, installeer die IPA byvoorbeeld met:
```bash
ideviceinstaller -i no-min-version.ipa -w
```
@ -61,7 +61,7 @@ ideviceinstaller -i resigned.ipa -w
### Aktiveer Ontwikkelaarsmodus (iOS 16+)
Sedert iOS 16 het Apple **Ontwikkelaarsmodus** bekendgestel: enige binêre wat `get_task_allow` dra *of* met 'n ontwikkelingssertifikaat onderteken is, sal weier om te begin totdat Ontwikkelaarsmodus op die toestel geaktiveer is. Jy sal ook nie in staat wees om Frida/LLDB aan te sluit tensy hierdie vlag aan is nie.
Sedert iOS 16 het Apple **Ontwikkelaarsmodus** bekendgestel: enige binêre wat `get_task_allow` dra *of* met 'n ontwikkelingssertifikaat onderteken is, sal weier om te begin totdat Ontwikkelaarsmodus op die toestel geaktiveer is. Jy sal ook nie Frida/LLDB kan aanheg tensy hierdie vlag aan is nie.
1. Installeer of druk **enige** ontwikkelaars-ondertekende IPA na die foon.
2. Navigeer na **Instellings → Privaatheid & Sekuriteit → Ontwikkelaarsmodus** en skakel dit aan.
@ -90,11 +90,11 @@ objection -g "com.example.target" explore
# Or plain Frida
frida -U -f com.example.target -l my_script.js --no-pause
```
Onlangse Frida vrylatinge (>=16) hanteer outomaties pointer-authentisering en ander iOS 17 versagtings, so die meeste bestaande skrifte werk reg uit die boks.
Onlangs Frida vrylatinge (>=16) hanteer outomaties pointer-authentisering en ander iOS 17 versagtings, so die meeste bestaande skripte werk reg uit die boks.
### Geoutomatiseerde dinamiese analise met MobSF (geen jailbreak)
### Geoutomatiseerde dinamiese analise met MobSF (geen jailbreak nie)
[MobSF](https://mobsf.github.io/Mobile-Security-Framework-MobSF/) kan 'n dev-onderteken IPA op 'n werklike toestel instrumenteer met dieselfde tegniek (`get_task_allow`) en bied 'n web UI met lêerstelselblaaier, verkeerskapting en Frida-konsol【】. Die vinnigste manier is om MobSF in Docker te loop en dan jou iPhone via USB aan te sluit:
[MobSF](https://mobsf.github.io/Mobile-Security-Framework-MobSF/) kan 'n dev-onderteken IPA op 'n werklike toestel instrumenteer met dieselfde tegniek (`get_task_allow`) en bied 'n web UI met lêerstelselblaaier, verkeersvang en Frida-konsol【】. Die vinnigste manier is om MobSF in Docker te laat loop en dan jou iPhone via USB aan te sluit:
```bash
docker pull opensecurity/mobile-security-framework-mobsf:latest
docker run -p 8000:8000 --privileged \
@ -107,7 +107,7 @@ MobSF sal outomaties die binêre ontplooi, 'n Frida-bediener binne die app sandk
### iOS 17 & Lockdown Mode voorbehoude
* **Lockdown Mode** (Instellings → Privaatheid & Sekuriteit) blokkeer die dinamiese skakelaar om ongetekende of eksterne getekende dinamiese biblioteke te laai. Wanneer jy toestelle toets wat hierdie modus mag hê, maak seker dit is **deaktiveer** of jou Frida/objection sessies sal onmiddellik beëindig word.
* Pointer Authentication (PAC) word stelselwyd afgedwing op A12+ toestelle. Frida ≥16 hanteer PAC stripping deursigtig — hou net beide *frida-server* en die Python/CLI gereedskapketting op datum wanneer 'n nuwe groot iOS weergawe vrygestel word.
* Pointer Authentication (PAC) word stelselwyd op A12+ toestelle afgedwing. Frida ≥16 hanteer PAC stripping deursigtig — hou net beide *frida-server* en die Python/CLI gereedskapketting op datum wanneer 'n nuwe groot iOS weergawe vrygestel word.
## Verwysings

View File

@ -21,15 +21,15 @@ Alle interessante enumerasie kan deur **nmap** uitgevoer word:
```bash
nmap -n -sV -Pn --script "*telnet* and safe" -p 23 <IP>
```
Die skrip `telnet-ntlm-info.nse` sal NTLM-inligting verkry (Windows weergawes).
Die skrip `telnet-ntlm-info.nse` sal NTLM-inligting (Windows weergawes) verkry.
Van die [telnet RFC](https://datatracker.ietf.org/doc/html/rfc854): In die TELNET-protokol is daar verskeie "**opsies**" wat goedgekeur sal word en gebruik kan word met die "**DO, DON'T, WILL, WON'T**" struktuur om 'n gebruiker en bediener in staat te stel om saam te stem om 'n meer uitgebreide (of dalk net ander) stel konvensies vir hul TELNET-verbinding te gebruik. Sulke opsies kan insluit die verandering van die karakterstel, die echo-modus, ens.
Van die [telnet RFC](https://datatracker.ietf.org/doc/html/rfc854): In die TELNET-protokol is daar verskeie "**opsies**" wat goedgekeur sal word en gebruik kan word met die "**DO, DON'T, WILL, WON'T**" struktuur om 'n gebruiker en bediener in staat te stel om saam te stem om 'n meer uitgebreide (of dalk net verskillende) stel konvensies vir hul TELNET-verbinding te gebruik. Sulke opsies kan insluit die verandering van die karakterstel, die echo-modus, ens.
**Ek weet dit is moontlik om hierdie opsies te tel, maar ek weet nie hoe nie, so laat weet my as jy weet hoe.**
**Ek weet dit is moontlik om hierdie opsies te enumerate, maar ek weet nie hoe nie, so laat weet my as jy weet hoe.**
### [Brute force](../generic-hacking/brute-force.md#telnet)
## Konfigurasie lêer
## Konfigurasie-lêer
```bash
/etc/inetd.conf
/etc/xinetd.d/telnet
@ -85,7 +85,7 @@ sudo tcpdump -i eth0 -A 'tcp port 23 and not src host $(hostname -I | cut -d" "
# Wireshark display filter
tcp.port == 23 && (telnet.data || telnet.option)
```
Vir aktiewe MITM, kombineer ARP spoofing (bv. `arpspoof`/`ettercap`) met dieselfde snuffelfilters om wagwoorde op geswitte netwerke te versamel.
Vir aktiewe MITM, kombineer ARP spoofing (bv. `arpspoof`/`ettercap`) met dieselfde snuffelfilters om wagwoorde op geswitched netwerke te versamel.
### Geoutomatiseerde Brute-force / Wagwoord Spuit
```bash
@ -115,7 +115,7 @@ Nadat 'n shell verkry is, onthou dat **TTY's gewoonlik dom is**; opgradeer met `
1. Verkies SSH en deaktiveer Telnet-diens heeltemal.
2. As Telnet vereis word, bind dit slegs aan bestuurs-VLAN's, handhaaf ACL's en verpak die daemon met TCP wrappers (`/etc/hosts.allow`).
3. Vervang ou `telnetd` implementasies met `ssl-telnet` of `telnetd-ssl` om vervoer-enkripsie by te voeg, maar **dit beskerm slegs data-in-transit—wachtwoord-raai bly triviaal**.
3. Vervang erfenis `telnetd` implementasies met `ssl-telnet` of `telnetd-ssl` om vervoer-enkripsie by te voeg, maar **dit beskerm slegs data-in-transit—wachtwoord-raai bly triviaal**.
4. Monitor vir uitgaande verkeer na poort 23; kompromies genereer dikwels omgekeerde shells oor Telnet om streng HTTP-uitgangfilters te omseil.
## Verwysings

View File

@ -68,8 +68,8 @@ sed -n 's/.*@@END@@\(.*\)/\1/p'
## Verwysings
* [SugarCRM ≤ 14.0.0 (css/preview) LESS Code Injection Vulnerability](https://karmainsecurity.com/KIS-2025-04)
* [SugarCRM Security Advisory SA-2024-059](https://support.sugarcrm.com/resources/security/sugarcrm-sa-2024-059/)
* [SugarCRM ≤ 14.0.0 (css/preview) LESS Code Injection Kwetsbaarheid](https://karmainsecurity.com/KIS-2025-04)
* [SugarCRM Sekuriteitsadvies SA-2024-059](https://support.sugarcrm.com/resources/security/sugarcrm-sa-2024-059/)
* [CVE-2024-58258](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2024-58258)
{{#include ../banners/hacktricks-training.md}}

View File

@ -2,8 +2,8 @@
{{#include ../../banners/hacktricks-training.md}}
Daar is verskeie blogs op die Internet wat **die gevare van die laat van drukkers geconfigureer met LDAP met standaard/ swak** aanmeldbesonderhede beklemtoon. \
Dit is omdat 'n aanvaller die **drukker kan mislei om teen 'n valse LDAP-bediener te verifieer** (tipies is 'n `nc -vv -l -p 389` of `slapd -d 2` genoeg) en die drukkers **aanmeldbesonderhede in duidelike teks** kan vang.
Daar is verskeie blogs op die Internet wat **die gevare van die gebruik van drukkers met LDAP met standaard/zwak** aanmeldingsbesonderhede beklemtoon. \
Dit is omdat 'n aanvaller die printer kan **mislei om teen 'n kwaadwillige LDAP-bediener te autentiseer** (tipies is 'n `nc -vv -l -p 389` of `slapd -d 2` genoeg) en die printer **aanmeldingsbesonderhede in duidelike teks** kan vang.
Ook, verskeie drukkers sal **logs met gebruikersname** bevat of kan selfs in staat wees om **alle gebruikersname** van die Domeinbeheerder af te laai.
@ -17,22 +17,22 @@ Sommige inleidende blogs oor die onderwerp:
---
## Drukker Konfigurasie
- **Ligging**: Die LDAP-bedienerlys word gewoonlik in die webkoppelvlak gevind (bv. *Netwerk ➜ LDAP Instelling ➜ LDAP Opstel*).
- **Gedrag**: Baie ingebedde webbedieners laat LDAP-bedienerwysigings toe **sonder om weer aanmeldbesonderhede in te voer** (bruikbaarheid kenmerk → sekuriteitsrisiko).
- **Eksploiteer**: Herlei die LDAP-bedieneradres na 'n aanvaller-beheerde gasheer en gebruik die *Toets Verbinding* / *Adresboek Sinkroniseer* knoppie om die drukker te dwing om aan jou te bind.
- **Ligging**: Die LDAP-bedienerlys word gewoonlik in die webkoppelvlak gevind (bv. *Netwerk ➜ LDAP Instelling ➜ LDAP Opstelling*).
- **Gedrag**: Baie ingebedde webbedieners laat LDAP-bedienerwysigings toe **sonder om weer aanmeldingsbesonderhede in te voer** (bruikbaarheid kenmerk → sekuriteitsrisiko).
- **Eksploiteer**: Herlei die LDAP-bedieneradres na 'n aanvaller-beheerde gasheer en gebruik die *Toets Verbinding* / *Adresboek Sinchroniseer* knoppie om die printer te dwing om aan jou te bind.
---
## Vang Aanmeldbesonderhede
## Vang Aanmeldingsbesonderhede
### Metode 1 Netcat Luisteraar
```bash
sudo nc -k -v -l -p 389 # LDAPS → 636 (or 3269)
```
Klein/ou MFP's mag 'n eenvoudige *simple-bind* in duidelike teks stuur wat netcat kan vang. Moderne toestelle voer gewoonlik eers 'n anonieme navraag uit en probeer dan die bind, so resultate verskil.
Klein/ou MFP's kan 'n eenvoudige *simple-bind* in duidelike teks stuur wat netcat kan vang. Moderne toestelle voer gewoonlik eers 'n anonieme navraag uit en probeer dan die bind, so resultate verskil.
### Metode 2 Volledige Rogue LDAP bediener (aanbeveel)
Omdat baie toestelle 'n anonieme soektog sal doen *voor* hulle outentiseer, lewer die opstel van 'n werklike LDAP daemon baie meer betroubare resultate:
Omdat baie toestelle 'n anonieme soektog *voor* outentisering sal uitvoer, lewer die opstelling van 'n werklike LDAP daemon baie meer betroubare resultate:
```bash
# Debian/Ubuntu example
sudo apt install slapd ldap-utils
@ -46,15 +46,15 @@ Wanneer die drukker sy soektog uitvoer, sal jy die duidelike teks geloofsbriewe
> 💡 Jy kan ook `impacket/examples/ldapd.py` (Python rogue LDAP) of `Responder -w -r -f` gebruik om NTLMv2 hashes oor LDAP/SMB te versamel.
---
## Onlangse Pass-Back Kwesbaarhede (2024-2025)
## Onlangse Pass-Back Kwessies (2024-2025)
Pass-back is *nie* 'n teoretiese probleem nie verskaffers publiseer voortaan advies in 2024/2025 wat hierdie aanvalsklas presies beskryf.
### Xerox VersaLink CVE-2024-12510 & CVE-2024-12511
Firmware ≤ 57.69.91 van Xerox VersaLink C70xx MFPs het 'n geverifieerde admin (of enige iemand wanneer standaard geloofsbriewe oorbly) toegelaat om:
Firmware ≤ 57.69.91 van Xerox VersaLink C70xx MFPs het 'n geverifieerde admin (of enige iemand wanneer standaard geloofsbriewe bly) toegelaat om:
* **CVE-2024-12510 LDAP pass-back**: die LDAP-bedieneradres te verander en 'n soektog te aktiveer, wat die toestel dwing om die geconfigureerde Windows geloofsbriewe na die aanvaller-beheerde gasheer te lek.
* **CVE-2024-12510 LDAP pass-back**: die LDAP-bedieneradres te verander en 'n soektog te aktiveer, wat die toestel laat lek van die geconfigureerde Windows geloofsbriewe na die aanvaller-beheerde gasheer.
* **CVE-2024-12511 SMB/FTP pass-back**: identiese probleem via *scan-to-folder* bestemmings, wat NetNTLMv2 of FTP duidelike teks geloofsbriewe lek.
'n Eenvoudige luisteraar soos:
@ -77,7 +77,7 @@ Die verskaffer se leiding beveel eksplisiet aan:
## Geoutomatiseerde Enumerasie / Exploitatie Gereedskap
| Gereedskap | Doel | Voorbeeld |
|------------|------|----------|
|------------|------|-----------|
| **PRET** (Printer Exploitation Toolkit) | PostScript/PJL/PCL misbruik, lêerstelsels toegang, standaard-geloofsbriewe kontrole, *SNMP ontdekking* | `python pret.py 192.168.1.50 pjl` |
| **Praeda** | Versamel konfigurasie (insluitend adresboeke & LDAP geloofsbriewe) via HTTP/HTTPS | `perl praeda.pl -t 192.168.1.50` |
| **Responder / ntlmrelayx** | Vang & herlei NetNTLM hashes van SMB/FTP pass-back | `responder -I eth0 -wrf` |
@ -87,18 +87,18 @@ Die verskaffer se leiding beveel eksplisiet aan:
## Versterking & Opsporing
1. **Patch / firmware-opdatering** MFPs vinnig (kontroleer verskaffer PSIRT bulletins).
2. **Minimale Privilege Diens Rekeninge** gebruik nooit Domein Admin vir LDAP/SMB/SMTP; beperk tot *lees-slegs* OU skope.
2. **Minimale Privilege Diens Rekeninge** gebruik nooit Domein Admin vir LDAP/SMB/SMTP; beperk tot *lees-alleen* OU skope.
3. **Beperk Bestuurs Toegang** plaas drukker web/IPP/SNMP interfaces in 'n bestuurs VLAN of agter 'n ACL/VPN.
4. **Deaktiveer Ongebruikte Protokolle** FTP, Telnet, raw-9100, ouer SSL ciphers.
5. **Aktiveer Oudit Logging** sommige toestelle kan syslog LDAP/SMTP mislukkings; korreleer onverwagte binds.
6. **Monitor vir Duidelike-Teks LDAP binds** op ongewone bronne (drukker behoort normaalweg net met DC's te kommunikeer).
6. **Monitor vir Duidelike-Teks LDAP binds** op ongewone bronne (drukker behoort normaalweg net met DCs te kommunikeer).
7. **SNMPv3 of deaktiveer SNMP** gemeenskap `public` lek dikwels toestel & LDAP konfigurasie.
---
## Verwysings
- [https://grimhacker.com/2018/03/09/just-a-printer/](https://grimhacker.com/2018/03/09/just-a-printer/)
- Rapid7. “Xerox VersaLink C7025 MFP Pass-Back Attack Vulnerabilities.” Februarie 2025.
- Canon PSIRT. “Vulnerability Mitigation Against SMTP/LDAP Passback for Laser Printers and Small Office Multifunction Printers.” Mei 2025.
- Rapid7. “Xerox VersaLink C7025 MFP Pass-Back Aanval Kw vulnerabilities.” Februarie 2025.
- Canon PSIRT. “Kw vulnerabilities Mitigering Teen SMTP/LDAP Passback vir Laser Drukkers en Klein Kantoor Multifunksie Drukkers.” Mei 2025.
{{#include ../../banners/hacktricks-training.md}}