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
kubebox — ⎈❏ Terminale e console web per Kubernetes | Kitploit
Strumenti/GitHubGitHub/astefanutti/kubebox
Sicurezza dei ContenitoriSicurezza CloudUtilità e Framework
GitHubastefanutti/kubebox

kubebox

⎈❏ Terminale e console web per Kubernetes

Vedi RepositorySito web
2.2k1412 anni 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

= Kubebox [small]#^⎈❏^# Antonin Stefanutti https://github.com/astefanutti[@astefanutti] // Meta :description: Console terminale e Web per Kubernetes // Settings :idprefix: :idseparator: - :experimental: // Aliases ifdef::env-github[] :note-caption: ℹ️ :icon-check: ✔️ :icon-edit: ✏️ endif::[] ifndef::env-github[] :icons: font :icon-check: icon:check[] :icon-edit: icon:pencil[fw] endif::[] // URIs :uri-kubebox-download: https://github.com/astefanutti/kubebox/releases/download/v0.10.0 :uri-kubebox-twitter: https://twitter.com/kubebox :uri-kube-apiserver: https://kubernetes.io/docs/admin/kube-apiserver/ :uri-ingress-controllers: https://kubernetes.io/docs/concepts/services-networking/ingress/#ingress-controllers :uri-service-account: https://kubernetes.io/docs/tasks/configure-pod-container/configure-service-account/ :uri-xterm-js: https://github.com/xtermjs/xterm.js :uri-cadvisor: https://github.com/google/cadvisor

{description}

// image::./docs/kubebox.png[kubebox, align="center"] ++++

++++

=== Funzionalità

  • Configurazione da file kubeconfig (variabile d'ambiente KUBECONFIG o $HOME/.kube)
  • Cambia contesto in modo interattivo
  • <<authentication,Supporto autenticazione>> (bearer token, autenticazione di base, chiave privata/cert, OAuth, OpenID Connect, Amazon EKS, Google Kubernetes Engine, Digital Ocean)
  • Selezione namespace e watch della lista dei pod
  • Scorrimento / watch dei log dei container
  • Utilizzo risorse dei container (memoria, CPU, rete, grafici del filesystem) footnote:[Richiede che {uri-cadvisor}[cAdvisor] sia distribuito come DaemonSet. Vedi la sezione <> per maggiori dettagli.]
  • Terminale di esecuzione remota nel container
  • Eventi del cluster, namespace, pod
  • Editor di configurazione oggetti e operazioni CRUD
  • Visualizzazioni / monitoraggio del cluster e dei nodi

Vedi la sezione <> per alcuni esempi, e segui image:https://img.shields.io/badge/%40kubebox-00ACEE.svg?&logo=twitter&colorA=555&logoColor=fff[link={uri-kubebox-twitter}] per alcuni aggiornamenti.

== Esecuzione

Le seguenti alternative sono disponibili per utilizzare Kubebox, a seconda delle tue preferenze e vincoli:

=== Eseguibile

Scarica l'eseguibile standalone di Kubebox per il tuo sistema operativo:

[source,shell,subs=attributes+]

Linux (x86_64)

$ curl -Lo kubebox {uri-kubebox-download}/kubebox-linux && chmod +x kubebox

Linux (ARMv7)

$ curl -Lo kubebox {uri-kubebox-download}/kubebox-linux-arm && chmod +x kubebox

OSX

$ curl -Lo kubebox {uri-kubebox-download}/kubebox-macos && chmod +x kubebox

Windows

$ curl -Lo kubebox.exe {uri-kubebox-download}/kubebox-windows.exe

Poi esegui:

root@kitploit:~
$ ./kubebox

=== Server

Kubebox può essere servito da un servizio ospitato nel tuo cluster Kubernetes. L'emulazione del terminale è fornita da {uri-xterm-js}[Xterm.js] e la comunicazione con l'API master di Kubernetes è proxyata dal server.

Per distribuire il server nel tuo cluster Kubernetes, esegui:

root@kitploit:~
$ kubectl apply -f https://raw.github.com/astefanutti/kubebox/master/kubernetes.yaml

Per arrestare il server e pulire le risorse, esegui:

root@kitploit:~
$ kubectl delete namespace kubebox

Affinché la risorsa Ingress funzioni, il cluster deve avere un controller Ingress in esecuzione. Vedi {uri-ingress-controllers}[Ingress controllers] per maggiori informazioni.

In alternativa, per distribuire il server nel tuo cluster OpenShift, esegui:

root@kitploit:~
$ oc new-app -f https://raw.github.com/astefanutti/kubebox/master/openshift.yaml

=== Kubectl

Puoi eseguire Kubebox come client in-cluster con kubectl, ad esempio:

root@kitploit:~
$ kubectl run kubebox -it --rm --env="TERM=xterm" --image=astefanutti/kubebox --restart=Never

Se RBAC è abilitato, dovrai usare l'opzione --serviceaccount e fare riferimento a un service account con autorizzazioni sufficienti.

=== Docker

Puoi eseguire Kubebox usando Docker, ad esempio:

root@kitploit:~
$ docker run -it --rm astefanutti/kubebox

Potresti voler montare la tua home directory in modo che Kubebox possa fare affidamento sul file ~/.kube/config, ad esempio:

root@kitploit:~
$ docker run -it --rm -v ~/.kube/:/home/node/.kube/:ro astefanutti/kubebox

=== Online

Kubebox è disponibile online su https://astefanutti.github.com/kubebox. Nota che richiede che questo indirizzo corrisponda alle origini consentite per CORS dal server API. Ciò può essere ottenuto con {uri-kube-apiserver}[CLI del server API Kubernetes], ad esempio:

root@kitploit:~
$ kube-apiserver --cors-allowed-origins .*

== Autenticazione

Cerchiamo di supportare le varie strategie di autenticazione supportate da kubectl, per fornire un'integrazione fluida con la tua configurazione locale. Ecco le diverse strategie di autenticazione che supportiamo, a seconda di come utilizzi Kubebox:

[cols="<,^,^,^",options="header"] |=== ||Executable|Docker|Online

|OpenID Connect |{icon-check} |{icon-check} |{icon-check}footnote:[I file dell'autorità di certificazione IDP personalizzati non sono supportati nelle versioni Web.]

|Amazon EKS| {icon-check} | |

|Digital Ocean |{icon-check} | |

|Google Kubernetes Engine| {icon-check} | | |===

Se la modalità che stai usando non è supportata, puoi aggiornare manualmente il token/certificato di autenticazione e aggiornare di conseguenza il tuo file kubeconfig.

== cAdvisor

Kubebox si basa su {uri-cadvisor}[cAdvisor] per recuperare le metriche di utilizzo delle risorse. Prima della versione 0.8.0, Kubebox accedeva agli endpoint cAdvisor, che sono incorporati in Kubelet. Tuttavia, questi endpoint sono in fase di deprecazione e verranno infine rimossi, come discusso in https://github.com/kubernetes/kubernetes/issues/68522[kubernetes#68522].

A partire dalla versione 0.8.0, Kubebox si aspetta che cAdvisor sia distribuito come https://kubernetes.io/docs/concepts/workloads/controllers/daemonset/[DaemonSet]. Ciò può essere ottenuto con:

root@kitploit:~
$ kubectl apply -f https://raw.githubusercontent.com/astefanutti/kubebox/master/cadvisor.yaml

Si consiglia di utilizzare il file cadvisor.yaml fornito, che è testato per funzionare con Kubebox. Tuttavia, l'esempio di DaemonSet, dal progetto {uri-cadvisor}[cAdvisor], dovrebbe funzionare ugualmente. Nota che i container cAdvisor devono essere eseguiti con un contesto di sicurezza privilegiato, in modo che possano accedere al runtime dei container su ogni nodo.

Puoi modificare le opzioni predefinite --storage_duration e --housekeeping_interval, aggiunte agli argomenti del container cAdvisor dichiarati nel file cadvisor.yaml, per regolare rispettivamente la durata della finestra di archiviazione (default 5m0s) e il periodo di campionamento (default 10s). Potresti anche dover fornire il percorso del socket del runtime dei container del tuo cluster, nel caso non segua la convenzione usuale.

== Tasti rapidi

[cols="1v,2v"] |=== |Combinazione di tasti |Descrizione

2+^.e|Generale

|kbd:[l], kbd:[Ctrl+l] |Accesso

|kbd:[n] |Cambia namespace corrente

|[kbd:[Shift]+]kbd:[←], kbd:[→] + [kbd:[Alt]+]kbd:[1], ..., kbd:[9] |Naviga tra le schermate (usa kbd:[Shift] o kbd:[Alt] all'interno del terminale exec)

|kbd:[Tab], kbd:[Shift+Tab] |Cambia focus all'interno della schermata attiva

|kbd:[↑], kbd:[↓] |Naviga lista / modulo / log

|kbd:[PgUp], kbd:[PgDn] |Sposta su/giù di una pagina

|kbd:[Enter] |Seleziona elemento / invia modulo

|kbd:[Esc] |Chiudi finestra modale / annulla modulo

|kbd:[Ctrl+z] |Chiudi schermata corrente

|kbd:[q], kbd:[Ctrl+q] |Esci footnote:[Non disponibile nelle versioni Web.]

2+^.e|Accesso

|kbd:[←], kbd:[→] |Naviga tra le configurazioni Kube

2+^.e|Pod

|kbd:[Enter] |Seleziona pod / cicla container

|kbd:[r] |Shell remota nel container

|kbd:[m] |Utilizzo memoria

|kbd:[c] |Utilizzo CPU

|kbd:[t] |Utilizzo rete

|kbd:[f] |Utilizzo filesystem

|kbd:[e] |Eventi pod

|kbd:[Shift+e] |Eventi namespace

|kbd:[Ctrl+e] |Eventi cluster

|===

== FAQ

  • Le metriche di utilizzo delle risorse non sono disponibili!

** A partire dalla versione 0.8.0, Kubebox si aspetta che {uri-cadvisor}[cAdvisor] sia distribuito come DaemonSet. Vedi la sezione <> per maggiori dettagli;

** Le metriche vengono recuperate dall'API REST del pod cAdvisor in esecuzione sullo stesso nodo del container per cui vengono richieste. Tale API REST viene accessa tramite il proxy del server API, che richiede autorizzazioni RBAC appropriate, ad esempio: + [source,shell]

Permission to list the cAdvisor pods (selected using the spec.nodeName field selector)

$ kubectl auth can-i list pods -n cadvisor yes

Permission to proxy the selected cAdvisor pod, to call its REST API

$ kubectl auth can-i get pod --subresource proxy -n cadvisor yes

== Sviluppo

root@kitploit:~
$ git clone https://github.com/astefanutti/kubebox.git
$ cd kubebox
$ npm install
$ node index.js

== Screenshot

Eventi cluster: ++++

++++

Shell in un container: ++++

++++

Supporto temi terminale: ++++

++++

Versione browser web: ++++

++++
Scarica lo strumento