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

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

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

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

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
mssqlproxy — mssqlproxy는 제한된 환경에서 손상된 Microsoft SQL Server를 통해 소켓 재사용을 이용하여 측면 이동(lateral movement)을 수행하기 위한 툴킷입니다. | Kitploit
도구/GitHubGitHub/blackarrowsec/mssqlproxy
Lateral MovementPost-ExploitationPenetration TestingDatabase Security
GitHubblackarrowsec/mssqlproxy

mssqlproxy

mssqlproxy는 제한된 환경에서 손상된 Microsoft SQL Server를 통해 소켓 재사용을 이용하여 측면 이동(lateral movement)을 수행하기 위한 툴킷입니다.

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

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

mssqlproxy

mssqlproxy는 제한된 환경에서 손상된 Microsoft SQL Server를 통해 소켓 재사용을 이용하여 측면 이동을 수행하기 위한 툴킷입니다. 클라이언트는 SQL 서버에 대한 impacket 및 sysadmin 권한이 필요합니다.

계속하기 전에 이 문서를 주의 깊게 읽어 주세요.

세 부분으로 구성됩니다:

  • CLR 어셈블리: assembly.cs 컴파일
  • 핵심 DLL: reciclador.sln 컴파일
  • 클라이언트: mssqlclient.py (Impacket 예제 기반)

라이브러리를 컴파일하거나 릴리스 페이지에서 다운로드할 수 있습니다 (x64).

컴파일

핵심 DLL을 생성하려면 Visual Studio로 프로젝트를 가져온 후 (reciclador.sln) 컴파일하면 됩니다.

CLR 어셈블리를 생성하려면 먼저 C# 컴파일러를 찾아야 합니다:

root@kitploit:~
Get-ChildItem -Recurse "C:\Windows\Microsoft.NET\" -Filter "csc.exe" | Sort-Object fullname -Descending | Select-Object fullname -First 1 -ExpandProperty fullname

그런 다음,

root@kitploit:~
C:\Windows\Microsoft.NET\Framework64\v4.0.30319\csc.exe /target:library .\assembly.cs

사용법

두 라이브러리가 컴파일되면 핵심 DLL(reciclador)을 대상 서버에 업로드합니다.

인증 옵션은 원본 mssqlclient와 동일합니다. mssqlproxy 옵션:

root@kitploit:~
proxy mode:
  -reciclador path      Remote path where DLL is stored in server
  -install              Installs CLR assembly
  -uninstall            Uninstalls CLR assembly
  -check                Checks if CLR is ready
  -start                Starts proxy
  -local-port port      Local port to listen on
  -clr local_path       Local CLR path
  -no-check-src-port    Use this option when connection is not direct (e.g. proxy)

SQL 셸 내에서 파일 다운로드 및 업로드를 위한 두 가지 명령도 구현했습니다. 프록시 관련하여 네 가지 명령이 있습니다:

  • install: CLR 어셈블리를 생성하고 저장 프로시저에 연결합니다. 로컬 DLL 파일에서 생성된 CLR을 읽기 위해 -clr 매개변수를 제공해야 합니다.
  • uninstall: install이 생성한 것을 제거합니다.
  • check: 프록시를 시작할 준비가 되었는지 확인합니다. upload 명령으로 업로드할 수 있는 서버 DLL 위치(-reciclador)를 제공해야 합니다.
  • start: 프록시를 시작합니다. -local-port가 지정되지 않으면 1337/tcp 포트에서 수신합니다.

프록시가 시작되면 proxychains를 연결할 수 있습니다 ;)

asciicast

참고 #1: 비직접 연결(예: 중간에 프록시)을 사용하는 경우 -no-check-src-port 플래그가 필요하며, 서버는 소스 주소만 확인합니다.

참고 #2: 현재는 IPv4 대상만 지원됩니다 (DNS 또는 IPv6 주소는 지원되지 않음).

참고 #3: 주의해서 사용하세요! 현재 여러 개의 동시 연결을 설정하려고 하면 MSSQL 서비스가 충돌합니다.

중요: 클라이언트에서 Ctrl+C를 눌러 mssqlproxy를 중지하는 것이 중요합니다. 그렇지 않으면 서버가 충돌할 수 있으며 MSSQL 서비스를 수동으로 다시 시작해야 합니다.

저자

Pablo Martinez (@xassiz), Juan Manuel Fernandez (@TheXC3LL) [ www.blackarrow.net - www.tarlogic.com ]

참고 자료

  • https://www.blackhat.com/presentations/bh-asia-03/bh-asia-03-chong.pdf
  • https://blog.netspi.com/attacking-sql-server-clr-assemblies/
  • https://www.codeproject.com/Articles/27298/Dynamic-Invoke-C-DLL-function-in-C
  • https://x-c3ll.github.io/posts/Pivoting-MySQL-Proxy/
  • https://docs.microsoft.com/en-us/sql/ado/reference/ado-api/stream-object-ado
  • https://docs.microsoft.com/es-es/sql/t-sql/functions/openrowset-transact-sql

라이선스

이 프로젝트에 포함된 모든 코드는 MIT 라이선스 조건에 따라 라이선스가 부여됩니다. mssqlclient.py는 Impacket을 기반으로 합니다.

도구 다운로드