Moja droga do certyfikatu eMAPT



Kolejny etap w pogłębianiu wiedzy przyniósł mi spory dylemat - w którą stronę iść z bezpieczeństwem?

Aplikacje Android towarzyszą mi w pracy coraz częściej. Naturalnym wyborem był eMAPT od eLearnSecurity - praktyczny, bez pytań wielokrotnego wyboru, z realnym środowiskiem do przejęcia. Pomyślałem że to świetna opcja na kolejny certyfikat do kolekcji!

Małe zastrzeżenie na start: eMAPT v1 to certyfikat z konkretnym bagażem lat na karku. Środowisko egzaminacyjne operuje na starszych wersjach Androida i część technik w nowszym API działa inaczej lub jest zablokowana. Fundamenty bezpieczeństwa Androida jednak nie zestarzały się tak bardzo - exported components bez uprawnień, słaba kryptografia, insecure storage czy intent injection nadal żyją w prawdziwych aplikacjach produkcyjnych. Warto o tym pamiętać podchodząc do certyfikatu z właściwymi oczekiwaniami 😀

Podzielę moje przygotowania na kilka etapów:

1. Jak się przygotować
2. Ostatnie szlify
3. Egzamin


1. Jak się przygotować

Tutaj dostajemy kurs i laby, ale brakuje tego wyraźnego "zrób to, potem to, potem jesteś gotowy". Przez to na początku trochę kręciłem się w kółko.

Pierwsze co zrobiłem to skonfigurowanie środowiska - i to pochłonęło zdecydowanie więcej czasu niż planowałem 😀. Starsza wersja Android Virtual Device zgodna z kursem, Burp Suite z certyfikatem w system store, MobSF do statycznej analizy, jadx i apktool do dekompilacji.

Samą naukę podzieliłem na dwa tory równolegle:

Kurs eMAPT - solidna baza, szczególnie rozdziały o Content Providers, Broadcast Receivers i analizie Intentów były dla mnie bardzo wartościowe. Manifest Androida stał się po kursie dokumentem który potrafię czytać płynnie i od razu wyłapywać podejrzane wpisy.

Podatne aplikacje do praktyki - bo sam kurs to za mało: - DIVA (Damn Insecure and Vulnerable App) - klasyka, 13 różnych klas błędów, każdy challenge minimum 2 razy - InjuredAndroid - bardziej rozbudowana, z flagami do zdobycia, bardzo polecam - Androgoat - inne podatności, warto dla uzupełnienia

Do każdej ćwiczonej podatności prowadziłem notatki z metodologią w Jooplin. Nie po to żeby je przepisywać na egzaminie, ale żeby utrwalić tok myślenia: statyczna analiza → dynamiczna analiza → identyfikacja podatności → exploitacja → dokumentacja.

Podsumowując - polecam dogłębne przejście materiałów kursowych oraz solidne przepracowanie powyższych aplikacji. OWASP Mobile Top 10 jako checklist, a nie lista do zakucia.


2. Ostatnie szlify

Przygotowanie pod egzamin przebiegało w przyjętej strategii — przez ok. 2 tygodnie robiłem każdego dnia symulacje egzaminowe na podatnych apkach, traktując je jak nieznaną aplikację widzianą pierwszy raz.

Tydzień przed egzaminem przeszedłem OWASP Mobile Top 10 raz jeszcze jako weryfikację metodologii. Przy każdym punkcie pytałem siebie: "Czy potrafię to sprawdzić w nieznanej aplikacji bez podpowiedzi?" Dla kilku kategorii odpowiedź była "nie do końca" i te luki uzupełniłem — szczególnie Improper Authentication i Insecure Communication wymagały dodatkowych godzin praktyki.

Zrobiłem też jedną pełną symulację egzaminu: wziąłem testową aplikację, udawałem że widzę ją pierwszy raz i przeprowadziłem pełny pentest kończąc na napisaniu krótkiego raportu. Ten krok bardzo polecam - raport to integralna część oceny i warto wiedzieć zawczasu jak go strukturyzować.


3. Egzamin

Kupujemy voucher, tworzymy konto, bukujemy termin i przystępujemy. Egzamin nie jest monitorowany przez proktora jak w OSCP.

I tutaj ważna rzecz - eMAPT nie kończy się pisaniem raportu. Kończy się napisaniem aplikacji Android która exploituje błędy w dwóch podatnych aplikacjach egzaminacyjnych. Dowód że exploit działa jest prosty: odpalasz swoją aplikację exploitującą i wynik pojawia się na ekranie. Działa - zdajesz. Nie działa - nie zdajesz. Zero niedomówień 😀

To podejście jest moim zdaniem znacznie uczciwsze niż raport - nie marnuje naszego czasu!

Zacząłem od statyki, potem ręczna analiza manifestów. I już w manifeście pierwszej byłem w połowie drogi 😀. Kilka exported activities bez wymaganych uprawnień, jeden Content Provider który nie powinien być publicznie dostępny.

Jak ktoś nie koduje na codziennie jak ja, przy pomocy AI jest w stanie sam złożyć działający exploit.

Pisanie aplikacji exploitującej dla obu targetów zajęło mi ok. 3 godzin - wliczając debugowanie i testy na emulatorze.

Cały egzamin - analiza obu aplikacji plus napisanie exploita — zamknął się w 6 godzinach. Wysłałem projekt i nie musiałem długo czekać - wynik przyszedł jeszcze tego samego dnia. Cały proces od uruchomienia środowiska do emaila z wynikiem zamknął się w jednym dniu 😎

Czytając blogi innych zdających gdzie egzamin rozciągał się na kilka dni - wydaje się to dobrym osiągnięciem 😀


Wynik i refleksje

Pass - i to w pierwszym podejściu.

Czy eMAPT v1 to najtrudniejszy certyfikat świata? Nie. Czy jest przestarzały technicznie? Trochę tak. Ale czy nauczyłem się przez niego myśleć jak mobilny pentester? Zdecydowanie tak — i właśnie o to chodzi. Fundamenty które wyniosłem, analizę manifestu, pracę z Fridą, myślenie w kategoriach exported components i IPC, stosuję w realnych projektach od razu po egzaminie.

Co dalej? Lista jest długa 😀 OSWE wisi w planach. Czas pokaże.


Pomocne zasoby:

  • MASTG
  • OWASP Mobile
  • Diva
  • InjuredAndroid
  • Hactricks Android
  • ← Wstecz