Skip to content
KitploitKITPLOIT
FerramentasExploitsBlog
Log in
Enviar
FerramentasExploitsBlog
Enviar

Ferramentas de Hacking, PenTest e Cibersegurança para o seu Arsenal de Segurança!

Kitploit é um diretório de ferramentas de hacking, cibersegurança e pentesting. Descubra as últimas atualizações de projetos para encontrar vulnerabilidades, analisar sistemas, automatizar testes e fortalecer sua segurança.

··Feeds·Contato·Privacidade·© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
KubiScan — Uma ferramenta para analisar clusters Kubernetes em busca de permissões arriscadas | Kitploit
Ferramentas/GitHubGitHub/cyberark/kubiscan
Autenticação e AutorizaçãoEscalada de PrivilégiosScanners de VulnerabilidadesSegurança de ContêineresAuditoria de ConfiguraçãoColeta de InformaçõesTestes de PenetraçãoSegurança na NuvemDetecção de SegredosConfiguração IncorretaRed Teaming
1.4k14121há 1 anoRevisado pelo Kitploit

Mais Populares

Ver todos →

Descubra as ferramentas mais usadas pela nossa comunidade.

Explore todas as ferramentas

Navegue pela nossa coleção de ferramentas

Ver todas as ferramentas →
GitHubcyberark/kubiscan

KubiScan

Uma ferramenta para analisar clusters Kubernetes em busca de permissões arriscadas

Ver Repositório
Compartilhar

[![GitHub release][release-img]][release] [![License][license-img]][license] Stars

Uma ferramenta para escanear clusters Kubernetes em busca de permissões arriscadas no modelo de controle de acesso baseado em funções (RBAC) do Kubernetes. A ferramenta foi publicada como parte da pesquisa "Protegendo Clusters Kubernetes Eliminando Permissões Arriscadas" https://www.cyberark.com/threat-research-blog/securing-kubernetes-clusters-by-eliminating-risky-permissions/.

Índice

  • Visão geral
  • O que ela pode fazer?
  • Uso
    • Container
    • Diretamente com Python3
      • Pré-requisitos
      • Exemplo de instalação no Ubuntu
      • Com arquivo KubeConfig
      • De um remoto com token de ServiceAccount
  • Exemplos
  • Demonstração
  • YAML de Funções Arriscadas
  • Mostruário
  • Licença
  • Referências

Visão geral

O KubiScan ajuda administradores de cluster a identificar permissões que invasores poderiam explorar para comprometer os clusters. Isso pode ser especialmente útil em ambientes grandes, onde há muitas permissões difíceis de rastrear. O KubiScan coleta informações sobre funções/funções de cluster arriscadas, vinculações de funções/vinculações de funções de cluster, usuários e pods, automatizando processos manuais tradicionais e dando aos administradores a visibilidade necessária para reduzir o risco.

O que ela pode fazer?

  • Identificar Roles/ClusterRoles arriscadas
  • Identificar RoleBindings/ClusterRoleBindings arriscadas
  • Identificar Subjects arriscados (Usuários, Grupos e ServiceAccounts)
  • Identificar Pods/Containers arriscados
  • Extrair tokens de pods (todos ou por namespace)
  • Obter RoleBindings/ClusterRoleBindings associadas a uma Role, ClusterRole ou Subject (usuário, grupo ou service account)
  • Listar Subjects com um tipo específico ('User', 'Group' ou 'ServiceAccount')
  • Listar regras de uma RoleBinding ou ClusterRoleBinding
  • Mostrar Pods que têm acesso a dados secretos através de um volume ou variáveis de ambiente
  • Obter tokens de inicialização (bootstrap) para o cluster
  • Varredura de CVE
  • Suporte EKS/AKS/GKE

Uso

Container

Você pode executar assim:

./docker_run.sh <kube_config_file>
# Por exemplo: ./docker_run.sh ~/.kube/config

Isso copiará todos os arquivos vinculados no arquivo de configuração para o container e abrirá um shell dentro do container.

Para construir a imagem Docker, execute:

docker build -t kubiscan .

Diretamente com Python3

Pré-requisitos:

  • Python 3.6+
  • Pip3
  • Kubernetes Python Client
  • Prettytable
  • openssl (nativo no Ubuntu) – usado apenas para o token de join

Exemplo de instalação no Ubuntu:

apt-get update
apt-get install -y python3 python3-pip
pip3 install -r requirements.txt

Execute alias kubiscan='python3 /<KubiScan_folder>/KubiScan.py' para usar kubiscan.

Após instalar todos os requisitos acima, você pode executá-lo de duas formas diferentes:

Com arquivo KubeConfig:

Certifique-se de ter acesso ao arquivo ~/.kube/config e todos os certificados relevantes. Basta executar: kubiscan <comando> Por exemplo: kubiscan -rs mostrará todos os subjects arriscados (usuários, service accounts e grupos).

De um remoto com token de ServiceAccount

Algumas funcionalidades exigem uma service account privilegiada com as seguintes permissões:

  • resources: ["roles", "clusterroles", "rolebindings", "clusterrolebindings", "pods", "secrets"] verbs: ["get", "list"]
  • resources: ["pods/exec"] verbs: ["create", "get"]

Mas a maioria das funcionalidades não exige, então você pode usar estas configurações para uma service account limitada: Pode ser criada executando:

kubectl apply -f - << EOF
apiVersion: v1
kind: ServiceAccount
metadata:
  name: kubiscan-sa
  namespace: default
---
apiVersion: v1
kind: Secret
type: kubernetes.io/service-account-token
metadata:
  name: kubiscan-sa-secret
  annotations:
    kubernetes.io/service-account.name: kubiscan-sa
---
kind: ClusterRoleBinding
apiVersion: rbac.authorization.k8s.io/v1
metadata:
  name: kubiscan-clusterrolebinding
subjects:
- kind: ServiceAccount
  name: kubiscan-sa
  namespace: default
  apiGroup: ""
roleRef:
  kind: ClusterRole
  name: kubiscan-clusterrole
  apiGroup: ""
---
kind: ClusterRole
apiVersion: rbac.authorization.k8s.io/v1
metadata:
  name: kubiscan-clusterrole
rules:
- apiGroups: ["*"]
  resources: ["roles", "clusterroles", "rolebindings", "clusterrolebindings", "pods"]
  verbs: ["get", "list"]
EOF

Observe que a partir do Kubernetes 1.24, a criação de uma service account não gera um secret. Isso significa que precisamos criar o secret. Antes do 1.24, você pode remover o objeto Secret dos comandos acima e salvar o token da service account em um arquivo: kubectl get secrets $(kubectl get sa kubiscan-sa -o=jsonpath='{.secrets[0].name}') -o=jsonpath='{.data.token}' | base64 -d > token

A partir do 1.24, você não precisa alterar nada e salva o token assim:

kubectl get secrets kubiscan-sa-secret -o=jsonpath='{.data.token}' | base64 -d > token

Após salvar o token no arquivo, você pode usá-lo assim: python3 ./KubiScan.py -ho <master_ip:master_port> -t /token <comando>

Por exemplo:

alias kubiscan='python3 /<KubiScan_folder>/KubiScan.py
kubiscan -ho 192.168.21.129:8443 -t /token -rs

Note que você também pode usar a autoridade certificadora (ca.crt) para verificar a conexão SSL:

kubiscan -ho <master_ip:master_port> -t /token -c /ca.crt <comando>

Para remover a service account privilegiada, execute os seguintes comandos:

kubectl delete clusterroles kubiscan-clusterrole
kubectl delete clusterrolebindings kubiscan-clusterrolebinding
kubectl delete sa kubiscan-sa
kubectl delete secrets kubiscan-sa-secret

Exemplos

Para ver todos os exemplos, execute python3 KubiScan.py -e ou de dentro do container kubiscan -e.

Demonstração

Um pequeno exemplo de uso do KubiScan:

YAML de Funções Arriscadas

Há um arquivo chamado risky_roles.yaml. Este arquivo contém modelos de funções arriscadas com prioridade. Embora o tipo (kind) em cada função seja Role, esses modelos serão comparados com qualquer Role/ClusterRole no cluster. Quando cada uma dessas funções é verificada em relação a uma função no cluster, ele verifica se a função no cluster contém as regras da função arriscada. Se contiver, será marcada como arriscada. Adicionamos todas as funções que consideramos arriscadas, mas como cada um pode definir o termo "arriscado" de forma diferente, você pode modificar o arquivo adicionando/removendo funções que considera mais/menos arriscadas.

❤️ Mostruário

  • Apresentado na RSA 2020 "Compromising Kubernetes Cluster by Exploiting RBAC Permissions"
  • Apresentado na RSA 2022 "Attacking and Defending Kubernetes Cluster: Kubesploit vs KubiScan"
  • Artigo do PortSwigger "KubiScan: Open source Kubernetes security tool showcased at Black Hat 2020"
Baixar ferramenta