Pentest

Kontrolowany, autoryzowany atak na systemy organizacji wykonywany przez specjalistów, by znaleźć podatności, zanim zrobią to realni przestępcy.

Pentest (od penetration test, test penetracyjny) to kontrolowany, wcześniej autoryzowany atak na systemy, aplikacje lub sieć organizacji, przeprowadzany przez specjalistów po to, by znaleźć i wykazać realnie wykorzystywalne podatności — zanim zrobi to ktoś, kto nie ma podpisanej umowy i dobrych intencji. Kluczowe słowo to autoryzowany: ten sam zestaw narzędzi bez pisemnej zgody właściciela systemu to po prostu przestępstwo. Pentester dostaje zakres (tzw. scope), zgodę na piśmie i jasno określone reguły gry.

Celem pentestu nie jest „włamać się i pochwalić”, tylko pokazać organizacji, gdzie naprawdę jest dziurawa — i co napastnik mógłby z tego ugrać. Dlatego typowy test idzie etapami: rozpoznanie (reconnaissance, zbieranie informacji o celu z publicznych źródeł), skanowanie i enumeracja (szukanie żywych hostów, otwartych portów i usług), analiza podatności, eksploatacja (uzyskanie dostępu), post-exploitation (eskalacja uprawnień, ruch boczny po sieci) i na koniec — najważniejsze dla klienta — raport. To uporządkowane podejście opisują standardy takie jak PTES (Penetration Testing Execution Standard) czy NIST SP 800-115.

Przykład z praktyki

Zaczynasz od rekonesansu sieci skanerem nmap, np. nmap -sV -p- 10.0.0.5, żeby zobaczyć otwarte porty i wersje usług. Znajdujesz przestarzałą usługę z publicznie znaną luką. Wtedy do gry wchodzi Metasploit Framework: wybierasz pasujący moduł exploitujący, ustawiasz cel i payload (set RHOSTS 10.0.0.5, potem run) i — jeśli się uda — dostajesz sesję na maszynie. Do testów aplikacji webowych użyjesz raczej Burp Suite, a cały arsenał masz pod ręką w dystrybucji Kali Linux.

Na co uważać

  • Pentest to nie skan podatności. Skaner (np. Nessus) wypluwa listę „może być dziura”. Pentester potwierdza, które da się faktycznie wykorzystać — i łączy je w łańcuch ataku.
  • To zdjęcie z konkretnego dnia. Wczorajszy „czysty” raport nie chroni przed luką, która wyjdzie jutro. Stąd potrzeba regularnych testów.
  • Bez raportu test jest bezwartościowy. Klient płaci za czytelny opis: jak odtworzyć problem, jakie ryzyko niesie i jak go naprawić.

Warto kojarzyć pojęcia powiązane: red team i blue team, vulnerability assessment, OWASP Top 10, CVE, exploit, bug bounty oraz ethical hacking. Pentest to po prostu jego najbardziej sformalizowana, opłacana i legalna odmiana.