Salvestatud protseduurid on eelnevalt kirjutatud SQL-lausete kogum, mis on salvestatud SQLServeris, millest kõige ohtlikumad laiendatud salvestatud protseduurid on xp_cmdshell, mis võivad täita operatsioonisüsteemi mistahes käske, ning SA on Microsoft SQLServeri administraatorikonto, millel on kõrgeimad õigused, see suudab täita laiendatud salvestatud protseduure ja saada tagastusväärtusi, näiteks täitmine:
Täitevmeister.. xp_cmdshell 'net user test 1234 /add' ja exec master: xp_cmdshell 'net localgroup administrators test /add'
Nii lisatakse teise osapoole süsteemi kasutajanimega test, parool 1234 ja administraatori õigused, nagu näidatud joonisel 1.
Nüüd peaksid mõistma, miks sa saad SA parooli ja miks saad süsteemi kõrgeimad õigused. Sageli ei tea paljud võrguadministraatorid seda olukorda ning neil on SA kasutajatele lihtsad paroolid nagu 1234 ja 4321 või nad ei sea paroole üldse, et võrgu sissetungijad saaksid hõlpsasti SA parooli mõne häkkimisvahendiga skaneerida ja seejärel arvutit kontrollida.
Lisaks xp_cmdshell on olemas ka salvestatud protseduurid, mida sissetungijad saavad ära kasutada:
1. xp_regread (see laiendatud salvestatud protseduur suudab lugeda registris määratud võtmes määratud väärtust), kuidas seda kasutada (saada masina nimi):
DEKLAREERI@testvarchar (50) EXEC meister.. xp_regread @rootkey='HKEY_LOCAL_MACHINE', @key='system\controlset001\control\computername\computername', @value_name='computername', @value=@test VÄLJUND SELECT @test
2. xp_regwrite (see laiendatud salvestatud protseduur võib kirjutada registris määratud võtmes määratud väärtuse) ja kuidas seda kasutada (kirjutada bbb võtmesse 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'
Kui kompromiteeritud arvuti administraatorkasutaja saab registris HKEY_LOCAL_MACHINE\SAM\SAM\ infot sirvida, saab salvestatud xp_regread ja xp_regwrite kasutada administraatori kloonimiseks ja administraatori õiguste saamiseks. xp_regdeletekey xp_regdeletevalue toovad süsteemile ka turvariske. 3. OLE-ga seotud salvestusprotseduuride seeria, mille kasutus on sp_OACreate, sp_OADestroy, sp_OAGetErrorInfo, sp_OAGetProperty, sp_OAMethod, sp_OASetProperty, sp_OAStop, kasutus:
DEKLAREERI @shell INT EXEC SP_OACREATE 'wscript.shell',@shell VÄLJUND EXEC SP_OAMETHOD @shell,'run',null, 'c:\WINNT\system32\cmd.exe /c net user test 1234 /add'--
Nii lisab teine süsteem kasutajanimelise testi ja parooliga 1234 kasutaja ning seejärel käivitab:
DECLARE @shell INT EXEC SP_OACREATE 'wscript.shell',@shell OUTPUT EXEC SP_OAMETHOD @shell,'run',null, 'c:\WINNT\system32\cmd.exe /c net localgroup administrators test /add '--
Kasutajatest, lisatud administraatorite gruppi. Lahendus: Anna SA-le parool, mis on piisavalt keeruline, et küberründajatel oleks raske murda. Turvalisuse huvides peame kasutama salvestatud protseduure SQLS-is sp_addextendedproc sp_dropextendedproc Erveri päringuanalüsaatoris, sp_dropextendedproc kustutama salvestatud protseduurid nagu xp_cmdshell ning vajadusel kasutama sp_addextendedproc taastamist. Tuleb märkida, et OLE-ga seotud salvestatud protseduuride kustutamine võib muuta mõned Enterprise Manageri funktsioonid kasutuskõlbmatuks ning autor ei soovita neid siin kustutada.
Nüüd, kui me teame, kuidas SP_OACREATE kasutada, saame minna \WINNT \system32 lehele, et leida cmd.exe, net.exe ja net1.exe kolm faili ning kustutada kõik kasutajad, kes neile ligi pääsevad, "Omadused" - "Turvalisus" kaudu, nii et me ei saaks SP_OACREATE kasutada süsteemikasutajate arvu suurendamiseks ning saame lisada ligipääsu kasutajad, kui vajame neid faile.
|