Skip to content
KitploitKITPLOIT
StrumentiBlog
Invia
StrumentiBlog
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
webvm — Macchina virtuale Linux lato client in esecuzione nel browser tramite WebAssembly, con rete Tailscale, immagini personalizzate basate su Dockerfile e supporto per sfide CTF per l'educazione e lo sviluppo della sicurezza. | Kitploit
Strumenti/GitHubGitHub/leaningtech/webvm
Virtualizzazione per la SicurezzaSicurezza di ReteCTFSicurezza CloudDevSecOpsApprendimento e Formazione
GitHubleaningtech/webvm

webvm

Macchina virtuale Linux lato client in esecuzione nel browser tramite WebAssembly, con rete Tailscale, immagini personalizzate basate su Dockerfile e supporto per sfide CTF per l'educazione e lo sviluppo della sicurezza.

Vedi Repository
17.2k3.3k3 giorni faRevisionato da Kitploit

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
Sito web

WebVM

Discord server Issues

Questo repository contiene il codice sorgente per https://webvm.io, una macchina virtuale Linux che gira nel tuo browser.

Prova il nuovo ambiente grafico Alpine / Xorg / i3: https://webvm.io/alpine.html

Cos'è WebVM?

WebVM è un ambiente virtuale senza server che gira interamente lato client in HTML5/WebAssembly. È progettato per essere compatibile con l'ABI Linux ed esegue una distribuzione Debian non modificata, inclusi molti toolchain di sviluppo nativi.

WebVM è alimentato dal motore di virtualizzazione CheerpX, che fornisce:

  • Compilatore JIT x86-to-WebAssembly
  • Filesystem virtuale a blocchi
  • Emulatore di syscall Linux
  • Esecuzione sicura e sandboxed lato client

Indice dei contenuti

  • Rete
  • Sviluppo e personalizzazione
    • Distribuisci su GitHub Pages
    • Servizio locale e configurazione dell'immagine
  • Integrazione con Claude AI
  • Community e supporto
  • Scopri di più
  • Licenza

[!NOTE] Visita https://webvm.io per iniziare immediatamente nel tuo browser. Nessuna configurazione richiesta.

Per configurazione locale, build personalizzate di immagini e indicazioni su fork/deploy, consulta Sviluppo e personalizzazione.

Rete

WebVM supporta l'integrazione con Tailscale. In questo modo la VM del tuo browser può raggiungere la tua rete privata e, con un nodo di uscita, anche internet pubblico.

[!NOTE] Alcune operazioni di rete di basso livello (in particolare ICMP usato da ping) non sono attualmente disponibili in questo ambiente. Per i controlli di connettività, usa curl o wget.

Rete locale

  1. Apri il pannello "Rete" dalla barra laterale
  2. Clicca su "Connetti a Tailscale"
  3. Accedi (crea un account gratuito su tailscale.com se necessario)
  4. Clicca su "Connetti" quando richiesto

WebVM ora ha accesso a tutte le macchine nella tua rete Tailscale!

Suggerimenti per l'uso di Internet

[!TIP] Su connessioni più lente potrebbe esserci un breve ritardo prima dell'inizializzazione. Lo stato della connessione è mostrato come un punto colorato sul pulsante: arancione = rete locale, verde = internet globale. Il testo del pulsante mostra il tuo indirizzo IP Tailscale una volta connesso.

Per accedere a internet pubblico da WebVM, configura un Nodo di uscita su un altro dispositivo nella tua rete Tailscale:

  1. Segui la guida rapida per i nodi di uscita di Tailscale (sezioni: "Advertise a device as an exit node")
  2. WebVM utilizza automaticamente il nodo di uscita una volta pubblicizzato

Utilizzo di una chiave di autenticazione

In alternativa al login interattivo, aggiungi la tua chiave di autenticazione Tailscale al frammento dell'URL:

root@kitploit:~
https://webvm.io/#authKey=<your-ephemeral-key>

Questo è equivalente all'opzione --login-server di Tailscale.

[!TIP] Se hai anche bisogno di un server di controllo personalizzato, aggiungi controlUrl nello stesso frammento dell'URL e separa i valori con &, ad esempio: #authKey=...&controlUrl=....

Self-Hosting di Tailscale con Headscale

Supportiamo anche headscale, un'implementazione open source self-hosted del server di controllo Tailscale. Poiché Headscale non aggiunge intestazioni CORS per impostazione predefinita, avrai bisogno di un proxy davanti a esso. Vedi la documentazione di Headscale per la configurazione del proxy inverso per un esempio.

Una volta pronto, aggiungi la seguente riga al tuo blocco location / nel file di configurazione nginx.

root@kitploit:~
if ($http_origin = "https://yourdomain.com") {
    add_header 'Access-Control-Allow-Origin' "$http_origin";
    add_header 'Access-Control-Allow-Credentials' 'true' always;
}

Poi accedi a WebVM con:

root@kitploit:~
https://yourdomain.com/#controlUrl=<your-headscale-url>

Sviluppo e personalizzazione

[!NOTE] Gli utenti hanno privilegi di root per impostazione predefinita. sudo non è installato, ma può essere facilmente aggiunto al Dockerfile se necessario.

Distribuisci su GitHub Pages

Questo è un flusso di lavoro semplice e adatto ai principianti. Per l'hosting locale e la personalizzazione, vedi sotto Servizio locale e configurazione dell'immagine.

Forka il repository di WebVM per distribuire la tua versione su GitHub Pages:

deploy_instructions_gif
  1. Forka il repository
  2. Abilita GitHub Pages dal repository forked in Impostazioni → Pages usando "GitHub Actions" come sorgente
  3. Esegui il workflow Deploy dalle Actions
  4. Al termine, apri l'URL mostrato nel job deploy_to_github_pages

Lo stesso workflow Deploy costruisce anche immagini disco .ext2 personalizzate da un Dockerfile. Puoi puntarlo a dockerfiles/debian_mini o a un altro Dockerfile, quindi pubblicare il risultato come asset di Release su GitHub o distribuire la build Pages dal tuo fork.

[!NOTE] dockerfiles/debian_large è un'immagine troppo grande per GitHub Pages.

Servizio locale e configurazione dell'immagine

1. Clona il repository

root@kitploit:~
git clone https://github.com/leaningtech/webvm.git
cd webvm

2. Metti la tua immagine in custom-disk-images/

Questo repository include una directory persistente custom-disk-images/ per file .ext2 locali.

Per usare l'immagine Debian mini ufficiale, scaricala dalle Release:

debian_mini_20230519_5022088024.ext2

Puoi anche copiare un'immagine che hai costruito tu stesso.

3. Punta WebVM alla tua immagine locale

Modifica config_public_terminal.js:

root@kitploit:~
export const diskImageUrl =
  "/custom-disk-images/debian_mini_20230519_5022088024.ext2";
export const diskImageType = "bytes";

4. Installa le dipendenze e costruisci

root@kitploit:~
npm install
npm run build

5. Avvia Nginx e apri WebVM

root@kitploit:~
nginx -p . -c nginx.conf

Poi apri http://127.0.0.1:8081 e goditi la tua WebVM locale!

Per l'ambiente desktop Alpine completo, vedi leaningtech/alpine-image.

Per maggiori dettagli, vedi Documentazione immagini personalizzate CheerpX.

[!TIP] Per un REPL Python3, il workflow Deploy tiene conto del CMD specificato nel Dockerfile.

Per costruire un REPL puoi semplicemente cambiare CMD [ "/bin/bash" ] in CMD [ "/usr/bin/python3" ] e distribuire.

Integrazione con Claude AI

Per accedere a Claude AI, hai bisogno di una chiave API. Segui questi passaggi per iniziare:

1. Crea un account

  • Visita Anthropic Console e registrati con la tua email. Riceverai un link di accesso alla Console Anthropic.

2. Ottieni la tua chiave API

  • Una volta effettuato l'accesso, vai su Get API keys.
  • Acquista la quantità di crediti di cui hai bisogno. Dopo aver completato l'acquisto, potrai generare la chiave tramite la console API.

3. Accedi con la tua chiave API

  • Vai alla tua WebVM e passa il mouse sopra l'icona del robot. Questo mostrerà la scheda di integrazione Claude AI. Per maggiore comodità, puoi cliccare sul pulsante di puntina nell'angolo in alto a destra per tenere la scheda fissa.
  • Vedrai un prompt in cui puoi inserire la tua chiave API Claude.

4. Inizia a usare Claude AI

  • Una volta inserita la tua chiave API, puoi iniziare a interagire con Claude AI ponendo domande come:

"Risolvi la sfida CTF in /home/user/chall1.bin. Nota che il binario legge da stdin."

deploy_instructions_gif

Importante: La tua chiave API è privata e non dovrebbe mai essere condivisa. Non abbiamo accesso alla tua chiave; viene memorizzata solo localmente nel tuo browser.

Community e supporto

Segnala problemi: Usa GitHub Issues per segnalare bug o richiedere funzionalità.

Chatta con noi: Unisciti alla nostra community Discord per discutere di WebVM, condividere idee e ricevere aiuto.

Scopri di più

Articoli e risorse:

  • WebVM: Macchine virtuali x86 senza server nel browser
  • WebVM: Virtualizzazione Linux in WebAssembly con connettività completa tramite Tailscale
  • Mini.WebVM: Il tuo box Linux personale da Dockerfile, virtualizzato nel browser tramite WebAssembly
  • Crafting the Impossible: Virtualizzazione X86 nel browser con WebAssembly — Talk a JsNation 2022

Esempio di distribuzione:

  • Riferimento Mini.WebVM — Un esempio funzionante distribuito su GitHub Pages

Tecnologia alla base di WebVM:

Questo progetto è alimentato da:

  • CheerpX — Compilatore JIT x86-to-WebAssembly | di Leaning Technologies
  • xterm.js — Emulatore di terminale basato sul Web
  • Tailscale — Layer di rete VPN
  • lwIP — Stack TCP/IP, compilato per il Web tramite Cheerp

Versionamento:

WebVM utilizza il pacchetto NPM CheerpX, che viene aggiornato a ogni release.

Ogni build è immutabile. Se una versione specifica funziona bene per te oggi, continuerà a funzionare per sempre.

Licenza

WebVM è rilasciato sotto la Licenza Apache, Versione 2.0.

Sei libero di utilizzare, modificare e ridistribuire i contenuti di questo repository.

La distribuzione pubblica di CheerpX è fornita così com'è ed è gratuita per esplorazione tecnologica, test e uso da parte di privati. Qualsiasi altro uso da parte di organizzazioni, inclusi no-profit, università e settore pubblico, richiede una licenza. Scaricare una build di CheerpX allo scopo di ospitarla altrove non è consentito senza una licenza commerciale.

Leggi di più qui sulle nostre pratiche di licenza.

Se desideri costruire un prodotto basato su CheerpX/WebVM, consulta le nostre altre opzioni di licenza: Licenze CheerpX o contattaci: [email protected]

Scarica lo strumento