[KI-Sicherheit] Deaktivieren bestimmter Klassen durch Manipulation des Modells | HackTheBox Fuel Crisis Writeup

[Einführung in die KI-Sicherheit] Deaktivieren bestimmter Klassen durch Manipulation von Modellen | HackTheBox Fuel Crisis Writeup

Wir befinden uns in einer Ära, in der KI nicht nur „lernt und Entscheidungen trifft“, sondern die Modelle, die diese Entscheidungen treffen, selbst Angriffsziele sind.
Insbesondere die Gewichtungen und Verzerrungen von Machine-Learning-Modellen sind entscheidend für deren Ergebnisse. Werden diese manipuliert, können Vorhersagen absichtlich verfälscht werden.

Diese Modellmanipulationsangriffe (Model Manipulation / Targeted Misclassification) können ausgenutzt werden, um bestimmte Klassen konsequent falsch zu identifizieren oder Erkennungssysteme zu umgehen.
So könnten sie beispielsweise dazu genutzt werden, bei Überwachungskameras oder OCR-Authentifizierungssystemen „nur bestimmte Personen oder Nummernschilder zu übersehen“.

In diesem Artikel zeigen wir, wie man die letzte Schicht eines Modells manipuliert und eine bestimmte Klasse (die Zahl „2“) mithilfe der HackTheBox CTF-Challenge „Fuel Crisis“ vollständig deaktiviert.
Außerdem erläutern wir die Grundlagen der KI-Sicherheit, die man dabei erlernen kann, und wichtige Punkte zur Verteidigung.

Inhaltsverzeichnis

Über HackTheBox

Dieses Mal verwenden wir tatsächlich HackTheBox (HTB), um Schwachstellen zu überprüfen.

HackTheBox ist eine praxisorientierte CTF-Plattform, auf der Teilnehmer in verschiedenen Sicherheitsbereichen wie Webanwendungen, Servern und Netzwerken üben können.
Das Besondere daran: Die Teilnehmer können lernen, indem sie tatsächlich auf die anzugreifenden Maschinen und Anwendungen zugreifen und selbst Hand anlegen.

der Challenge-Kategorien , die zuvor auf HackTheBox angeboten wurden, und ist derzeit einem VIP-Plan oder höher (beachten Sie, dass Benutzern mit dem kostenlosen Plan nur aktive Challenges zur Verfügung stehen).

Es gibt auch Maschinen und Herausforderungen in verschiedenen Kategorien, darunter Web, Reversing, Pwn und Forensik, sodass Sie sie auf einem für Sie geeigneten Niveau angehen können.

Wenn Sie Ihre Fähigkeiten mit HackTheBox ernsthaft verbessern möchten, melden Sie sich unbedingt den VIP-Plan und nutzen Sie alle Vorteile der bisherigen Maschinen und Herausforderungen.

👉 Besuchen Sie hier die offizielle HackTheBox-Website

Sicherheit kann nur gemeistert werden, wenn man aus der Perspektive eines Angreifers übt

Das bloße Lesen der Referenz reicht nicht aus. den tatsächlichen Angriff können Sie wirklich verstehen, warum etwas anfällig ist und wie Sie es schützen können.

HackTheBox bietet eine Trainingsumgebung, in der Sie Schwachstellen auf einer virtuellen Maschine sicher ausprobieren können.
Selbst Anfänger können lernen, wie ein Angreifer zu denken und sich Schritt für Schritt weiterzuentwickeln.

  • Virtuelle Maschinenübungen basierend auf realistischen Angriffsszenarien
  • Behebt eine Vielzahl von Schwachstellen, darunter RCE, SQLi und XSS
  • Mit dem VIP-Plan haben Sie Zugriff auf ältere Maschinen

*HackTheBox Academy (Lehrmaterialien) und Labs (Übungsumgebung), die unterschiedliche Abrechnungsstrukturen haben.
Für alle, die sich auf die Praxis konzentrieren möchten, empfehlen wir den Labs VIP-Tarif oder höher.

👉 Für detaillierte Informationen zur Registrierung für HackTheBox und den Unterschieden zwischen den Plänen klicken Sie bitte hier.

Herausforderungsübersicht: Kraftstoffkrise

Die Herausforderung besteht darin, das Raumschiff „Phalcon“ an die Raumstation B1-4S3D anzudocken, die aufgrund von Treibstoffmangel nicht angedockt werden darf.
Am Tor der Station befinden sich zwei OCR-Kameras. Die erste Kamera liest die ID und Zuverlässigkeit des Schiffs, die die zweite Kamera erneut auswertet und vergleicht. Weichen die beiden Ergebnisse deutlich voneinander ab, wird dem Schiff die Einfahrt verweigert.

Glücklicherweise hat ein anderer Hacker die Upload-Berechtigungen der zweiten Kamera für die Modelldatei übernommen und kann sogar den Verifizierungsprozess deaktivieren, sobald das Schiff vorbeifliegt.
Die Aufgabe des Spielers besteht darin, diese Situation auszunutzen, indem er die internen Parameter des Modells so manipuliert, dass die Zahl „2“ in der ID seines Schiffs die einzige ist, die jemals erkannt wird.

Punkt

  • Angriffsziel: Machine-Learning-Modell (Keras/h5-Format), das auf der zweiten OCR-Kamera der Raumstation läuft
  • Ziel: Die Zahl „2“ immer falsch erkennen und so verhindern, dass die ID Ihres Schiffs richtig erkannt wird.
  • Methode: Legen Sie den Bias-Wert für die Klasse „2“ in der letzten dichten Schicht des Modells auf eine große negative Zahl fest (z. B. -100).
  • Erfolgsbedingung: Die anderen Schiffe (4 Schiffe) werden korrekt erkannt, die Nummer „2“ Ihres Schiffes wird nicht erkannt und das Andocken ist erfolgreich.

Was ist Keras und das h5-Format?

In Fuel Crisis schreiben wir den Bias-Wert der letzten dichten Schicht in der h5-Datei direkt neu, um die Ausgabe einer bestimmten Klasse (Nummer „2“) auf einen niedrigen Wert zu zwingen, sodass sie nie erkannt wird.

Keras

Keras ist ein High-Level-Deep-Learning-Framework für Python.
Die Bibliothek vereinfacht die Bedienung von Backends wie TensorFlow und Theano und ermöglicht das Erstellen, Trainieren und Speichern von Modellen über eine intuitive API.
Im Rahmen dieses Projekts zur Treibstoffkrise wurde mit Keras ein OCR-Modell (Zeichenerkennung) erstellt und vortrainierte Gewichte verteilt.

h5-Format

.h5 ist die Erweiterung des Datenspeicherformats HDF5 (Hierarchical Data Format Version 5).
Keras kann trainierte Modelle und deren Gewichte im h5-Format speichern.
Dieses Format ist hierarchisch aufgebaut und die Gewichte und Bias speichern
Obwohl es in einem Texteditor schwer lesbar ist, können Sie die Inhalte mit Tools wie h5py oder HDFView öffnen und direkt bearbeiten.

Was bedeutet es, eine bestimmte Klasse durch Manipulation des Modells ungültig zu machen?

Modellmanipulation zur Deaktivierung bestimmter Klassen ist eine Angriffsmethode, bei der die internen Parameter eines trainierten KI-Modells umgeschrieben werden, um sicherzustellen, dass bestimmte Klassen nie vorhergesagt werden.
Beispielsweise kann dies bei OCR oder Gesichtserkennung dazu führen, dass bestimmte Zahlen oder Personen immer wieder falsch erkannt werden und so der Erkennung entgehen.
Diese Methode der Inferenzphase und unterscheidet sich von Angriffen, die Eingabedaten (Adversarial Samples) ändern, durch die direkte Manipulation des Modellkerns selbst.

So funktioniert der Angriff

Dieser Angriff funktioniert durch die gezielte Manipulation der endgültigen Klassenbewertungen, die von einem Machine-Learning-Modell mithilfe interner Parameter generiert werden.
Insbesondere wird der Bias-Wert der letzten Schicht (z. B. der dichten Schicht) auf einen extrem negativen Wert gesetzt. Dadurch bleibt die Bewertung für diese Klasse dauerhaft niedrig und wird für die Vorhersage nicht mehr berücksichtigt.
Da andere Parameter unverändert bleiben, bleiben das Gesamtverhalten und die Zuverlässigkeit weitgehend unverändert.

  • Setzen Sie den Bias-Wert auf einen großen negativen Wert → die entsprechende Klasse erhält immer eine niedrige Punktzahl
  • Die Genauigkeit anderer Klassen bleibt weitgehend erhalten, sodass Manipulationen nicht erkennbar sind.
  • In Fuel Crisis ist die Zielklasse die Nummer „2“

Angriffsablauf

Der Angriff umfasst die folgenden Schritte:

  1. Holen Sie sich die trainierte Modelldatei (.h5-Format)
  2. Öffnen Sie den Inhalt mit h5py oder HDFView und ermitteln Sie den Bias-Wert, der „Klasse 2“ der letzten dichten Schicht entspricht.
  3. Ändern Sie den Bias-Wert in eine extrem negative Zahl (z. B. -100).
  4. Laden Sie das geänderte Modell erneut in das System hoch
  5. Bei der Inferenz werden IDs, die „2“ enthalten, immer mit anderen Zahlen verwechselt, sodass sie nicht erkannt werden.

Zu erfüllende Bedingungen

Damit dieser Angriff erfolgreich ist, müssen mehrere Voraussetzungen erfüllt sein.
Sind diese nicht erfüllt, wird der beabsichtigte Effekt auch bei Durchführung des Angriffs nicht erzielt.

  • Angreifer können Modelldateien direkt abrufen und bearbeiten
  • Beim Hochladen eines Modells wird keine Manipulationsprüfung (Signatur- oder Hash-Prüfung) durchgeführt
  • Das Deaktivieren einer bestimmten Klasse hat keine erkennbaren Auswirkungen auf andere Verhaltensweisen.

Ich habe tatsächlich versucht, es zu hacken!

Bevor wir uns mit dem Angriff befassen, werfen wir zunächst einen kurzen Blick auf die Web-App „Fuel Crisis“.
Die Benutzeroberfläche der App imitiert das Andocktor einer Raumstation, durch das fünf Raumschiffe nacheinander hindurchfliegen. Jedem Schiff wird eine Schiffs-ID (eine Zahlenfolge) zugewiesen

Die Hauptelemente auf dem Bildschirm sind wie folgt:

  • Anzeigebereich für Schiffs-IDs:
    Es werden fünf Bilder der Schiffs-IDs angezeigt. Ihr Schiff kommt als letztes vorbei und seine ID enthält die Zahl „2“.
  • Formular zum Hochladen von ModelldateienSie
    können eine Modelldatei im .h5-Format auswählen und hochladen. Hier laden Sie das manipulierte Modell hoch.
  • Andockknöpfe
    werden mittels OCR-Modell identifiziert, um festzustellen, ob ein Andocken möglich ist. Bei erfolgreicher Manipulation wird lediglich die Erkennung des eigenen Schiffes verhindert.
  • Ergebnisanzeigebereich:
    Hier werden Erkennungsergebnis, Zuverlässigkeit und Andockmöglichkeit jedes Schiffes angezeigt. Bei Erfolg erscheint hier eine Flagge.

Wenn Sie verstehen, wie diese Benutzeroberfläche funktioniert, können Sie die Angriffsschritte reibungsloser verfolgen.
Sehen wir uns als Nächstes den Code an, um zu sehen, was auf diesem Bildschirm passiert.

Erkundungsphase: Suche nach verbotenen Schiffen und Modelltauschmechanismen

Versuchen Sie zunächst, die Dock-Taste zu drücken. Daraufhin wird die Meldung angezeigt, dass die einzige verbotene Anwendung „Phalcon“ ist.

Wenn Sie den Quellcode überprüfen, werden Sie sehen, warum. Am /dock-Endpunkt passiert Phalcon im Gegensatz zu anderen Raumschiffen das zweite Tor mit validation_check=False , was bedeutet, dass es die Überprüfung der Ziffernzuverlässigkeit beim Parsen des Bildes überspringt.

Zusätzlich wird self.bannedId = „32166“ festgelegt. Wenn die endgültige Phalcon-ID diesen Wert annimmt, wird eine Ausnahme ausgelöst, die den Benutzer zwingt, nicht durchzukommen.

@app.route('/dock', Methoden=['POST']) def dock(): Versuch: für Raumschiff in b1_4s3d_station.spaceships: id, id_confidence = b1_4s3d_station.passFirstGate(spaceship.id_image) wenn spaceship.name == "Phalcon": b1_4s3d_station.passSecondGate(id, spaceship.id_image, id_confidence, Validierungsprüfung=Falsch) sonst: b1_4s3d_station.passSecondGate(id, spaceship.id_image, id_confidence) außer DockingException als de: returniere render_template('dock.html', Antwort = spaceship.name+str(de)) außer Ausnahme als e: returniere render_template('dock.html', Antwort = 'Unerwarteter Fehler beim Andocken.') returniere render_template('dock.html', Antwort = Flagge)

Aufklärungsphase: Die Rolle der Upload-Datei

Die Funktion „Datei hochladen“ auf der Startseite ersetzt tatsächlich das zweite Gate-Modell (second_gate).

Dies bedeutet, dass Spieler die Entscheidungslogik des zweiten Gates frei neu schreiben können, indem sie ihr eigenes modifiziertes Keras .h5-Modell hochladen.

@app.route('/', Methoden=['GET', 'POST']) def index(): ids = [] für Raumschiff in b1_4s3d_station.spaceships: ids.append(spaceship.idToBase64()) wenn request.method == 'POST': wenn 'file' nicht in request.files: returniere render_template('index.html', ids = ids, Antwort = "Dateiupload fehlgeschlagen.") Datei = request.files['file'] wenn file.filename == '': returniere render_template('index.html', ids = ids, Antwort = "Dateiupload fehlgeschlagen.") wenn file und allowed_file(file.filename): versuche: file.save(os.path.join(app.config['UPLOAD_FOLDER'], "uploaded.h5")) b1_4s3d_station.second_gate = tf.keras.models.load_model("./application/models/uploaded.h5") außer: return render_template('index.html', ids = ids, response = "Dateiupload fehlgeschlagen.") return render_template('index.html', ids = ids, response = "Dateiupload war erfolgreich.") sonst: return render_template('index.html', ids = ids)

Aufklärungsphase: Welche Zahlen gefälscht werden sollen

Es ist wichtig zu beachten, dass die Zuverlässigkeitsprüfung für alle Schiffe außer Phalcon gültig ist.
Wenn Sie also größere Änderungen am gesamten Modell des zweiten Tors vornehmen, können die anderen Schiffe nicht mehr die gleiche Zuverlässigkeit wie Tor 1 erreichen, was zum Fehlschlagen des gesamten Vorgangs führt.

Daher beschränken wir unser Ziel auf die Zahl „2“, die nur in Phalcons ID vorkommt.
Indem wir die Zuverlässigkeit der „2“ im zweiten Gate-Modell deutlich verringern, wird Phalcons endgültige ID eine andere Zahlenfolge als „32166“ sein, wodurch wir die Erkennung verbotener IDs vermeiden können.
Darüber hinaus hat diese Änderung keine Auswirkungen auf die IDs anderer Schiffe.

Aufklärungsphase: Modell (.h5)

Da es sich um ein CTF handelt, wurde die ursprünglich auf dem Server verwendete Modelldatei (.h5) vorab bereitgestellt.
Diese Datei ist ein trainiertes neuronales Netzwerkmodell, das im Keras-Format gespeichert ist und über die Upload-Funktion durch das Modell für das zweite Gate ersetzt werden kann.

Ziel des Angriffs ist es, die Zuverlässigkeit (Vorhersagewert) dieses Modells für die Zahl 2 absichtlich zu senken.
Dadurch wird die Zahl 2 aus der ID von Phalcon entfernt, sodass die verbotene ID 32166 vermieden werden kann.

Als Nächstes schauen wir uns an, wie man dieses .h5-Modell tatsächlich lädt und manipuliert.

Angriffsphase: Deaktivieren Sie nur die „2“ am zweiten Tor, um die verbotene ID zu vermeiden

Wir überschreiben
nur das Bias-Element, das Klasse 2 in der letzten Klassifizierungsebene (10 Klassen) des bereitgestellten trainierten Modells (model.h5) entspricht, -100 Indem wir HDF5 direkt bearbeiten, ohne Keras zu verwenden, erstellen wir ein Ersatzmodell (exploit.h5), wobei wir die Dateistruktur und -größe beibehalten.

Angriffsskript:

Wenn Sie Folgendes so ausführen, wie es ist, wird model.h5 kopiert, um exploit.h5 zu erstellen, und index=2 in dicht > dicht > bias:0 auf -100 umgeschrieben.

importiere shutil, h5py, numpy als np shutil.copyfile("model.h5", "exploit.h5") # Kopiere das Original so wie es ist mit h5py.File("exploit.h5", "r+") als f: ds = f["model_weights/dense/dense/bias:0"] # dicht > dicht > bias:0 ds[2] = np.array(-100.0, dtype=ds.dtype) # Setze index=2 auf -100

Sobald exploit.h5 vom Skript erstellt wurde, wählen Sie exploit.h5 im Abschnitt „Datei hochladen“ auf der oberen Seite aus und laden Sie es hoch.

Führen Sie als Nächstes Dock aus (hier wird die Inferenz mithilfe des Modells mit dem ersetzten second_gate durchgeführt).
Jetzt können wir die Flagge erhalten!

Mechanismus (warum funktioniert es?)

Kurz gesagt: Es „fixiert Werte von 2 auf fast null.“

  • beträgt die Wahrscheinlichkeit von „2“ nach Softmax
  • Phalcon überspringt die Vertrauensprüfung am zweiten Gate und prüft nur, ob die endgültige ID 32166 ist
  • Da keine „2“ ausgegeben wird, ist 32166 nicht konfiguriert → Es wird durch Umgehen der verbotenen ID-Prüfung bestanden.

Gegenmaßnahme: Um zu verhindern, dass in der realen Umgebung Modellmanipulationen (Klassenungültigkeit) auftreten

Hier haben wir uns auf die Gegenmaßnahmen beschränkt, die in der tatsächlichen Produktion wirksam sind. Wir haben CTF-spezifische Maßnahmen (Überspringen der Überprüfung für bestimmte Schiffe, /playground usw.) entfernt und verallgemeinert.

Es gibt nicht viele Apps, mit denen Sie nach Belieben Modelle hochladen können. Wenn Sie jedoch versuchen, ein Modell hochzuladen, ist Vorsicht geboten.

Fester Lieferant (Gewährleistung der Modellintegrität)

Die in der Produktion verwendeten Modelle unterliegen einer strengen Verwaltung hinsichtlich der Verteilung durch wen, wann und was und werden so konzipiert, dass sie nicht willkürlich durch die App ersetzt werden können.

  • Kein Laufzeitersatz: In der Produktion werden nur vorgefertigte Artefakte verwendet. Beliebige Uploads über UI/API sind nicht zulässig.
  • Integritätsprüfung: SHA-256 und Signaturen (z. B. Ed25519) werden beim Start und in regelmäßigen Abständen überprüft, und jeder Fehler führt zu einem sofortigen Fail-Close.
  • Schreibgeschützte Bereitstellung: Die Modellspeicherung wird in einem schreibgeschützten Mount-/Least-Privilege-Container ausgeführt.

Ladehygiene (vertrauen Sie nicht vertrauenswürdigen Modellen nicht direkt)

Auch wenn ein Design vom Benutzer bereitgestellte Modelle verarbeitet, können diese nicht in die Produktion gehen, ohne die Quarantäne → Konvertierung → Isolierung zu durchlaufen.

  • Format- und Schemavalidierung: Überprüft Eingabe-/Ausgabeformen, Anzahl der Beschriftungen, zulässige Layertypen und obere Parametergrenzen mechanisch. Abweichungen werden abgelehnt.
  • Gefährliche Deserialisierung deaktivieren: Deaktivieren Sie custom_objects und setzen Sie compile=False, um das Lesen unnötiger Lerninformationen zu vermeiden.
  • In sichere Formate konvertieren: Wenn möglich, vereinheitlichen Sie auf Formate mit geringem Codeausführungspotenzial, wie z. B. ONNX / SavedModel / Safetensor.
  • Isolierte Evaluierung: Der Import erfolgt in einem separaten Prozess/einer Sandbox ausschließlich für Bench- und Sanity-Tests. Produktionsdaten und Berechtigungen bleiben unberührt.

Robustheit der Entscheidungslogik (resistent gegen Manipulationen, die „bestimmte Klassen zerstören“)

Verlassen Sie sich nicht ausschließlich auf die Ergebnisse eines einzelnen Modells. Sorgen Sie durch Konsistenzprüfungen und Konsens für Manipulationssicherheit.

  • Rundungsvergleich eliminieren: Rundung auf eine Nachkommastelle etc. schlägt bei kleinen Schwankungen fehl. Zweistufige Prüfung: (a) Label-Match + (b) |p₁−p₂|≤ε.
  • Trennung von Verifizierung und Entscheidung: Das Validierungsmodell dient ausschließlich der Verifizierung (nur Konsistenzprüfung) und die endgültige Entscheidung wird vom vertrauenswürdigen Pfad getroffen.
  • Konsens/Redundanz: Wichtige Entscheidungen werden im Konsens zwischen mehreren Modellen oder durch die Verwendung kombinierter Regeln getroffen, wodurch das Modell gegen eine „Klassenungültigkeitserklärung“ durch ein einzelnes Modell resistent ist.
  • Sanity Gate: Überprüft automatisch, ob jede Klasse vor der Bereitstellung eine Mindestmenge ausgibt (Verteilungsverzerrung, Nullung).

Betriebsüberwachung und Alarmierung (Früherkennung von Auffälligkeiten)

Stellen Sie sicher, dass Manipulationen und Beschädigungen durch den Betrieb erkannt und blockiert werden können.

  • Überwachung der Klassenverteilung: Warnt, wenn die Auftrittsrate einer bestimmten Klasse abnormal sinkt/Null wird.
  • Hash-/Signaturprotokoll: Zeichnen Sie beim Laden immer Modell-ID, Hash, Unterzeichner und Version auf und melden Sie Änderungen.
  • Schutzfehler: Wenn eine Anomalie erkannt wird, erfolgt ein automatisches Rollback/Umschalten auf ein bekanntes gutes Modell/vorübergehender Rückzug auf die Regelbeurteilung.

Zusammenfassung: BYOM-Design, das Modellmanipulationen standhält

In dieser Challenge haben wir ein Bring-Your-Own-Modell (BYOM) direkt mit der Produktionslogik verbunden und bestätigt, dass wir durch einfaches Manipulieren der Verzerrung in der Ausgabeschicht an einer Stelle ein Modell erstellen konnten, das keine „2“ ausgibt und die verbotene ID-Prüfung umgeht. KI ist zwar intelligent, ihr Verhalten kann sich jedoch dramatisch ändern, wenn die Annahmen über Gewichte und Input/Output nicht erfüllt werden. Dies ist die größte Falle.

Diese „Geradlinigkeit“ ist sowohl eine Stärke als auch eine Angriffsfläche für Angreifer: Indem sie an den internen Komponenten des Modells herumbasteln, können sie den von der App erwarteten Entscheidungsfluss von außen manipulieren.

Deshalb behandeln wir Modelle wie Code, implementieren Quarantäne-, Validierungs- und Promotion-Operationen sorgfältig und schützen Urteile durch Konsistenz, anstatt auf Rundungen zu setzen. KI ist nicht allmächtig, daher müssen wir Robustheit durch Design und Betrieb sicherstellen. Das ist die wichtigste Lektion, die wir aus dieser Erfahrung gelernt haben.

Die Funktionsweise von KI aus der Perspektive des „Austricksens von KI“ kennenzulernen, ist eine sehr praktische und spannende Erfahrung.
Wenn Sie interessiert sind, empfehlen wir Ihnen, Hack the Box auszuprobieren.

Sicherheit kann nur gemeistert werden, wenn man aus der Perspektive eines Angreifers übt

Das bloße Lesen der Referenz reicht nicht aus. den tatsächlichen Angriff können Sie wirklich verstehen, warum etwas anfällig ist und wie Sie es schützen können.

HackTheBox bietet eine Trainingsumgebung, in der Sie Schwachstellen auf einer virtuellen Maschine sicher ausprobieren können.
Selbst Anfänger können lernen, wie ein Angreifer zu denken und sich Schritt für Schritt weiterzuentwickeln.

  • Virtuelle Maschinenübungen basierend auf realistischen Angriffsszenarien
  • Behebt eine Vielzahl von Schwachstellen, darunter RCE, SQLi und XSS
  • Mit dem VIP-Plan haben Sie Zugriff auf ältere Maschinen

*HackTheBox Academy (Lehrmaterialien) und Labs (Übungsumgebung), die unterschiedliche Abrechnungsstrukturen haben.
Für alle, die sich auf die Praxis konzentrieren möchten, empfehlen wir den Labs VIP-Tarif oder höher.

👉 Für detaillierte Informationen zur Registrierung für HackTheBox und den Unterschieden zwischen den Plänen klicken Sie bitte hier.

Teilen Sie, wenn Sie möchten!

Wer hat diesen Artikel geschrieben

Dies ist ein Blog, in dem ich angefangen habe, Informationssicherheit zu studieren. Als neuer Angestellter würde ich mich freuen, wenn Sie mit einem breiten Herzen schauen könnten.
Es gibt auch Teech Lab, das eine Gelegenheit ist, Programmierspaß zu studieren. Wenn Sie also an der Softwareentwicklung interessiert sind, sollten Sie sich unbedingt ansehen!

Inhaltsverzeichnis