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

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

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

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

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
nimrm — 네이티브 Nim WinRM 셸로, NTLM, Kerberos, 파일 전송, 인메모리 헬퍼 및 AD/OPSEC 보고를 지원합니다. | Kitploit
도구/GitHubGitHub/blue0x1/nimrm
Payload GenerationLateral MovementInformation GatheringPost-ExploitationPenetration TestingCommand and ControlAuthenticationRed TeamingRemote Access Tool
GitHubblue0x1/nimrm

nimrm

네이티브 Nim WinRM 셸로, NTLM, Kerberos, 파일 전송, 인메모리 헬퍼 및 AD/OPSEC 보고를 지원합니다.

551개월 전아직 검토되지 않음

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유
저장소 보기웹사이트

nimrm

Release Downloads

Nim으로 작성된 네이티브 WinRM 셸 클라이언트

버전 1.2.0 · 저자 Chokri Hammedi (blue0x1) · 라이선스 MIT

NTLM Kerberos PowerShell File Transfer In-Memory Helpers Multi-Session

Documentation WinRM Library


image

법적 고지

nimrm은 귀하가 소유하거나 명시적 접근 권한이 있는 시스템에 대한 합법적인 관리, 보안 테스트 및 연구를 위해 제작되었습니다. 저자는 이 도구로 인한 오용이나 손해에 대해 책임을 지지 않습니다.

목차

  • 개요
  • 기능
  • 요구 사항
  • 설치
  • 빌드
  • 성능
  • 사용법
  • 옵션
  • 대화형 명령
  • 세션 관리
  • 예제
  • 참고 사항
  • 라이선스

개요

nimrm은 실용적인 인증, 명령 실행, 전송 및 보고 헬퍼를 갖춘 컴팩트하고 빠른 WinRM 셸을 제공합니다. Nim 패키지 의존성 없이 네이티브 Nim 바이너리로 빌드됩니다.

기능

요구 사항

구성 요소요구 사항

설치

Nimble:

root@kitploit:~
nimble install nimrm

최신 릴리스 다운로드:

root@kitploit:~
curl -L -o nimrm https://github.com/blue0x1/nimrm/releases/latest/download/nimrm
chmod +x nimrm

Windows 릴리스 바이너리:

root@kitploit:~
Invoke-WebRequest -Uri https://github.com/blue0x1/nimrm/releases/latest/download/nimrm.exe -OutFile nimrm.exe

Debian 패키지:

root@kitploit:~
curl -L -o nimrm_1.2.0_amd64.deb https://github.com/blue0x1/nimrm/releases/latest/download/nimrm_1.2.0_amd64.deb
sudo dpkg -i nimrm_1.2.0_amd64.deb

BlackArch:

root@kitploit:~
sudo pacman -S nimrm

BlackArch PKGBUILD는 최신 업스트림 git 커밋을 추적하므로, 새 릴리스는 다음 시스템 업데이트 시 BlackArch 사용자에게 도달합니다. nimrm이 이미 설치된 경우 다음 명령으로 업그레이드하세요:

root@kitploit:~
sudo pacman -Syu nimrm

소스에서 빌드:

root@kitploit:~
git clone https://github.com/blue0x1/nimrm.git
cd nimrm
make linux

빌드

root@kitploit:~
make linux
root@kitploit:~
make ssl
root@kitploit:~
make windows

수동 빌드:

root@kitploit:~
nim c -d:release --opt:speed -o:nimrm nimrm.nim

성능

nimrm은 네이티브 Nim 바이너리, 영구 WinRM 런스페이스, 청크 전송 로직, 컴팩트한 진행률 렌더링을 사용하여 빠른 속도를 유지하도록 설계되었습니다.

작업구현
업로드대용량 봉투에 대한 적응형 재시도를 포함한 청크 Base64 쓰기
다운로드진행률 추적 및 소형 파일 고속 경로를 갖춘 스트리밍 Base64 청크

사용법

NTLM 비밀번호:

root@kitploit:~
./nimrm -T 192.168.1.10 -A 'CORP\administrator' -P 'Password123'

NTLM 패스더해시:

root@kitploit:~
./nimrm -T 192.168.1.10 -A 'CORP\user' -N aad3b435b51404eeaad3b435b51404ee:0123456789abcdef0123456789abcdef

Kerberos:

root@kitploit:~
KRB5CCNAME=FILE:/tmp/user.ccache ./nimrm -k -T dc01.corp.local -Z CORP.LOCAL

HTTP를 통한 NTLM 메시지 암호화 강제:

root@kitploit:~
./nimrm -T 192.168.1.10 -A 'CORP\user' -P 'Password123' --seal

사용자 지정 포트:

root@kitploit:~
./nimrm -T 192.168.1.10 -A 'CORP\user' -P 'Password123' -p 5985

일회성 명령:

root@kitploit:~
./nimrm -T 192.168.1.10 -A 'CORP\user' -P 'Password123' -c 'whoami'

TLS 인증서 검증 건너뛰기(자체 서명 인증서):

root@kitploit:~
./nimrm -T 192.168.1.10 -A 'CORP\user' -P 'Password123' --tls --insecure

옵션

대화형 명령

세션 관리

nimrm은 여러 동시 WinRM 세션을 지원합니다. 셸을 떠나지 않고도 서로 다른 호스트와 사용자 간에 전환할 수 있습니다.

기존 세션 내부에서 새 세션 생성:

root@kitploit:~
PS C:\Users\Administrator> session -T 10.0.0.5 -A 'CORP\user2' -P 'Pass123'
PS C:\Users\Administrator> session -T dc02.corp.local -A [email protected] -N aad3b435:0123456789abcdef -n dc02
PS C:\Users\Administrator> session -T dc03.corp.local -k -Z CORP.LOCAL -n dc03

활성 세션 나열:

root@kitploit:~
PS C:\Users\Administrator> sessions

  ID  Name              Target                    User              Auth
  --  ----              ------                    ----              ----
 * 1  session-1         dc01.corp.local:5985      administrator     Kerberos
   2  session-2         10.0.0.5:5985             user2             NTLM
   3  dc02              dc02.corp.local:5985      user              NTLM

세션 간 전환:

root@kitploit:~
[session-2] PS C:\Users\user2> use 1
[*] Switched to session: session-1 (dc01.corp.local:5985)
[session-1] PS C:\Users\Administrator> use dc02
[*] Switched to session: dc02 (dc02.corp.local:5985)

세션 종료:

root@kitploit:~
[dc02] PS C:\Users\user> kill 2
[*] Killed session: session-2

활성 세션 간 파일 복사:

root@kitploit:~
[session-1] PS C:\Users\user1> rupload C:\Users\user1\tool.exe session-2 C:\Users\user2\Desktop\tool.exe
[*] Download mode: WinRS binary stream
✔  rupload-read  [━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━]  100%  442.0 KB/442.0 KB  done in 0.7s
[*] Upload mode: WinRS stream
✔  rupload-write  [━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━]  100%  442.0 KB/442.0 KB  done in 0.4s
[+] Remote uploaded 452608 bytes from session-1:C:\Users\user1\tool.exe to session-2:C:\Users\user2\Desktop\tool.exe

[session-1] PS C:\Users\user1> rdownload session-2 C:\Users\user2\Desktop\out.txt C:\Users\user1\out.txt
[+] Remote downloaded 1024 bytes from session-2:C:\Users\user2\Desktop\out.txt to session-1:C:\Users\user1\out.txt

rupload 및 rupload-dir은 활성 세션을 소스로, 지정된 세션을 대상으로 사용합니다. rdownload 및 rdownload-dir은 지정된 세션을 소스로, 활성 세션을 대상으로 사용합니다. 이 명령들은 nimrm 메모리를 통해 바이트를 릴레이하므로 컨트롤러 호스트는 임시 복사본을 디스크에 쓰지 않습니다.

세션 옵션:

예제

PowerShell 및 CMD:

root@kitploit:~
PS> hostname
PS> Get-Process
PS> !ipconfig /all

전송:

root@kitploit:~
PS> upload ./tool.exe C:\Temp\tool.exe
PS> download C:\Temp\out.txt ./out.txt
PS> rupload C:\Temp\tool.exe session-2 C:\Temp\tool.exe
PS> rdownload session-2 C:\Temp\out.txt C:\Temp\out.txt
PS> rupload-dir C:\Temp\logs session-2 C:\Temp\logs
PS> rdownload-dir session-2 C:\Temp\loot C:\Temp\loot
PS> upload-dir ./payloads C:\Temp\payloads
PS> download-dir C:\Temp\logs ./logs

원격 세션 릴레이 방향:

root@kitploit:~
# 활성 세션 -> 다른 세션
PS> rupload C:\Temp\payload.exe session-2 C:\Users\Public\payload.exe

# 다른 세션 -> 활성 세션
PS> rdownload session-2 C:\Users\Public\loot.zip C:\Temp\loot.zip

자동 완성:

root@kitploit:~
PS> upl<Tab>
PS> upload ./pay<Tab>

대화형 프롬프트는 명령 이름과 upload, upload-dir, invoke-script, execute-assembly 같은 로컬 소스 명령의 로컬 파일 시스템 경로를 완성합니다.

인메모리 헬퍼:

root@kitploit:~
PS> invoke-script ./AdminTools.ps1
PS> execute-assembly ./tool.exe arg1 arg2

보고:

root@kitploit:~
PS> ad-info
PS> opsec-check

참고 사항

  • execute-assembly는 관리형 .NET 어셈블리만 지원합니다.
  • invoke-script는 현재 원격 런스페이스로 임포트합니다.
  • rupload, rdownload, rupload-dir, rdownload-dir은 컨트롤러 호스트에 임시 파일을 쓰지 않지만, 바이트는 여전히 컨트롤러 메모리를 통과하며 두 개의 WinRM 전송 구간을 사용합니다.
  • ad-info 및 opsec-check는 읽기 전용 보고 명령입니다.
  • 일부 보고 데이터는 충분한 원격 권한이 필요합니다.

Buy Me A Coffee

라이선스

MIT. LICENSE를 참조하세요.

도구 다운로드
영역지원
인증NTLM 비밀번호, NTLM 해시, KRB5CCNAME을 통한 Kerberos
WinRM 전송HTTP, HTTPS/TLS, 사용자 지정 포트
셸대화형 PowerShell, CMD 접두어, 일회성 명령 모드, 명령 및 로컬 경로 자동 완성
전송파일 업로드/다운로드, 재귀 디렉터리 전송, 원격 세션 간 파일 및 디렉터리 릴레이
인메모리PowerShell 스크립트 임포트, 관리형 .NET 어셈블리 실행
보고AD/도메인 컨텍스트, 로깅 및 감사 상태
안정성Kerberos 메시지 래핑, 전송 재설정/재시도 처리
빌드Nim >= 1.6.0
KerberosLinux의 libgssapi_krb5.so.2 또는 macOS의 libgssapi_krb5.dylib
TLS 빌드OpenSSL 및 -d:ssl
대상선택한 포트에서 WinRM에 연결 가능
원격 세션 릴레이
한 WinRM 세션에서 읽고 컨트롤러 메모리를 통해 다른 세션에 쓰며 로컬 디스크에 파일을 쓰지 않음
디렉터리 전송동일한 청크 전송 경로를 사용하는 재귀 파일 열거
명령 실행명령마다 재연결하는 대신 활성 WinRM 셸/런스페이스 재사용
옵션설명
-T, --target대상 IP 또는 호스트명
-A, --account사용자 이름: user, user@domain 또는 DOMAIN\user
-P, --secretNTLM 비밀번호
-p, --portWinRM 포트
-N, --nt-proofNT 해시 또는 LM:NT 해시
-Z, --krb-zoneKerberos 영역 재정의
-K, --kerb-spnKerberos SPN 재정의
-k, --kerbKerberos 인증 사용
-c, --command명령 하나를 실행하고 종료
--tlsHTTPS/TLS 사용
--insecureTLS 인증서 검증 건너뛰기
-h, --help도움말 표시
명령설명
/help도움말 표시
exit, quit셸 종료
!<cmd>cmd.exe를 통해 실행
upload <local> [remote]파일 하나 업로드
download <remote> [local]파일 하나 다운로드
rupload <remote> <session> [dest]활성 세션의 원격 파일을 메모리를 통해 다른 세션으로 복사
rdownload <session> <remote> [dest]다른 세션의 원격 파일을 메모리를 통해 활성 세션으로 복사
rupload-dir <remote> <session> [dest]활성 세션의 원격 디렉터리를 메모리를 통해 다른 세션으로 복사
rdownload-dir <session> <remote> [dest]다른 세션의 원격 디렉터리를 메모리를 통해 활성 세션으로 복사
upload-dir <local> [remote]디렉터리 업로드
download-dir <remote> [local]디렉터리 다운로드
invoke-script <ps1> [args]로컬 PowerShell을 메모리에서 임포트
execute-assembly <exe> [args]관리형 .NET을 메모리에서 실행
ad-infoAD/도메인 컨텍스트 표시
opsec-check로깅 및 감사 상태 표시
sessions모든 활성 세션 나열
session <opts>새 세션 생성
use <name|id>세션 전환
kill <name|id>세션 종료 및 제거
옵션설명
-T대상 호스트
-A사용자 이름
-P비밀번호
-NNT 해시
-kKerberos 인증
-ZKerberos 영역
-KSPN 재정의
-p포트
--tlsHTTPS 사용
-n사용자 지정 세션 이름