Skip to content
KitploitKITPLOIT
OutilsExploitsBlog
Log in
Soumettre
OutilsExploitsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

FluxContactConfidentialité© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
cisco-ios-xe-implant-scanner — Scanner basé sur Go qui détecte les systèmes Cisco IOS XE implantés en envoyant des requêtes HTTP forgées pour identifier les appareils compromis et les versions vulnérables. | Kitploit
Outils/GitHubGitHub/vulncheck-oss/cisco-ios-xe-implant-scanner
Outils DéfensifsSécurité des Systèmes EmbarquésScanners de VulnérabilitésExploitationCollecte d'InformationsSécurité WebSécurité RéseauRenseignement sur les MenacesRéponse aux Incidents
GitHubvulncheck-oss/cisco-ios-xe-implant-scanner

cisco-ios-xe-implant-scanner

Scanner basé sur Go qui détecte les systèmes Cisco IOS XE implantés en envoyant des requêtes HTTP forgées pour identifier les appareils compromis et les versions vulnérables.

Voir le dépôtSite web
425il y a 1 anVérifié par Kitploit

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager

Scanner d'implant Cisco IOS XE

Le 23 octobre 2023, alors que tous les implants ne répondaient plus aux requêtes vers /webui/logoutconfirm.html, Fox-IT a développé une nouvelle méthode pour déterminer si un système est compromis ou non. En particulier, au lieu de répondre aux requêtes par une redirection vers la page de connexion, l'implant de l'attaquant disposait d'une logique pour renvoyer 404 si l'URI demandée contenait %. Ce scanner envoie donc désormais une requête HTTP GET comme /Fadf%25. Un système infecté par un implant renverra la réponse suivante :

<html>
<head><title>404 Not Found</title></head>
<body bgcolor="white">
<center><h1>404 Not Found</h1></center>
<hr><center>nginx</center>
</body>
</html>
<!-- a padding to disable MSIE and Chrome friendly error page -->
<!-- a padding to disable MSIE and Chrome friendly error page -->
<!-- a padding to disable MSIE and Chrome friendly error page -->
<!-- a padding to disable MSIE and Chrome friendly error page -->
<!-- a padding to disable MSIE and Chrome friendly error page -->
<!-- a padding to disable MSIE and Chrome friendly error page -->

L'utilisation est identique à avant (voir la section « Old Docs » pour plus d'informations sur l'utilisation) mais nous ne pouvons plus récupérer l'implant-id.

Compilation

Vous pouvez utiliser le makefile pour construire un conteneur docker :

make docker

Ou, si vous disposez d'un environnement de compilation Go prêt à l'emploi, utilisez simplement make :

albinolobster@mournland:~/cisco-ios-xe-implant-scanner$ make
gofmt -d -w implant-scanner.go 
golangci-lint run --fix implant-scanner.go
GOOS=linux GOARCH=arm64 go build -o build/implant-scanner_linux-arm64 implant-scanner.go

Exemple de sortie pour un hôte infecté

./build/implant-scanner -a -v -c -rhost 10.9.49.180
time=2023-10-23T14:33:07.581-04:00 level=STATUS msg="Starting target" index=0 host=10.9.49.180 port=80 ssl=false "ssl auto"=true
time=2023-10-23T14:33:08.782-04:00 level=STATUS msg="Validating IOS XE target" host=10.9.49.180 port=80
time=2023-10-23T14:33:10.115-04:00 level=SUCCESS msg="Target validation succeeded!" host=10.9.49.180 port=80
time=2023-10-23T14:33:10.115-04:00 level=STATUS msg="Running a version check on the remote target" host=10.9.49.180 port=80
time=2023-10-23T14:33:10.624-04:00 level=SUCCESS msg="The target appears to be a vulnerable version!" host=10.9.49.180 port=80

Exemple de sortie pour un hôte sans implant

./build/implant-scanner -a -v -c -rhost 10.9.49.124
time=2023-10-23T14:34:31.207-04:00 level=STATUS msg="Starting target" index=0 host=10.9.49.124 port=80 ssl=false "ssl auto"=true
time=2023-10-23T14:34:31.340-04:00 level=STATUS msg="Validating IOS XE target" host=10.9.49.124 port=80
time=2023-10-23T14:34:31.363-04:00 level=SUCCESS msg="Target validation succeeded!" host=10.9.49.124 port=80
time=2023-10-23T14:34:31.363-04:00 level=STATUS msg="Running a version check on the remote target" host=10.9.49.124 port=80
time=2023-10-23T14:34:31.378-04:00 level=ERROR msg="The target appears to be a patched version." host=10.9.49.124 port=80

Old Docs

Recherche l'implant IOS XE tel que décrit par Cisco PSIRT et Cisco Talos. Le scanner envoie une requête HTTP POST vers /webui/logoutconfirm.html?logon_hash=1 et recherche la chaîne hexadécimale de 18 octets dans la réponse. La sortie du scanner contiendra une ligne comme celle-ci lorsqu'un implant est trouvé :

time=2023-10-17T06:09:02.967-04:00 level=SUCCESS msg=Found implant-id=1a80b7389ccd0a5dab rhost=192.168.1.1 rport=80 ssl=false

Lorsqu'aucun implant n'est trouvé, le scanner affichera quelque chose comme :

{"time":"2023-10-17T06:13:48.241233896-04:00","level":"ERROR","msg":"The target appears to be a patched version.","host":"192.168.1.1","port":80}

Notez que cela n'indique pas nécessairement une version corrigée, seulement qu'aucun implant n'a été trouvé. Il s'agit simplement de la sortie générique du scanner de version de go-exploit. Comme cet outil est construit sur go-exploit, il prend en charge diverses fonctionnalités de scan. Voici des exemples d'utilisation :

Scanner un seul hôte

$ ./build/implant-scanner -rhost 192.168.1.1 -rport 80 -proxy socks5://127.0.0.1:9050 -a -v -c
time=2023-10-17T06:08:59.586-04:00 level=STATUS msg="Starting target" index=0 host=192.168.1.1port=80 ssl=false "ssl auto"=true
time=2023-10-17T06:09:00.882-04:00 level=STATUS msg="Validating IOS XE target" host=192.168.1.1port=80
time=2023-10-17T06:09:02.237-04:00 level=SUCCESS msg="Target validation succeeded!" host=192.168.1.1port=80
time=2023-10-17T06:09:02.237-04:00 level=STATUS msg="Running a version check on the remote target" host=192.168.1.1port=80
time=2023-10-17T06:09:02.967-04:00 level=SUCCESS msg=Found implant-id=1a80b7389ccd0a5dab rhost=192.168.1.1rport=80 ssl=false
time=2023-10-17T06:09:02.967-04:00 level=SUCCESS msg="The target appears to be a vulnerable version!" host=192.168.1.1port=80

Scanner un seul hôte via un proxy

$ ./build/implant-scanner -rhost 192.168.1.1-rport 80 -proxy socks5://127.0.0.1:9050 -a -v -c
time=2023-10-17T06:08:59.586-04:00 level=STATUS msg="Starting target" index=0 host=192.168.1.1port=80 ssl=false "ssl auto"=true
time=2023-10-17T06:09:00.882-04:00 level=STATUS msg="Validating IOS XE target" host=192.168.1.1port=80
time=2023-10-17T06:09:02.237-04:00 level=SUCCESS msg="Target validation succeeded!" host=192.168.1.1port=80
time=2023-10-17T06:09:02.237-04:00 level=STATUS msg="Running a version check on the remote target" host=192.168.1.1port=80
time=2023-10-17T06:09:02.967-04:00 level=SUCCESS msg=Found implant-id=1a80b7389ccd0a5dab rhost=192.168.1.1rport=80 ssl=false
time=2023-10-17T06:09:02.967-04:00 level=SUCCESS msg="The target appears to be a vulnerable version!" host=192.168.1.1port=80

Scanner un fichier d'hôtes et journaliser le JSON dans un fichier

Consultez la documentation de go-exploit pour mieux comprendre le format de -rhosts-file.

$ ./build/implant-scanner -rhosts-file targets -log-json -log-file ./logs/output.json -v -c
$ tail logs/output.json
{"time":"2023-10-17T06:16:07.24555914-04:00","level":"STATUS","msg":"Validating IOS XE Implant target","host":"192.168.1.1","port":443}
{"time":"2023-10-17T06:16:10.363281285-04:00","level":"SUCCESS","msg":"Target validation succeeded!","host":"192.168.1.1","port":443}
{"time":"2023-10-17T06:16:10.363345035-04:00","level":"STATUS","msg":"Running a version check on the remote target","host":"192.168.1.1","port":443}
Télécharger l’outil