mirror of
https://github.com/netbirdio/netbird.git
synced 2026-04-16 07:16:38 +00:00
Implement sideband authorization and credential provider architecture for passwordless RDP access to Windows peers via NetBird. Go components: - Sideband RDP auth server (TCP on WG interface, port 3390/22023) - Pending session store with TTL expiry and replay protection - Named pipe IPC server (\\.\pipe\netbird-rdp-auth) for credential provider - Sideband client for connecting peer to request authorization - CLI command `netbird rdp [user@]host` with JWT auth flow - Engine integration with DNAT port redirection Rust credential provider DLL (client/rdp/credprov/): - COM DLL implementing ICredentialProvider + ICredentialProviderCredential - Loaded by Windows LogonUI.exe at the RDP login screen - Queries NetBird agent via named pipe for pending sessions - Performs S4U logon (LsaLogonUser) for passwordless Windows token creation - Self-registration via regsvr32 (DllRegisterServer/DllUnregisterServer) https://claude.ai/code/session_01C38bCDyYzLgxYLVwJkcUng
32 lines
684 B
TOML
32 lines
684 B
TOML
[package]
|
|
name = "netbird-credprov"
|
|
version = "0.1.0"
|
|
edition = "2021"
|
|
description = "NetBird RDP Credential Provider for Windows"
|
|
license = "BSD-3-Clause"
|
|
|
|
[lib]
|
|
crate-type = ["cdylib"]
|
|
|
|
[dependencies]
|
|
windows = { version = "0.58", features = [
|
|
"implement",
|
|
"Win32_Foundation",
|
|
"Win32_System_Com",
|
|
"Win32_UI_Shell",
|
|
"Win32_Security",
|
|
"Win32_Security_Authentication_Identity",
|
|
"Win32_Security_Credentials",
|
|
"Win32_System_RemoteDesktop",
|
|
"Win32_System_Threading",
|
|
] }
|
|
serde = { version = "1", features = ["derive"] }
|
|
serde_json = "1"
|
|
uuid = { version = "1", features = ["v4"] }
|
|
log = "0.4"
|
|
|
|
[profile.release]
|
|
opt-level = "s"
|
|
lto = true
|
|
strip = true
|