Testy penetracyjne

Testy penetracyjne aplikacji desktop

Testy penetracyjne aplikacji desktop (thick client) od 9 999 zł netto: reverse engineering, fuzzing, analiza pamięci, kryptografii i komunikacji z API według OWASP ASVS. Raport z oceną CVSS, retest do 30 dni i platforma vulnerability management w cenie.

Cena netto od 9 999 zł dokładna wycena po rozmowie o zakresie, zwykle tego samego dnia
  • Certyfikowani pentesterzy (OSCP, OSWE, OSEP)
  • Retest do 30 dni w cenie
  • Wgląd w postęp testów w platformie vulnerability management
vipentest · pentest aplikacji desktop (przykład)LIVE
  1. .NET 6 · 214 klas · 3 sekrety w stałych
  2. %APPDATA%\Klient\session.txt · brak szyfrowania
  • WysokaSekrety zaszyte w binarce (.NET)
  • WysokaToken sesji w pliku tekstowym
  • ŚredniaAktualizator bez weryfikacji podpisu
  • OKHasło użytkownika chronione DPAPI
Obszary OWASP Desktop82%
  • 214klas przeanalizowanych
  • 8znalezisk
  • 2wysokie

Testy penetracyjne aplikacji desktop (thick client) od 9 999 zł netto sprawdzają, co atakujący może zrobić z programem zainstalowanym na komputerze użytkownika: odczytać zapisane hasła i tokeny, podsłuchać komunikację z backendem, zmodyfikować binaria, ominąć licencję lub wykorzystać aplikację do przejęcia systemu operacyjnego. Wycena po rozmowie o zakresie, bo cena zależy od liczby modułów, technologii i tego, czy w zakresie jest również API.

Testy bezpieczeństwa aplikacji desktopowych realizujemy w oparciu o połączenie manualnej analizy eksperckiej oraz automatyzowanych testów bezpieczeństwa, z zastosowaniem narzędzi i technik dostosowanych do architektury konkretnej aplikacji: .NET (C#, WPF, WinForms), C++, Java, Electron, Qt, Delphi i inne, na Windows, a także na macOS i Linux dla aplikacji wieloplatformowych. Badania obejmują zarówno analizę statyczną kodu i komponentów aplikacji, jak i dynamiczną analizę działania aplikacji w czasie rzeczywistym, w celu identyfikacji potencjalnych podatności, błędów implementacyjnych oraz słabości w integracji z systemem operacyjnym lub siecią.

Zakres

Analizowane obszary aplikacji

Analiza binarna, pamięć procesu, komunikacja klient–serwer i uprawnienia lokalne: gruby klient to trzy powierzchnie ataku naraz (plik na dysku, proces w pamięci, połączenie z serwerem). W ramach testów analizujemy każdą z nich.

Przechowywanie danych i kryptografia

Identyfikacja niezaszyfrowanych danych, informacji poufnych oraz ich lokalizacji (pliki tymczasowe, cache, rejestr), poprawność stosowanych algorytmów, zarządzanie kluczami i magazynowanie sekretów.

Uwierzytelnianie i zarządzanie sesją

Odporność aplikacji na ataki związane z przejęciem sesji, ponownym użyciem tokenów, zapisanymi na stałe poświadczeniami (hardcoded credentials) i obejściem logowania po stronie klienta.

Komunikacja sieciowa i API

Weryfikacja bezpieczeństwa protokołów, transmisji danych i odporności na ataki MITM. Jeśli aplikacja typu thick client komunikuje się z usługą API, również ona zostaje poddana kompleksowej analizie zgodnie z OWASP ASVS i praktykami stosowanymi w testach API/web services (REST, SOAP, RPC): autoryzacja, manipulacja danymi, walidacja wejść.

Interakcja z systemem operacyjnym

Testy uprawnień, odczytu i zapisu do katalogów systemowych, interfejsów IPC, usług systemowych i kluczy rejestru. Sprawdzamy, czy aplikacja uruchamiana przez zwykłego użytkownika nie daje mu uprawnień administratora.

Zabezpieczenia przed inżynierią wsteczną

Detekcja obfuskacji, mechanizmów anty-debugging i ochrony przed manipulacją kodem. Oceniamy, ile wysiłku wymaga odtworzenie logiki, ominięcie licencji lub wstrzyknięcie własnego kodu do procesu.

Metodyka

Metodyka: OWASP, MITRE CWE i PTES

Testy przeprowadzamy zgodnie z uznanymi metodykami i najlepszymi praktykami branżowymi, łącząc analizę statyczną binariów z dynamiczną obserwacją działającego procesu.

Techniki analizy statycznej i reverse engineering

  • Testy statyczne – analiza binariów pod kątem słabości kodu, hardcoded credentials, niezałatanych bibliotek
  • Reverse engineering – deasemblacja i analiza kodu w celu identyfikacji mechanizmów działania oraz ukrytych funkcji
  • Weryfikacja bezpieczeństwa kryptografii – poprawność implementacji algorytmów szyfrowania i zarządzania kluczami
  • Testy komponentów przechowywanych na systemie operacyjnym – pliki, konfiguracja i lokalizacje, w których aplikacja zapisuje dane (pliki tymczasowe, cache, konfiguracja)
  • Przegląd kluczy rejestru (Windows) – zapisy konfiguracyjne i miejsca przechowywania danych uwierzytelniających
  • Analiza logów i przechowywanych danych – identyfikacja możliwego wycieku danych lub zapisów wrażliwych informacji

Techniki analizy dynamicznej i fuzzing

  • Fuzzing – automatyczne testowanie komponentów aplikacji nieprawidłowymi lub losowymi danymi wejściowymi, aby wykryć błędy wykonania (crashe, wyjątki)
  • Testy dynamiczne – monitorowanie działania aplikacji w czasie rzeczywistym: interakcja z systemem operacyjnym, API, plikami i siecią
  • Analiza komponentów sieciowych i API – połączenia wychodzące i komunikacja z backendem, bezpieczeństwo endpointów, uwierzytelnienie i autoryzacja
  • Wstrzyknięcia (Injections) – SQL, OS Command, XML, DLL
  • Monitorowanie procesów i pamięci (memory inspection) – obecność wrażliwych danych w pamięci operacyjnej (hasła, tokeny)

Wykorzystywane standardy i metodyki

  • OWASP Application Security Verification Standard (ASVS) – główna rama odniesienia dla weryfikacji bezpieczeństwa aplikacji typu thick client
  • OWASP Testing Guide – metodologia ogólna i klasyfikacja testów
  • OWASP Desktop Application Security Cheat Sheet – źródło technicznych zaleceń i testów kontrolnych
  • MITRE CWE – klasyfikacja wykrytych podatności
  • PTES – wspólny szkielet procesu dla wszystkich testów penetracyjnych VIPentest

Przykładowe narzędzia wykorzystywane podczas testów

  • Burp Suite Professional – testy API i komunikacji sieciowej
  • Process Monitor / Process Hacker – analiza procesów i interakcji z OS
  • x64dbg / Ghidra / IDA Pro – debugowanie, reverse engineering
  • Wireshark / Fiddler – analiza ruchu sieciowego
  • Sysinternals Suite – monitorowanie aktywności rejestru, plików, pamięci
  • Dependency Walker / PEStudio – analiza komponentów aplikacji
  • Własne skrypty (Python, PowerShell) – automatyzacja eksploracji i eksploitacji
Proces

Jak przebiega test aplikacji desktop krok po kroku

Ten sam proces co przy pozostałych testach VIPentest, z jedną różnicą: zamiast adresu URL potrzebujemy instalatora i środowiska, w którym aplikacja działa tak jak u Twoich użytkowników.

  1. 01

    Rozmowa o zakresie

    Ustalamy technologię aplikacji, liczbę modułów, sposób logowania, czy w zakresie jest backend/API i czy pracujemy w modelu grey box (instalator i konta testowe) czy white box (z dostępem do kodu źródłowego). Po rozmowie dostajesz wycenę z konkretną liczbą dni.

    30–60 minbezpłatnie
  2. 02

    Formalności

    Umowa i NDA elektronicznie, konta testowe dla każdej roli, instalator lub obraz środowiska, osoba kontaktowa i ścieżka eskalacji przy podatności krytycznej.

    NDA1–2 dni
  3. 03

    Rekonesans i modelowanie zagrożeń

    Mapujemy architekturę: komponenty, pliki, procesy, połączenia sieciowe, uprawnienia. Ustalamy, co dla Twojego biznesu byłoby najgorszym scenariuszem (wyciek danych klientów, ominięcie licencji, przejęcie stacji), i od tego zaczynamy.

    Process MonitorWireshark
  4. 04

    Analiza statyczna i dynamiczna

    Reverse engineering binariów, fuzzing wejść, inspekcja pamięci, testy komunikacji z API, wstrzyknięcia, kryptografia i interakcja z systemem operacyjnym. Każdą podatność widzisz w platformie vulnerability management w dniu wykrycia, o krytycznych informujemy dodatkowo telefonicznie.

    GhidraBurp Suitefuzzing4–10 dni
  5. 05

    Raport i spotkanie omawiające

    Streszczenie zarządcze, lista podatności z oceną CVSS i CWE, dowody krok po kroku, rekomendacje w kolejności wdrożenia. Omawiamy je z Twoimi deweloperami.

    CVSS2–3 dni
  6. 06

    Retest w cenie

    Po wydaniu poprawionej wersji zgłaszasz poprawki w platformie jednym kliknięciem, a my sprawdzamy, czy podatności zniknęły, i wystawiamy raport końcowy z certyfikatem.

    do 30 dnicertyfikat
Cennik

Cennik testów penetracyjnych aplikacji desktop

Pentest aplikacji desktop: cena zależy od zakresu, dlatego podajemy próg „od” i typowe czasy realizacji, a dokładną kwotę po rozmowie.

Od 9 999 zł netto. Wycena po rozmowie o zakresie: cena zależy od liczby modułów i ekranów aplikacji, technologii (natywna, .NET, Java, Electron), liczby ról użytkownika, obecności backendu lub API w zakresie oraz modelu testu (grey box lub white box z dostępem do kodu). Typowe czasy realizacji: prosta aplikacja lokalna 4–5 dni roboczych, aplikacja kliencka z backendem/API 5–7 dni, system wielomodułowy lub produkcyjny 10+ dni.

Zawsze w cenie:

  • raport w dwóch wersjach: zarządczej i technicznej, z oceną CVSS, dowodami i rekomendacjami
  • retest do 30 dni od przekazania raportu oraz raport końcowy z certyfikatem
  • dostęp do platformy vulnerability management VIPentest w trakcie testu i po nim
  • konsultacja z pentesterem po teście, spotkanie omawiające z zespołem deweloperskim

Jeśli ta sama logika biznesowa jest dostępna także w przeglądarce, zwykle taniej jest połączyć test grubego klienta z testami penetracyjnymi aplikacji webowych i API w jednym projekcie. Porównanie wszystkich rodzajów testów znajdziesz na stronie rodzaje testów penetracyjnych.

Raportowanie

Co dostajesz w raporcie z testu aplikacji desktop

Po zakończeniu testów dostarczamy szczegółowy raport, który czytają dwie różne osoby: zarząd i deweloper.

Raportowanie

  • Zidentyfikowane podatności sklasyfikowane według poziomu istotności (Krytyczne, Wysokie, Średnie, Niskie oraz Informacyjne), co umożliwia szybkie zrozumienie priorytetów i zakresu ryzyk dla organizacji.
  • Techniczny i biznesowy opis każdego problemu.
  • Przypisany poziom ryzyka zgodny z uznanymi standardami (CVSS).
  • Możliwe skutki wykorzystania podatności przez osoby niepowołane.
  • Kroki umożliwiające odtworzenie podatności: zrzuty ekranu, komendy, payloady, logi, fragmenty zdeasemblowanego kodu.
  • Identyfikator CWE ułatwiający klasyfikację problemu w międzynarodowych rejestrach.
  • Odnośniki do źródeł zewnętrznych (OWASP, MITRE, CVE) pozwalające zweryfikować podatność lub zgłębić temat.
  • Zalecenia mitygacji ryzyk dopasowane do kontekstu organizacji i środowiska: konfiguracja, aktualizacje komponentów, zmiany w logice aplikacji, ograniczenia dostępu, mechanizmy detekcji i monitorowania.

Wgląd w test w platformie vulnerability management

Każdy klient dostaje dostęp do platformy vulnerability management VIPentest na czas testu i po nim: widzisz postęp testu, każda podatność pojawia się w dniu wykrycia z oceną CVSS, dowodem i rekomendacją, a po wydaniu poprawionej wersji zgłaszasz ją do retestu jednym kliknięciem. Raport i certyfikat pobierasz z tej samej platformy.

W raporcie opisujemy też zakres, model testu, użyte narzędzia i wyłączenia, tak by dokument nadawał się dla audytora ISO 27001 lub klienta, który wymaga od Ciebie testu bezpieczeństwa oprogramowania.

Dla kogo

Dla kogo: producenci oprogramowania, medycyna, przemysł, finanse

Testy aplikacji klient-serwer zamawiają najczęściej firmy, których oprogramowanie trafia na komputery klientów, pacjentów, operatorów maszyn lub pracowników banków.

Typowe sytuacje

  • Tworzysz oprogramowanie instalowane u klientów (ERP, systemy medyczne, bankowe, przemysłowe, POS) i klient lub regulator wymaga raportu z testu.
  • Aplikacja przechowuje lokalnie dane osobowe, klucze lub tokeny i chcesz wiedzieć, czy ktoś z dostępem do komputera je odczyta.
  • Model licencyjny lub logika biznesowa siedzi po stronie klienta i musisz sprawdzić, jak łatwo ją obejść.
  • Aplikacja działa z podwyższonymi uprawnieniami lub instaluje usługę systemową, więc jej błąd oznacza przejęcie stacji roboczej.
Przygotowanie

Jak przygotować aplikację desktop do testu

Kilka rzeczy przygotowanych przed startem skraca test i pozwala pentesterowi od pierwszego dnia pracować na właściwej wersji.

  • Instalator i wersja. Dokładnie ta wersja aplikacji, która trafia do użytkowników, wraz z wymaganymi bibliotekami i licencją testową.
  • Środowisko testowe backendu. Serwer lub API, do którego aplikacja może się łączyć bez ryzyka dla danych produkcyjnych.
  • Konta testowe. Po jednym na każdą rolę użytkownika (np. operator, administrator), z danymi, które można bezpiecznie modyfikować.
  • Dokumentacja. Opis architektury, protokołów komunikacji i mechanizmu aktualizacji; dla white box dostęp do repozytorium kodu.
  • Zgody dostawców. Jeśli backend stoi w chmurze lub u hostingodawcy, część z nich wymaga zgłoszenia testu z wyprzedzeniem.
  • Osoba kontaktowa i ścieżka eskalacji. Kto odbiera telefon, gdy znajdziemy podatność krytyczną.

Uwagi końcowe

VIPentest Sp. z o.o. zastrzega sobie prawo do modyfikacji planu testów w zależności od bieżących potrzeb i ustaleń z klientem. Zakres, model testu i lista komponentów wyłączonych z analizy są zawsze potwierdzane pisemnie przed rozpoczęciem prac.

FAQ

Najczęściej zadawane pytania

Czym są testy penetracyjne aplikacji desktopowych?

Testy penetracyjne aplikacji desktopowych to symulowany atak hakerski na oprogramowanie zainstalowane lokalnie w systemie użytkownika, mający na celu wykrycie luk bezpieczeństwa w logice aplikacji, autoryzacji, komunikacji sieciowej i integracji z systemem operacyjnym. Takie testy pozwalają zidentyfikować realne ryzyka przed wykorzystaniem ich przez cyberprzestępców.

Jakie technologie obejmują testy aplikacji desktopowych?

Testy obejmują aplikacje napisane w: .NET (C#, WPF, WinForms), Java (Swing, JavaFX), Electron, C++, Python (PyQt, Tkinter), Qt, Delphi, GoLang, Rust, a także aplikacje hybrydowe i klienckie komunikujące się z backendem lub API.

Jak przebiega test penetracyjny aplikacji desktopowej?

Proces obejmuje: rozmowę o zakresie i formalności (umowa, NDA, instalator, konta testowe), analizę architektury i wektorów ataku, inżynierię wsteczną (reverse engineering), analizę binarną i dynamiczną (fuzzing, inspekcja pamięci), testy uprawnień i mechanizmów uwierzytelniania, analizę komunikacji sieciowej i szyfrowania oraz raport z rekomendacjami i priorytetami ryzyka, a po wdrożeniu poprawek retest do 30 dni. Test realizowany jest w modelu grey box (instalator i konta testowe) lub white box (z dostępem do kodu źródłowego).

Ile trwa test penetracyjny aplikacji desktopowej?

Zależnie od złożoności projektu: prosta aplikacja lokalna 4–5 dni roboczych, aplikacja kliencka z backendem/API 5–7 dni roboczych, system wielomodułowy lub produkcyjny 10+ dni roboczych. Do tego dochodzą 2–3 dni na raport i spotkanie omawiające. Dokładny harmonogram podajemy w wycenie po rozmowie o zakresie.

Ile kosztuje test penetracyjny aplikacji desktopowej?

Cena testu zaczyna się od 9 999 zł netto dla pojedynczej aplikacji. Przy większych projektach, testach wielomodułowych lub z backendem i API w zakresie koszt rośnie wraz z liczbą modułów, ról użytkownika i technologii. Po analizie środowiska przygotowujemy indywidualną wycenę, dopasowaną do zakresu, ryzyka i wymagań branżowych. W cenie jest raport, retest do 30 dni, dostęp do platformy vulnerability management i konsultacja po teście.

Czy testy aplikacji desktopowych spełniają wymagania NIS2 i DORA?

Tak. Testy penetracyjne aplikacji desktopowych stanowią element zgodności z dyrektywami NIS2 i DORA, które nakazują regularne testowanie systemów IT pod kątem odporności na cyberataki (TLPT / Red Teaming). Raport z testu może być wykorzystany jako dowód zgodności podczas audytu regulacyjnego.

Czy testy są bezpieczne dla środowiska produkcyjnego?

Tak. Wszystkie testy wykonywane są w kontrolowanym środowisku z zachowaniem zasad bezpieczeństwa. Preferujemy, aby testy były przeprowadzone w środowisku testowym (staging) lub w wydzielonej kopii systemu, na kontach testowych z danymi, które można bezpiecznie modyfikować.

Czym jest aplikacja thick client i czym różni się jej test od testu aplikacji webowej?

Thick client (gruby klient) to aplikacja instalowana na komputerze użytkownika, która wykonuje logikę lokalnie i zwykle łączy się z serwerem lub API. W aplikacji webowej cały kod działa po stronie serwera, a tester widzi tylko przeglądarkę. W thick client atakujący ma binaria, pamięć procesu, pliki konfiguracyjne i rejestr, dlatego test obejmuje reverse engineering, fuzzing, inspekcję pamięci, kryptografię i interakcję z systemem operacyjnym, a dodatkowo komunikację z backendem, którą testujemy jak API.

Czy testujecie aplikacje na Windows, macOS i Linux?

Tak. Najczęściej testujemy aplikacje dla Windows napisane w .NET (C#, WPF, WinForms), C++, Delphi lub Qt, gdzie sprawdzamy m.in. klucze rejestru, usługi systemowe i uprawnienia. Aplikacje wieloplatformowe (Java, Electron, Python, Go, Rust) testujemy także na macOS i Linux, w środowisku odpowiadającym Twoim użytkownikom. Potrzebujemy instalatora w wersji, która trafia do klientów, oraz licencji testowej.

Czy do testu aplikacji desktop potrzebny jest kod źródłowy?

Nie. W modelu grey box wystarczy instalator, konta testowe i dostęp do środowiska backendu; analizę statyczną prowadzimy na binariach (deasemblacja, dekompilacja, analiza bibliotek). Jeśli udostępnisz kod źródłowy (white box), test jest dokładniejszy: szybciej znajdujemy błędy w logice, kryptografii i obsłudze danych, a rekomendacje wskazujemy w konkretnych miejscach kodu. Model ustalamy na rozmowie o zakresie i potwierdzamy w umowie.

Czy test obejmuje serwer i bazę danych, z którą łączy się aplikacja?

Tak, jeśli backend jest w zakresie. Jeśli aplikacja komunikuje się z usługą API (REST, SOAP, RPC), poddajemy ją analizie zgodnie z OWASP ASVS i praktykami testów API: uwierzytelnianie, autoryzacja, manipulacja danymi, walidacja wejść oraz to, czy klient nie ma dostępu do funkcji, których nie powinien wywołać. Bazę danych testujemy przez aplikację i API (wstrzyknięcia, nadmiarowe uprawnienia). Pełny test serwerów i sieci zamawia się osobno jako testy penetracyjne infrastruktury.

Czy sprawdzacie mechanizmy licencjonowania i ochronę przed reverse engineeringiem?

Tak. Oceniamy zabezpieczenia przed inżynierią wsteczną: obfuskację, mechanizmy anty-debugging i ochronę przed manipulacją kodem, a także to, ile wysiłku wymaga odtworzenie logiki, ominięcie weryfikacji licencji lub wstrzyknięcie własnego kodu do procesu. Sprawdzamy również, czy klucze licencyjne, sekrety i tokeny nie są zapisane na stałe w binariach, plikach konfiguracyjnych lub rejestrze. Wynik trafia do raportu z oceną ryzyka i rekomendacjami dla zespołu deweloperskiego.

Opinie

Co mówią klienci

WojtekKlient VIPentest
★★★★★

Ze względu na wymagania regulacyjne musieliśmy przeprowadzić testy bezpieczeństwa znanego produktu third-party - w tym przypadku była to aplikacja desktopowa rozwijana przez dużą, międzynarodową korporację.

Ku naszemu zdumieniu, mimo renomy producenta, testy wykazały kilka istotnych problemów - od nieoptymalnych ustawień po podatności, które w odpowiednich warunkach mogłyby zostać wykorzystane. Dzięki Vipentest udało się szybko je zidentyfikować i przekazać dostawcy odpowiednie informacje.

Wojtek
Bezpłatna konsultacja

Sprawdź, ile kosztuje test w Twoim zakresie

Opisz aplikację, system lub organizację w krótkim formularzu. Oddzwonimy tego samego dnia z wyceną i planem testów. Bez zobowiązań, z NDA przed rozmową.

  1. Potwierdzenie zgłoszeniaOdpisujemy w ciągu 24 h w dni robocze i dopytujemy o zakres.
  2. Rozmowa o zakresie pod NDAUstalamy cele, środowisko, terminy i sposób dostępu.
  3. Wycena i plan testówZwykle tego samego dnia po rozmowie. Bez zobowiązań.
  • Retest do 30 dni w cenie
  • Raport gotowy dla audytora
  • Platforma vulnerability management
Odpowiadamy w 24 h

Napisz do nas: bezpłatna wycena i konsultacja zakresu

Opisz krótko, co chcesz przetestować (aplikację, system, organizację). Odpowiadamy w ciągu jednego dnia roboczego.

    Wyrażam zgodę na przetwarzanie moich danych osobowych przez VIPentest sp. z o.o. w celu odpowiedzi na zapytanie. Szczegóły w Polityce Prywatności.

    Bez zobowiązań. NDA przed rozmową o zakresie.

    Testy penetracyjne aplikacji desktop · od 9 999 zł netto Wycena