Scan4all — szwajcarski scyzoryk pentestingu, który zastępuje tuzin narzędzi
Wyobraź sobie taką sytuację: musisz szybko przeskanować perymetr, sprawdzić setkę usług webowych pod kątem podatności, przeprowadzić atak brute-force na standardowe hasła i nie pogubić się w dziesiątkach różnych narzędzi CLI. Zazwyczaj kończy się to żonglowaniem terminalami, gdzie nmap kręci się w jednym oknie, nuclei w drugim, a w trzecim desperacko próbujesz sobie przypomnieć składnię subfindera. Deweloperzy z GhostTroops postanowili w końcu położyć temu chaosowi kres i zbudowali scan4all.
To nie jest tylko kolejny skaner. To narzędzie napisane w Go, które łączy pod maską najlepsze narzędzia takie jak nuclei, vscan, ksubdomain i subfinder. Najlepsze jest to, że autorzy nie tylko "skleili" pliki binarne — przepisali części modułów i zoptymalizowali parametry na poziomie kodu, dzięki czemu wszystko działa szybko, nie przeciążając przy tym sieci.
Co tak naprawdę potrafi
Krótko mówiąc — prawie wszystko, czego potrzebujesz do wstępnego rozpoznania i znajdowania wektorów ataku. Projekt obejmuje kilka etapów audytu bezpieczeństwa jednocześnie.
Wyszukiwanie podatności i PoC
Narzędzie zawiera bazę ponad 15 000 PoC. Obejmuje to szablony nuclei oraz wkłady vscan (w tym xray 2.0). Sprawdza wszystko — od podstawowego XSS i LFI po najnowsze CVE w WordPress i oprogramowaniu korporacyjnym. Co ciekawe, autorzy dodali inteligentną logikę SSL: skaner wyodrębnia domeny z certyfikatów i automatycznie dodaje je do kolejki skanowania.
Wbudowane brute-forcing
Scan4all obsługuje łamanie haseł w 23 protokołach. Lista obejmuje klasyki takie jak SSH, RDP, MySQL, Redis, a nawet RouterOS czy WinRM. Ciekawy szczegół: brute-forcing HTTP aktywuje się automatycznie, gdy tylko skaner napotka stronę uwierzytelniania. Nie musisz ręcznie określać "tu trzeba spróbować hasła".
Skanowanie portów i fingerprinting
Zamiast wymyślać koło na nowo, projekt wykorzystuje możliwości nmap i naabu. Rozpoznaje 146 protokołów i zna około 90 000 reguł skanowania portów. Dodatkowo wbudowano ochronę przed honeypotami — jeśli narzędzie wykryje, że ma do czynienia z honeypotem, po prostu pomija ten host.

Jak to działa pod maską
Projekt jest napisany w Go, co czyni go wieloplatformowym i lekkim pod względem zużycia zasobów. Architektura podąża za podejściem waterfall: najpierw następuje zbieranie danych i identyfikacja celów, a następnie głębokie skanowanie i aplikacja PoC.
Jedną z najfajniejszych funkcji jest integracja z Elasticsearch. Jeśli pracujesz z dużymi wolumenami danych, standardowe logi tekstowe stają się koszmarem. Scan4all może przechowywać wyniki w Elasticsearch, umożliwiając tworzenie wygodnych dashboardów lub po prostu szybkie wyszukiwanie potrzebnych informacji przez Kibana.

Praktyczne przypadki użycia
Jak tego używać w prawdziwym życiu? Oto kilka przykładów:
- Szybki audyt infrastruktury. Masz listę IP lub domen swojej firmy. Jednym poleceniem uruchamiasz enumerację subdomen, skanowanie portów, fingerprinting webowy i sprawdzanie krytycznych podatności.
- Bug Bounty. Dzięki integracji z subfinder i ksubdomain, narzędzie świetnie nadaje się do znajdowania zapomnianych "ogonów" w dużych organizacjach.
- Sprawdzanie słabych haseł. Jeśli Twoja sieć ma wiele wystawionych instancji Redis, MongoDB czy FTP bez odpowiedniej konfiguracji, scan4all wyłowi je szybciej, niż zdążysz sprawdzić ręcznie.
Przykład uruchomienia na liście celów:
# Точное сканирование списка URL
UrlPrecise=true ./scan4all -l targets.txt
Jeśli nmap nie jest zainstalowany w Twoim systemie lub nie chcesz go używać, możesz przełączyć się na wbudowany naabu:
priorityNmap=false ./scan4all -tp http -list targets.txt -v
Niuansy i ograniczenia
Mimo swojej genialności, projekt ma swoje dziwactwa. README może wyglądać chaotycznie, a angielska dokumentacja czasami miesza się z chińską. Powinieneś również pamiętać, że skanowanie nmap wymaga uprawnień root, więc będziesz musiał przekazać hasło przez zmienną środowiskową PPSSWWDD.
Inna kwestia: narzędzie jest bardzo głośne. Jeśli planujesz używać go do ukrytego audytu, to zły pomysł. Generuje ogromną ilość ruchu i zapytań, co natychmiast zasygnalizuje Cię w każdym systemie monitoringu (IDS/IPS).
Czy warto wypróbować
Jeśli zajmujesz się pentestingiem, uczestniczysz w Red Teaming lub po prostu zajmujesz się bezpieczeństwem w swojej firmie — zdecydowanie tak. Scan4all oszczędza masę czasu na żmudnej pracy. Zamiast konfigurować łańcuchy pięciu różnych narzędzi, masz gotową pipeline.
Oczywiście nie zastąpi Twojego mózgu i analizy manualnej, ale jako narzędzie do szybkiego "roastowania" perymetru — jest cholernie dobre. Projekt jest aktywnie rozwijany: na przykład niedawno dodano wsparcie dla najnowszych wersji nuclei i poprawiono algorytmy wykrywania duplikatów IP, aby uniknąć skanowania tego samego wielokrotnie.
Możesz zacząć, po prostu pobierając binarkę z release'ów na GitHub, ponieważ zależności są minimalne. Tylko nie zapomnij najpierw wdrożyć Elasticsearch, jeśli planujesz głębiej analizować wyniki.
Powiązane projekty