środa, 17 lipca 2024

Niezbędnik pentestera infrastruktury #1 - Shodan

Shodan jest potężnym narzędziem, które w ostatnich latach zyskało ogromną popularność wśród ekspertów ds. bezpieczeństwa, researcherów oraz hakerów. Nazywana "Google dla Internetu Rzeczy", Shodan pozwala użytkownikom przeszukiwać urządzenia podłączone do Internetu na całym świecie. 

W tym artykule przyjrzymy się bliżej temu narzędziu, jego funkcjonalnościom oraz zastosowaniom.

Co to jest Shodan?

Shodan to wyszukiwarka internetowa, która indeksuje urządzenia podłączone do Internetu. Zamiast przeszukiwać strony internetowe, Shodan skupia się na takich urządzeniach jak kamery internetowe, serwery, routery, systemy sterowania przemysłowego (ICS), systemy HVAC i wiele innych. Twórcą Shodana jest John Matherly, który uruchomił usługę w 2009 roku.

Jak działa Shodan?

Shodan działa poprzez skanowanie Internetu w poszukiwaniu otwartych portów i usług na różnych urządzeniach. Gdy znajdzie takie urządzenie, zapisuje jego dane, takie jak adres IP, otwarte porty, używane protokoły i banery usługowe. Te informacje są następnie indeksowane i udostępniane użytkownikom poprzez interfejs wyszukiwarki.

Zastosowania Shodana

  1. Bezpieczeństwo IT: Shodan jest często używany przez specjalistów ds. bezpieczeństwa do identyfikacji podatnych urządzeń w sieciach firmowych i prywatnych. Dzięki temu mogą oni proaktywnie zabezpieczać te urządzenia przed potencjalnymi atakami.

  2. Badania naukowe: Shodan jest narzędziem używanym w badaniach nad Internetem Rzeczy. Umożliwia analizę rozprzestrzeniania się urządzeń IoT oraz ich podatności na ataki.

  3. Hacking i Penetration Testing: Hakerzy i pentesterzy korzystają z Shodana do wyszukiwania podatnych urządzeń, które mogą być wykorzystane w testach penetracyjnych lub atakach.

  4. Zarządzanie infrastrukturą IT: Administratorzy sieci używają Shodana do monitorowania urządzeń w swoich sieciach, identyfikując te, które mogą wymagać aktualizacji lub dodatkowej konfiguracji.

Jak korzystać z Shodana?

  1. Rejestracja: Aby uzyskać pełny dostęp do funkcji Shodana, należy zarejestrować konto na stronie Shodan.io. Darmowe konta mają ograniczoną liczbę wyników, dlatego warto rozważyć subskrypcję płatną, jeśli planujemy intensywne korzystanie z usługi.

  2. Podstawowe wyszukiwanie i filtry: Wpisz w polu wyszukiwania interesujące Cię zapytanie. Może to być nazwa urządzenia, adres IP, port lub określony baner usługowy. Przykładowo, aby znaleźć kamery internetowe, możemy skorzystać z zapytania: webcam 

    Shodan ponadto oferuje zaawansowane filtry, które pozwalają na precyzyjne dostosowanie 
    wyników wyszukiwania. Filtry obejmują takie parametry jak kraj (country:PL), port (port:80), system operacyjny (os:Linux) i wiele innych. 



  


Przykład wykorzystania Shodana

Wyobraźmy sobie, że chcemy sprawdzić, ile urządzeń w Polsce ma otwarty port 21 (FTP). Możemy użyć następującego zapytania:

port:21 country:PL

Wyniki wyszukiwania pokażą nam listę urządzeń w Polsce z otwartym portem FTP. Możemy następnie przeanalizować te urządzenia pod kątem potencjalnych zagrożeń.

Skrypt Bash do automatyzacji przy użyciu API


Na starcie pamiętajcie o podpięciu swojego klucza API, który znajdziecie pod https://account.shodan.io/. Następnie dodajemy swój klucz z poziomu terminala:

shodan init YOUR_API_KEY

Następnie możecie zapisać poniższy skrypt np. do pliku o nazwie shodan-scr.sh:
 
#!/bin/bash

# Funkcja do zapytań Shodan
function shodan_query() {
    for ip in $(cat "$1"); do
        shodan host "$ip" >> "$2"
    done
}

# Sprawdzenie czy podano argument
if [ $# -lt 2 ]; then
    echo "Podaj nazwę pliku z adresami IP oraz nazwę pliku do zapisu wyników jako argumenty."
    exit 1
fi

# Pobranie nazw plików od użytkownika
input_file="$1"
output_file="$2"

# Wykonanie zapytań Shodan i zapis wyników do pliku
echo "Wyniki z Shodan:" > "$output_file"
shodan_query "$input_file" "$output_file"
Uruchamiamy skrypt w następujący sposób:

./skrypt-scr.sh lista-adresow.txt wyniki

Więcej informacji na temat wykorzystania Shodana z poziomu CLI znajduje się pod stroną https://cli.shodan.io/.

Najciekawsze zapytania

Zbiór najciekawszych zapytań wyselekcjonowanych przez społeczność znajduje się tutaj: Awesome shodan queries

Dodatkowo sam Shodan udostępnia:

- Ściągę ze wszystkimi możliwymi filtrami: https://www.shodan.io/search/filters.

- Przykłady ich użyć https://www.shodan.io/search/examples.

- Najpopularniejsze, najwyżej oceniane zapytania: https://www.shodan.io/explore/popular.

Podsumowanie

Shodan to potężne narzędzie, które zrewolucjonizowało sposób, w jaki patrzymy na bezpieczeństwo urządzeń podłączonych do Internetu. Dzięki niemu możemy łatwo identyfikować podatności i proaktywnie zabezpieczać naszą infrastrukturę IT. Pamiętajmy jednak o odpowiedzialnym korzystaniu z tego narzędzia, aby nie stało się ono narzędziem w rękach cyberwandali.