Interface graphique Python pour exécuter capemon dans une VM autonome. Fournit un sous-ensemble du traitement et des résultats de CAPE (Configuration And Payload Extraction).

L'interface
- Des onglets en haut : Start, puis un par vue de résultats (Info, Behavior, Signatures, Payloads,
Yara, Configs, Strings, Debugger, JS Log, Network).
- L'onglet Start regroupe la sélection de la cible, les options de package, les indicateurs de
moniteur et de journalisation dans des cartes ; les actions (Launch, Kill, rapports, Zip Results)
restent épinglées en bas de la fenêtre, afin qu'elles ne défilent pas hors de vue.
- Thèmes sombre et clair, commutables depuis la barre d'état en bas à droite ou depuis Settings.
Le choix est écrit dans
cfg.ini et restauré au prochain lancement.
- Traitez Payloads et Configs avant Signatures. Une signature ne voit que ce qui se trouve
dans les résultats au moment où elle s'exécute, et plusieurs lisent les données de payload, de
config et de yara - exécuter la passe en premier sous-signalerait discrètement plutôt que d'échouer.
Le bouton Signatures reste désactivé tant que ces onglets n'ont pas été exécutés, et son infobulle
indique lesquels sont en attente.

Travailler sur l'interface
-
tools/uidev/ construit les vrais panneaux hors écran et les écrit en PNG, afin qu'un changement
de mise en page puisse être testé rapidement et capturé en image sans lancer d'analyse. Voir
tools/uidev/README.md.
-
Les mêmes scripts s'exécutent en CI à chaque pull request, sur un runner Windows, et téléversent
les rendus en tant qu'artefact.
-
Créez une VM Windows 10 adaptée à l'exécution de logiciels malveillants.
-
Installez Python dans la VM, testé sur les versions 64 bits de Python 3.11, 3.12 et 3.12. Ajoutez Python au PATH.
-
Téléchargez et installez les deux Microsoft Visual C++ Redistributables :
-
Installez CAPEsolo.
-
Prenez un instantané de votre VM.
Démarrage rapide
- Ouvrez une fenêtre de commande administrateur.
- Tapez capesolo pour lancer.
Vous pouvez également créer un raccourci vers CAPEsolo.exe,
qui se trouvera dans le sous-répertoire Scripts au même emplacement que votre fichier python.exe.
- Sous Avancé, cochez « Exécuter en tant qu'administrateur »
- Un fichier d'icône est disponible dans le dossier d'installation de CAPEsolo sous site-packages.
Les résultats d'analyse se trouvent dans C:\Users\Public\CAPEsolo\analysis.
- Peuvent être configurés dans C:\Users\Public\CAPEsolo\cfg.ini
- Les paramètres qui s'y trouvent remplacent les valeurs par défaut empaquetées dans python-path\site-packages\CAPEsolo\cfg.ini,
et survivent à
pip install --upgrade CAPEsolo, qui écrase la copie empaquetée.
- N'incluez que les clés que vous souhaitez modifier ; les autres reviennent aux valeurs par défaut empaquetées.
Signatures communautaires
- CAPEsolo ne fournit que ses propres signatures. Les signatures communautaires CAPEv2 / CAPESandbox vont dans
C:\Users\Public\CAPEsolo\signatures (à côté de cfg.ini), sans modification. Update (ci-dessous) peut remplir
son sous-dossier
community depuis https://github.com/CAPESandbox/community, ou vous pouvez y copier des fichiers
vous-même.
- Les sous-dossiers sont analysés ;
deprecated et linux sont ignorés. Les fichiers ajoutés ou modifiés sont pris
en compte à la passe de signatures suivante, sans redémarrage.
- Une signature qui s'y trouve remplace une signature fournie portant le même nom. Une des vôtres, en dehors de
community, l'emporte également sur une signature du même nom à l'intérieur de celui-ci.
- Une signature qui nécessite un module CAPEv2 que CAPEsolo ne possède pas est ignorée, et le journal d'analyse
nomme le module manquant. Une signature qui lit une section de résultats que CAPEsolo ne produit pas (Suricata,
par exemple) se charge mais ne correspond jamais.
- Les fichiers de données optionnels que ces signatures recherchent sous la racine de CAPEv2 (
extra/msft-public-ips.csv,
data/dga.bloom) sont lus depuis C:\Users\Public\CAPEsolo.
Règles YARA
- CAPEsolo embarque ses règles CAPE. Vos propres règles vont dans C:\Users\Public\CAPEsolo\yara, et
les règles communautaires vont dans son sous-dossier
community. Les deux sont analysées en même temps que les règles CAPE.
Lorsque deux fichiers portent le même nom : Desktop\custom l'emporte, puis votre dossier, puis community, puis
les règles empaquetées.
pip install --upgrade CAPEsolo restaure les règles empaquetées.
Mise à jour (onglet Start)
- Demande quoi télécharger :
- YARA rules - CAPEsolo (coché par défaut) et CAPEv2 reconstruisent les règles empaquetées (les
règles CAPE et les règles du moniteur que capemon utilise dans l'invité) à partir de celles qui sont cochées. Lorsque
les deux ont un fichier, celui de CAPEsolo est utilisé.
- YARA rules - Community remplace
yara\community par le data/yara/CAPE de CAPESandbox/community.
- Signatures - Community remplace
signatures\community par les modules/signatures/windows et
all de CAPESandbox/community.
- Vos propres fichiers, ainsi que la règle enregistrée dans l'onglet Debugger, ne sont jamais touchés. Tout est téléchargé
avant que quoi que ce soit ne soit remplacé, ainsi une mise à jour échouée conserve ce qui était présent.
- Les mêmes choix sont disponibles via
capesolo --update_yara capesolo,capev2,community (aucune valeur
signifie capesolo), capesolo --update_signatures, et l'outil MCP capesolo_update_yara.
Rapports (onglet Start)
- Reports génère le rapport JSON et/ou HTML (les deux cochés par défaut) à partir d'une seule passe sur
l'analyse. Chacun est écrit sur le Bureau et dans le répertoire d'analyse.
Rétablissez la VM après chaque analyse.