GUI em Python para executar o capemon em uma VM autônoma. Fornece um subconjunto do processamento e dos resultados do CAPE (Configuration And Payload Extraction).

A Interface
- Abas na parte superior: Start, depois uma por visualização de resultado (Info, Behavior, Signatures, Payloads,
Yara, Configs, Strings, Debugger, JS Log, Network).
- A aba Start agrupa a seleção de alvo, as opções de pacote, o monitor e os sinalizadores de log em
cartões; as ações (Launch, Kill, relatórios, Zip Results) permanecem fixadas na parte inferior da
janela, para que não rolem para fora da tela.
- Temas escuro e claro, alternados na barra de status no canto inferior direito ou em Settings.
A escolha é gravada em
cfg.ini e restaurada na próxima execução.
- Processe Payloads e Configs antes de Signatures. Uma assinatura só vê o que está nos
resultados quando é executada, e várias leem os dados de payload, config e yara - executar a
passagem primeiro faria com que os resultados fossem silenciosamente subnotificados em vez de falhar. O botão Signatures permanece desabilitado
até que essas abas tenham sido executadas, e sua dica de ferramenta indica quais estão pendentes.

Trabalhando na UI
-
tools/uidev/ constrói os painéis reais fora da tela e os grava em PNGs, para que uma alteração de layout
possa ser testada rapidamente e capturada em tela sem iniciar uma análise. Consulte
tools/uidev/README.md.
-
Os mesmos scripts são executados no CI em cada pull request, em um runner Windows, e enviam as
renderizações como artefato.
-
Crie uma VM Windows 10 adequada para executar malware.
-
Instale o Python na VM, testado em versões de Python de 64 bits 3.11, 3.12 e 3.12. Adicione o Python ao path.
-
Baixe e instale ambos os Microsoft Visual C++ Redistributables:
-
Instale o CAPEsolo.
-
Tire um snapshot da sua VM.
Início Rápido
- Abra uma janela de comando como administrador.
- Digite capesolo para executar.
Como alternativa, crie um atalho para CAPEsolo.exe,
que estará no subdiretório Scripts do mesmo local do seu arquivo python.exe.
- Em Avançado, marque 'Executar como administrador'
- Um arquivo de ícone está disponível na pasta de instalação do CAPEsolo em site-packages.
Os resultados da análise são encontrados em C:\Users\Public\CAPEsolo\analysis.
- Pode ser configurado em C:\Users\Public\CAPEsolo\cfg.ini
- As configurações ali substituem os padrões empacotados em python-path\site-packages\CAPEsolo\cfg.ini,
e sobrevivem a
pip install --upgrade CAPEsolo, que sobrescreve a cópia empacotada.
- Inclua apenas as chaves que deseja alterar; as demais usam os padrões empacotados.
Assinaturas da comunidade
- O CAPEsolo inclui apenas suas próprias assinaturas. As assinaturas da comunidade CAPEv2 / CAPESandbox vão em
C:\Users\Public\CAPEsolo\signatures (ao lado de cfg.ini), sem modificações. Update (abaixo) pode preencher
sua subpasta
community a partir de https://github.com/CAPESandbox/community, ou copie os arquivos para lá
você mesmo.
- As subpastas são verificadas;
deprecated e linux são ignoradas. Arquivos adicionados ou editados são reconhecidos
na próxima passagem de assinaturas, sem reiniciar.
- Uma assinatura ali substitui uma assinatura incluída com o mesmo nome. Uma sua, fora de
community, também prevalece sobre uma de mesmo nome dentro dela.
- Uma assinatura que precisa de um módulo do CAPEv2 que o CAPEsolo não possui é ignorada, e o log de análise
indica o módulo ausente. Uma que lê uma seção de resultados que o CAPEsolo não produz (Suricata,
por exemplo) é carregada, mas nunca corresponde.
- Arquivos de dados opcionais que essas assinaturas procuram na raiz do CAPEv2 (
extra/msft-public-ips.csv,
data/dga.bloom) são lidos de C:\Users\Public\CAPEsolo.
Regras YARA
- O CAPEsolo inclui as suas regras CAPE. As suas próprias regras vão em C:\Users\Public\CAPEsolo\yara, e
as regras da comunidade vão na sua subpasta
community. Ambas são analisadas juntamente com as regras CAPE.
Quando dois ficheiros partilham o mesmo nome: Desktop\custom tem prioridade, depois a sua pasta, depois community, depois
as regras incluídas no pacote.
pip install --upgrade CAPEsolo repõe as regras incluídas no pacote.
Atualização (separador Start)
- Pergunta o que descarregar:
- YARA rules - CAPEsolo (selecionado por predefinição) e CAPEv2 reconstroem as regras incluídas no pacote (as
regras CAPE e as regras do monitor que o capemon usa no guest) a partir das que estiverem selecionadas. Quando
ambos têm um ficheiro, é usado o do CAPEsolo.
- YARA rules - Community substitui
yara\community pelo data/yara/CAPE do CAPESandbox/community.
- Signatures - Community substitui
signatures\community pelos modules/signatures/windows e
all do CAPESandbox/community.
- Os seus próprios ficheiros, e a regra guardada no separador Debugger, nunca são tocados. Tudo é descarregado
antes de qualquer substituição, pelo que uma atualização falhada mantém o que lá estava.
- As mesmas escolhas estão disponíveis como
capesolo --update_yara capesolo,capev2,community (sem valor
significa capesolo), capesolo --update_signatures, e a ferramenta MCP capesolo_update_yara.
Relatórios (separador Start)
- Reports constrói o relatório JSON e/ou HTML (ambos selecionados por predefinição) a partir de uma única passagem sobre a
análise. Cada um é escrito no Desktop e no diretório de análise.
Reverter a VM após cada análise.