3260 - Pentesting ISCSI
Podstawowe informacje
Z Wikipedii:
W informatyce, iSCSI to skrót od Internet Small Computer Systems Interface, standard oparty na protokole Internet Protocol (IP) do sieciowego przechowywania danych, łączący obiekty przechowywania danych. Zapewnia dostęp na poziomie bloku do urządzeń przechowywania, przesyłając polecenia SCSI przez sieć TCP/IP. iSCSI jest używane do transferu danych w sieciach lokalnych (LAN), sieciach rozległych (WAN) lub w Internecie, umożliwiając niezależne od lokalizacji przechowywanie i pobieranie danych.
Protokół umożliwia klientom (nazywanym inicjatorami) wysyłanie poleceń SCSI (CDB) do urządzeń przechowywania (celów) na zdalnych serwerach. Jest to protokół sieciowej pamięci masowej (SAN), który umożliwia organizacjom konsolidację pamięci masowej w tablicach pamięci, jednocześnie zapewniając klientom (takim jak serwery baz danych i serwery internetowe) iluzję lokalnie podłączonych dysków SCSI. Konkuruje głównie z Fibre Channel, ale w przeciwieństwie do tradycyjnego Fibre Channel, który zwykle wymaga dedykowanego okablowania, iSCSI może być uruchamiane na dużą odległość przy użyciu istniejącej infrastruktury sieciowej.
Domyślny port: 3260
Wyliczanie
iSCSI
iSCSI (Internet Small Computer System Interface) to protokół komunikacyjny, który umożliwia przesyłanie bloków danych między serwerem a urządzeniem pamięci masowej. Podczas testowania penetracyjnego, wyliczanie iSCSI może dostarczyć cennych informacji na temat systemu docelowego.
Skanowanie portów
Aby rozpocząć wyliczanie iSCSI, można rozpocząć od skanowania portów, aby znaleźć otwarte porty iSCSI. Można to zrobić za pomocą narzędzi takich jak Nmap, skanując porty 3260 (domyślny port iSCSI).
Wykorzystanie iscsiadm
Po zidentyfikowaniu otwartego portu iSCSI, można użyć narzędzia iscsiadm do nawiązania połączenia z serwerem iSCSI i uzyskania informacji o dostępnych zasobach.
Analiza odpowiedzi
Po wykonaniu powyższej komendy, otrzymamy odpowiedzi zawierające informacje o dostępnych zasobach iSCSI. Możemy przeanalizować te odpowiedzi, aby uzyskać informacje takie jak adresy IP, porty, identyfikatory iSCSI, nazwy zasobów itp.
Wykorzystanie iscsiadm do nawiązania połączenia
Po zidentyfikowaniu interesującego nas zasobu iSCSI, możemy użyć narzędzia iscsiadm do nawiązania połączenia z tym zasobem.
Montowanie zasobu iSCSI
Po nawiązaniu połączenia z zasobem iSCSI, możemy go zamontować na naszym systemie operacyjnym.
Gdzie /dev/sdX
to urządzenie iSCSI, które zostało nawiązane, a /mnt
to ścieżka montowania.
Analiza zasobów iSCSI
Po zamontowaniu zasobu iSCSI, możemy przeglądać i analizować zawartość tego zasobu, aby znaleźć cenne informacje lub potencjalne luki w zabezpieczeniach.
NFS
NFS (Network File System) to protokół umożliwiający udostępnianie plików i katalogów między systemami operacyjnymi w sieci. Podczas testowania penetracyjnego, wyliczanie NFS może dostarczyć informacji na temat dostępnych zasobów NFS i potencjalnych luk w zabezpieczeniach.
Skanowanie portów
Aby rozpocząć wyliczanie NFS, można rozpocząć od skanowania portów, aby znaleźć otwarte porty NFS. Można to zrobić za pomocą narzędzi takich jak Nmap, skanując porty 111 i 2049 (domyślne porty NFS).
Wykorzystanie showmount
Po zidentyfikowaniu otwartych portów NFS, można użyć polecenia showmount, aby uzyskać informacje na temat dostępnych zasobów NFS.
Analiza odpowiedzi
Po wykonaniu powyższej komendy, otrzymamy odpowiedzi zawierające informacje o dostępnych zasobach NFS. Możemy przeanalizować te odpowiedzi, aby uzyskać informacje takie jak ścieżki dostępu, uprawnienia, nazwy zasobów itp.
Montowanie zasobu NFS
Po zidentyfikowaniu interesującego nas zasobu NFS, możemy go zamontować na naszym systemie operacyjnym.
Gdzie <adres_IP_docelowego_systemu>
to adres IP systemu docelowego, a <ścieżka_zasobu>
to ścieżka dostępu do zasobu NFS.
Analiza zasobów NFS
Po zamontowaniu zasobu NFS, możemy przeglądać i analizować zawartość tego zasobu, aby znaleźć cenne informacje lub potencjalne luki w zabezpieczeniach.
Ten skrypt wskaże, czy wymagane jest uwierzytelnienie.
Uwaga: Może się zdarzyć, że gdy twoje cele zostaną odkryte, zostaną one wymienione pod innym adresem IP. Zdarza się to, gdy usługa iSCSI jest wystawiona przez NAT lub wirtualny adres IP. W takich przypadkach iscsiadmin
nie będzie w stanie się połączyć. Wymaga to dwóch zmian: jednej w nazwie katalogu węzła automatycznie utworzonego podczas działań odkrywania, oraz jednej w pliku default
znajdującym się w tym katalogu.
Na przykład, próbujesz połączyć się z docelowym iSCSI o adresie 123.123.123.123 na porcie 3260. Serwer wystawiający docelowy iSCSI jest faktycznie pod adresem 192.168.1.2, ale jest wystawiony przez NAT. isciadm zarejestruje adres wewnętrzny zamiast adresu publicznego:
To polecenie utworzy katalog w systemie plików w ten sposób:
W katalogu znajduje się domyślny plik z wszystkimi ustawieniami niezbędnymi do połączenia z celem.
Zmień nazwę
/etc/iscsi/nodes/iqn.1992-05.com.emc:fl1001433000190000-3-vnxe/192.168.1.2\,3260\,1/
na/etc/iscsi/nodes/iqn.1992-05.com.emc:fl1001433000190000-3-vnxe/123.123.123.123\,3260\,1/
W pliku
/etc/iscsi/nodes/iqn.1992-05.com.emc:fl1001433000190000-3-vnxe/123.123.123.123\,3260\,1/default
zmień ustawienienode.conn[0].address
, aby wskazywało na 123.123.123.123 zamiast 192.168.1.2. Można to zrobić za pomocą poleceniased -i 's/192.168.1.2/123.123.123.123/g' /etc/iscsi/nodes/iqn.1992-05.com.emc:fl1001433000190000-3-vnxe/123.123.123.123\,3260\,1/default
Teraz można zamontować cel zgodnie z instrukcjami pod linkiem.
Ręczne wyliczanie
Przykład z dokumentacją iscsiadm:
Po pierwsze, musisz odkryć nazwę celu za pomocą adresu IP:
Należy zauważyć, że zostaną wyświetlone IP i porty interfejsów, na których można osiągnąć te cele. Może nawet pokazać wewnętrzne IP lub inne IP niż to, które zostało użyte.
Następnie przechwytujesz drugą część wydrukowanego ciągu znaków z każdej linii (iqn.1992-05.com.emc:fl1001433000190000-3-vnxe z pierwszej linii) i próbujesz się zalogować:
Następnie możesz wylogować się używając –logout
Możemy znaleźć więcej informacji na ten temat, używając jedynie bez jakichkolwiek parametrów --login
/--logout
.
Istnieje skrypt do automatyzacji podstawowego procesu wyliczania podsieci dostępny na iscsiadm
Shodan
port:3260 AuthMethod
References
Last updated