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

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

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

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

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
SQLRecon — 공격적 정찰 및 사후 침투를 위해 설계된 C# MS SQL 툴킷. | Kitploit
도구/GitHubGitHub/skahwah/sqlrecon
ReconnaissanceExploitationInformation GatheringPost-ExploitationPenetration TestingAuthenticationRed TeamingDatabase Security
GitHubskahwah/sqlrecon

SQLRecon

공격적 정찰 및 사후 침투를 위해 설계된 C# MS SQL 툴킷.

저장소 보기
8141292개월 전Kitploit 검토 완료

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

  licence badge wiki Badge stars badge forks badge issues badge

SQLRecon

SQLRecon은 공격적 정찰 및 사후 침투를 위해 설계된 Microsoft SQL Server 툴킷입니다. 각 기술의 사용 방법에 대한 자세한 내용은 wiki를 참조하세요.

SQLRecon 사본은 releases 페이지에서 다운로드할 수 있습니다. 또는 직접 솔루션을 컴파일해도 됩니다. 이는 저장소를 클론하고 솔루션 파일을 더블 클릭한 후 빌드하는 것만큼 간단합니다.

방어자를 위한 예방, 탐지 및 완화 가이드도 제공됩니다.

IBM Security Intelligence 웹사이트에서 내 블로그 게시물을 확인하세요. 동영상을 선호한다면 Black Hat 발표도 확인해 보세요.

Enumeration Modules

열거 모듈은 인증 제공자가 필요하지 않습니다. 이러한 모듈은 열거 모듈 플래그(/e:, /enum:)에 전달되어야 합니다. 위키에는 열거 모듈 사용에 대한 자세한 내용이 있습니다.``` Info - Show information about the SQL server. /h:, /host -> SQL server hostname or IP. Multiple hosts supported. /port: -> (OPTIONAL) Defaults to 1434 (UDP). /t:, timeout: -> (OPTIONAL) Defaults to 3s.

SqlSpns - Use the current user token to enumerate the AD domain for MSSQL SPNs. /d:, /domain: -> (OPTIONAL) NETBIOS name or FQDN of domain.

root@kitploit:~
# 인증 제공자

SQLRecon은 Microsoft SQL Server와 상호 작용할 수 있도록 다양한 인증 제공자(`/a:, /auth:`)를 지원합니다.```
WinToken   - Use the current users token to authenticate against the SQL database
             /h:, /host:     -> SQL server hostname or IP

WinDomain  - Use AD credentials to authenticate against the SQL database
             /h:, /host:     -> SQL server hostname or IP. Multiple hosts supported.
             /d:, /domain:   -> NETBIOS name or FQDN of domain.
             /u:, /username: -> Username for domain user.
             /p:, /password: -> Password for domain user.

Local      - Use local SQL credentials to authenticate against the SQL database
             /h:, /host:     -> SQL server hostname or IP. Multiple hosts supported.
             /u:, /username: -> Username for local SQL user.
             /p:, /password: -> Password for local SQL user.

EntraID    - Use Azure EntraID credentials to authenticate against the Azure SQL database
             /h:, /host:     -> SQL server hostname or IP. Multiple hosts supported.
             /d:, /domain:   -> FQDN of domain (DOMAIN.COM).
             /u:, /username: -> Username for domain user.
             /p:, /password: -> Password for domain user.

AzureLocal - Use local SQL credentials to authenticate against the Azure SQL database
             /h:, /host:     -> SQL server hostname or IP. Multiple hosts supported.
             /u:, /username: -> Username for local SQL user.
             /p:, /password: -> Password for local SQL user.

Pth        - Authenticate using an NT hash (pass-the-hash) over raw TDS/NTLM. Elevated privileges or SeImpersonate is not required.
             /h:, /host:     -> SQL server hostname or IP. Multiple hosts supported.
             /d:, /domain:   -> NETBIOS domain name.
             /u:, /username: -> Domain username.
             /hash:          -> NT hash (32 hex chars, 8846f7eaee8fb117ad06bdd830b7586c) or LM:NT format.

Authentication Providers - 추가 세부 정보

  • Hosts: 호스트 플래그(/h:, host:)는 필수이며 하나 이상의 SQL 서버를 허용합니다. 여러 SQL 서버에 대해 모듈을 실행하려면 호스트를 쉼표로 구분하십시오(예: /h:SQL01,10.10.10.2,SQL03).
  • Database: SQLRecon은 기본적으로 master 데이터베이스에 연결되지만, 데이터베이스(/database:) 플래그를 통해 사용자 정의 데이터베이스 이름을 지정하여 선택적으로 변경할 수 있습니다.
  • Debug: /debug 플래그는 선택 사항이며, 원격 호스트에서 실제로 실행하지 않고 모듈에 의해 실행되는 모든 SQL 쿼리를 표시합니다. 이에 대한 예제는 wiki에서 확인할 수 있습니다.
  • Port: 경우에 따라 Microsoft SQL Server가 표준 TCP 포트에서 수신 대기하지 않을 수 있습니다. 몇 가지 예로는 Microsoft SQL Server 장애 조치(failover) 클러스터링 또는 동적 TCP 포트가 있습니다. SQLRecon은 기본적으로 TCP 포트 1433을 통해 데이터베이스에 연결되지만, /port: 플래그를 사용하여 선택적으로 변경할 수 있습니다.
  • Timeout: 기본 SQL 데이터베이스 연결 시간은 3초이지만, 시간 제한 값(/t:, /timeout:)을 제공하여 연결 시도를 종료하기 전의 시간(초)을 선택적으로 변경할 수 있습니다.
  • Verbose: /v, /verbose 플래그는 선택 사항이며, 원격 호스트에서 실행하기 전에 모듈에 의해 실행되는 모든 SQL 쿼리를 표시합니다. 이에 대한 예제는 wiki에서 확인할 수 있습니다.

EntraID 인증 공급자는 SQLRecon이 실행되는 시스템에 Azure Active Directory Authentication Library(ADAL) 또는 Microsoft Authentication Library(MSAL)가 존재해야 합니다. 이는 Azure EntraID 인증 및 권한 부여 기능을 위한 것입니다.

SQL 모듈

SQL 모듈은 하나 이상의 Microsoft SQL Server 인스턴스에 대해 실행됩니다. 이러한 모듈은 모듈 플래그(/m:, /module:)에 전달되어야 합니다.

SQL 모듈 - 표준

호스트 플래그(/h:, host:)는 필수이며 하나 이상의 SQL 서버를 허용합니다. 여러 SQL 서버에 대해 모듈을 실행하려면 호스트를 쉼표로 구분하십시오(예: /h:SQL01,10.10.10.2,SQL03).

위키에는 하나 이상의 SQL Server 인스턴스에서 실행을 지원하는 각 모듈 사용에 대한 세부 정보가 있습니다.

SQL 모듈 - 가장(Impersonation)

가장 모듈은 가장된 SQL 사용자의 컨텍스트에서 하나 이상의 Microsoft SQL Server 인스턴스에 대해 실행됩니다. 모든 가장 모듈에는 다음과 같은 최소 요구 사항이 있습니다.

  • 가장할 사용자를 지정해야 합니다(/i:, /iuser:).
  • 가장을 지원하는 모듈을 지정해야 합니다(/m:, /module:).

위키에는 가장을 사용하여 실행을 지원하는 각 모듈 사용에 대한 세부 정보가 있습니다.

SQL 모듈 - 연결됨(Linked)

연결 모듈은 하나 이상의 연결된 Microsoft SQL Server 인스턴스에서 실행됩니다. 모든 연결 모듈에는 다음과 같은 최소 요구 사항이 있습니다.

  • 연결된 SQL 서버를 지정해야 합니다(/l:, /link:). 링크 플래그는 하나 이상의 연결된 SQL 서버를 허용합니다. 예를 들어 SQL01이 SQL02에 연결되고 SQL01이 DB04에 연결된 경우 연결된 호스트를 쉼표로 구분할 수 있으며 각 연결된 SQL 서버에서 모듈이 실행됩니다(예: /l:SQL02,DB04).
  • 연결된 실행을 지원하는 모듈을 지정해야 합니다(/m:, /module:).

위키에는 하나 이상의 연결된 SQL 서버 인스턴스에서 실행을 지원하는 각 모듈 사용에 대한 세부 정보가 있습니다.

SQL 모듈 - 연결 체인(Linked Chain)

연결 체인 모듈은 연결된 서버 체인의 마지막 Microsoft SQL Server에서 실행됩니다. 모든 연결 체인 모듈에는 다음과 같은 최소 요구 사항이 있습니다.

  • 연결된 SQL 서버 체인은 /l:, /link: 플래그에 지정되어야 합니다. SQL01이 SQL02에 연결되고 SQL02가 PAYMENTS01에 연결된 경우 PAYMENTS01에서 모듈을 실행하려면 인수는 /l:SQL02,PAYMENTS01이 됩니다.
  • 제공된 연결 체인의 마지막 SQL 서버에 대해 모듈을 실행하려면 /chain 플래그를 포함해야 합니다.
  • 연결 체인 실행을 지원하는 모듈을 지정해야 합니다(/m:, /module:).

위키에는 연결된 SQL 서버 체인에서 제공된 마지막 SQL 서버에서 실행을 지원하는 각 모듈 사용에 대한 세부 정보가 있습니다.

SCCM 모듈

SQLRecon에는 Microsoft System Center Configuration Manager(SCCM) 및 Microsoft Endpoint Configuration Manager(ECM)를 열거하고 공격하는 데 도움이 되는 여러 모듈이 있습니다. SCCM 또는 ECM 서버는 로컬 또는 원격으로 Microsoft SQL 데이터베이스를 노출해야 합니다.

SCCM 모듈은 SCCM 모듈 플래그(/s:, /sccm:)에 전달되어야 합니다.

대부분의 SCCM 모듈은 가장된 SQL 사용자(/i:, /iuser:)의 컨텍스트에서 실행될 수 있습니다.

위키에는 SCCM/ECM 데이터베이스에 대해 각 모듈을 사용하는 방법에 대한 세부 정보가 있습니다.

SCCM 모듈 - 추가 세부 정보
  • Users 모듈은 RBAC_Admins 테이블의 모든 사용자를 나열합니다. 이들은 SCCM에 대한 일부 수준의 액세스 권한을 위해 구성된 모든 사용자입니다.
  • Sites 모듈은 SCCM 데이터베이스의 DPInfo 테이블에 데이터가 저장된 다른 모든 사이트를 나열합니다. 이는 다른 사이트가 다른 (안전하지 않은) 방식으로 구성될 수 있으므로 추가 공격 경로를 제공할 수 있습니다.
  • Logons 모듈은 Computer_System_DATA 테이블을 쿼리하여 모든 연결된 SCCM 클라이언트와 마지막으로 로그인한 사용자를 검색합니다. 참고: 이는 기본적으로 일주일에 한 번만 업데이트되며 100% 최신 상태가 아닙니다. 선택적(필수 아님) 인수로 SCCM 클라이언트를 필터링하려면 /option:을 사용하십시오.
  • TaskList 모듈은 SCCM 데이터베이스에 저장된 모든 작업 시퀀스 목록을 제공하지만 실제 작업 데이터 내용에는 액세스하지 않습니다.
  • TaskData 모듈은 SCCM 데이터베이스에 저장된 모든 작업 시퀀스를 복구하고 일반 텍스트로 해독합니다. 작업 시퀀스에는 도메인에 시스템 가입, 공유 매핑, 명령 실행 등을 위한 자격 증명이 포함될 수 있습니다.
  • Credentials 모듈은 다양한 기능에 사용하기 위해 SCCM에 저장된 자격 증명을 나열합니다. 이러한 자격 증명은 키가 SCCM 서버에 저장되어 있으므로 원격으로 해독할 수 없습니다. 그러나 이 모듈은 키를 획득하는 것이 합리적인지 여부에 대한 정보를 제공합니다.
  • DecryptCredentials 모듈은 복구된 SCCM 자격 증명 blob을 해독하려고 시도합니다. 이 모듈은 SCCM 서버에서 높은 무결성 또는 SYSTEM 프로세스로 실행되어야 합니다.

SQLRecon 확장

SQLRecon 확장에 관심이 있다면 wiki의 기여 및 확장 섹션을 참조하십시오.

제안이나 아이디어가 있으면 issue를 열어 주시기 바랍니다.

로드맵

목표는 SQLRecon을 지속적으로 개선하는 것입니다. 아래는 계획된 몇 가지 연구 영역입니다.

  • NTLM 해시 기반 인증 지원 구현.
  • 연결된 SQL 서버 및 연결 체인에 대한 enablerpc/disablerpc 기능 탐색.

크레딧

다음 사람들은 SQLRecon의 다양한 측면에 직간접적으로 기여했습니다.

  • Adam Chester (xpn)
  • Andrew Smith (jakxx)
  • Azaël Martin (n3rada)
  • Crusher (chryzsh)
  • Daniel Duggan (rasta-mouse)
  • Dave Cossa (G0ldenGunSec)
  • Dwight Hohnstein (djhohnstein)
  • Javier Balanza (JBalanza)
  • Joshua Magri (passthehashbrowns)

변경 내역

v4.0
  • NTLM pass-the-hash 인증 공급자(/auth:pth) 추가. PTHTdsConnection, NtlmHelper 및 PthState를 통해 원시 TDS/NTLM 인증을 구현하여 모든 모듈이 일반 텍스트 자격 증명이나 상승된 권한 없이 작동합니다. 주요 수정 사항에는 로그인 후 ANSI 세션 옵션, 다중 패킷 TDS 분할, 동시 CLR 연결에 대한 TCP 흐름 교착 상태 처리 및 OPENQUERY 대괄호 표기법 호환성이 포함됩니다.
  • 가장 모듈의 버그 수정.
  • adsi 모듈의 버그 수정.
  • ole 모듈의 버그 수정.
  • _linkedChainRpcQuery의 버그 수정.
  • System.Byte[]가 제대로 변환되어 콘솔에 출력되지 않는 오랜 문제 해결.
  • credentialobjectss 및 proxies 모듈 추가 (jakxx).
  • README.md 업데이트.
  • Wiki 업데이트.
v3.12
  • agentcmd에 프록시 지원 추가 (jakxx).
  • 연결 체인을 통한 role 열거가 제대로 작동하지 않는 문제 해결 (passthehashbrowns).
  • 연결 체인을 통한 impersonate 모듈이 제대로 작동하지 않는 문제 해결 (passthehashbrowns).
  • 연결 체인을 통한 EnableRpc/DisableRpc 사용 가능하지 않은 문제 해결 (passthehashbrowns).
  • 연결 체인을 통한 XpCmd 모듈이 작동하지 않는 문제 해결, 이제 출력도 지원 (passthehashbrowns).
  • 연결된 서버 이름에 '.' 문자가 포함된 경우 EXEC AT 쿼리에서 대괄호로 묶지 않으면 문제가 발생하는 문제 해결. 이는 연결된 서버 이름이 IP 주소 또는 FQDN인 경우 문제를 일으킵니다 (passthehashbrowns).
  • 연결된 서버 체인 쿼리 구성 로직 조정. 기존 로직은 재귀를 사용하며 기본 케이스가 배열의 첫 번째 요소로 "0"을 기대하지만, 이는 .First 함수가 "0"을 반환하는 등 연결 체인을 반복해야 하는 모듈을 개발할 때 직관적이지 않은 동작을 유발합니다. LinkedChainQuery 함수가 앞에 "0"이 있는 새 배열을 만든 다음 별도의 함수(이제 LinkedChainQueryRecurse라고 함)에서 기존 로직을 호출하도록 업데이트했습니다 (passthehashbrowns).
v3.11
  • 고가용성(active + passive 서버 사용)으로 구성된 사이트에서 저장된 자격 증명을 해독할 수 있는 기능 추가.
v3.10
  • impersonate 모듈에서 sysadmin 사례를 올바르게 처리하도록 문제 수정 (n3rada).
  • 두 개의 새로운 SCCM 모듈 scriptdata 및 cidata 구현 (G0ldenGunSec).
  • CLR DLL 로드 및 실행 시간 최적화 (chryzsh).
  • SQL 감사가 설정되어 있는지 확인하는 auditstatus 모듈 생성 (chryzsh).
  • 테스트 케이스 업데이트.
  • README 업데이트.
  • Wiki 업데이트.
v3.9
  • whoami 모듈에 사용자가 액세스할 수 있는 데이터베이스 추가 (JBalanza).
  • adsi 모듈에서 LDAP 서버를 msdb 데이터베이스에 추가할 필요가 없는 문제 수정, 생성된 함수가 이제 적절하게 삭제됨.
  • 제공된 호스트 이름이 FQDN인 경우 AT 문이 있는 RPC 쿼리가 대상 서버에서 실패하는 문제 수정.
  • README 업데이트.
  • Wiki 업데이트.
v3.8
  • SQL Server 2016 이하에서 CLR 어셈블리 실행을 지원하는 로직 추가. 이는 clr 모듈용입니다. 모든 컨텍스트에서 실행 지원.
  • SQL Server 2016 이하에서 LDAP 서버 CLR 어셈블리를 로드하는 로직 추가. 이는 adsi 모듈용입니다. 모든 컨텍스트에서 실행 지원.
  • README 업데이트.
  • Wiki 업데이트.
v3.7* 코드 베이스 전체 리팩터. * 문서 업데이트 (코드 주석, README 및 위키) * 연결된 SQL 서버 체인에 대한 실행. 예를 들어 `SQL01`이 `SQL02`에 연결되고, `SQL02`가 `SQL03`에 연결되고, `SQL03`이 `PAYMENTS01`에 연결된 경우, 이제 연결된 서버 체인(`/link:SQL02,SQL03,PAYMENTS01 /chain`)을 사용하여 `SQL01`에서 `PAYMENTS01`에 명령을 실행할 수 있습니다. Azaël Martin(n3rada)에게 감사드립니다. * `'l'` 및 `'i'` 모듈을 제거하고 컨텍스트 로직을 도입하여 모듈 이름이 표준, 가장, 연결 및 체인 실행에서 동일할 수 있도록 했습니다. * 모든 연결 모듈에 체인 지원 추가. * 디버그(`/debug`) 지원 추가. 다양한 디버깅 정보와 모듈이 실행할 모든 SQL 쿼리를 실행하지 않고 표시합니다. * 자세히(`/verbose, /v`) 추가. 모듈 실행 중 모든 SQL 쿼리를 표시합니다. * 타임아웃(`/timeout, /t`) 추가. SQL 서버 데이터베이스 연결 타임아웃에 대한 정수 값을 받습니다. * `links` 모듈 개선 - 상세 정보 포함. Azaël Martin(n3rada)에게 감사드립니다. * `whoami` 모듈 개선 - Windows 보안 주체 및 데이터베이스 사용자 포함. Azaël Martin(n3rada)에게 감사드립니다. * `impersonation` 모듈 개선 - Windows 보안 주체 및 데이터베이스 사용자 포함. Azaël Martin(n3rada)에게 감사드립니다. * `sqlspns` 열거 모듈에 IP 주소 검색 추가. Azaël Martin(n3rada)에게 감사드립니다. * 해당되는 경우 콘솔 출력을 마크다운으로 표준화. Azaël Martin(n3rada)에게 감사드립니다. * `/enum:info` 모듈에 DNS 지원 추가. * `olecmdexec` 모듈에 선택적 `/subsystem` 인수 추가. `CmdExec` 또는 `PowerShell` OLE 자동화 하위 시스템을 사용한 실행을 허용합니다. * CLI 변경 사항 및 새 모듈을 반영하도록 테스트 하네스 업데이트. * `AzureAD` 인증을 `EntraID`로 변경.
v3.6
  • 쉼표로 구분된 값을 사용하여 /host 또는 /h 플래그에 제공된 여러 SQL 서버에 대한 실행이 지원됩니다.
  • 쉼표로 구분된 값을 사용하여 /link 또는 /l 플래그에 제공된 여러 연결된 SQL 서버에 대한 실행이 지원됩니다.
  • /lhost를 /link로 변경.
  • 's' 모듈 제거 및 SCCM 모듈을 위한 /s, /sccm 스위치 생성.
  • DecryptCredentials를 제외한 모든 SCCM 모듈에 가장 지원 추가.
  • 새로운 열거(/enum) 모듈 info 추가. 인증되지 않은 컨텍스트를 사용하여 UDP 프로토콜을 통해 인스턴스 이름 및 TCP 포트를 포함한 SQL 서버 정보를 얻을 수 있습니다.
  • 인수 로직을 ModuleHandler.cs 내의 개별 메서드로 이동하여 단순화 및 확장성을 촉진.
  • 모든 SQL 쿼리를 Queries.cs로 이동.
v3.5
  • 연결된 adsi 실행에서 LDAP 서버를 제거하지 않는 버그 수정.
  • 연결된 adsi에서 에이전트 작업 실행을 제거하고 openquery/rpc를 사용하도록 변경.
  • adsi 모듈에서 /lhost를 /adsi로 변경.
  • smb 모듈에서 /rhost를 /unc로 변경.
  • CaptureHash.cs 제거 및 로직 단순화.
  • SetEnumerationType.cs 제거 및 로직 단순화.
  • Impersonation.cs를 Impersonate.cs로 이름 변경.
  • OleCmdExec.cs를 OleAutomation.cs로 이름 변경.
v3.4
  • smb 모듈에 가장 지원 추가.
  • info 모듈에 가장 지원 추가.
  • info 모듈에 연결 지원 추가.
v3.3
  • rows, iRows 및 lRows 모듈 생성.
  • 선택적 필터를 포함하도록 sLogons 업데이트.
  • xp_cmdshell 모듈이 명령 출력을 콘솔에 출력하지 않던 버그 수정.
  • 도움말 메뉴 정리.
v3.2
  • 명령줄 인수 구문 분석 대대적 개편.
  • 새 예제로 README, 테스트 케이스 및 위키 업데이트.
  • 열거 및 인증 기반 인수 구문 분석 재작업.
  • SetEnumerationType.cs 생성.
  • 열거 모듈 domain을 SqlSpns로 변경.
v3.1
  • SetAuthenticationType.cs 생성자를 EvaluateAuthenticationType이라는 새 메서드로 변경.
  • SetAuthenticationType.cs에 CreateSqlConnectionObject 생성. SQLRecon이 여러 동시 SQL 연결 개체를 지원하도록 확장.
  • ADSI.cs 생성. 여기 설명된 대로 ADSI 자격 증명 공격을 통합.
  • adsi, iAdsi 및 lAdsi 모듈 생성.
  • lLinks 및 iLinks 모듈 생성.
  • 새 예제로 README, 테스트 케이스 및 위키 업데이트.
v3.0
  • 존재하지 않는 가장된 사용자에 대한 오류 검사 구현.
  • ExecuteImpersonationQuery 및 ExecuteImpersonationCustomQuery 생성.
  • Impersonate.cs 삭제.
  • checkRpc 모듈 추가.
  • iCheckRpc 모듈 추가.
  • lCheckRpc 모듈 추가.
  • SCCM 모듈 재작업.
  • SCCM 인수 구문 분석 재작업.
  • 더 쉽게 읽을 수 있도록 도움말 메뉴에서 명령어를 카멜 케이스로 표시.
  • 새 모듈로 테스트 업데이트.
v2.9
  • EnableDisable.cs를 ConfigureOptions.cs로 이름 변경.
  • 고급 옵션 구성 대대적 점검.
  • ExecuteLinkedCustomQueryRpcExec가 호출되는 모든 곳에서 RPC 오류 검사 구현.
v2.8
  • 표준화된 출력을 위한 인쇄 클래스를 구현하는 PrintUtils.cs 생성.
  • TablePrinter를 Help.cs에서 PrintUtils.cs로 이동.
  • PrintUtils 클래스를 사용하여 모든 콘솔 출력에 대한 인쇄 형식 표준화.
  • 클래스 및 클래스 변수에 대한 액세스 한정자 변경.
  • 다음에 대해 결과가 비어 있는지 확인하는 검사 추가:
    • query
    • search
    • tables
    • lColumns
    • lQuery
    • lSearch
    • lTables
    • iColumns
    • iQuery
v2.7
  • Azure 인증을 AzureAD로 변경.
  • AzureLocal 인증 생성.
  • disableRpc 모듈 추가.
  • enableRpc 모듈 추가.
  • iEnableRpc 모듈 추가.
  • iDisableRpc 모듈 추가.
  • lEnableRpc 모듈 제거.
  • lDisableRpc 모듈 제거.
  • 새 모듈로 테스트 업데이트.
v2.6.1
  • lAgentCmd 버그 수정.
  • 저장 프로시저 생성 시 SqlCommand.ExecuteNonQuery를 사용하여 clr, iClr 및 lClr 안정성 수정.
  • lClr에서 생성된 어셈블리나 저장 프로시저를 제거하지 않던 버그 수정.
v2.6
  • columns 모듈 추가.
  • iColumns 모듈 추가.
  • iDatabases 모듈 추가.
  • iSearch 모듈 추가.
  • iTables 모듈 추가.
  • lColumns 모듈 추가.
  • lSearch 모듈 추가.
v2.5
  • SCCM 모듈의 다양한 버그 수정.
  • 표를 사용하여 도움말 메뉴 구성.
  • ExecuteLinkedCustomQueryRpcExec에서 제공하는 출력 개선.
  • 코드 주석 전반에 걸쳐 개선.
  • 명령 실행 함수 간 메서드 이름 일관성 개선.
  • 객체 지향 프로그래밍의 더 나은 사용을 통한 모듈성 개선.
  • 사용자 지정 SQL 서버 포트 플래그를 x로 변경.
  • Random.cs를 utilities 디렉터리로 이동.
  • 모든 모듈에서 일관성을 높이기 위해 인쇄 스타일 표준화.
  • 표준, 가장 및 연결 테스트 하네스 생성.
v2.4
  • Windows 인증을 WinToken으로 변경.
  • WinDomain 인증 생성. 가장을 통해 인증을 위해 AD 도메인 사용자 이름 및 암호를 사용합니다. Impersonation.cs를 확인하세요.
  • ArgumentLogic.cs, SQLAuthentication.cs 및 ModuleHandler.cs에서 인수 구문 분석 및 처리를 재작업.
  • ModuleHandler.cs는 더 이상 거대한 if/else if/else 문을 사용하여 모듈을 실행하지 않습니다. 대신 리플렉션을 사용하여 명령 모듈 이름과 일치하는 메서드를 호출합니다.
  • 프로그램 전체에서 사용되는 전역 변수가 있는 commands 디렉터리 추가.
  • 모든 인증 공급자를 SQLAuthentication.cs로 통합.
  • Program.cs에서 ArgumentLogic.cs로 인수 구문 분석을 이동.
  • authentication 디렉터리 제거.
v2.3
  • SCCM 기능 추가.
  • sccm 명령을 사용하여 실행할 수 있는 SCCM 모듈 추가.
  • 연결된 SQL 서버에서 RPC 상태 확인 수정.
  • HTTP/S를 통해 .NET 어셈블리를 다운로드하는 기능 추가.
v2.2
  • roles, iRoles 및 lRoles 모듈에서 쿼리하는 역할 확장.
  • users, iUsers 및 lUsers 모듈 생성.
  • clr 및 iClr 모듈에서 sp_drop_trusted_assembly의 해시가 삭제되지 않던 문제 수정.
  • lAgentCmd 모듈 생성.
  • lClr 모듈 생성.
v2.1.6
  • info 모듈 추가.
  • 도움말 메뉴 수정.
  • Local 및 Azure 인증의 필수 인수 문제 해결.
v2.1.5
  • 도메인 SPN 열거 모듈 추가 (-e domain).
v2.1.4
  • 사소한 문자열 서식 문제 수정.
v2.1.3
  • 비표준 TCP 포트를 제공할 수 있도록 Windows 및 Local 인증 모드에 -r 플래그 추가.
v2.1.2
  • null 연결 문자열 처리 로직 개선.
v2.1.1
  • TestAuthentication.cs에서 Environment.Exit 제거.
v2.1
  • AgentJobs.cs 생성.
  • agentStatus 생성.
  • iAgentStatus 생성.
  • lAgentStatus 생성.
  • agentCmd 생성.
  • iAgentCmd 생성.
v2.0
  • clr 생성.
  • iEnableClr 생성.
  • iDisableClr 생성.
  • iClr 생성.
  • iWhoami 생성.
  • iMapped 생성.
  • iRoles 생성.
  • lEnableRpc 생성.
  • lDisableRpc 생성.
  • lWhoami 생성.
  • lEnableXp 생성.
  • lDisableXp 생성.
  • lEnableOle 생성.
  • lDisableOle 생성.
v1.2
  • lSmb 모듈 생성.
  • lWhoami 모듈 생성.
  • lRoles 모듈 생성.
v1.1
  • oleCmd 모듈 수정.
  • iOleCmd 모듈 수정.
  • lDatabases 모듈 수정.
  • lTables 모듈 수정.
  • 코드 베이스 정리.
  • 도움말 메뉴의 불일치 수정.
도구 다운로드
모듈 이름설명가장(Impersonation)연결된 실행연결 체인 실행권한 있는 컨텍스트 필요
AuditStatusSQL 감사가 설정되어 있는지 확인합니다.✅✅✅❎
CheckRpc연결된 서버 목록과 해당 RPC 상태를 가져옵니다.✅✅✅❎
Databases모든 데이터베이스를 표시합니다.✅✅✅❎
Impersonate가장할 수 있는 사용자 계정을 열거합니다.✅✅✅❎
InfoSQL 서버에 대한 정보를 표시합니다.✅✅✅❎
Links연결된 SQL 서버를 열거합니다.✅✅✅❎
Users데이터베이스에 인증할 수 있는 사용자 계정 및 그룹을 표시합니다.✅✅✅❎
Whoami권한을 표시합니다.✅✅✅❎
Query /c:QUERYSQL 쿼리를 실행합니다.✅✅✅❎
Smb /unc:UNC_PATHNetNTLMv2 해시를 캡처합니다.✅✅✅❎
Columns /db:DATABASE /table:TABLE제공된 데이터베이스와 테이블의 모든 열을 표시합니다.✅✅✅❎
Rows /db:DATABASE /table:TABLE제공된 데이터베이스 테이블의 행 수를 표시합니다.✅✅✅❎
Search /keyword:KEYWORD연결된 데이터베이스의 제공된 테이블에서 열 이름을 검색합니다.✅✅✅❎
Tables /db:DATABASE제공된 데이터베이스의 모든 테이블을 표시합니다.✅✅✅❎
EnableRpc /rhost:LINKED_HOST연결된 서버에서 RPC 및 RPC out을 활성화합니다.✅❌❌✔️
EnableClrCLR 통합을 활성화합니다.✅✅✅✔️
EnableOleOLE 자동화 프로시저를 활성화합니다.✅✅✅✔️
EnableXpxp_cmdshell을 활성화합니다.✅✅✅✔️
DisableRpc /rhost:LINKED_HOST연결된 서버에서 RPC 및 RPC out을 비활성화합니다.✅❌❌✔️
DisableClrCLR 통합을 비활성화합니다.✅✅✅✔️
DisableOleOLE 자동화 프로시저를 비활성화합니다.✅✅✅✔️
DisableXpxp_cmdshell을 비활성화합니다.✅✅✅✔️
AgentStatusSQL 에이전트가 실행 중인지 확인하고 에이전트 작업을 가져옵니다.✅✅✅✔️
AgentCmd /c:COMMAND /subsystem:(OPTIONAL) /proxy:(OPTIONAL)에이전트 작업을 사용하여 시스템 명령을 실행합니다. 선택적으로 /subsystem:으로 하위 시스템을 지정할 수 있으며, 기본값은 'PowerShell'입니다. 선택적으로 /proxy:로 SQL 에이전트 프록시 계정을 지정할 수 있습니다.✅✅✅✔️
Adsi /adsi:SERVER_NAME /lport:LOCAL_PORT연결된 ADSI 서버에서 일반 텍스트 ADSI 자격 증명을 가져옵니다.✅✅✅✔️
Clr /dll:DLL /function:FUNCTION사용자 정의 저장 프로시저에서 .NET 어셈블리를 로드하고 실행합니다.✅✅✅✔️
CredentialObjectssys.credentials에서 자격 증명 개체를 가져옵니다.✅✅✅✔️
OleCmd /c:COMMAND /subsystem:(OPTIONAL)OLE 자동화 프로시저를 사용하여 시스템 명령을 실행합니다.✅✅✅✔️
ProxiesSQL 에이전트 프록시 정보를 가져옵니다.✅✅✅✔️
XpCmd /c:COMMANDxp_cmdshell을 사용하여 시스템 명령을 실행합니다.✅✅✅✔️
모듈 이름설명가장(Impersonation)권한 있는 컨텍스트 필요
Users모든 SCCM 사용자를 표시합니다.✅❎
Sites데이터가 저장된 다른 모든 사이트를 표시합니다.✅❎
Logons모든 연결된 SCCM 클라이언트와 마지막으로 로그인한 사용자를 표시합니다.✅❎
CredentialsSCCM에 의해 저장된 암호화된 자격 증명을 표시합니다.✅❎
TaskList모든 작업 시퀀스를 표시하지만 작업 데이터 내용에는 액세스하지 않습니다.✅❎
TaskData모든 작업 시퀀스를 일반 텍스트로 해독합니다.✅❎
DecryptCredentialsSCCM 자격 증명 blob을 해독합니다. SCCM 서버에서 높은 무결성 또는 SYSTEM 프로세스로 실행해야 합니다.❌✔️
AddAdmin /user:DOMAIN\USERNAME /sid:SID제공된 계정을 SCCM의 '전체 관리자'로 승격합니다.✅✔️
RemoveAdmin /user:ADMIN_ID /remove:STRINGSCCM 데이터베이스에서 사용자의 권한을 제거하거나 사용자를 완전히 제거합니다.✅✔️
ScriptDataSCCM에서 실행하도록 구성된 모든 스크립트를 반환합니다.✅✔️
CIDataSCCM에서 스크립트를 실행하도록 구성된 모든 CI를 반환합니다.✅✔️
  • AddAdmin 모듈은 지정된 계정을 SCCM 내에서 '전체 관리자'로 승격합니다. 대상 사용자가 이미 SCCM 사용자인 경우 이 모듈은 대신 승격에 필요한 권한을 추가합니다. SCCM에서 SQLRecon 프로세스를 실행 중인 사용자를 '전체 관리자'로 추가하려면 두 인수를 /user:current /sid:current로 제공하십시오. 다른 사용자를 SCCM의 '전체 관리자'로 추가하려면 도메인 사용자 이름과 전체 SID를 지정하십시오(/user:DOMAIN\USERNAME /sid:S-1-5-...). 이 모듈은 SCCM 데이터베이스 테이블에 쓰기가 필요하므로 sysadmin 또는 유사한 권한이 필요합니다.
  • RemoveAdmin 모듈은 SCCM 데이터베이스에서 새로 추가된 사용자를 완전히 제거하여 사용자의 권한을 제거합니다. 사용자가 이미 어떤 식으로든 존재했다면 이 모듈은 권한 테이블에 쓰기를 통해 계정에 추가된 세 가지 역할을 제거합니다. 이 명령을 실행하려면 sAddAdmin 명령의 출력에서 제공된 인수를 사용하십시오. 이 모듈은 SCCM 데이터베이스 테이블에 쓰기가 필요하므로 sysadmin 또는 유사한 권한이 필요합니다.
  • EnumerationModules.cs 생성.
  • FormatQuery.cs 생성.
  • SccmModules.cs 생성.
  • ModuleHandler.cs를 SqlModules.cs로 이름 변경.
  • PrintUtils.cs를 Print.cs로 이름 변경.
  • SQLServerInfo.cs를 Info.cs로 이름 변경.
  • iSearch
  • 모든 인증 공급자 및 모듈에 대한 상당한 안정성 및 기능 테스트.
  • Microsoft의 C#/.NET 스타일 코드 스타일 가이드를 더 잘 따르도록 코드 스타일 변경.
  • Help.cs를 메서드에서 생성자로 변경.
  • CaptureHash.cs를 메서드에서 생성자로 변경.
  • Impersonate.cs를 메서드에서 생성자로 변경.
  • 전체 코드 베이스 리팩터.
  • lEnableClr 생성.
  • lDisableClr 생성.
  • lXpCmd 생성.
  • lXpOle 생성.
  • Random.cs 생성.
  • EnableDisable.cs 생성.
  • clr에 대해 무작위로 생성된 어셈블리 이름 구현.
  • ole에 대해 무작위로 생성된 변수 및 메서드 이름 구현.
  • mapped 및 roles 모듈을 whoami로 통합.
  • lMapped 및 lRoles 모듈을 lWhoami로 통합.
  • iMapped 및 iRoles 모듈을 iWhoami로 통합.
  • 전체 코드 베이스 리팩터.