Skip to content
KitploitKITPLOIT
StrumentiExploitsBlog
Log in
Invia
StrumentiExploitsBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

··Feed·Contatto·Privacy·© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
bepr — Un framework minimale di reverse shell autenticata per raggiungere host con accesso internet in uscita. | Kitploit
Strumenti/GitHubGitHub/aperocky/bepr
Penetration TestingCommand and ControlUtilità e FrameworkAutenticazioneRed TeamingStrumento di Accesso Remoto
GitHubaperocky/bepr

bepr

Un framework minimale di reverse shell autenticata per raggiungere host con accesso internet in uscita.

Vedi Repository
113 mesi faNon ancora revisionato

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Condividi

bepr

bepr è un piccolo programma di reverse shell autenticato client/server su connessioni WebSocket in uscita.

Un singolo binario copre tutte e 3 le modalità: modalità server, modalità client e modalità utente. È pacchettizzato con istruzioni di installazione per rpm, deb e pkg, e pesa 1 MB.

Ho creato bepr perché viaggio e vorrei controllare i computer a casa senza esporli a Internet pubblico. Questo richiede solo un dominio (per TLS) e un server per funzionare.

bepr connection model

Utilizzo

Vai su https://github.com/Aperocky/bepr/releases per trovare la versione del pacchetto per la tua piattaforma. Scaricalo e usa questi comandi per installare

sudo installer -pkg bepr-<version>.pkg -target /
sudo dpkg -i bepr_<version>_<arch>.deb
sudo rpm -i bepr-<version>-<arch>.rpm

Oppure usa gli script di aggiornamento per installarlo automaticamente eseguendo lo script:

curl -fsSL https://raw.githubusercontent.com/Aperocky/bepr/main/packaging/scripts/update-deb.sh | sh
curl -fsSL https://raw.githubusercontent.com/Aperocky/bepr/main/packaging/scripts/update-macos.sh | sh
curl -fsSL https://raw.githubusercontent.com/Aperocky/bepr/main/packaging/scripts/update-rpm.sh | sh

E ora, a seconda dello scopo della tua macchina, configura ogni host. Il binario funziona in tutte e tre le modalità ma non si sincronizza automaticamente — imposta tutto prima di partire!

Modalità server

Hai bisogno del tuo certificato TLS e dominio; quella parte non è coperta da bepr. Crea la configurazione del server:

# cat /etc/bepr/server.conf
bind = 0.0.0.0:443
key_dir = /etc/bepr/client-keys
tls_cert = /etc/bepr/tls/cert.pem
tls_key  = /etc/bepr/tls/privkey.pem

Avvia il servizio:

linux:

sudo systemctl enable --now bepr

Dal server puoi elencare i client registrati e gli utenti connessi, questo avviene tramite un socket locale.

[email protected]:~# bepr list
aperocky    user      disconnected
laptop      client    disconnected
mac_m1      client    connected
pi_zero     client    connected

Puoi anche connetterti a un client direttamente con questo socket locale, che si comporta come la modalità utente.

bepr connect laptop

Questo offre percorsi utente e client sul tuo dominio:

$domain/bepr/client/mac_m1 # Connect from client
$domain/bepr/user/aperocky # Connect from user

Una volta collegato, lo stdin/stdout del terminale bepr connect viene reindirizzato alla shell del client selezionato. Le shell dei client vengono eseguite all'interno di un PTY, mentre il server è un router grezzo di pass-through dei byte. Più client possono essere connessi al server contemporaneamente, ma un singolo client può avere un solo utente collegato alla volta.

Modalità client

Su ogni host client, genera una coppia di chiavi:

ssh-keygen -t ed25519 -f /etc/bepr/client-keys/pi_zero

Copia la chiave pubblica nella key_dir del server:

/etc/bepr/client-keys/pi_zero.pub  -> client ID pi_zero on server

Crea la configurazione del client. L'ID client nell'URL deve corrispondere al nome del file della chiave pubblica sul server:

# cat /etc/bepr/client.conf
server = wss://server.example/bepr/client/pi_zero
private_key_path = /etc/bepr/client-keys/pi_zero
shell = /bin/sh

Avvia il servizio/daemon:

linux:

sudo systemctl enable --now bepr

mac:

sudo launchctl bootstrap system /Library/LaunchDaemons/com.bepr.plist
sudo launchctl enable system/com.bepr
sudo launchctl kickstart -k system/com.bepr

Il percorso legacy domain/bepr/$name è accettato anche per compatibilità con client più vecchi. Avvia il servizio come per il server.

Nota: il client avvia una shell immediatamente alla connessione al server, non quando un utente si collega. La shell viene eseguita in modo persistente in background. Se ti colleghi e trovi il terminale in uno stato errato, esegui stty sane. Se la shell stessa non risponde, uccidila tramite PID sulla macchina client — il client si riconnetterà automaticamente e avvierà una nuova shell entro 10 secondi.

Modalità utente

Per operare da una macchina remota senza inoltrare tramite SSH il socket del server, usa la modalità utente. Sul server, aggiungi una user_key_dir alla configurazione del server:

# cat /etc/bepr/server.conf
bind = 0.0.0.0:443
key_dir = /etc/bepr/client-keys
user_key_dir = /etc/bepr/user-keys
tls_cert = /etc/bepr/tls/cert.pem
tls_key  = /etc/bepr/tls/privkey.pem

Copia la chiave pubblica dell'utente sul server:

/etc/bepr/user-keys/aperocky.pub  -> user ID aperocky

Sulla macchina dell'utente, crea una configurazione utente:

# cat ~/.config/bepr/user.conf
server = wss://server.example/bepr/user/aperocky
private_key_path = ~/.ssh/aperocky_user_ed25519

bepr list e bepr connect useranno questa configurazione automaticamente senza flag aggiuntivi. I tuoi comandi fanno da ponte dal server direttamente agli host client.

Esecuzione manuale o test

Il binario bepr può essere eseguito manualmente senza servizio/pacchettizzazione con comandi e argomenti diretti:

./bepr server --config $server_config_path
./bepr client --config $client_config_path
./bepr connect --socket $socket_file_path $destination
Scarica lo strumento