Skip to content
KitploitKITPLOIT
FerramentasBlog
Enviar
FerramentasBlog
Enviar

Ferramentas de Hacking, PenTest e Cibersegurança para o seu Arsenal de Segurança!

Kitploit é um diretório de ferramentas de hacking, cibersegurança e pentesting. Descubra as últimas atualizações de projetos para encontrar vulnerabilidades, analisar sistemas, automatizar testes e fortalecer sua segurança.

··Feeds·Contato·Privacidade·© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
execute-assembly-pico — Um PICO para Crystal Palace que implementa hospedagem de CLR para executar um assembly .NET em memória. | Kitploit
Ferramentas/GitHubGitHub/ofasgard/execute-assembly-pico
ShellcodePós-ExploraçãoTestes de PenetraçãoRed TeamingDesenvolvimento de Payloads
GitHubofasgard/execute-assembly-pico

execute-assembly-pico

Um PICO para Crystal Palace que implementa hospedagem de CLR para executar um assembly .NET em memória.

Ver Repositório
14218há 6 mesesRevisado pelo Kitploit

Mais Populares

Ver todos →

Descubra as ferramentas mais usadas pela nossa comunidade.

Explore todas as ferramentas

Navegue pela nossa coleção de ferramentas

Ver todas as ferramentas →
Compartilhar

Executar Assembly PICO

Um PICO para Crystal Palace que implementa hospedagem nativa de CLR para executar um assembly .NET anexado em memória, usando a mesma técnica do gerador de shellcode donut. Isso permite carregar ferramentas .NET como Rubeus ou Seatbelt a partir de código independente de posição, sem gravá-las no disco.

Uma captura de tela do PICO em ação, executando um assembly Seatbelt anexado

Compilação

Você precisará do MinGW GCC, do utilitário zip e dos executáveis CPL necessários para vincular o projeto. Modifique config.spec para especificar o assembly .NET que deseja vincular ao projeto e os argumentos de linha de comando que deseja passar. Modifique Makefile para especificar a localização de crystalpalace.jar.

Para compilar o PICO isoladamente (como um COFF), execute make pico. Para compilar o runner de exemplo e vinculá-lo ao PICO, execute make runner.

O runner de exemplo é gravado em out/runner.bin. A configuração padrão invoca um assembly Rubeus anexado para executar "asktgt" com algumas credenciais fictícias genéricas quando você o executa:

Uma captura de tela do PICO em ação, executando um assembly Rubeus anexado

Usando o PICO

A assinatura do ponto de entrada do PICO é:

root@kitploit:~
HRESULT (*EXECUTE_ASSEMBLY_PICO)(char *assembly, size_t assembly_len, WCHAR *argv[], int argc);

Os dois primeiros argumentos devem conter um ponteiro para um assembly .NET bruto e seu tamanho. Os próximos dois argumentos são usados para passar parâmetros de string para o assembly quando ele é invocado.

Capturando a Saída

Este PICO apenas invoca o assembly com os argumentos fornecidos. Ele não tenta capturar a saída.

Se você precisar fornecer entrada via STDIN ou capturar a saída do STDOUT, modifique seu loader para usar chamadas de API WIN32 como CreatePipe() e SetStdHandle() e conecte os dispositivos padrão de E/S do seu processo a um pipe anônimo. Depois, você pode ler e escrever nele como de costume.

Créditos

  • Raphael Mudge por Crystal Palace e LibTCG.
  • XPNSec por este gist que me ajudou a entender o processo básico de hospedagem de CLR.
  • TheWover pelo gerador/loader Donut. Referenciei extensivamente a execução de assembly em memória dele e usei clr.h diretamente no PICO.
Baixar ferramenta