0Pricing
Security+ Academy · Lekcja

Etapy testów penetracyjnych: od rozpoznania do raportu

Prześledzą Państwo cykl życia testu penetracyjnego: rozpoznanie, skanowanie, eksploatację, działania po uzyskaniu dostępu oraz raport końcowy, który wyznacza działania naprawcze.

Etapy testów penetracyjnych: od rozpoznania do raportu to bezpłatna lekcja Security+ Academy na CoddyKit. To lekcja 3 z 4. Możesz przeczytać całą lekcję poniżej za darmo — a potem ćwiczyć ją interaktywnie w przeglądarce z wbudowanym edytorem kodu i tutorem AI dostępnym 24/7. To część ścieżki edukacyjnej Security+ Academy, a Twój postęp synchronizuje się między webem a aplikacją CoddyKit. Kurs Security+ Academy zawiera 4 lekcji w sumie.

Cykl życia testów penetracyjnych

Ustrukturyzowany test penetracyjny przebiega według określonego cyklu życia, który zapewnia pełne pokrycie, minimalizuje ryzyko dla systemów produkcyjnych i prowadzi do uzyskania praktycznych wyników. Najczęściej stosowany framework pochodzi ze standardu PTES (Penetration Testing Execution Standard) i jest zgodny z podejściem NIST. Fazy obejmują: planowanie i określenie zakresu, rozpoznanie, skanowanie, eksploatację, działania po uzyskaniu dostępu oraz raportowanie. Każda faza opiera się na poprzedniej — nie można wykorzystać tego, czego wcześniej nie wykryto, ani zaraportować tego, czego nie udokumentowano. Pomijanie faz lub przeprowadzanie ich w pośpiechu prowadzi do niekompletnych ocen i niewiarygodnych ustaleń.

# Penetration testing phases:
# 1. Planning & Scoping    (Rules of Engagement)
# 2. Reconnaissance        (OSINT + passive recon)
# 3. Scanning/Enumeration  (active discovery)
# 4. Exploitation          (attacking vulnerabilities)
# 5. Post-Exploitation     (lateral movement, persistence)
# 6. Reporting             (findings + recommendations)

Faza 1: Planowanie i określenie zakresu

Faza planowania ustanawia podstawy prawne i operacyjne realizacji zlecenia. Najważniejsze elementy obejmują: podpisany dokument Statement of Work (SOW) określający cele i cenę; dokument Rules of Engagement (RoE) określający autoryzowane cele, przedziały czasowe, zabronione techniki, kontakty awaryjne i wymagania dotyczące postępowania z danymi; a także jasną definicję kryteriów sukcesu (czyli tego, co oznacza osiągnięcie celu). Zakres musi być precyzyjnie określony, aby zapobiec niezamierzonemu rozszerzaniu testów na nieautoryzowane systemy oraz zapewnić objęcie oceną najważniejszych zasobów. Wszystkie kanały komunikacji i procedury eskalacji ustala się przed rozpoczęciem jakichkolwiek prac technicznych.

# Scoping questions to answer:
# - Which IP ranges/domains are in scope?
# - Are cloud environments (AWS/Azure/GCP) in scope?
# - Are physical attacks in scope?
# - Are employees fair game for phishing?
# - Are denial-of-service techniques permitted?
# - What notification procedures exist?
# - Who is the authorized point of contact?
# - What is the test window (dates/times)?
# - How will data be protected and destroyed after?

Faza 2: Pasywne rozpoznanie (OSINT)

Pasywne rozpoznanie polega na gromadzeniu informacji o celu bez bezpośredniej interakcji z jego systemami — za pomocą publicznych źródeł, które nie generują logów po stronie celu. Źródła obejmują: rekordy WHOIS (rejestracja domeny i dane kontaktowe rejestrującego), rekordy DNS, dzienniki certificate transparency (ujawniające subdomeny), LinkedIn (nazwiska pracowników, stanowiska i używane technologie), oferty pracy (ujawniające stos technologiczny i narzędzia), Shodan/Censys (usługi dostępne z Internetu i otwarte porty), repozytoria GitHub (kod źródłowy i dane uwierzytelniające przypadkowo umieszczone w repozytorium) oraz Google dorking (wyszukiwanie w obrębie określonych witryn w celu znalezienia poufnych plików i ujawnionych interfejsów).

# OSINT techniques (no target contact):
# WHOIS:
whois targetcompany.com

# DNS enumeration via public resolvers:
dig @8.8.8.8 targetcompany.com ANY
dnsx -d targetcompany.com -a -aaaa -cname -mx -ns

# Certificate transparency (subdomains):
curl 'https://crt.sh/?q=%.targetcompany.com&output=json'

# Google dorks:
# site:targetcompany.com filetype:pdf confidential
# site:targetcompany.com inurl:admin
# site:github.com targetcompany password OR apikey

Faza 2: Aktywne rozpoznanie

Aktywne rozpoznanie polega na bezpośredniej interakcji z systemami celu w celu zebrania informacji. Generuje ono logi po stronie celu i z natury jest bardziej zauważalne niż rozpoznanie pasywne. Techniki obejmują skanowanie portów (Nmap), enumerację usług, próby transferu strefy DNS oraz pobieranie banerów. Granica między rozpoznaniem a skanowaniem jest nieostra — celem rozpoznania jest gromadzenie informacji, podczas gdy skanowanie zwykle wiąże się z identyfikacją podatności. Aktywne rozpoznanie może jednak wywołać alerty IDS/IPS i zostać wykryte przez świadomy zagrożeń cel, dlatego testerzy równoważą dokładność i skrytość w zależności od celu zlecenia (testowanie detekcji lub skryte przejęcie).

# Active reconnaissance techniques:
# Host discovery:
nmap -sn 192.168.1.0/24 -oG alive_hosts.txt

# DNS zone transfer (if misconfigured):
dig axfr @ns1.targetcompany.com targetcompany.com

# Banner grabbing:
nc -v 192.168.1.10 22    # SSH version
curl -I https://targetcompany.com  # web server header

# SMTP enumeration:
nmap --script smtp-enum-users 192.168.1.25

# Web crawler:
whatweb targetcompany.com

Faza 3: Skanowanie i analiza podatności

Faza skanowania polega na systematycznym wykrywaniu otwartych portów, usług, wersji oprogramowania i znanych podatności w objętych zakresem celach. Wykorzystuje się w niej narzędzia takie jak Nmap do enumeracji usług oraz Nessus/OpenVAS do skanowania podatności. Tester penetracyjny ręcznie analizuje wyniki skanera i koreluje ustalenia: wersja serwera Apache wykryta przez Nmap może odpowiadać znanym exploitom w bazie CVE. Faza ta obejmuje również ręczne badanie aplikacji Web (za pomocą Burp Suite) i testowanie mechanizmów uwierzytelniania. Jej wynikiem jest uporządkowana według priorytetów lista potencjalnych ścieżek ataku do sprawdzenia w fazie eksploatacji.

# Scanning phase workflow:
# 1. Port and service scan:
nmap -sV -sC -O 192.168.1.0/24 -oX services.xml

# 2. Vulnerability scan (Nessus/OpenVAS):
# Import Nmap results -> credentialed scan -> export report

# 3. Web application scanning:
burpsuite                              # manual + scanner
niklto -h https://192.168.1.10
wpscan --url https://targetsite.com   # WordPress-specific

# 4. Correlate version with CVEs:
# searchsploit apache 2.4.41
# Check NVD: https://nvd.nist.gov/vuln/search

Faza 4: Eksploatacja

Faza eksploatacji polega na próbach wykorzystania zidentyfikowanych podatności w celu uzyskania nieautoryzowanego dostępu, eskalacji uprawnień lub osiągnięcia innych określonych celów. Eksploatacja musi ściśle mieścić się w zakresie oraz w zasadach Rules of Engagement. Techniki obejmują wykorzystywanie niezałatanych podatności (za pomocą Metasploit lub ręcznie przygotowanych exploitów), ataki na dane uwierzytelniające (password spraying, domyślne dane uwierzytelniające i brute force), ataki na aplikacje Web (wstrzyknięcia SQL i eksploatację XSS) oraz inżynierię społeczną, jeśli została autoryzowana. Każde działanie należy udokumentować wraz ze znacznikiem czasu: co wykonano, kiedy to wykonano, jaki był wynik i jakiego narzędzia użyto. Dokumentacja ta stanowi podstawę dowodową raportu końcowego.

# Documentation during exploitation:
# Use a testing journal (OneNote, CherryTree, Obsidian)
# For each finding, record:
# - Date/time: 2026-06-15 14:32 UTC
# - Target: 192.168.1.25 (web-prod-01)
# - Finding: SQL injection in /login.php username parameter
# - Command: sqlmap -u 'http://target/login.php' --data 'user=*&pass=x'
# - Screenshot: login_sqli_01.png
# - Impact: retrieved admin credentials from users table
# - CVSS: 9.8 (Critical)

Faza 5: Działania po uzyskaniu dostępu

Działania po uzyskaniu dostępu rozpoczynają się po uzyskaniu początkowego dostępu i służą sprawdzeniu, jak daleko atakujący mógłby rozszerzyć swój zasięg. Obejmują one: eskalację uprawnień (uzyskanie uprawnień administratora/root z poziomu ograniczonego konta użytkownika), pozyskiwanie danych uwierzytelniających (wydobywanie hashy, biletów lub haseł w jawnym tekście), ruch boczny (uzyskiwanie dostępu do innych systemów przy użyciu pozyskanych danych uwierzytelniających), rozpoznawanie danych (identyfikowanie poufnych danych dostępnych z przejętej pozycji) oraz ustanawianie trwałego dostępu (w celu symulowania długoterminowego dostępu APT). Celem jest pokazanie rzeczywistego wpływu początkowego przejęcia — nie tylko tego, że zaatakowano jeden system, lecz także tego, do czego atakujący mógłby ostatecznie uzyskać dostęp.

# Post-exploitation with Meterpreter (Metasploit):
meterpreter> sysinfo                  # OS/hostname
meterpreter> getuid                   # current user
meterpreter> getsystem                # attempt privilege escalation
meterpreter> hashdump                 # dump local NTLM hashes
meterpreter> run post/multi/gather/credentials
meterpreter> run post/windows/manage/migrate  # migrate to stable process

# Lateral movement (CrackMapExec with dumped hash):
crackmapexec smb 192.168.1.0/24 -u admin -H <NTLM_hash> --shares

Pivoting i dostęp do sieci wewnętrznej

Pivoting polega na wykorzystaniu przejętego hosta jako przekaźnika w celu dotarcia do segmentów sieci, które w innym przypadku byłyby niedostępne dla testera penetracyjnego (np. wewnętrznej sieci VLAN z bazą danych, dostępnej wyłącznie z serwera aplikacji). Polecenie route add w Metasploit oraz tunelowanie SSH (ssh -L do przekierowania lokalnego lub ssh -D jako proxy SOCKS) to typowe mechanizmy pivotingu. Pivoting pokazuje, czy segmentacja sieci jest rzeczywiście skuteczna — prawidłowo podzielona sieć powinna uniemożliwiać przejętemu serwerowi DMZ dostęp do wewnętrznych baz danych, podczas gdy płaska sieć umożliwia swobodny ruch boczny. Udokumentowane w raporcie ścieżki pivotingu dokładnie wskazują, gdzie występują luki w segmentacji.

# SSH local port forward (pivot):
# Access MySQL on internal server through compromised host:
ssh -L 3306:10.30.30.5:3306 user@compromised_host
# Now connect to MySQL locally:
mysql -h 127.0.0.1 -P 3306 -u root

# SOCKS proxy for full network pivot:
ssh -D 1080 user@compromised_host
# Use proxychains to route tools through SOCKS proxy:
proxychains nmap -sT 10.30.30.0/24

# Metasploit route add:
route add 10.30.30.0/24 <session_id>

Usuwanie śladów i zachowanie dowodów

Po zakończeniu testów testerzy penetracyjni muszą przeprowadzić usuwanie śladów — usunąć zainstalowane tylne furtki, konta i narzędzia. W przeciwieństwie do rzeczywistych atakujących testerzy penetracyjni są zobowiązani zasadami Rules of Engagement do przywrócenia systemów do stanu sprzed testu. Czynności porządkowe obejmują: usunięcie utworzonych kont użytkowników, usunięcie zapisanych plików (payloadów i narzędzi), usunięcie mechanizmów utrwalania dostępu (subskrypcji WMI, zadań zaplanowanych i kluczy run w rejestrze) oraz potwierdzenie z klientem, że wszystkie artefakty testu zostały usunięte. Równolegle odbywa się zachowanie dowodów: wszystkie zrzuty ekranu, wyniki narzędzi, logi i notatki należy przechowywać w bezpiecznym formacie na potrzeby sporządzenia raportu i ewentualnych zastosowań prawnych.

# Post-test cleanup checklist:
# Windows:
# - Delete created accounts: net user testuser /delete
# - Remove scheduled tasks: schtasks /delete /tn 'TestTask'
# - Remove registry persistence: reg delete HKLM\...
# - Delete dropped files: del C:\Windows\Temp\payload.exe
# - Clear event logs (if authorized): wevtutil cl Security

# Linux:
# - Remove cron jobs: crontab -r
# - Remove added SSH keys: edit ~/.ssh/authorized_keys
# - Delete dropped files: rm /tmp/payload.sh

Faza 6: Raportowanie

Raport jest najważniejszym rezultatem zlecenia — uzasadnia jego realizację i wyznacza kierunek działań naprawczych. Dobrze ustrukturyzowany raport obejmuje: podsumowanie dla kadry kierowniczej (ocenę ryzyka, wpływ na działalność oraz 3 najważniejsze ustalenia dla kierownictwa); sekcję ustaleń technicznych (każde ustalenie wraz z poziomem ważności, opisem, dowodami, krokami odtworzenia, wpływem na działalność i konkretnymi zaleceniami naprawczymi); oraz aneks z surowymi wynikami narzędzi i szczegółowymi osiami czasu. Raporty są klasyfikowane jako poufne — zawierają wystarczająco dużo szczegółów, aby powtórzyć atak. Przekazanie raportu zwykle obejmuje spotkanie podsumowujące, podczas którego zespół testów penetracyjnych omawia ustalenia i odpowiada na pytania klienta. To jakość raportowania odróżnia profesjonalne zlecenia od amatorskich zrzutów wyników skanowania.

Pasywne a aktywne rozpoznanie na egzaminie

Egzamin Security+ często sprawdza rozróżnienie między pasywnym a aktywnym rozpoznaniem. Pasywne rozpoznanie polega na gromadzeniu informacji z publicznych źródeł bez bezpośredniego kontaktowania się z systemami celu — po stronie celu nie powstają żadne logi. Przykłady to odczytywanie rekordów WHOIS, przeglądanie LinkedIn, odpytywanie dzienników certificate transparency oraz wykonywanie wyszukiwań w Shodan. Aktywne rozpoznanie polega na bezpośredniej interakcji z systemami celu — obejmuje skanowanie portów, pobieranie banerów i próby transferu strefy DNS. Aktywne rozpoznanie generuje logi i może wywołać alerty IDS. W rzeczywistym zleceniu rozpoznanie pasywne poprzedza aktywne, aby zbudować mapę przed nawiązaniem jakiegokolwiek wykrywalnego kontaktu z siecią celu.

Szybki test

Sprawdź swoją znajomość zagadnień CompTIA Security+ (SY0-701) omówionych w tej lekcji.

Podsumowanie lekcji

W tej lekcji dowiedzieli się Państwo, że testy penetracyjne przebiegają według ustrukturyzowanego cyklu życia obejmującego planowanie, rozpoznanie, skanowanie, eksploatację, działania po uzyskaniu dostępu i raportowanie; pasywne rozpoznanie wykorzystuje publiczne źródła OSINT bez tworzenia logów po stronie celu, podczas gdy aktywne rozpoznanie bezpośrednio komunikuje się z systemami; a raport końcowy wraz z podsumowaniem dla kadry kierowniczej, ustaleniami technicznymi i konkretnymi zaleceniami naprawczymi jest najważniejszym rezultatem, który napędza usprawnienia bezpieczeństwa. Następnie omówimy ocenę CVSS i sposoby ustalania priorytetów działań naprawczych dotyczących podatności.

Często zadawane pytania

Czy lekcja „Etapy testów penetracyjnych: od rozpoznania do raportu” jest bezpłatna?

Tak — pełny tekst „Etapy testów penetracyjnych: od rozpoznania do raportu” jest dostępny za darmo tutaj w sieci. Aby ćwiczyć ją interaktywnie (wbudowany edytor kodu i tutor AI dostępny 24/7) i odblokować resztę kursu Security+ Academy, przejdź na CoddyKit PRO. Kurs Security+ Academy zawiera 4 lekcji w sumie.

Co nauczysz się w „Etapy testów penetracyjnych: od rozpoznania do raportu”?

Prześledzą Państwo cykl życia testu penetracyjnego: rozpoznanie, skanowanie, eksploatację, działania po uzyskaniu dostępu oraz raport końcowy, który wyznacza działania naprawcze. Ćwiczysz Security+ Academy z praktycznym kodem, który uruchamiasz bezpośrednio w przeglądarce, a tutor AI dostępny 24/7 odpowiada na Twoje pytania podczas pracy nad lekcją.

Czy potrzebuję doświadczenia, aby zacząć Security+ Academy?

Nie wymagamy żadnego doświadczenia. Security+ Academy w CoddyKit jest strukturyzowany dla początkujących i zaawansowanych użytkowników, więc możesz zacząć tutaj lub od początku i uczyć się w swoim tempie. To lekcja 3 z 4.

Ile czasu zajmuje lekcja „Etapy testów penetracyjnych: od rozpoznania do raportu”?

Większość lekcji CoddyKit trwa około 5–10 minut. Każda lekcja to mały, interaktywny krok, dzięki czemu robisz systematyczne postępy i zawsze wracasz dokładnie do tego samego miejsca — na webie i w aplikacji.

Czy mogę pisać i uruchamiać kod w tej lekcji Security+ Academy?

Tak. Każda lekcja Security+ Academy zawiera wbudowany edytor kodu, więc piszesz i uruchamiasz prawdziwy kod bezpośrednio w przeglądarce i od razu otrzymujesz sprzężenie zwrotne od AI — bez konfiguracji na komputerze.

Wszystkie lekcje w tym kursie

  1. Skanowanie podatności a testy penetracyjne
  2. Popularne narzędzia do skanowania: Nessus, OpenVAS, Nmap
  3. Etapy testów penetracyjnych: od rozpoznania do raportu
  4. Ocena CVSS i ustalanie priorytetów podatności
← Powrót do Security+ Academy