Durchdrungen von KI und den Sicherheitsrisiken ihres Einsatzes ist die 2023 SANS Holiday Hack Challenge Es war eine bereichernde Erfahrung, eine Reihe von 21 Zielen zu bewältigen, die zahlreiche Cybersicherheitskompetenzen auf die Probe stellten und erweiterten.
Die größten Herausforderungen bestanden für mich darin, KI-Halluzinationen in einem Pentest-Bericht aufzuspüren, die Berechtigungen auf einem Linux-System zu erweitern, nach Cheats in Game Boy-Spielen zu suchen, die Azure REST-API zu verwenden, um nach dem Quellcode einer Azure-Funktions-App zu suchen und letztendlich eine Schwachstelle auszunutzen SSH-Zertifikatdienst, Übung der Verwendung des Impack Tool-Suite und Zertifikat Verwundbare ausnutzen Active Directory Certificate Servicesund Ausnutzung von SQL-Injection- und Java-Deserialisierungsschwachstellen in Weltraum-Apps.
Im Folgenden teile ich den Weg, den ich eingeschlagen habe, um einige der bemerkenswertesten Herausforderungen zu meistern.
Reporter
ChatNPT, ein großes Sprachmodell (LLM), das zur Erstellung einiger Herausforderungen verwendet wird, generierte a Penetrationstestbericht über Schwachstellen, die im Netzwerk von North Pole Systems entdeckt wurden und von denen einige im Rahmen bevorstehender Herausforderungen auftreten. ChatNPT hat jedoch einige Details des Berichts halluziniert. Mithilfe von ChatGPT oder einem anderen beliebten LLM bestand die Aufgabe darin, die Abschnitte mit halluzinierten Informationen zu kennzeichnen. Mein Ansatz bestand darin, ChatGPT spezifische Fragen zum Inhalt zu stellen, um zu erklären, was ich zunächst nicht verstand, und um letztendlich die Anomalien zu entdecken. Drei der neun Abschnitte enthielten Fehler.
Wie von ChatGPT bestätigt, hatte dieser Abschnitt eine ungültige Portnummer von 88,555, die weit über der höchsten gültigen Portnummer von 65,535 lag:
Hier ist mir sofort aufgefallen, dass SEND keine HTTP-Request-Methode ist.
ChatNPT verwechselte die in Abschnitt 8 des Berichts erwähnte PHP-Versionsnummer entweder mit einer HTTP-Protokollversion oder mit einem falschen Text für das, was in diesem Abschnitt „HTTP-HEAD-Anfrage“ hätte heißen sollen. Darüber hinaus ist die Offenlegung von Windows-Registrierungs- oder Produktschlüsseln im Standort-Header ein schlechter Ratschlag.
Linux PrivEsc
Bei dieser Herausforderung bestand das Endziel darin, eine Frage zu beantworten, aber diese Frage war in einer unzugänglichen ausführbaren Datei versteckt:
Zwar gibt es verschiedene Methoden Um die Berechtigungen auf einem Linux-Computer zu erweitern, ermöglichte diese Herausforderung eine benutzerdefinierte ausführbare Datei namens einfache Kopie wobei das SUID-Bit auf Missbrauch gesetzt ist. Wenn das SUID-Bit für den Besitzer einer Datei gesetzt ist und der Besitzer es ist Wurzel, dann wird diese Datei immer mit Root-Rechten ausgeführt, auch von Nicht-Root-Benutzern auf dem System. Ich habe den folgenden Befehl verwendet, um das gesamte System nach regulären Dateien zu durchsuchen, bei denen das SUID-Bit für den Besitzer gesetzt ist, und dabei alle Fehlerausgaben verworfen:
einfache Kopie schien eine anfällige, aber vereinfachte Version des Standards zu sein cp Dienstprogramm. Tatsächlich deutete die Hilfemeldung dasselbe an:
Verwendung: simplecopy
Mein Ansatz war der folgende: Erstellen Sie die Informationen für einen Benutzer mit Root-Rechten und hängen Sie diese Informationen an eine Kopie davon an / etc / passwd Datei, dann ersetzen Sie die alte passwd Datei mit der Kopie. Als nächstes verwenden Sie su um sich als neuer Benutzer anzumelden.
Mit Root-Zugriff auf das System konnte ich die ausführbare Datei finden runmetoanswer im /Wurzel, führen Sie es aus und erraten Sie die Antwort: Weihnachtsmann.
Die Antwort wurde auch in der Konfigurationsdatei angegeben /etc/runtoanswer.yaml, aber diese Datei konnte nur mit Root-Rechten oder mit gelesen werden einfache Kopie um es zu kopieren /dev/stdout.
Spielkassetten: Band 2 und Band 3
Zwei Herausforderungen beinhalteten ein leichtes Reverse Engineering von Game Boy ROM-Dateien. Das erste war ein Spiel, bei dem das Ziel darin bestand, an einer Wache vorbeizukommen, ein Portal freizulegen und die Antwort über den Funk zu entschlüsseln. Wir erhielten zwei Versionen des Spiels zusammen mit einem Hinweis, sich das anzusehen diff zwischen ihnen. Das Kopieren einiger unterschiedlicher Hex-Bytes von einer Version in die andere reichte aus, um das Portal freizulegen, das zu einem Raum mit einem Radio führte, das die Antwort im Morsecode sendete:
Morse-Code |
Da-da-dit |
Di-da-di-dit |
Da-da-da-da-dah |
Di-da-dit |
Da-di-da-dah |
|
Nachricht |
g |
l |
0 |
r |
y |
Das zweite war ein Spiel, bei dem man durch Springen und Sammeln von Münzen Punkte sammeln konnte; Wenn Sie jedoch mehr als 998 Punkte erreichen, würden Ihre Punkte auf 0 sinken und unter bestimmten Bedingungen eine Meldung über einen Überlauffehler ausgelöst werden. Das Ziel bestand darin, schwebende Stufen zum nächsten Teil der Karte freizulegen, in dem die Flagge aufbewahrt wurde. Dies erforderte jedoch Geschick im Springen. Stattdessen habe ich herausgefunden, wie man mit Hilfe des fliegt BGB Game Boy-Emulator und eine Kombination aus seiner Cheat-Suchfunktion und der visuellen Inspektion des RAM während des Spiels, um das Hex-Byte zu finden, das die Y-Position des Spielers auf der Karte steuert – im Grunde habe ich a herausgefunden SpielShark Code.
Die Flagge war !tom+elf!.
Zertifikat SSHenanigans
Obwohl die Verwendung von Zertifikaten anstelle von öffentlich-privaten Schlüsselpaaren die Sicherheit der Authentifizierung über SSH verbessert, kann ein falsch konfigurierter SSH-Zertifikatsignierungsdienst es einem Angreifer ermöglichen, sich unrechtmäßig ein Zertifikat zu beschaffen, um sich als ein anderer Benutzer zu authentifizieren. Die Herausforderung wurde wie folgt aufgebaut.
An Azure-Funktion App bereitgestellt auf Northpole-ssh-certs-fa.azurewebsites.net gibt SSH-Zertifikate an jeden zurück, der einen öffentlichen SSH-Schlüssel bereitstellt. Diese Zertifikate können zur Authentifizierung über SSH verwendet werden ssh-server-vm.santaworkshopgeeseislands.org als Benutzer Monitor.
Der Host in dieser Domäne ist eine virtuelle Azure-Maschine. Nach der Anmeldung bestand mein erster Schritt darin, Informationen von der zu sammeln Instanzmetadaten Da dies später für Aufrufe der Azure-REST-API benötigt würde, benötigte ich insbesondere die Abonnement-ID und den Namen der Ressourcengruppe. Um diese API nutzen zu können, benötigte ich außerdem ein Zugriffstoken, das ich erwerben konnte Verwendung einer verwalteten Identität. Dieses erworbene Token muss dann in einem HTTP-Autorisierungsheader verwendet werden, wenn Aufrufe an die Azure REST-API erfolgen.
Zu diesem Zeitpunkt hatte ich alles, was ich brauchte, um den API-Aufruf durchzuführen Holen Sie sich die Quellcodeverwaltungskonfiguration der Azure-Funktions-App. Ich habe den Anruf getätigt und unter den Konfigurationseigenschaften eine URL dazu entdeckt Quellcode der App auf GitHub.
Eine Überprüfung des Quellcodes ergab, dass die App einen zweiten Parameter akzeptiert: Haupt-. Wenn die HTTP-POST-Anfrage an die /api/create-cert Endpunkt sendet nicht ein Wert für Haupt-, dann ein Standardwert von Elf wird zurückgegeben, aber hier liegt eine Schwachstelle. Benutzen Burp Suite Ich kann die HTTP-POST-Anfrage abfangen und den Wert einfügen Administrator. Ich wusste, dass ich darum bitten musste Administrator weil es der Auftraggeber war /etc/ssh/auth_principals/alabaster Datei auf der virtuellen Maschine und ich wollte Zugriff auf das Home-Verzeichnis von Alabaster erhalten.
Mit einem SSH-Zertifikat für den Administrator-Prinzipal habe ich mich bei derselben virtuellen Maschine angemeldet wie Alabaster und fand Alabasters TODO-Liste in seinem Home-Verzeichnis. Die Liste enthielt das Flagwort: Lebkuchen.
Active Directory
Diese Herausforderung begann auf derselben virtuellen Maschine wie die vorherige Herausforderung und untersuchte, wie eine Fehlkonfiguration auftritt Active Directory-Zertifikatdienst kann von einem Angreifer missbraucht werden, um sich als anderer Benutzer zu authentifizieren. Als Alabaster Ich hatte ein Verzeichnis voller Impack Tools, aber die meisten von ihnen erfordern den Domänennamen und die IP-Adresse eines Zielservers sowie einen Benutzernamen und ein Passwort zum Anmelden – Informationen, die ich noch nicht hatte.
Ein guter erster Schritt bestand also darin, meine Berechtigungen für die Azure-REST-API herauszufinden, da es nicht erforderlich ist, eine API nach der anderen aufzurufen, nur um auf eine Meldung „Autorisierung verweigert“ zu reagieren. Also, ich listet alle Berechtigungen für die Ressourcengruppe auf das habe ich in der vorherigen Herausforderung entdeckt.
Da ich sah, dass ich über mehrere Berechtigungen zum Lesen von Schlüsseltresoren verfügte, fuhr ich fort sie aufzulisten und zwei gefunden: Nordpol-it-kv und Northpole-ssh-certs-kv.
Zeit, die APIs zu wechseln. Bisher habe ich über Endpunkte telefoniert management.azure.com aber einige Teile des Azure Key Vault sind aktiviert vault.azure.net und diese Ressource erfordert ein eigenes Zugriffstoken. Wieder einmal habe ich meine benutzt verwaltete Identität, um ein Zugriffstoken zu erhalten aber dieses Mal wird die Ressource auf umgestellt vault.azure.net.
In Nordpol-it-kv, I habe den Namen für ein Geheimnis gefunden. Unter diesem Namen habe ich hat den Wert für dieses Geheimnis angefordert, was sich als PowerShell-Skript für herausstellte Erstellen eines Active Directory-Benutzers namens elfy. Entscheidend war, dass ich jetzt über alle Informationen verfügte, die ich brauchte, um die Impacket-Tool-Suite zu nutzen.
Die richtigen GetADUsers.py hat einen weiteren Benutzer in der Domain entdeckt, der von Interesse sein könnte: wombleycube. Ich konnte mich auch über SMB mit dem Active Directory-Server verbinden smbclient.py. Der Dateianteil von Interesse enthielt a super_secret_research Verzeichnis, aber ich konnte es nicht lesen als elfy.
Zum Glück hatte ich Zugriff auf ein anderes Tool: Zertifikat. Dies wird verwendet, um falsch konfigurierte Zertifikatvorlagen für Active Directory-Zertifikatdienste zu finden und zu missbrauchen. Das Tool listete eine anfällige Vorlage auf, da sie es einem Zertifikatsanforderer ermöglichte, eine beliebige Vorlage bereitzustellen Betreff alternativer Name und das ausgestellte Zertifikat, das die Client-Authentifizierung für den angegebenen Namen gewährt.
Nach Anforderung eines Zertifikats mit wombleycube in das Feld für den alternativen Betreffnamen eingefügt habe, habe ich auch Certipy verwendet, um den NT-Hash für abzurufen wombleycube dieses Zertifikat verwenden. Dann durch Weitergabe von Wombleys Hash an smbclient.pyIch konnte mich über SMB mit dem Active Directory-Server verbinden wombleycube und erhalten Sie Zugriff auf die super_secret_research Verzeichnis, das die Anweisungen für die nächste Herausforderung enthielt Anweisungen zur Eingabe von SatelliteGroundStation.txt.
Türzugangslautsprecher für Space Island
Um Zugang zu den Herausforderungen des Raumfahrtsystems zu erhalten Bodensegment, war es erforderlich, ein LLM zu verwenden, um eine gefälschte Stimme von Wombley Cube zu erzeugen, die die Passphrase spricht. Angesichts einer Audiodatei, in der Wombley eine Geschichte erzählt, und der Passphrase war die Verwendung trivial LOVO AI um eine Stimme zu erzeugen, die Wombleys Stimme simuliert, um die Passphrase auszusprechen und sich erfolgreich zu authentifizieren.
Ohne zusätzliche Schutzmaßnahmen steht die Sprachauthentifizierung als Sicherheitsmechanismus im Zeitalter von LLMs vor großen Herausforderungen.
Kamerazugriff
Nachdem ich die Passphrase ausgesprochen hatte, bestieg ich einen Zug, der mich zum Bodensegment brachte, das für die Kommunikation mit einem In-Game zuständig ist CubeSat, eine Art Kleinsatellit. In der Bodenstation bekamen wir eine Wireguard Konfiguration, um eine verschlüsselte Verbindung zu diesem CubeSat einzurichten.
Die Software auf diesem Satelliten ist mit dem kompatibel NanoSat MO-Framework (NMF), ein von der Europäischen Weltraumorganisation für CubeSats entwickeltes Software-Framework. Dieses Framework wird mit einem geliefert SDK zum Entwickeln und Testen von Weltraum-Apps. Es bietet außerdem das Consumer Test Tool (CTT), sowohl als Boden-App als auch als Befehlszeilen-Tool, um eine Verbindung zum Onboard-Supervisor herzustellen, einem Software-Orchestrator, der sich um das Starten und Stoppen von Weltraum-Apps sowie die Koordinierung anderer Aufgaben kümmert.
Die Herausforderung bestand darin, herauszufinden, wie man die integrierte Kamera-App anweist, ein Bild aufzunehmen und dann den Schnappschuss abzurufen. Ich habe die folgenden Schritte unternommen.
Nachdem ich die CTT-Schnittstelle hochgefahren hatte, gab ich den URI des Supervisors ein, um eine Verbindung zum Supervisor herzustellen. Dann habe ich die verfügbaren Apps überprüft, die Kamera-App gefunden und gestartet. Die Kamera-App hat ihren URI zurückgegeben, den ich für die Verbindung verwendet habe. Als nächstes habe ich die Base64SnapImage-Aktion ausgeführt, die die Onboard-Kamera anwies, ein Bild aufzunehmen.
Die Kamera-App bietet außerdem einen Parameterdienst, der zwei Werte zurückgeben kann: die Anzahl der aufgenommenen Schnappschüsse und den in base64 kodierten JPG-Schnappschuss. Allerdings schien die CTT-Schnittstelle keine Möglichkeit zu bieten, das Bild anzuzeigen oder Parameterwerte direkt von der Schnittstelle zu kopieren, obwohl ich sehen konnte, dass der gewünschte Wert vorhanden war. Daher brauchte ich einen Umweg, um das Bild zu erfassen.
Ich habe entdeckt, dass die CTT-Schnittstelle eine hat enableGeneration Schaltfläche, die die regelmäßig geplante Veröffentlichung eines Parameterwerts auslöst. Über die CTT-Befehlszeile konnte ich dann den gewünschten Parameter abonnieren, den Wert bei der Veröffentlichung erhalten und ihn in eine Datei umleiten.
Da ich CTT in einem Docker-Container ausgeführt habe, habe ich die Datei mit auf mein Hostsystem kopiert Docker cp, entfernte den Cruft aus dem Dateiinhalt und dekodierte dann Base64 das Bild, um die Flagge anzuzeigen: Erobern Sie die Feiertage!.
Raketenablenkung
Die letzte Herausforderung bestand darin, das zu nutzen Raketenzielsystem App auf dem CubeSat im Spiel, um eine Rakete von der Erde zur Sonne umzuleiten. Diese App bot nur eine Aktion: Debuggen. Das Ausführen schien nicht viel zu bewirken, außer das SQL auszudrucken VERSION Befehl und seine Ausgabe, als ob er von einer von der App verwendeten Datenbank ausgeführt worden wäre:
VERSION(): 11.2.2-MariaDB-1:11.2.2+maria~ubu2204
Ich fragte mich sofort, ob eine SQL-Injection-Schwachstelle im Spiel war. Die CTT-Schnittstelle stellte ein Feld zur Eingabe eines Arguments für die bereit Debuggen Aktion, also habe ich versucht, einen anderen Befehl einzufügen:
; SHOW GRANTS FOR CURRENT_USER();
Gewährt für targeter@%: GRANT USAGE ON *.* TO `targeter`@`%` IDENTIFIED BY PASSWORD ‚*41E2CFE844C8F1F375D5704992440920F11A11BA‘ |
Gewährt für targeter@%: GRANT SELECT, INSERT ON `missile_targeting_system`.`satellite_query` TO `targeter`@`%` |
Gewährt für targeter@%: GRANT SELECT ON `missile_targeting_system`.`pointing_mode` TO `targeter`@`%` |
Gewährt für targeter@%: GRANT SELECT ON `missile_targeting_system`.`messaging` TO `targeter`@`%` |
Gewährungen für targeter@%: GRANT SELECT ON `missile_targeting_system`.`target_coordinates` TO `targeter`@`%` |
Gewährt für targeter@%: GRANT SELECT ON `missile_targeting_system`.`pointing_mode_to_str` TO `targeter`@`%` |
Dann ist es Zeit, die Datenbank zu plündern! Der Zeigemodus und pointing_mode_to_str Tabellen zeigten an, wohin die Rakete gerade zeigte:
; SELECT * FROM pointing_mode;
ID: 1 | numerischer_Modus: 0 |
; SELECT * FROM pointing_mode_to_str;
ID: 1 | numerischer_Modus: 0 | str_mode: Erdpunktmodus | str_desc: Wenn pointing_mode 0 ist, wendet das Zielsystem die target_coordinates auf die Erde an. |
ID: 2 | numerischer_Modus: 1 | str_mode: Sonnenpunktmodus | str_desc: Wenn pointing_mode 1 ist, zielt das System auf die Sonne und ignoriert die Koordinaten. |
Anhand dieser Informationen konnte ich erkennen, dass ich das ändern musste numerischer_Modus Wert in der Zeigemodus Tisch zu 1, aber ich hatte keine Berechtigung, diese Tabelle zu aktualisieren.
Ich hatte die Erlaubnis, neue Zeilen in das einzufügen satellite_query Tabelle, die aktuell eine Zeile mit einem noch unbekannten Wert in der hatte Objekt Spalte und den Quellcode einer aufgerufenen Java-Klasse SatelliteQueryFileFolderUtility der Ergebnisse Spalte.
Bis zu diesem Punkt ist die Ausgabe von Debuggen Die Aktion war in einem Bereich unten im leicht sichtbar Apps Launcher-Dienst Registerkarte, die vom Vorgesetzten in der CTT-Schnittstelle bereitgestellt wird. Allerdings schien der Objektwert im Bereich nicht korrekt dargestellt zu werden. Idealerweise wäre es gut, den Hex-Dump des Objekts zu sehen, der mit Hilfe von erhalten werden könnte Wireshark oder mithilfe von SQL HEX Funktion. Dies ergab, dass es sich um ein serialisiertes Java-Objekt handelte.
Nach der weiterlesen Mit dem Java-Objektserialisierungsprotokoll ist es mir gelungen, die Hex-Bytes zu dekodieren:
Hex-Byte |
Symbol/Bedeutung |
Bemerkung (ASCII-Werte von Hex-Bytes in monospaced Schriftart) |
ACED |
STREAM_MAGIC |
Eine magische Zahl. |
0005 |
STREAM_VERSION |
Die Stream-Protokollversion ist 2. |
73 |
TC_OBJECT |
Der Anfang eines Objekts. |
72 |
TC_CLASSDESC |
Der Beginn einer Klassendefinition. |
001F |
Länge |
Der Klassenname hat eine Länge von 31 Byte. |
536174656C6C697465517 |
Wert |
Der Klassenname ist SatelliteQueryFileFolderUtility. |
12D4F68D0EB392CB |
serialVersionUID |
Ein eindeutiger Bezeichner, der dieser serialisierten Klasse zugeordnet ist. |
02 |
SC_SERIALIZABLE |
Die Klasse ist serialisierbar. |
0003 |
fieldCount |
Die Klasse hat drei Felder. |
5A |
Datentyp – ASCII-Wert Z |
Das erste Feld ist ein boolescher Wert. |
0007 |
Länge |
Der Name dieses Feldes hat eine Länge von 7 Bytes. |
69735175657279 |
Name und Vorname |
Der Name dieses Feldes ist isQuery. |
5A |
Datentyp – ASCII-Wert Z |
Das zweite Feld ist ein boolescher Wert. |
0008 |
Länge |
Der Name dieses Feldes hat eine Länge von 8 Bytes. |
6973557064617465 |
Name und Vorname |
Der Name dieses Feldes ist isUpdate. |
4C |
Datentyp – ASCII-Wert L |
Das dritte Feld ist ein Objekt. |
000F |
Länge |
Der Name dieses Feldes hat eine Länge von 15 Bytes. |
706174684F72537 |
Name und Vorname |
Der Name dieses Feldes ist pathOrStatement . |
74 |
TC_STRING |
Der Klassentyp dieses Objekts wird in einem String angegeben. |
0012 |
Länge |
Dieser String hat eine Länge von 18 Byte. |
4C6A6176612F6C616E |
Wert |
Der Klassentyp dieses Objekts ist java/lang/String. |
78 |
TC_ENDBLOCKDATA |
Das Ende einer Klassendefinition. |
70 |
TC_NULL |
Keine Superklasse definiert. |
00 |
Wert |
Das boolesche Feld isQuery hat den Wert falsch. |
00 |
Wert |
Das boolesche Feld isUpdate hat den Wert falsch. |
74 |
TC_STRING |
Der Wert der pathOrStatement Feld ist eine Zeichenfolge. |
0029 |
Länge |
Der Wert der pathOrStatement Das Feld hat eine Länge von 41 Byte. |
2F6F70742F536174656C6 |
Wert |
Der Wert der pathOrStatement Feld ist /opt/SatelliteQueryFileFolderUtility.java |
Beim Erwerb dieses Objekts über Wireshark wurde eine falsche magische Zahl zurückgegeben und serialVersionUID, jedoch nicht bei Verwendung der HEX-Funktion.
Um zu verstehen, was für ein INSERT in die satellite_query Tabelle genügen würde, habe ich dieses Objekt in eine neue Zeile der Tabelle eingefügt und den gleichen Java-Quellcode in der zurückerhalten Ergebnisse Spalte. Tatsächlich entsprach dieses Verhalten dem, was ich in diesem Code sah Ergebnisse bekommen Funktion von a SatelliteQueryFileFolderUtility Objekt.
Abhängig von den Werten der drei Felder des Objekts nimmt diese Funktion einen anderen Ausführungspfad: isQuery, isUpdate und pathOrStatement. Wenn ichsQuery und isUpdate falsch sind, prüft die Funktion, ob die pathOrStatement ist ein Pfad und ein Verzeichnis. Wenn ja, wird die Liste der im Verzeichnis enthaltenen Dateien zurückgegeben. Andernfalls geht es davon aus, dass eine Datei bereitgestellt wurde, und versucht, den Inhalt dieser Datei zurückzugeben.
Wenn hingegen isQuery und isUpdate wahr sind, führt die Funktion den Inhalt von pathOrStatement als SQL aus AKTUALISIEREN Stellungnahme. Was ich ausführen musste, war Folgendes:
UPDATE pointing_mode SET numeric_mode = 1;
Ich habe die erforderlichen Bytes (unten hervorgehoben) im serialisierten Objekt geändert und den erfolgreichen Befehl eingefügt:
; IN satellite_query EINFÜGEN
(Objekt)
WERTE
(0xACED00057372001F536174656C6C697465517565727946696C65466F6C6465725574696C69747912D4F68D0EB392CB0200035A0007697351756572795A000869735570646174654C000F706174684F7253746174656D656E747400124C6A6176612F6C616E672F537472696E673B7870010174002C55504441544520706F696E74696E675F6D6F646520534554206E756D65726963616C5F6D6F6465203D20313B)
Wrap-up
Dies sind nur einige der Bereiche, die von der SANS Holiday Hack Challenge 2023 abgedeckt werden. Es gab viele andere, die sich mit der Sicherheit befassten JSON-Web-Token, Passwörter knacken mit hashcat, virtuelles Knacken von Gepäckschlössern und Drehkombinationsschlösser, Python NaN-Injektion, Verwendung der Kusto-Abfragesprache für Bedrohungsjagd, überprüfen DKIM- und SPF-Einträge um bösartige E-Mails und hackbare Minispiele zu identifizieren.
Alles in allem bin ich mir sicher, dass solch eine große Auswahl an unterhaltsamen Herausforderungen für jeden, der versucht, sie anzunehmen, lehrreich sein wird. Und während ich mich schon auf die Challenge im nächsten Jahr freue, geht ein wohlverdienter Dank an die Organisatoren der SANS Holiday Hack Challenge für die Zusammenstellung der diesjährigen Challenge.
Meine Highlights der Challenge 2022 können Sie hier lesen Geknackt! Highlights von KringleCon 5: Goldene Ringe.
- SEO-gestützte Content- und PR-Distribution. Holen Sie sich noch heute Verstärkung.
- PlatoData.Network Vertikale generative KI. Motiviere dich selbst. Hier zugreifen.
- PlatoAiStream. Web3-Intelligenz. Wissen verstärkt. Hier zugreifen.
- PlatoESG. Kohlenstoff, CleanTech, Energie, Umwelt, Solar, Abfallwirtschaft. Hier zugreifen.
- PlatoHealth. Informationen zu Biotechnologie und klinischen Studien. Hier zugreifen.
- Quelle: https://www.welivesecurity.com/en/cybersecurity/cracking-2023-sans-holiday-hack-challenge/
- :hast
- :Ist
- :nicht
- :Wo
- $UP
- 1
- 11
- 15%
- 2022
- 2023
- 31
- 32
- 41
- 65
- 7
- 8
- a
- Fähig
- LiveBuzz
- oben
- Missbrauch
- missbraucht
- Akzeptiert
- Zugang
- erwerben
- erworben
- Erwerb
- Action
- aktiv
- Active Directory
- Zusatz
- Zusätzliche
- Adresse
- Administrator
- Beratung
- Nach der
- aufs Neue
- Alter
- Agentur
- AI
- Alle
- erlauben
- erlaubt
- Zulassen
- entlang
- bereits
- ebenfalls
- Alternative
- Obwohl
- immer
- am
- unter
- an
- und
- Ein anderer
- beantworten
- jedem
- jemand
- Bienen
- APIs
- App
- gilt
- Ansatz
- Apps
- SIND
- Bereiche
- Argument
- um
- AS
- fragen
- damit verbundenen
- übernimmt
- At
- Versuche
- Audio-
- authentifizieren
- Authentifizierung
- Authentifizierung
- Genehmigung
- verfügbar
- ein Weg
- Azure
- Zurück
- Badewanne
- Grundsätzlich gilt
- BE
- weil
- war
- Verhalten
- unten
- BESTE
- Bit
- beide
- Boden
- Rundfunk
- aber
- Taste im nun erscheinenden Bestätigungsfenster nun wieder los.
- by
- rufen Sie uns an!
- namens
- Aufrufe
- Kamera
- CAN
- kann keine
- österreichische Unternehmen
- sicher
- Bescheinigung
- Zertifikate
- challenges
- Herausforderungen
- Übernehmen
- geändert
- ChatGPT
- geprüft
- Überprüfung
- Schecks
- Klasse
- Auftraggeber
- CloudFlare
- Code
- Coins
- sammeln
- Kolonne
- Kombination
- kommt
- Kommunikation
- kompatibel
- Bedingungen
- Konfiguration
- BESTÄTIGT
- verwirrt
- Vernetz Dich
- Verbindung
- Verbraucher
- enthalten
- Container
- Inhalt
- Inhalt
- Smartgeräte App
- Steuerung
- koordinieren
- Kopieren
- korrekt
- korrespondierte
- könnte
- bedeckt
- Riss
- Spaltung
- erstellen
- Schaffung
- Zur Zeit
- Original
- Internet-Sicherheit
- Datenbase
- Behandlung
- Standard
- definiert
- Definition
- Abhängig
- Einsatz
- erwünscht
- Details
- entwickelt
- Entwicklung
- DID
- Sterben
- anders
- verschieden
- Direkt
- entdeckt,
- entdeckt
- do
- Docker
- Docker-Container
- die
- Domain
- Domain Name
- Von
- nach unten
- zwei
- abladen
- im
- verdienen
- Gesamt-Einnahmen abzüglich Provision
- Erde
- leicht
- entweder
- E-Mails
- codiert
- verschlüsselt
- Ende
- Endpunkt
- Endpunkte
- Entwicklung
- genug
- Enter
- eingegeben
- Ganz
- Fehler
- Fehler
- eskalieren
- Europäische
- Europäische Weltraumorganisation
- Sogar
- alles
- Außer
- ausführen
- ausgeführt
- Führt aus
- Ausführung
- ERFAHRUNGEN
- Erklären
- Ausnutzen
- Gesichter
- Tatsache
- FAIL
- Fälschung
- falsch
- weit
- Einzigartige
- wenige
- Feld
- Felder
- Abbildung
- gemustert
- Reichen Sie das
- Mappen
- Finale
- Finden Sie
- Vorname
- schweben
- gefolgt
- Folgende
- Aussichten für
- vorwärts
- gefunden
- Unser Ansatz
- für
- voller
- Spaß
- Funktion
- Gewinnen
- Spiel
- Gameplay
- Games
- erzeugen
- erzeugt
- bekommen
- gegeben
- Goes
- Golden
- gut
- gewähren
- Gewährung
- für Balkonkraftwerke Reduzierung
- Boden
- Gruppe an
- Bewachen
- hacken
- hätten
- Pflege
- Hash-
- Haben
- ganzer
- Hilfe
- hier
- HEX
- versteckt
- höchste
- Besondere
- Highlights
- seine
- Urlaub
- Startseite
- Gastgeber
- Ultraschall
- Hilfe
- aber
- HTML
- http
- HTTPS
- Jagd
- i
- ID
- im Idealfall
- identifiziert
- Kennzeichnung
- identifizieren
- Identitätsschutz
- if
- Image
- sofort
- verbessert
- in
- In-Game
- unzugänglich
- angegeben
- Info
- Information
- beantragen müssen
- Anleitung
- Interesse
- Schnittstelle
- in
- beteiligt
- IP
- IP Address
- Insel
- Herausgegeben
- IT
- SEINE
- Javac
- jpg
- Wesentliche
- Tasten
- Sprache
- grosse
- später
- geführt
- Länge
- Hebelwirkung
- liegt
- !
- Line
- linux
- Liste
- Gelistet
- Standorte
- Schlösser
- protokolliert
- Protokollierung
- login
- aussehen
- sah
- suchen
- Maschine
- gemacht
- Magie
- um
- Making
- böswilligen
- verwaltet
- viele
- Karte
- Kann..
- me
- Mechanismus
- Triff
- erwähnt
- Nachricht
- Methode
- Microsoft
- Model
- Modell
- vor allem warme
- gerührt
- viel
- mehrere
- sollen
- my
- Name
- navigieren
- notwendig,
- Need
- erforderlich
- Netzwerk
- Neu
- weiter
- neun
- nicht
- noch
- Norden
- bemerkenswert
- jetzt an
- nt
- Anzahl
- Objekt
- Ziel
- erhalten
- erhalten
- of
- Angebote
- on
- Onboard
- einmal
- EINEM
- einzige
- or
- Organisatoren
- Andere
- Anders
- Andernfalls
- Möglichkeiten für das Ausgangssignal:
- übrig
- besitzen
- Eigentümer
- Paare
- Brot
- Parameter
- Teil
- Teile
- Bestehen
- Passwort
- Passwörter
- passt
- Weg
- Erlaubnis
- Berechtigungen
- PHP
- ein Bild
- Stück
- Ort
- Plato
- Datenintelligenz von Plato
- PlatoData
- Play
- Spieler
- Points
- Punkte
- Portal
- Post
- Powershell
- Gegenwart
- früher
- Principal
- Privilegien
- Produkt
- immobilien
- Protokoll
- die
- vorausgesetzt
- bietet
- Öffentlichkeit
- public Key
- veröffentlicht
- Publishing
- Putting
- Frage
- Fragen
- R
- Radio
- RAM
- Lesen Sie mehr
- Lesebrillen
- erhalten
- Received
- umleiten
- Registrierung:
- regulär
- regelmäßig
- Entfernt
- Rendering
- ersetzen
- berichten
- Anforderung
- anfragen
- erfordern
- falls angefordert
- erfordert
- Ressourcen
- für ihren Verlust verantwortlich.
- REST
- Rückkehr
- Rückgabe
- zeigen
- Revealed
- aufschlussreich
- rückgängig machen
- Risiken
- Zimmer
- Wurzel
- Root-Zugriff
- REIHE
- Führen Sie
- Laufen
- Schutzmaßnahmen
- gleich
- Satellit
- sah
- vorgesehen
- Skript
- Suche
- Suche
- Zweite
- Abschnitt
- Abschnitte
- Sicherheitdienst
- Sicherheitsrisiken
- sehen
- scheinen
- Segment
- wählen
- senden
- Modellreihe
- ernst
- Server
- Lösungen
- kompensieren
- mehrere
- Teilen
- sollte
- erklären
- Unterzeichnung
- Einfacher
- vereinfachte
- Fähigkeiten
- klein
- SMB
- Schnappschuss
- So
- Software
- einige
- Quelle
- Quellcode
- Raumfahrt
- sprechen
- Sprechen
- spezifisch
- speziell
- SQL
- sQL-Injection
- Anfang
- begonnen
- Beginnen Sie
- Erklärung
- Station
- Schritt
- Shritte
- Einstellung
- gelagert
- Geschichte
- Strom
- Schnur
- Fach
- Abonnieren
- Abonnement
- Erfolgreich
- so
- Suite
- Sun
- geliefert
- liefern
- sicher
- Schalter
- System
- Tabelle
- Nehmen
- gemacht
- nimmt
- Target
- Targeting
- Aufgabe
- und Aufgaben
- erzählen
- Vorlage
- Vorlagen
- Test
- getestet
- Testen
- Text
- zur Verbesserung der Gesundheitsgerechtigkeit
- Das
- die Informationen
- Die Quelle
- Sie
- dann
- Dort.
- Diese
- Dritte
- fehlen uns die Worte.
- nach drei
- So
- Zeit
- Titel
- zu
- gemeinsam
- Zeichen
- nahm
- Werkzeug
- Werkzeuge
- Training
- versucht
- auslösen
- was immer dies auch sein sollte.
- Turned
- XNUMX
- tippe
- Letztlich
- für
- verstehen
- einzigartiges
- unbekannt
- bis
- anstehende
- Aktualisierung
- URI
- URL
- Anwendungsbereich
- -
- benutzt
- Mitglied
- Nutzer
- Verwendung von
- Nutzen
- gültig
- Wert
- Werte
- Gewölbe
- Gewölbe
- Version
- Anzeigen
- Assistent
- virtuellen Maschine
- visuell
- Stimme
- Sprachauthentifizierung
- Sicherheitslücken
- Verwundbarkeit
- Verwundbar
- wollte
- wurde
- Weg..
- we
- Netz
- GUT
- waren
- Was
- wann
- ob
- welche
- während
- WHO
- Wikipedia
- Wind
- Fenster
- gewinnt
- mit
- Word
- würde
- noch
- U
- Ihr
- Zephyrnet