
Rosemary: QUIC 기반 크로스 플랫폼 커널 수준 피벗팅. TUN/TAP 불필요. proxychains 불필요. 프록시 설정 불필요.
QUIC 기반 크로스플랫폼 커널 수준 피보팅 플랫폼. TUN/TAP 불필요. proxychains 불필요. 프록시 설정 불필요.
Rosemary는 커널 수준에서 원격 호스트의 트래픽을 투명하게 가로챕니다. 프록시 설정, TUN/TAP 장치, proxychains가 필요 없습니다. 에이전트는 QUIC을 통해 서버로 다시 연결되며, 마치 해당 네트워크에 직접 연결된 것처럼 원격 네트워크 전체에 접근할 수 있습니다.
사용자 머신에서 서버를 실행하고 원격 호스트에 에이전트를 배포합니다. 에이전트는 QUIC을 통해 다시 연결되고, 서버는 에이전트의 서브넷에 대해 커널 수준 가로채기 규칙을 설치합니다. 그 시점부터 DNS를 포함한 해당 서브넷으로의 모든 트래픽은 프록시 설정, TUN 장치, DNS 설정 변경, 애플리케이션 수정 없이 에이전트를 통해 투명하게 전달됩니다.
curl http://192.168.1.50 ───► agent dials 192.168.1.50 and bridges it back
ssh [email protected]
ping 192.168.1.1
여러 에이전트를 동시에 연결하면 트래픽은 대상 네트워크를 소유한 에이전트로 자동 라우팅됩니다.
| 분류 | 기능 |
|---|---|
| 가로채기 | 투명한 TCP · UDP · ICMP · DNS, 클라이언트 설정 불필요 |
| Egress | 기본 egress 에이전트가 선택한 에이전트를 통해 모든 인터넷 트래픽을 라우팅 |
| SOCKS5 | 에이전트별 SOCKS5 프록시, 선택적 사용자 이름/비밀번호 인증 |
| 포워딩 | TCP/UDP 포트 포워딩 · 역방향 포트 포워딩 (서버 수신, 에이전트 발신) |
| 탐색 | Ping · Ping 스윕 · 에이전트를 통한 TCP/UDP 포트 스캔 |
| DNS | DNS 가로채기, 에이전트를 통해 사설 및 공용 도메인 해석 |
| 피보팅 | 여러 에이전트를 통한 멀티홉 (5홉 이상 테스트 완료) |
| 전송 | QUIC/UDP 아웃바운드 에이전트 · 암호화된 TCP 바인드 에이전트 |
| 대시보드 | 실시간 에이전트 그래프, 라우팅 테이블, 로그 뷰어를 갖춘 웹 UI |
| API | 토큰 기반 인증(read/write/admin)을 갖춘 전체 REST API |
| CLI | 대화형 REPL + 웹 기반 CLI 패널 |
| 확장 프로그램 | 빠른 접근을 위한 Chrome 확장 프로그램 |
| 에이전트 | 백그라운드 모드 · 바인드 모드 · 자동 서브넷 탐색 · 인터넷 감지 |
| 구성 | JSON 가져오기/내보내기 · 실시간 키 교체 · 포트별 구성 |
| 플랫폼 | TCP | UDP | DNS | ICMP | SOCKS5 | Egress |
|---|---|---|---|---|---|---|
| Linux | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
| Windows | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
| macOS | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
| FreeBSD | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
| OpenBSD | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
에이전트는 위의 모든 플랫폼에서 실행됩니다. 에이전트 측에는 root 권한이 필요 없습니다.
연결된 에이전트와 그 관계를 보여주는 대화형 네트워크 그래프
OS, 호스트 이름, 서브넷, 연결 상태를 포함한 상세 에이전트 정보
터널을 통한 손쉬운 접근과 트래픽 라우팅을 위한 브라우저 확장 프로그램
설치 방법:
chrome://extensions/로 이동합니다.extension/ 폴더를 선택합니다.확장 프로그램 아이콘이 브라우저 툴바에 나타납니다.
모든 에이전트를 통해 TCP/UDP 포트 포워딩 생성 및 관리
실시간 상태와 함께 서브넷 라우트 보기 및 전환
전체 서버 제어를 위한 내장 REPL
필터링 및 내보내기 옵션을 갖춘 실시간 이벤트 스트리밍
선택적 인증과 함께 모든 에이전트를 통해 SOCKS5 프록시 시작/중지
서버 포트, 암호화 키, API 토큰 구성

세분화된 권한으로 REST API 토큰 생성 및 관리
빠른 작업: 태그, 포워딩, ping, 포트 스캔, 재연결, 연결 끊기
참고: 그래프 보기는 에이전트를 자동으로 배치하고 서브넷 관계를 시각화합니다. 에이전트 간의 엣지는 공유 서브넷을 나타내며, 멀티홉 피보팅 시각화를 지원합니다.
# Install via go install
go install github.com/blue0x1/rosemary/rosemary@latest
go install github.com/blue0x1/rosemary/agent@latest # For install agent
# Copy to system path for sudo use
sudo cp ~/go/bin/rosemary /usr/local/bin/
또는 Releases에서 사전 빌드된 바이너리를 다운로드할 수 있습니다.
# Auto-generate a key
sudo rosemary
# Or provide your own
sudo rosemary -key YOUR_BASE64_KEY
대시보드는 http://server-ip:1024에서 사용할 수 있습니다. 키로 로그인하세요.
# Standard QUIC/UDP mode (agent connects to server)
./agent-linux-amd64 -s server-ip:2048 -k YOUR_KEY
# Background mode
./agent-linux-amd64 -b -s server-ip:2048 -k YOUR_KEY
# Windows
agent-windows-amd64.exe -s server-ip:2048 -k YOUR_KEY
연결되면 에이전트의 서브넷이 자동으로 이를 통해 라우팅됩니다.
# On the agent host: agent listens for the server to connect
./agent-linux-amd64 -m agent-bind -l 0.0.0.0:9001 -k YOUR_KEY
# On the server CLI
rosemary> connect agent-ip:9001
Invoke-Rosemary.ps1는 아웃바운드 에이전트 모드와 바인드 모드를 모두 지원합니다. 바인드 모드는 레거시 Windows PowerShell 호스트에서 작동합니다. 아웃바운드 에이전트 모드는 QUIC을 사용하며, System.Net.Quic 및 libmsquic을 사용할 수 있는 .NET 런타임에서 PowerShell 7이 필요합니다.
# Import
. .\Invoke-Rosemary.ps1
# Help
Invoke-Rosemary -Help
Invoke-Rosemary -Mode agent -Server 192.168.1.10:2048 -Key YOUR_KEY
Invoke-Rosemary -Mode agent-bind -Listen 0.0.0.0:9001 -Key YOUR_KEY
Invoke-Rosemary -Mode agent -Server 192.168.1.10:2048 -Key YOUR_KEY -Background
Invoke-Rosemary -Mode agent -Server 192.168.1.10:2048 -Key YOUR_KEY -Verbose