# App-pentest

# Je app staat op duizenden telefoons. Ook op die van een aanvaller.

Een pentest van je iOS- en Android-app en de API erachter. Iedereen kan je app downloaden en bekijken wat erin zit. Met deze test weet jij het eerder dan een aanvaller.

**Vanaf € 2.250 excl. btw**. Vaste prijs na het afbakenen van de scope

- **Platformen**: iOS, Android of beide
- **Inclusief**: De API achter de app
- **Aanlevering**: Testbuilds, de stores zijn niet nodig
- **Start**: In overleg, meestal binnen twee weken
- **Rapport**: Binnen 10 werkdagen na de test
- **Vooraf**: NDA en schriftelijke toestemming

[Pentest aanvragen](https://hackindex.nl/contact/details?parts=mobile)

## Herken je dit?

- **De app gaat voor het eerst de store in.** Een fout die je voor de release vindt, staat nooit op duizenden telefoons.
- **Er zitten betalingen of gezondheidsgegevens in.** Hoe gevoeliger de gegevens, hoe belangrijker dat app en API kloppen.
- **De app is gebouwd met React Native.** Wat er in de app zit, is voor iedereen te bekijken. Ook sleutels die daar niet horen.
- **De API is er alleen voor de app.** Een aanvaller gebruikt je app niet, maar praat direct met de API.

## Van telefoon tot server

Een app-pentest kijkt naar vier lagen. De API zit er altijd bij, want daar zitten vaak de ernstigste fouten.

### Telefoon: Opslag op de telefoon

Wat blijft er achter op het toestel?

- Inloggegevens en persoonsgegevens die onbeschermd zijn opgeslagen
- Gegevens die blijven staan na uitloggen
- Gevoelige schermen in het overzicht van open apps

### App: De app zelf

Wat vind je als je in de app kijkt?

- Sleutels en wachtwoorden die in de app zijn meegeleverd
- Verborgen test- en debugfuncties
- Hoe goed de app zich beschermt tegen aanpassen

### App: Links naar de app

Kan een link de app iets laten doen?

- Acties die via een link starten zonder bevestiging
- Webpagina's binnen de app die te veel mogen

### Verbinding: De verbinding

Kan iemand meekijken op hetzelfde wifi?

- Of alle verbindingen versleuteld zijn
- Gegevens die verstuurd worden maar niet nodig zijn
- Externe diensten in de app die meelezen

### Server: De API

Wat gebeurt er als je de app overslaat?

- Gegevens van andere gebruikers opvragen
- Controles die alleen in de app zitten en niet op de server
- Oude versies van de API die nog werken

### Server: Inloggen

Hoe lang blijft iemand binnen?

- Sessies die nooit verlopen
- Uitloggen dat niet echt uitlogt
- Codes per sms of e-mail die te raden zijn

## Zo ziet een bevinding eruit

Per bevinding wat er mis is, het bewijs, wat het betekent en hoe je het oplost.

### HI-OP-2026-R7KD-01: De geheime sleutel van de betaalprovider zit in de app

- **Ernst**: Kritiek, CVSS 4.0 9.3, CVSS 3.1 9.1

De app praat zelf met de betaalprovider, met een sleutel die alleen op de server hoort.

1. De app downloaden uit de store, zonder account.
2. De geheime sleutel van de betaalprovider staat in de app.
3. Met die sleutel kan buiten de app om een terugbetaling worden gedaan.

Iedereen kan geld naar zichzelf terugstorten en klantgegevens bij de betaalprovider inzien. De sleutel moet worden ingetrokken en de app opnieuw uitgebracht.

```diff
-await paymentProvider(SECRET_KEY).refund(paymentId);
+await api.post(`/orders/${orderId}/refund`);
```

Fictief voorbeeld. Echte bevindingen blijven vertrouwelijk.

## Wat er wel en niet in zit

### Onderdeel van de opdracht

- De iOS- en Android-versie van je app
- De API die de app gebruikt
- Opslag op de telefoon en de verbinding met de server
- Een rapport en een nabespreking

### Valt erbuiten

- **Je website of webapp**, die kan erbij als web- en API-pentest
- **Infrastructuur**, zoals servers en hosting. Kan op aanvraag, met een eigen prijs
- **De App Store en Play Store**, en hun keuring
- **Diensten van anderen**, buiten hoe jouw app ze gebruikt

## Wat kost het?

Na de intake krijg je een vaste prijs. Deze punten bepalen de omvang.

**Vanaf € 2.250 excl. btw**. Vaste prijs, zonder nacalculatie

- **Platformen**: Eén platform of allebei. Bij React Native of Flutter scheelt gedeelde code tijd.
- **De API erachter**: Hoeveel functies en rollen de API heeft.
- **Gevoelige onderdelen**: Betalingen of gezondheidsgegevens vragen meer diepgang.

## Wat je aanlevert

Hoe beter dit klaarstaat, hoe meer tijd er naar het testen zelf gaat.

- **Testbuilds** (Nodig): Een TestFlight-uitnodiging voor iOS en een installatiebestand voor Android.
- **Een testaccount per rol** (Nodig): Met testbetalingen als dat relevant is.
- **Een testomgeving van de API** (Optioneel): Los van echte gebruikers. Geen testomgeving? HackIndex zet een kopie van de API op, voor gangbare opzetten zonder meerprijs. Beveiliging die testverkeer blokkeert, staat uit voor HackIndex.

## Meer dekking in één opdracht

- **App-pentest** (vanaf € 2.250): Je app en de API erachter.

- **Web- en API-pentest** (vanaf € 1.950): Heb je naast de app een webapplicatie op dezelfde API? Samen testen scheelt tijd, de API hoeft maar één keer verkend te worden.

[Meer over Web- en API-pentest](https://hackindex.nl/web-en-api-pentest)

## Veelgestelde vragen

### Moet de app al in de store staan?

Nee. Testbuilds zijn genoeg, en eigenlijk beter: dan wordt er getest voordat gebruikers de app hebben.

### Waarom zit de API er altijd bij?

Een aanvaller praat niet met je app maar direct met de API. Daar zitten vaak de ernstigste fouten.

### De app heeft extra beveiliging. Is dat genoeg?

Het maakt aanvallen lastiger, maar is meestal te omzeilen. De test laat zien wat er daarna nog te halen is.

### Wat als er iets kritieks wordt gevonden?

Dan hoor je het meteen. Een gelekte sleutel kun je zo direct intrekken.

## Laat je app testen.

Vertel welke platformen en wat de app doet. Je ontvangt een voorstel met een vaste prijs.

- [Pentest aanvragen](https://hackindex.nl/contact/details?parts=mobile)

## Andere diensten

- [Web- en API-pentest](https://hackindex.nl/web-en-api-pentest): Webapplicaties en API's, met extra diepgang in Laravel en WordPress
- [Security code review](https://hackindex.nl/security-code-review): Je broncode gelezen op kwetsbaarheden
- [AVG-codecheck](https://hackindex.nl/avg-codecheck): Hoe je code met persoonsgegevens omgaat

## Woordenlijst

- **Infrastructuur**: De servers, het netwerk en de hosting onder je applicatie, zoals open poorten en serverinstellingen. Die vallen buiten een test van de applicatie zelf.
- **Nabespreking**: Een gesprek over het rapport: wat er gevonden is, hoe ernstig het is en in welke volgorde je het oplost.
- **Testomgeving**: Een kopie van je applicatie, los van de echte gebruikers en gegevens, waarop veilig getest kan worden.

Bron: https://hackindex.nl/app-pentest
