3260 - Pentesting ISCSI
Grundlegende Informationen
Aus Wikipedia übersetzt:
Bei iSCSI handelt es sich um die Abkürzung für Internet Small Computer Systems Interface, einen auf dem Internetprotokoll (IP) basierenden Speichernetzwerkstandard zur Verknüpfung von Datenspeichereinrichtungen. Es ermöglicht den blockbasierten Zugriff auf Speichergeräte, indem SCSI-Befehle über ein TCP/IP-Netzwerk übertragen werden. iSCSI wird verwendet, um Datenübertragungen über Intranets zu erleichtern und die Speicherverwaltung über große Entfernungen hinweg zu ermöglichen. Es kann verwendet werden, um Daten über lokale Netzwerke (LANs), Weitverkehrsnetze (WANs) oder das Internet zu übertragen und eine standortunabhängige Datenspeicherung und -abfrage zu ermöglichen.
Das Protokoll ermöglicht es Clients (Initiatoren), SCSI-Befehle (CDBs) an Speichergeräte (Ziele) auf entfernten Servern zu senden. Es handelt sich um ein Speicherbereichsnetzwerk (SAN)-Protokoll, das es Organisationen ermöglicht, Speicher in Speicherarrays zu konsolidieren und gleichzeitig Clients (wie Datenbank- und Webserver) mit der Illusion von lokal angeschlossenen SCSI-Festplatten zu versorgen. Es konkurriert hauptsächlich mit Fibre Channel, aber im Gegensatz zu herkömmlichem Fibre Channel, für das normalerweise dedizierte Verkabelung erforderlich ist, kann iSCSI über große Entfernungen mit vorhandener Netzwerkinfrastruktur betrieben werden.
Standardport: 3260
Enumeration
Die Enumeration ist ein wichtiger Schritt im Pentesting-Prozess, um Informationen über das Zielnetzwerk zu sammeln. Es gibt verschiedene Techniken, um Informationen über iSCSI-Dienste zu sammeln:
Portscanning
Verwenden Sie Tools wie Nmap, um offene Ports auf dem Zielhost zu identifizieren. Überprüfen Sie, ob der iSCSI-Port (Standard: 3260) geöffnet ist.
Banner Grabbing
Verwenden Sie Tools wie Telnet oder Netcat, um den iSCSI-Dienst zu erreichen und den Bannertext abzurufen. Dies kann Informationen über die verwendete iSCSI-Implementierung und Version liefern.
iSCSI Discovery
Verwenden Sie das iSCSI-Discovery-Protokoll, um Informationen über verfügbare iSCSI-Targets zu erhalten. Dies kann mit Tools wie iscsiadm
oder iscsiadm-discovery
durchgeführt werden.
iSCSI Target Enumeration
Sobald ein iSCSI-Target identifiziert wurde, können Sie weitere Informationen über das Target abrufen. Verwenden Sie Tools wie iscsiadm
oder iscsiadm-node
und geben Sie die IP-Adresse des Targets an.
iSCSI Target IQN-Enumeration
Verwenden Sie das iSCSI Qualified Name (IQN), um Informationen über das Target zu erhalten. Verwenden Sie Tools wie iscsiadm
oder iscsiadm-node
und geben Sie die IQN des Targets an.
iSCSI Target Authentication Bypass
Überprüfen Sie, ob der iSCSI-Dienst keine oder schwache Authentifizierung verwendet. Dies kann es Ihnen ermöglichen, sich ohne gültige Anmeldeinformationen mit dem Target zu verbinden.
iSCSI Target Information Leakage
Suchen Sie nach Informationen über das iSCSI-Target in öffentlich zugänglichen Quellen wie Suchmaschinen, Foren oder sozialen Medien. Dies kann Ihnen zusätzliche Informationen über das Target liefern.
iSCSI Target Misconfiguration
Überprüfen Sie, ob das iSCSI-Target falsch konfiguriert ist und sensible Informationen preisgibt. Dies kann durch Überprüfen von Konfigurationsdateien oder durch Ausnutzen von Schwachstellen erfolgen.
iSCSI Target Brute-Force
Versuchen Sie, das iSCSI-Target durch Brute-Force-Angriffe auf Anmeldeinformationen zu kompromittieren. Verwenden Sie Tools wie Hydra oder Medusa, um Benutzernamen und Passwörter auszuprobieren.
iSCSI Target Denial of Service (DoS)
Versuchen Sie, das iSCSI-Target durch Denial-of-Service-Angriffe außer Betrieb zu setzen. Dies kann durch Überfluten des Targets mit Anfragen oder durch Ausnutzen von Schwachstellen erfolgen.
iSCSI Target Exploitation
Überprüfen Sie, ob das iSCSI-Target anfällig für bekannte Schwachstellen ist. Verwenden Sie Tools wie Metasploit, um Schwachstellen auszunutzen und Zugriff auf das Target zu erlangen.
Dieses Skript gibt an, ob eine Authentifizierung erforderlich ist.
Hinweis: Es kann vorkommen, dass Ihre Ziele unter einer anderen IP-Adresse aufgelistet werden, wenn der iSCSI-Dienst über NAT oder eine virtuelle IP-Adresse freigegeben ist. In solchen Fällen schlägt iscsiadmin
fehl, eine Verbindung herzustellen. Hierfür sind zwei Anpassungen erforderlich: eine am Verzeichnisnamen des automatisch erstellten Knotens durch Ihre Entdeckungsaktivitäten und eine an der Datei default
, die sich in diesem Verzeichnis befindet.
Beispiel: Sie versuchen, eine iSCSI-Zieladresse unter 123.123.123.123 auf Port 3260 zu verbinden. Der Server, der das iSCSI-Ziel freigibt, befindet sich tatsächlich unter 192.168.1.2, ist jedoch über NAT freigegeben. Isciadm registriert die interne Adresse anstelle der öffentlichen Adresse:
Dieser Befehl erstellt ein Verzeichnis in Ihrem Dateisystem wie folgt:
Innerhalb des Verzeichnisses befindet sich eine Standarddatei mit allen Einstellungen, die erforderlich sind, um eine Verbindung zum Ziel herzustellen.
Benennen Sie
/etc/iscsi/nodes/iqn.1992-05.com.emc:fl1001433000190000-3-vnxe/192.168.1.2\,3260\,1/
in/etc/iscsi/nodes/iqn.1992-05.com.emc:fl1001433000190000-3-vnxe/123.123.123.123\,3260\,1/
um.Ändern Sie in
/etc/iscsi/nodes/iqn.1992-05.com.emc:fl1001433000190000-3-vnxe/123.123.123.123\,3260\,1/default
die Einstellungnode.conn[0].address
, um auf 123.123.123.123 anstelle von 192.168.1.2 zu verweisen. Dies kann mit einem Befehl wiesed -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
durchgeführt werden.
Sie können das Ziel nun gemäß den Anweisungen im Link einbinden.
Manuelle Aufzählung
Beispiel aus iscsiadm-Dokumentation:
Zunächst müssen Sie den Namen der Ziele entdecken, die sich hinter der IP-Adresse befinden:
Beachten Sie, dass es die IP-Adresse und den Port der Schnittstellen anzeigt, über die Sie diese Ziele erreichen können. Es kann sogar interne IPs oder unterschiedliche IPs von derjenigen anzeigen, die Sie verwendet haben.
Dann fangen Sie den zweiten Teil des gedruckten Strings jeder Zeile (iqn.1992-05.com.emc:fl1001433000190000-3-vnxe von der ersten Zeile) und versuchen Sie sich anzumelden:
Dann kannst du dich mit –logout
abmelden.
Wir können weitere Informationen darüber finden, indem wir einfach ohne Verwendung eines --login
/--logout
Parameters vorgehen.
Es gibt ein Skript, um den grundlegenden Subnetz-Enumeration-Prozess zu automatisieren, das unter iscsiadm verfügbar ist.
Shodan
port:3260 AuthMethod
Referenzen
Last updated