Bilgi Güvenliği Forensic Malware Analysis: SQL Server - xp_cmdshell ile Server ı Yönetmek
DBA olarak bazen system üstünde işlem yapmak isteyebilirsiniz. Yada server da windows account umuz yoktur ama windows üzerinde bir işlem yapmamız gerekebilir. Böyle bir durumda xp_cmdshell imdadınıza yetişecektir.
Yazımın başında xp_cmdshell i kullanabilmek için sysAdmin olmak gerekiyor demiştim.
SQL Server da xp_cmdshell i kullanabilmek için sysAdmin rolüne sahip olmak gerekmektedir. Ya da proxy account kullanmak gerekmektedir.
Bugünkü makalemizin konusuda proxy account kullanarak sysAdmin olmayan user lara xp_cmdshell i kullandırabilmek için yapılması gereken ayarların ne olduğunu anlatmak olacaktır.
Adım olarak denemeler yapacağız bir sql login create edelim ve master a map yapalım. Kullanıcı adı xpDeneme ve şifresi x.
CREATE LOGIN [xpDeneme] WITH PASSWORD=N'x', DEFAULT_DATABASE=[master], CHECK_EXPIRATION=OFF, CHECK_POLICY=OFF
CREATE USER [xpDeneme] FOR LOGIN [xpDeneme]
Şu an da xpDeneme user ı ile SQL Server üzerinden xp_cmdshell 'dir' komutunu çalıştırırsanız aşağıdaki gibi bir hata alacaksınızdır.
Bu hatayı almaktayız, çünkü xpDeneme login i sysAdmin değil. Dolayısıyla proxy account kullanmamız gerekmekte. Bunun için aşağıdaki kodu server üzerinde yetkili bir windows yada domain user çalıştıralım.
EXEC sp_xp_cmdshell_proxy_account 'windowsusername', 'password';
xpDeneme login i için master db sinde bulunan xp_cmdshell e execute yetkisi verelim
GRANT exec ON xp_cmdshell TO xpDeneme
xpDeneme login i ile tekrar xp_cmdshell 'dir' kodunu çalıştırırsak sonucun geldiğini göreceksiniz. Dolayısıyla işlemlerimizi tamamlamış oluyoruz.
Burada dikkat etmeniz gereken şöyle bir şey var. Bütün ayarlamaları yapmış olmanıza rağmen aşağıdaki gibi bir hata almanız mümkün.
An error occurred during the execution of sp_xp_cmdshell_proxy_account. Possible reasons: the provided account was invalid or the '##xp_cmdshell_proxy_account##' credential
Bunun sebebide 4.adım ı server üzerinde yetkili olan bir user için yapmamış olmanız. Bu adıma da dikkat ederseniz bir sorun yaşayacağınızı düşünmüyorum.
Gönderen Cihan Yüceer zaman: 11:27