ZoomEye to wszechstronne narzędzie, które zdobywa coraz większą popularność wśród ekspertów ds. bezpieczeństwa, badaczy oraz hakerów. Tak jak Shodan, ZoomEye umożliwia przeszukiwanie urządzeń podłączonych do Internetu na całym świecie.
W tym artykule przyjrzymy się bliżej tej platformie, jej możliwościom i praktycznym zastosowaniom.
Co to jest ZoomEye?
ZoomEye to chińska wyszukiwarka internetowa stworzona przez firmę Knownsec. Specjalizuje się w indeksowaniu urządzeń podłączonych do Internetu, takich jak serwery, routery, kamery internetowe, systemy sterowania przemysłowego (ICS) i inne urządzenia IoT. ZoomEye umożliwia głębszą analizę dostępnych usług i podatności urządzeń.
Jak działa ZoomEye?
ZoomEye skanuje Internet w poszukiwaniu otwartych portów i usług na różnych urządzeniach. Gdy znajdzie urządzenie, gromadzi informacje takie jak adres IP, otwarte porty, używane protokoły i banery usługowe. Następnie te dane są indeksowane i udostępniane użytkownikom przez interfejs wyszukiwarki.
Zastosowania ZoomEye
- Bezpieczeństwo IT: Specjaliści ds. bezpieczeństwa wykorzystują ZoomEye do wykrywania podatnych urządzeń w sieciach firmowych i domowych, co pozwala im zabezpieczać te urządzenia przed potencjalnymi atakami.
- Badania naukowe: ZoomEye jest narzędziem wspierającym badania nad Internetem Rzeczy (IoT), pomagając w analizie rozprzestrzeniania się tych urządzeń i ich podatności na ataki.
- Hacking i Penetration Testing: Hakerzy i pentesterzy używają ZoomEye do wyszukiwania podatnych urządzeń, które mogą być celem testów penetracyjnych lub ataków.
- Zarządzanie infrastrukturą IT: Administratorzy sieci monitorują urządzenia w swoich sieciach za pomocą ZoomEye, identyfikując te, które wymagają aktualizacji lub dodatkowej konfiguracji.
Jak korzystać z ZoomEye?
- Rejestracja: Aby uzyskać pełny dostęp do funkcji ZoomEye, należy zarejestrować konto na stronie [ZoomEye.org](https://www.zoomeye.org). Darmowe konta mają ograniczoną liczbę wyników, dlatego warto rozważyć płatną subskrypcję przy intensywnym użytkowaniu.
- Podstawowe wyszukiwanie i filtry: W polu wyszukiwania można wpisać interesujące nas zapytanie, takie jak nazwa urządzenia, adres IP, port lub określony baner usługowy. Na przykład, aby znaleźć kamery internetowe, możemy użyć zapytania: `app:"webcam"`.
- Zaawansowane filtry: ZoomEye oferuje zaawansowane filtry pozwalające precyzyjnie dostosować wyniki wyszukiwania. Można filtrować wyniki według kraju (`country:PL`), portu (`port:80`), systemu operacyjnego (`os:Linux`) i innych parametrów.
Przykład wykorzystania ZoomEye
Jeśli chcemy sprawdzić, ile urządzeń w Polsce ma otwarty port 21 (FTP), możemy użyć zapytania:
port:21 country:PL
Wyniki wyszukiwania pokażą listę urządzeń w Polsce z otwartym portem FTP, co pozwala na analizę potencjalnych zagrożeń.
Skrypt bash do automatyzacji zapytań ZoomEye
Aby skorzystać z API, należy uzyskać klucz API dostępny w ustawieniach konta ZoomEye. Po instalacji narzędzia CLI, należy się zalogować:
zoomeye login YOUR_API_KEY
Można zapisać poniższy skrypt np. do pliku o nazwie zoomeye-scr.sh
:
#!/bin/bash # Funkcja do zapytań ZoomEye function zoomeye_query() { local input_file="$1" local output_file="$2" local search_type="${3:-host}" # Domyślny typ wyszukiwania to host # Iteracja przez adresy lub zapytania z pliku wejściowego while IFS= read -r target; do # Wykonanie zapytania ZoomEye dla każdego wpisu zoomeye search "$search_type" "$target" --limit 100 >> "$output_file" done < "$input_file" } # Sprawdzenie czy podano wymagane argumenty if [ $# -lt 2 ]; then echo "Użycie: $0 <plik_wejściowy> <plik_wynikowy> [typ_wyszukiwania]" echo "Przykłady typów wyszukiwania: host, web, app" exit 1 fi # Pobranie argumentów input_file="$1" output_file="$2" search_type="${3:-host}" # Przygotowanie pliku wynikowego echo "Wyniki skanowania ZoomEye (typ: $search_type):" > "$output_file" echo "-------------------------------------------" >> "$output_file" # Wykonanie zapytań ZoomEye i zapis wyników do pliku zoomeye_query "$input_file" "$output_file" "$search_type" # Podsumowanie echo "Skanowanie zakończone. Wyniki zapisano w $output_file"
Uruchamiamy skrypt w następujący sposób:
# Podstawowe skanowanie hostów ./zoomeye-scr.sh lista-adresow.txt wyniki-host.txt # Skanowanie zasobów webowych ./zoomeye-scr.sh lista-stron.txt wyniki-web.txt web # Skanowanie określonych aplikacji ./zoomeye-scr.sh lista-aplikacji.txt wyniki-app.txt app
Wymagania
- Zainstalowane narzędzie ZoomEye CLI
- Aktywny klucz API ZoomEye
- Plik z listą adresów lub zapytań do przeskanowania
Uwagi
- Skrypt domyślnie zwraca maksymalnie 100 wyników dla każdego wpisu
- Można modyfikować typ wyszukiwania (host, web, app)
- Wyniki są dopisywane do pliku wynikowego
- Przed użyciem upewnij się, że jesteś zalogowany za pomocą
zoomeye login
Więcej informacji na temat wykorzystania ZoomEye z poziomu CLI znajduje się pod stroną [ZoomEye CLI](https://github.com/knownsec/ZoomEye-python).
Najciekawsze zapytania
ZoomEye udostępnia następujące zbiory możliwych do użycia filtrów i zapytań:
- Ściągę ze wszystkimi możliwymi filtrami: [ZoomEye Filters](https://www.zoomeye.org/doc/quick-filter)
- Przykłady ich użyć: [ZoomEye Examples](https://www.zoomeye.org/doc/usage)
Podsumowanie
ZoomEye to wszechstronne narzędzie, które umożliwia lepsze zrozumienie i zabezpieczenie urządzeń podłączonych do Internetu. Pomaga w pasywny sposób, podobnie jak Shodan, identyfikować podatności i monitorować infrastrukturę IT.