Auf einen Blick: Sechs gängige Methoden, die Hacker ausnutzen, um auf Mainframes zuzugreifen, umfassen Schwachstellen in Telnet, FTP, HTTP, Fehlkonfigurationen in CICS, Nutzung von Network Job Entry (NJE) und Credential-Stuffing über SSH. Das Verständnis dieser Angriffsvektoren ist entscheidend für die Verbesserung der Mainframe-Sicherheit.
- Telnet-Terminals sind häufige Ziele für den ersten Zugriff.
- FTP ermöglicht die Fernausführung von Code auf Großrechnern.
- Häufige Web-Schwachstellen können von Hackern ausgenutzt werden.
Analyse Ihrer Mainframe-Angriffsfläche
In meinem letzten Blog habe ich gefragt, ob Ihr Mainframe Ihr schwächstesGlied 1 ist. Um diese Frage effektiv zu beantworten, müssen Sie zunächst die Schwachstellen Ihres Mainframes verstehen, die ein Bedrohungsakteur nutzen kann, um Ihr System zu kompromittieren. In diesem Blog konzentrieren wir uns auf die Angriffsfläche Ihres Mainframes, also die Summe aller potenziellen Punkte, die ein Hacker ausnutzen könnte, um den ersten Zugriff auf ein System zu erhalten. Klarer sind dies die häufigsten Möglichkeiten, wie jemand in Ihren Mainframe einbrechen kann:
1. Ein emuliertes Telnet 3270 (TN3270)-Terminal ist die gebräuchlichste Möglichkeit für Systemprogrammierer, sich mit seinem Großrechner zu verbinden, um Befehle einzugeben und Programme auszuführen. Diese Funktionalität macht es zu einem der ersten Ziele für Hacker, die Zugang zum System erhalten wollen. Viele erfolgreiche Hacker können ihren ersten Zugang mit einer Technik namens Passwort-Spraying2 erhalten, die eine moderne Anpassung des Brute-Force-Logins ist. Anstatt Millionen Passwörter gegen einen einzelnen Benutzer auszuprobieren, die normalerweise nach 17 Uhr gesperrt werden, versucht der Hacker ein einzelnes Passwort gegen jeden Nutzer im System. Da Großrechner oft Hunderttausende von Benutzern haben, muss der Hacker nur ein oder zwei häufig verwendete Passwörter für all diese Konten erraten. Obwohl diese Methode nicht präzise ist, muss der Hacker nur einen Nutzer mit schwachem Passwort finden, um erfolgreich den ersten Zugriff auf den Großrechner zu erhalten.
2. Die File Transfer Protocol (FTP)-Methode zum Hochladen, Herunterladen und Verwalten von Dateien ist unter verteilten Systemadministratoren gut bekannt, aber FTP ist auf z/OS einzigartig leistungsfähig, da es Befehle über die Job Command Language an den Großrechner senden kann. Dies ermöglicht es einem Hacker, der Login-Zugangsdaten findet, die Fernausführung von Code durchzuführen, um Dateien zu verschlüsseln, Informationen zu stehlen oder eine robuste Shell aufzubauen, um die Persistenz auf der Maschine zu erhalten. Leider reicht es nicht aus, sich auf Zugangsdaten in RACF, ACF2 oder Top Secret zu verlassen. Wir sind Jahrzehnte davon entfernt, dass ein Systemprogrammierer zum Rechenzentrum geht und sich direkt an eine Maschine anschließt. Heute nutzen Systemprogrammierer Linux- oder Windows-Personal Computer und loggen sich remote ein. Ein Hacker, der erfolgreich Zugang zu einem Opfer-Systemprogrammierer erlangt hat, könnte einen Keylogger3 fallen lassen und auf den nächsten Arbeitstag des Systemprogrammierers warten, an dem er sich auf seinen Rechner einloggt. Der Hacker verfügt nun über aktive privilegierte Zugangsdaten und kann alle Befehle per FTP an den Großrechner senden. Dank der notwendigen Berechtigungen, die Systemprogrammierern zur effektiven Arbeit gewährt werden, erhält der Hacker dadurch nahezu vollständige Kontrolle über den Großrechner.
3. Eine weitere Ähnlichkeit zwischen dem Großrechner und den verteilten Systemen ist die Häufigkeit, Websites über das allgegenwärtige Hyper Text Transfer Protocol (HTTP) zu betreiben. Moderne Websites bieten eine wachsende Suite an Funktionen, die darauf abzielen, das Nutzererlebnis zu verbessern. Der zunehmende Code und die zunehmende Funktionalität erhöht die Wahrscheinlichkeit, dass die Website eine Schwachstelle enthält, die die Fernausführung von Code durch gängige Techniken wie Remote File Inclusions4, SQL Injection5 oder defekte Authentifizierung und Sitzungsmanagement ermöglicht. Der Hacker kann sogar öffentlich zugängliche oder 0-Day-Schwachstellen im Webserver wie Apache oder Tomcat selbst nutzen. Da die meisten Websites öffentlich zugänglich sind, verfügen Hacker über jahrzehntelange Erfahrung im Aufbau von Tools und Penetrationstests dieses Services. Diese Fähigkeiten können direkt mit gleichem Erfolg als initialer Angriffsvektor gegen den Großrechner eingesetzt werden.
4. Der Customer Interaction Control System (CICS) Transaction Server des Mainframes ist einzigartig für den Mainframe und bietet ein Frontend, damit Kunden direkt mit dem Mainframe interagieren können. Ähnlich wie in den frühen Tagen mit dem Breaking von Webseiten auf HTTP-Servern beginnen Hacker, automatisierte Tools zu entwickeln, um möglichst viel vom CICS Transaction Server aufzuzählen, um eine der zahlreichen Fehlkonfigurationen zu identifizieren, die es ihnen ermöglichen würden, die Authentifizierung zu umgehen oder einen Account mit Brute-Force anzumelden. Ein Open-Source-Tool namens CICSpwn ruft automatisch die Sicherheitseinstellungen auf dem zugrunde liegenden z/OS-Betriebssystem ab, liest verfügbare Dateien, listet Systemnamenskonventionen auf und führt sogar Code 6 aus der Ferne aus. Dank der Automatisierung des Tools wird ein erfahrener Hacker, der neu im Mainframe ist, es ähnlich wie sein Arsenal finden und eine niedrigere Lernkurve finden, um erfolgreich den ersten Zugriff auf den Mainframe über den CICS Transaction Server zu erhalten.
5. Die Network Job Entry (NJE) ist eine weitere einzigartige Funktion des Großrechners, die es einem vertrauenswürdigen Großrechner ermöglicht, einen Auftrag an jeden anderen Mainframe zu senden, mit dem er verbunden ist. Dies ist äußerst leistungsstark, und Mainframe-Penetrationstester haben über NJE erhebliche Erfolge erzielt, entweder einen bekannten Großrechner zu fälschen, um einen Auftrag einzureichen und Zugriff zu erhalten, oder seitlich zwischen Großrechnern zu übertragen. Laterale Übertragungen sind besonders gefährlich, da viele Unternehmen mit begrenzten Ressourcen ihre Produktionsmaschinen nur schützen, während sie ihre Entwicklungsmaschinen nicht überwachen. Wenn ein Hacker Zugang zu einer vertrauenswürdigen Entwicklungsmaschine erhält, kann er das NJE-Protokoll leicht nutzen, um sofortigen Zugriff auf jeden anderen Großrechner zu erhalten.
6. Schließlich ist das Secure Shell (SSH)-Protokoll auch auf dem Großrechner verfügbar. Hacker sind sehr erfolgreich darin, Zugangsdaten zu stehlen und die nativen Funktionen von SSH zu nutzen, um sich einfach durch SSH-Login über ein Netzwerk zu verbreiten. Heute ist eine der gebräuchlichsten Techniken das sogenannte Credential Stuffing, im Gegensatz zum Spraying, bei dem die Benutzernamen und das Passwort alter Sicherheitspannen auf neue Systeme angewendet werden7. Da Nutzer Dutzende von Passwörtern merken müssen, beginnen sie zwangsläufig wiederzuverwenden, was dazu führt, dass ein Sicherheitsvorfall in einem Unternehmen kaskadenhafte Effekte in Organisationen mit gemeinsamen Kunden hat.
Egal, ob Sie Systemprogrammierer oder Mitglied des Sicherheitsteams für Unternehmen sind, Sie müssen bedenken, dass die Software auf Ihrem Großrechner viele der gleichen Schwachstellen aufweist wie die verteilten Systeme, die den Großteil der Organisation ausmachen. Das bedeutet, dass die fortschrittlichen, persistenten Bedrohungen, die in den letzten Jahrzehnten deutlich gereift sind, äußerst geschickt darin sind, Zugang zu dem Gerät zu erhalten, die die wichtigsten Programme eines Unternehmens ausführen und die wichtigsten Daten zu verarbeiten.
Um dieses kritische System ausreichend zu verteidigen, müssen Organisationen den Großrechner wie den Rest ihres Unternehmens behandeln. Dies erfordert Echtzeit-Transparenz der Sicherheitsereignisse ihres Großrechners, den Einsatz einer intelligenten Endpunkterkennungs- und Reaktionslösung (EDR) und das Testen ihrer Abwehrmechanismen mit professionellen Penetrationstestern. Diese grundlegenden Maßnahmen, die bereits im gesamten Unternehmen angewendet werden, sind nur der erste Schritt zur Entwicklung eines ganzheitlichen Sicherheitsplans und zur Vermeidung der schwerwiegenden Folgen eines größeren Datenverstoßes.
1 https://www.bmc.com/blogs/are-mainframes-your-weakest-link/↩
2 https://attack.mitre.org/techniques/T1110/↩
3 https://www.veracode.com/security/keylogger↩
4 https://kellgon.com/own-a-server-with-a-remote-file-inclusion/ ↩
5 https://www.owasp.org/index.php/SQL_Injection/ ↩
Diese Beiträge sind meine eigenen und spiegeln nicht unbedingt die Position, Strategien oder Meinung von BMC wider.