McDatabaseAdmin kam ins Zimmer gerannt und rief McSkidy zu: „Wir wurden aus dem Rentierplan ausgesperrt – wie soll der Transport des Weihnachtsmanns zu Weihnachten funktionieren?“ Der Grinch hat McDatabaseAdmin aus seinem System ausgesperrt. Sie müssen die äußere Oberfläche des Servers untersuchen, um zu sehen, ob Sie ihm den Zugriff wieder verschaffen können.

MS SQL Server ist ein relationales Datenbankmanagementsystem (RDBMS). Eine relationale Datenbank kann man sich ganz einfach als eine Gruppe von Tabellen vorstellen, die Beziehungen aufweisen.

Wir haben die Interaktion und Wiederherstellung des Microsoft SQL-Datenbankservers mithilfe der sqsh-Datenbankshell behandelt. Dies war Teil TryHackMe Advent Of Cyber 3 Tag 11.

Holen Sie sich Hinweise zum OSCP-Zertifikat

Antworten auf die Herausforderungen

Es gibt einen offenen Port für MS SQL Server, auf den über das Netzwerk zugegriffen werden kann. Wie lautet die Portnummer?

Da wir wissen, dass der MS SQL Server läuft und über das Netzwerk erreichbar ist, wollen wir überprüfen, ob unser Benutzername und unser Passwort noch gültig sind. Im AttackBox-Terminal verwenden wir den Befehl sqsh (ausgesprochen „skwish“), eine interaktive Datenbank-Shell.

Eine einfache Syntax wäre sqsh -S Server -U Benutzername -P Passwort, Wo:

  • -S Server wird verwendet, um den Server anzugeben, beispielsweise -S MASCHINEN-IP
  • -U Benutzername wird verwendet, um den Benutzernamen anzugeben. Beispiel: -USA ist der Benutzername, den wir aktiviert haben.
  • -P Kennwort ermöglicht uns die Festlegung des Passwortes.

Lass uns versuchen zu rennen, sqsh -S MASCHINEN-IP -U sa -P t7uLKzddQzVjVFJp

Wenn die Verbindung erfolgreich hergestellt wurde, erhalten Sie eine Eingabeaufforderung. Welche Eingabeaufforderung haben Sie erhalten?

McDatabaseAdmin hat uns mitgeteilt, dass der Datenbankname lautet Rentier und es hat drei Tabellen:

 

  1. Namen
  2. die Geschenke
  3. Zeitplan

So zeigen Sie die Tabelle an Namenkönnen Sie die folgende Syntax verwenden: SELECT * FROM Tabellenname WHERE Bedingung.

  • WÄHLEN * wird verwendet, um bestimmte Spalten (Attribute) zurückzugeben. * bezieht sich auf alle Spalten.
  • FROM Tabellenname um die Tabelle anzugeben, aus der Sie lesen möchten.
  • WHERE-Bedingung um die Zeilen (Entitäten) anzugeben.

In der oben angezeigten Tabelle sehen wir vier Spalten: ID, Vorname, Nachname und Spitzname. Wie lautet der Vorname des Rentiers mit der ID 9?

Überprüfen Sie die Tabelle Zeitplan. Was ist das Ziel der am 7. Dezember geplanten Reise?

Überprüfen Sie die Tabelle die Geschenke. In welcher Stückzahl ist die vorliegende „Power Bank“ verfügbar?

Nun wollen wir sehen, ob wir MS Windows-Befehle ausführen können, während wir mit der Datenbank interagieren. Einige MS SQL Server haben xp_cmdshell aktiviert. Wenn dies der Fall ist, haben wir möglicherweise Zugriff auf etwas, das einer Eingabeaufforderung ähnelt.

 

Die Befehlssyntax ist xp_cmdshell 'BEFEHL';Versuchen wir es mit einem einfachen Befehl, Wer bin ich, das den Benutzer zeigt, der die Befehle ausführt. In der Terminalausgabe unten haben wir nach der Verbindung mit MS SQL Server versucht xp_cmdshell 'wer bin ich';, und wir können sehen, dass der Benutzer nt Dienst\mssqlserver. Das bedeutet, dass jeder Befehl, den wir an xp_cmdshell wird laufen als nt Dienst\mssqlserver.

Es ist eine Flagge versteckt in der grinch Home-Verzeichnis des Benutzers. Was ist sein Inhalt?

Video-Anleitung

Über den Autor

Ich erstelle Notizen zur Cybersicherheit, Notizen zum digitalen Marketing und Online-Kurse. Ich biete auch Beratung zum digitalen Marketing an, einschließlich, aber nicht beschränkt auf SEO, Google- und Meta-Anzeigen und CRM-Verwaltung.

Artikel anzeigen