Skip to content
KitploitKITPLOIT
OutilsBlog
Soumettre
OutilsBlog
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é.

··Flux·Contact·Confidentialité·© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
BEAR-C2 — Le serveur d'exploitation pour les découvertes hors bande. Pointez une cible vers un domaine que vous possédez. Chaque requête HTTP et chaque e-mail qu'elle renvoie atterrit dans un tableau de bord que vous contrôlez, et elle reçoit en retour la réponse que vous choisissez. | Kitploit
Outils/GitHubGitHub/s3n4t0r-0x0/bear-c2
Frameworks de Tests d'IntrusionFrameworks d'ExploitationMécanismes de PersistanceExfiltration de DonnéesPost-ExploitationVirtualisation de SécuritéHameçonnageCommandement et ContrôleRed TeamingDéveloppement de Charges UtilesAttaque Adversariale
583125il y a 1 jourVérifié par Kitploit
GitHub
s3n4t0r-0x0/bear-c2

BEAR-C2

Le serveur d'exploitation pour les découvertes hors bande. Pointez une cible vers un domaine que vous possédez. Chaque requête HTTP et chaque e-mail qu'elle renvoie atterrit dans un tableau de bord que vous contrôlez, et elle reçoit en retour la réponse que vous choisissez.

Voir le dépôtSite web

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

BEAR-C2 Framework de Simulation d'Adversaire


Project Status verigen: 2.0 Adversary Simulation TTPs APT Simulation MITRE ATT&CK Linux

BEAR-C2 est un framework de simulation et d'émulation d'adversaire construit autour de TTPs du monde réel inspirés par les groupes APT russes, chinois, nord-coréens et iraniens. Il fournit un environnement flexible pour divers scénarios d'engagement et offre une base réaliste pour les opérations de red team et l'émulation d'adversaire, en s'appuyant sur les recherches de simulation associées dans le . Il prend en charge les techniques d'évasion de défense et plusieurs options de chiffrement pour une représentation fidèle des scénarios d'intrusion du monde réel.

APT Attack Simulation Repository

image psd(1)

[!CAUTION] Il est essentiel de noter que ce projet est destiné uniquement à des fins éducatives et de recherche, et toute utilisation non autorisée de celui-ci pourrait entraîner des conséquences juridiques.

🏗 Installer les dépendances et Utilisation :```bash

git clone https://github.com/S3N4T0R-0X0/BEAR-C2.git && cd BEAR-C2

chmod +x requirements.sh && ./requirements.sh

./BEAR-C2

root@kitploit:~
## 🧠 Le défi de la simulation d'adversaire :

Répliquer avec précision les **techniques APT** nécessite un `environnement flexible capable d'imiter les protocoles de connexion, les méthodes de chiffrement, les techniques d'exfiltration et les canaux/profils C2` utilisés dans les intrusions modernes. Cependant, atteindre ce niveau de précision a toujours été un défi.

<img width="1366" height="732" alt="main " src="https://assets.kitploit.com/production/public/readmes/54775/8af4474bf61f52114745ec8403b4ea6d01d26a57f85913f1f01b4bba559a1eb7/59654a7b465df184554d5c31ee49293c1f5d9da71a1e6ef81aa0a2fa5b88b8ea-display-v1.webp" />


Chaque fois qu'un opérateur doit tester un **schéma de chiffrement** spécifique avec un **profil d'exfiltration** particulier, un **script C2** distinct `doit être construit pour correspondre au scénario d'attaque.` Par exemple, une simulation peut nécessiter un **chiffrement AES** avec une **exfiltration OneDrive**, tandis qu'une autre peut nécessiter **une méthode de chiffrement différente** combinée à une **exfiltration Dropbox** pour refléter les techniques observées dans les attaques réelles. Ce manque de flexibilité rend le processus inefficace et chronophage.

<img width="1359" height="680" alt="Screenshot From 2026-09-01 05-54-48" src="https://assets.kitploit.com/production/public/readmes/54775/c106129e53832b08e6575610090337721e4e5892eade10bee395fae638326cc2/299229b4ffae9286d368a6e9243c4528d469f5395f166d9b67fa0020beaf5d8a-display-v1.webp" />


C'est pourquoi **BEAR C2** a été développé pour fournir une **simulation d'adversaire** avec une personnalisation complète via le nouveau listener, permettant une configuration transparente des `protocoles de connexion, du chiffrement, de l'exfiltration,` et des techniques de chargement automatisées. Cela garantit que les simulations peuvent refléter avec précision les **intrusions APT** réelles sans avoir besoin de construire des scripts personnalisés pour chaque scénario.


## Exemples de payloads Reaper Node

Reaper Node fournit des exemples de payloads C++ `/Stagers-Loaders/Reaper Node Samples/` qui peuvent être utilisés comme modèles personnalisables pour les environnements où un payload pré-généré n'est pas requis. Les exemples contiennent les champs de configuration essentiels nécessaires pour établir la communication avec l'instance Reaper Node correspondante.

Avant de compiler le payload, les paramètres de connexion et de transport requis doivent être configurés pour correspondre à la configuration de Reaper Node.

### Configuration du payload

La configuration du payload doit fournir des champs de saisie pour les paramètres suivants :

* **Authentication ID**
  L'identifiant utilisé pour associer le payload à l'instance Reaper Node configurée.

* **Server Host**
  L'adresse IP ou le nom d'hôte du point de terminaison Reaper Node.

* **Server Port**
  Le port réseau exposé par Reaper Node pour le protocole de communication sélectionné.

* **Encryption Key**
  Requis lorsque le transport sélectionné utilise le chiffrement. La valeur doit correspondre à la configuration de chiffrement utilisée par Reaper Node. Si le chiffrement est désactivé, ce champ n'est pas requis.

* **User-Agent**
  La valeur d'identification du client HTTP utilisée lors de l'établissement de la communication HTTP/HTTPS initiale. Le payload doit utiliser un User-Agent pris en charge par la configuration Reaper Node correspondante.

Le User-Agent n'a pas besoin d'être identique entre différentes configurations Reaper Node. Un payload peut utiliser n'importe quel User-Agent défini comme pris en charge par le profil Reaper Node sélectionné, tant que la configuration résultante est compatible avec les paramètres de transport côté serveur.

### Exemple de configuration

L'exemple suivant montre une configuration de transport HTTPS avec authentification, adressage serveur, chiffrement et paramètres User-Agent :```cpp
const string AUTH_ID = "YOUR_AUTH_ID";
const string SERVER_HOST = "YOUR_SERVER_HOST";
const int SERVER_PORT = YOUR_SERVER_PORT;
const string KEY = "YOUR_ENCRYPTION_KEY";
const string DEFAULT_USER_AGENT = "YOUR_USER_AGENT";
bool VERIFY_SSL = true;

Cette configuration représente un transport HTTPS avec chiffrement activé. Les valeurs indiquées ci-dessus sont des espaces réservés et doivent être remplacées par les paramètres définis par la configuration Reaper Node correspondante.

L'exemple C++ est destiné à fournir un point de départ pour la personnalisation. Les utilisateurs peuvent modifier la configuration et les paramètres liés au transport en fonction du profil Reaper Node qu'ils testent, puis compiler la charge utile personnalisée pour leur environnement de simulation autorisé.

Le tableau des écouteurs (Listeners Table) fournit une vue d'ensemble centralisée de tous les écouteurs C2 actifs et configurés. Il affiche des détails essentiels tels que le nom de l'écouteur, l'adresse, le protocole réseau, la méthode de chiffrement, le profil d'exfiltration et l'état actuel (Actif ou Arrêté/Déconnecté). Depuis cette interface, les opérateurs peuvent démarrer, arrêter, renommer ou supprimer des écouteurs en toute simplicité. Elle offre également un accès rapide aux clés de chiffrement et aux identifiants d'authentification pour gérer la communication des balises. Ce tableau sert de hub de commande pour orchestrer et surveiller votre infrastructure C2.

Screenshot From 2026-08-26 15-15-37

📋 Nouveautés de cette version

Cette version dispose d'une interface graphique complète qui rationalise les opérations de simulation d'adversaire grâce à une gestion centralisée des écouteurs, un suivi des sessions en temps réel, des profils de communication personnalisables, des workflows d'exfiltration intégrés et des contrôles opérateur flexibles pour une gestion efficace des engagements.

⚠️ REMARQUE : Ce projet est en cours de développement actif. Des fonctionnalités sont continuellement ajoutées et améliorées.

FonctionnalitéDescription
Écouteurs multi-protocolesDoH, HTTPS, HTTP, QUIC, Reverse TCP
Chiffrement par écouteurAES, XOR, RC4, DES, ChaCha20, RSA
Profils d'exfiltrationGoogle Drive, OneDrive, Dropbox
Canaux C2 intégrésCanal de communication C2 intégré Telegram, Discord
Prise en charge des proxysPrise en charge des proxys et redirecteurs SOCKS4, SOCKS4a et SOCKS5
Algorithme de génération de domaine dynamiquePrise en charge de DGA pour une simulation d'infrastructure résiliente
Empreinte JA3SEmpreintes JA3S personnalisables pour la simulation de trafic et le réglage du profil réseau
Profils C2 malléablesPrise en charge des profils C2 malléables communautaires pour une simulation flexible du trafic réseau
Stagers et loadersTechniques automatisées de stager et de loader conçues pour la simulation d'adversaires APT
Outils intégrésObfuscateur de scripts, toolkit de phishing et hébergement de fichiers intégrés
Génération de certificats TLSCertificats TLS auto-signés imitant des fournisseurs de confiance
Personnalisation HTTPEncodage URL Base64 et en-têtes HTTP personnalisés pour la communication client et serveur
Gestionnaire de sessions en temps réelSuivi d'état en direct, surveillance des sessions et capacités de mise à jour en temps réel
Nommage personnalisé et chemins URI

📤 Profils d'exfiltration

Configurez les paramètres d'exfiltration par session pour les fournisseurs de stockage cloud pris en charge tels que Google Drive, OneDrive et Dropbox. L'interface Exfiltration Profile vous permet de définir des jetons d'accès API et des chemins de dossiers de destination, ce qui vous permet de personnaliser les workflows de collecte de données pour chaque session. Chaque session peut utiliser son propre profil d'exfiltration, ce qui facilite le routage des données collectées vers différents fournisseurs de stockage cloud ou destinations selon l'opération.

4

💬 Canaux C2 intégrés

(Agent basé sur Telegram)

La couche de communication Telegram utilise un bot Telegram comme intermédiaire entre le serveur C2 et la charge utile. Le serveur C2 s'authentifie auprès du compte Telegram à l'aide de l'API ID, de l'API Hash et du numéro de téléphone configurés, puis se connecte au bot Telegram précédemment créé via ce compte

5

Le Bot Token du bot est intégré dans la charge utile, ce qui permet à la charge utile de communiquer avec le bot via l'API Telegram. Les commandes sont envoyées du serveur C2 au bot, et le bot les transmet à la charge utile, qui exécute la tâche reçue et renvoie les résultats par le même chemin de communication. Cela crée un canal de commande et de contrôle bidirectionnel utilisant Telegram comme couche de communication.

Telegram

Comment utiliser l'agent Telegram

1. Créer le bot Telegram

Ouvrez @BotFather dans Telegram et créez un nouveau bot à l'aide de /newbot.

  1. Démarrez @BotFather
  2. Envoyez /newbot
  3. Fournissez un nom d'affichage pour le bot
  4. Fournissez un nom d'utilisateur unique se terminant par bot
  5. Copiez le Bot Token généré
630235269-96e06e84-3208-4b2c-935a-b48ca7dd0620

Le Bot Token est requis par l'agent Telegram pour s'authentifier auprès de l'API Telegram Bot.

2. Générer les identifiants de l'API Telegram

Ouvrez le portail officiel de développement de l'API Telegram et créez une nouvelle application.

Générez les identifiants suivants : https://my.telegram.org/apps

  • API ID
  • API Hash
630236626-06dc25d6-b554-44bc-be88-b07796ba7642

Ces identifiants sont utilisés par BEAR-C2 pour authentifier le compte Telegram utilisé pour gérer la communication du bot.

3. Configurer la charge utile Telegram

Ouvrez Telegram Agent.cpp et configurez les paramètres de communication Telegram.

Le Bot Token généré par BotFather doit être placé dans /Stagers-Loaders/C2 Channel Agent Samples/Telegram Agent.cpp avant de compiler la charge utile.

630235299-2a92081e-6158-4174-846e-e908e1074255

Le flux de configuration est le suivant :

BotFather → Bot Token → payload.cpp → Compile

L'API ID et l'API Hash sont utilisés par l'intégration Telegram de BEAR-C2, tandis que le Bot Token est configuré dans la charge utile Telegram afin qu'elle puisse communiquer avec le bot Telegram configuré.


(Agent basé sur Discord)

Cette étape remplace le canal de communication de commande et de contrôle traditionnel par une couche de communication basée sur Discord utilisant l'API Discord Gateway. Au lieu de s'appuyer sur des serveurs dédiés, des adresses IP fixes ou des domaines personnalisés, les opérateurs communiquent avec l'implant simulé via un canal Discord privé.

6

La couche de communication Discord utilise deux bots Discord connectés via le même canal Discord. Un bot est connecté au serveur C2, tandis que le second bot est assigné à la charge utile. Les deux bots communiquent via le canal Discord partagé, permettant les tâches et la communication entre le serveur C2 et la charge utile via Discord.

Comme Discord ne permet pas aux bots de communiquer directement avec d'autres bots, l'utilisation d'un canal partagé fournit le chemin de communication entre les deux parties.

discord

Comment utiliser l'agent Discord

L'agent Discord utilise la passerelle et l'API Discord comme couche de communication entre la charge utile et BEAR-C2. La configuration nécessite des applications Discord Bot, un canal textuel dédié, les permissions de bot requises et les valeurs correspondantes configurées dans l'exemple d'agent C++.

1. Créer les applications Discord Bot

Ouvrez le "Discord Developer Portal" officiel (https://discord.com/developers/applications) et créez les applications Discord Bot requises pour la simulation.

Le canal C2 Discord utilise deux identités de Bot :

  • Bot C2 utilisé par BEAR-C2
  • Bot de charge utile utilisé par l'agent Discord

Pour chaque application, ouvrez les paramètres Bot et générez le Bot Token requis.

Screenshot From 2026-09-09 17-00-12

2. Configurer les permissions du bot Discord

Ouvrez la configuration du Bot dans le Discord Developer Portal et activez Message Content Intent.

Le bot doit également disposer des permissions requises pour le canal textuel Discord utilisé par la simulation, notamment :

  • "View Channel"
  • "Send Messages"
  • "Read Message History"

Ces permissions permettent au bot d'accéder aux messages du canal configuré et d'envoyer des messages via le même chemin de communication. Discord exige le Message Content Intent pour les applications qui doivent recevoir le contenu des messages via l'API.

Screenshot From 2026-09-09 17-05-44

3. Créer et configurer le canal Discord

Créez un canal textuel privé dédié à l'agent Discord et ajoutez les deux applications Bot au canal.

Assurez-vous que les mêmes permissions configurées dans le Discord Developer Portal sont également activées pour les applications Bot dans le canal.

Copiez le Channel ID avec le mode développeur Discord activé. Discord fournit le Channel ID via l'option Copy Channel ID lorsque le mode développeur est activé.

Screenshot From 2026-09-09 17-11-04

Le même Channel ID est utilisé par la configuration C2 et l'agent Discord afin que les deux côtés communiquent via le même canal Discord.

4. Configurer l'exemple d'agent Discord

Ouvrez l'exemple d'agent Discord situé à l'emplacement :

"Stagers-Loaders/C2 Channel Agent Samples/Discord Agent.cpp"

L'exemple fournit des champs de configuration pour le Bot Token Discord, le Channel ID et le Bot User ID :

Screenshot From 2026-09-09 10-18-05

Remplacez les espaces réservés par les valeurs appartenant au Bot de charge utile et au canal Discord dédié.

Le "BOT_USER_ID" identifie le compte Bot utilisé par la charge utile. Les User IDs Discord peuvent être copiés après avoir activé le mode développeur.

5. Configurer le canal Discord dans BEAR-C2

Dans la configuration du canal Discord au sein de BEAR-C2, fournissez le C2 Bot Token, le Channel ID et le Listener Name correspondants.

Screenshot From 2026-09-09 10-26-11

Le Bot C2 et le Bot de charge utile utilisent le même canal Discord comme chemin de communication, tandis que chaque côté s'authentifie à l'aide de son propre Bot Token.

Une fois la configuration Discord et l'exemple de charge utile terminés, compilez l'agent C++ pour l'utiliser dans l'environnement de simulation d'adversaire autorisé.


⚠️ REMARQUE : Limitations des canaux C2

Les canaux C2 introduisent des limitations liées au transfert de données et à l'identification des balises lors de l'utilisation de plateformes de messagerie tierces comme couche de communication entre le serveur C2 et les balises

● Limitations de transfert de données

Telegram et Discord imposent une limite maximale de caractères sur les messages individuels échangés via leurs API de bot. Dans BEAR C2, le canal C2 agit comme une couche de transport entre le serveur C2 et la balise, de sorte que cette limitation s'applique aux données transférées via le canal et non à la taille de la charge utile de la balise elle-même. Les données envoyées du serveur C2 à la balise et les données renvoyées de la balise au serveur C2 peuvent être encodées en Base64 avant transmission. Comme le Base64 augmente la taille de la représentation transmise, la quantité de données originales pouvant être transférées dans un seul message est inférieure à la limite de caractères de la plateforme.

[ Telegram ] 4096 caractères maximum par message, 4000 caractères configurés pour le transfert de données C2

photo_2026-09-05_08-40-22

[ Discord ] 2000 caractères maximum par message, 1400 caractères configurés pour le transfert de données C2

photo_2026-09-05_08-41-54

Les limites configurées sont intentionnellement maintenues en dessous des limites de la plateforme afin de fournir une marge suffisante pour la structure des messages C2 et la surcharge d'encodage. Lorsque les données dépassent la limite configurée, les données encodées doivent être divisées en plusieurs messages et reconstruites par le côté récepteur.

● Identification des balises et attribution des réponses

Les canaux C2 introduisent également une limitation lorsque plusieurs balises partagent le même bot Telegram ou canal Discord. Toutes les balises communiquant via le même bot ou canal utilisent le même chemin de communication, de sorte que le serveur C2 ne peut pas représenter intrinsèquement chaque balise comme une session de communication indépendante. Par exemple, si cinq balises communiquent via le même bot Telegram ou canal Discord, elles apparaîtront comme un seul chemin de communication C2 plutôt que comme cinq balises identifiables indépendamment.

La même limitation affecte les réponses aux commandes. Lorsqu'une commande est distribuée à plusieurs balises via le même bot ou canal, les réponses résultantes sont renvoyées via ce même chemin de communication. Sans mécanisme supplémentaire d'identification des balises, le serveur C2 ne peut pas déterminer de manière fiable quelle balise a généré une réponse spécifique.

La solution directe consiste à attribuer un bot dédié à chaque balise sur Telegram, ou une configuration de canal ou de bot isolée à chaque balise sur Discord. Cela crée une correspondance un à un entre la balise et son chemin de communication, permettant de distinguer les balises individuelles et leurs réponses. Le compromis est une augmentation de l'infrastructure et de la charge de gestion à mesure que le nombre de balises augmente.

Ces limitations sont spécifiques à l'utilisation de plateformes de messagerie comme canaux de transport C2 et sont indépendantes de la charge utile de la balise elle-même.

● Impact pratique

La limitation de taille des messages réduit la quantité de données pouvant être transférées en une seule fois, ce qui peut augmenter le temps nécessaire pour envoyer des commandes et recevoir leur sortie

L'utilisation d'un bot Telegram ou d'un canal Discord partagé fait apparaître plusieurs balises comme une seule balise dans le tableau C2, tandis que les commandes sont délivrées à toutes les balises utilisant ce bot ou canal et que les réponses ne peuvent pas être attribuées de manière fiable à une balise spécifique.


🪝 Simulation de spear phishing

Simulez des campagnes de spear-phishing via une interface dédiée pour configurer et gérer des scénarios de phishing lors d'exercices de simulation d'adversaire autorisés. Le module fournit des contrôles de campagne tels que des limites de soumission de victimes, des paramètres de phishing configurables et une gestion des sessions, permettant aux opérateurs de contrôler le comportement de la campagne et d'évaluer l'interaction des utilisateurs avec des scénarios de phishing simulés. Il est conçu pour prendre en charge des évaluations de phishing contrôlées tout en offrant aux opérateurs une meilleure visibilité et un meilleur contrôle sur l'exécution de la campagne.

7

🔗 Hébergement de fichiers

Hébergez et distribuez des fichiers via une interface dédiée Host File avec des paramètres de serveur configurables et une livraison automatisée des fichiers. Les fichiers hébergés sont automatiquement chargés lorsqu'ils sont accédés, sans nécessiter d'interaction de l'utilisateur ni d'invite de téléchargement manuelle. L'interface fournit une gestion centralisée de l'hébergement et de la livraison de fichiers pour des workflows contrôlés de simulation d'adversaire et de tests de sécurité autorisés.

Screenshot From 2026-07-03 09-18-06

🔐 Obfuscateur de scripts

L'obfuscateur de scripts fournit un moteur d'obfuscation complet prenant en charge les charges utiles PS1, BAT, HTML, VBS, JS et PY avec plusieurs couches d'obfuscation configurables. Il inclut le renommage de variables et de fonctions, le chiffrement de chaînes, l'insertion de code inutile, l'obfuscation multicouche, les techniques anti-débogage et le chiffrement de charge utile basé sur XOR. Ces fonctionnalités augmentent la complexité de l'analyse, réduisent la lisibilité des scripts et rendent l'ingénierie inverse nettement plus difficile tout en aidant les charges utiles à mieux résister à l'analyse statique.

Script Obfuscator


La liste complète des groupes APT simulés par BEAR-C2 tout au long de son développement

Pays
d'origine
Russie 🇷🇺Chine 🇨🇳Corée du Nord 🇰🇵Iran 🇮🇷
Groupes APT

Cozy Bear ✅
Voodoo Bear ✅
Fancy Bear ✅
Energetic Bear ✅
Berserk Bear ✅
Gossamer Bear ✅
Primitive Bear ✅
Ember Bear ✅
Venomous Bear ✅

Mustang Panda ✅
Glacial Panda
Wicked Panda ✅
Goblin Panda
Anchor Panda
Deep Panda
Samurai Panda

📫 Contact

TelegramTwitter/XLinkedInReddit
Télécharger l’outil
Noms de campagne définis par l'utilisateur et chemins URI configurables pour une flexibilité opérationnelle
Contrôles de reconnexion et de délai d'attenteDélais de reconnexion configurables et seuils de délai d'attente ajustables par session
Identifiants d'authentificationJetons d'authentification uniques avec contrôles d'expiration intégrés pour une sécurité renforcée
Utilitaires de durcissement de sessionNettoyeur d'historique, limiteur de sessions et gestion des délais d'authentification pour les sessions actives

Phantom Panda

Sunrise Panda

Ethereal Panda
[**Labyrinth Chollima ✅**](https://github.com/S3N4T0R-0X0/APTs-Adversary-Simulation/tree/main/North%20Koreans%20APT/Labyrinth%20Chollima)
[**Velvet Chollima ✅**](https://github.com/S3N4T0R-0X0/APTs-Adversary-Simulation/tree/main/North%20Koreans%20APT/Velvet%20Chollima)
[**Famous Chollima ✅**](https://github.com/S3N4T0R-0X0/APTs-Adversary-Simulation/tree/main/North%20Koreans%20APT/Famous%20Chollima)
[**Stardust Chollima ✅**](https://github.com/S3N4T0R-0X0/APTs-Adversary-Simulation/tree/main/North%20Koreans%20APT/Stardust%20Chollima)
[**Ricochet Chollima ✅**](https://github.com/S3N4T0R-0X0/APTs-Adversary-Simulation/tree/main/North%20Koreans%20APT/Ricochet%20Chollima)
[**Silent Chollima ✅**](https://github.com/S3N4T0R-0X0/APTs-Adversary-Simulation/tree/main/North%20Koreans%20APT/Silent%20Chollima)

Helix Kitten
Pioneer Kitten
Clever Kitten
Static Kitten ✅
Tracer Kitten
Nemesis Kitten
Charming Kitten ✅
Pulsar Kitten
Remix Kitten
Haywire Kitten