>_ DevTrendspl

Język

Strona główna

Języki

Sekcje

Frontend Backend Mobilne DevOps AI / ML
Go

Scan4all — szwajcarski scyzoryk pentestingu, który zastępuje tuzin narzędzi

6133 gwiazdki

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.

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:

  1. 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.
  2. Bug Bounty. Dzięki integracji z subfinder i ksubdomain, narzędzie świetnie nadaje się do znajdowania zapomnianych "ogonów" w dużych organizacjach.
  3. 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