Domanda Scheda di rete remota

Maxwell2609

Utente Silver
29 Ottobre 2020
138
25
33
75
Salve, mi chiedevo se fosse possibile utilizzare un Raspberry/ESP/Arduino come scheda di rete remota, quindi vista dal pc come scheda di rete anche se non fisicamente collegata, ma raggiungibile tramite Internet. Ad esempio, per attacchi a reti lan wireless in posti scomodi o esposti, basterebbe lasciare nelle vicinanze la scheda per poi collegarcisi ed effettuare i vari nmap e attacchi da remoto. L'importante è che sia possibile inviare pacchetti deauth, prendere gli handshake o usare wireshark.
 
Non sarebbe proprio una scheda di rete e per raggiungere il raspberry, anche a brevi distanze, il PC ha già bisogno di una scheda sua per poter comunicare. Dalla descrizione sembra un raspberry con due schede wifi: una che fa da hotspot a cui puoi collegarti dal PC (es. SSH) e l'altra che puoi mettere in monitor mode e usare per wireshark ecc.
 
Una specie, più che fare da hotspot dovrebbe collegarsi ad internet tramite un altro wifi o usare una connessione gsm, comunque, è possibile far credere al pc di trovarsi nella rete locale dove è collegato il raspberry, quindi mostrandola come scheda di rete su cui operare con ad esempio airgeddon/fluxion/bettercap?
 
Ultima modifica:
Una specie, più che fare da hotspot dovrebbe collegarsi ad internet tramite un altro wifi o usare una connessione gsm, comunque, è possibile far credere al pc di trovarsi nella rete locale dove è collegato il raspberry, quindi mostrandola come scheda di rete su cui operare con ad esempio airgeddon/fluxion/bettercap?

Fare questo è un altro paio di maniche, dovresti installare un server VPN e SSH sul raspberry (tipo OpenVPN o Wireguard), configurare un dominio per trovarlo tramite DNS (a pagamento o no-ip e simili) e aprire una porta sul router a cui è collegato (dal pannello web e la linea non deve essere sotto NAT con il forwarding bloccato).

Sarebbe possibile impostare DNS e porta sulla tua linea invece che su quella del raspberry però richiederebbe una connessione inversa e per quanto ne so le implementazioni VPN open source pubbliche non forniscono questa impostazione, è una cosa che si può fare custom ma non semplicissima.

Alcune operazioni tipo la monitor mode non sono supportate dal tunnel VPN, altri pacchetti possono essere inoltrati facilmente impostando iptables. Alcune cose dovrai comunque eseguirle sul raspberry, quindi puoi usare SSH, usare il tool direttamente sul raspberry e scaricare il file con l'output.

Riassumendo per creare una "scheda di rete virtuale" che ti permetta di eseguire quei tool sul tuo PC, che implementi TUTTE le feature della scheda remota e che vi interagisca in tempo reale servirebbe un software apposito molto complesso client-server con tanto di driver.

PS: forse da linux a linux puoi fare qualche trucchetto con socat ma per me è un campo inesplorato.
 
  • Grazie
Reazioni: Maxwell2609
Mi verrebbe in mente un modo rozzo ma funzionale, ovvero dividere una scheda di rete wireless usb in master e slave, dove il master è collegato al pc e trasmette il flusso usb allo slave, il quale riceve e spara tutto dentro la scheda e viceversa. Probabilmente il PC si accorgerebbe dell'enorme ping verso una risorsa che riconosce come usb, quindi non so se funzionerebbe come dovuto...
 
Ultima modifica:
Sarebbe possibile impostare DNS e porta sulla tua linea invece che su quella del raspberry però richiederebbe una connessione inversa e per quanto ne so le implementazioni VPN open source pubbliche non forniscono questa impostazione, è una cosa che si può fare custom ma non semplicissima.

Pensandoci bene non è necessario, potresti configurare il raspberry come client vpn classico che si auto-connette (via systemd o cron), una volta collegato al tuo server VPN a casa con DNS e porta aperta puoi tranquillamente entrarci con SSH senza aprire porte nella rete wifi del raspberry e funziona anche da rete cellulare.

La virtualizzazione dell'USB per essere fatta bene richiede un driver (anche per i motivi di latenza indicati). Socat potrebbe anche essere sufficiente, non ho mai provato, immagino dipenda dal contesto, dalla scheda e dai tool usati: potresti creare un tunnel bidirezionale dalla seconda scheda di rete a una porta TCP e usare di nuovo socat sul tuo PC per tradurre lo stream TCP ad un device virtuale.
Qualcosa tipo:
Bash:
# Raspberry
sudo socat /dev/<nome_scheda>,raw,bind=<ip_local_vpn_raspberry>,echo=0 tcp-listen:1234,reuseaddr
# PC
sudo socat PTY,raw,echo=0,link=/dev/<nome_scheda_virtuale> tcp:<ip_local_vpn_raspberry>:1234

Mai testato ovviamente, anche se penso che usbnet dell'host potrebbe avere qualcosa da ridire. 1234 è una porta scelta a caso. Fosse stato host Windows avrei detto 100% driver perché so come funziona, su linux non ho mai visto la gestione del firmware e questi kernel module in particolare, l'idea di socat mi è venuta vedendo come viene usato per condividere dispositivi usb seriali.