Skip to content
KitploitKITPLOIT
FerramentasExploitsBlog
Log in
Enviar
FerramentasExploitsBlog
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
Octopus — Servidor C2 de pré-operação de código aberto baseado em Python e PowerShell | Kitploit
Ferramentas/GitHubGitHub/mhaskar/octopus
Ferramentas de Criptografia/DescriptografiaGeração de PayloadsColeta de InformaçõesTestes de PenetraçãoComando e ControleRed Teaming
GitHubmhaskar/octopus

Octopus

Servidor C2 de pré-operação de código aberto baseado em Python e PowerShell

Ver Repositório
76315520há 5 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

O que é o Octopus?

Octopus é um servidor C2 de pré-operação de código aberto baseado em Python que pode controlar um agente Octopus PowerShell através de HTTP/S.

O principal objetivo de criar o Octopus é para uso antes de qualquer operação de red team, onde, em vez de iniciar o engajamento com todo o seu arsenal operacional e infraestrutura, você pode usar o Octopus primeiro para atacar o alvo e coletar informações antes de iniciar sua operação real de red team.

Octopus funciona de uma forma muito simples para executar comandos e trocar informações com o C2 através de um canal bem criptografado, o que o torna discreto e indetectável por quase todas as soluções de antivírus, proteção de endpoint e monitoramento de rede.

Um recurso interessante do Octopus é chamado ESA, que significa "Endpoint Situational Awareness" (Consciência Situacional do Endpoint), que coleta algumas informações importantes sobre o alvo para ajudá-lo a obter um melhor entendimento dos endpoints da rede alvo que você enfrentará durante sua operação, dando assim a oportunidade de personalizar sua operação real com base nessas informações.

Octopus é projetado para ser furtivo e oculto durante a comunicação com o C2, pois usa AES-256 por padrão para seu canal criptografado entre o agente PowerShell e o servidor C2. Você também pode optar por usar SSL/TLS fornecendo um certificado válido para seu domínio e configurando o servidor Octopus C2 para usá-lo.

Principais recursos do Octopus

Octopus vem com uma série de recursos que permitem obter uma visão sobre seu próximo engajamento antes mesmo de precisar implantar todo seu arsenal ou ferramentas e técnicas, como:

  • Controlar agentes através de HTTP/S.
  • Executar comandos do sistema.
  • Baixar / Enviar arquivos.
  • Carregar módulos externos do PowerShell.
  • Usar canais criptografados (AES-256) entre C2 e agentes.
  • Usar técnicas discretas para executar comandos e transferir resultados.
  • Criar listeners personalizados e múltiplos para cada alvo.
  • Gerar diferentes tipos de payloads.
  • Suportar todas as versões do Windows com PowerShell 2.0 e superior.
  • Executar o agente executável do Octopus no Windows sem tocar no processo powershell.exe.
  • Recurso de coleta automática de informações do endpoint (consciência situacional do endpoint).

Requisitos

Você pode instalar todos os requisitos do Octopus via :

pip install -r requirements.txt

Você precisa instalar o nasm para Linux e o compilador mingw-w64 para usar o recurso de shellcoding e o agente de argumentos falsificados.

Você pode instalar o nasm em distribuições baseadas em Debian usando:

apt install nasm

E você pode instalar o mingw-w64 em distribuições baseadas em Debian usando:

apt install mingw-w64

Octopus foi testado nos seguintes sistemas operacionais:

  • Ubuntu (18.04)
  • Ubuntu (16.04)
  • Kali Linux (2019.2)

Você também precisará instalar o mono para garantir que possa compilar o código-fonte C# sem problemas.

Octopus depende do binário mono-csc para compilar o código-fonte C# e você pode instalá-lo com o seguinte comando: apt install mono-devel, que foi testado no Kali e Ubuntu 16.04.

Você pode usar o Octopus sem instalar o mono, mas não poderá usar o comando generate_exe.

Observe também que a compilação do C# depende do assembly System.Management.Automation.dll com o hash SHA1 a43ed886b68c6ee913da85df9ad2064f1d81c470.

Se você encontrar algum problema ao usar o Octopus, fique à vontade para abrir um relatório de bug!

Instalação

Primeiro, certifique-se de baixar a versão mais recente do Octopus usando o seguinte comando:

git clone https://github.com/mhaskar/Octopus/

Em seguida, você precisa instalar os requisitos usando o seguinte comando:

pip install -r requirements.txt

Depois disso, você pode iniciar o servidor Octopus executando o seguinte:

./octopus.py

Você será saudado com o seguinte ao executá-lo:

┌─[askar@hackbook]─[/opt/redteaming/Octopus]
└──╼ $python3 octopus.py



      ___           ___                       ___           ___         ___           ___
     /  /\         /  /\          ___        /  /\         /  /\       /__/\         /  /\
    /  /::\       /  /:/         /  /\      /  /::\       /  /::\      \  \:\       /  /:/_
   /  /:/\:\     /  /:/         /  /:/     /  /:/\:\     /  /:/\:\      \  \:\     /  /:/ /\
  /  /:/  \:\   /  /:/  ___    /  /:/     /  /:/  \:\   /  /:/~/:/  ___  \  \:\   /  /:/ /::\
 /__/:/ \__\:\ /__/:/  /  /\  /  /::\    /__/:/ \__\:\ /__/:/ /:/  /__/\  \__\:\ /__/:/ /:/\:\
 \  \:\ /  /:/ \  \:\ /  /:/ /__/:/\:\   \  \:\ /  /:/ \  \:\/:/   \  \:\ /  /:/ \  \:\/:/~/:/
  \  \:\  /:/   \  \:\  /:/  \__\/  \:\   \  \:\  /:/   \  \::/     \  \:\  /:/   \  \::/ /:/
   \  \:\/:/     \  \:\/:/        \  \:\   \  \:\/:/     \  \:\      \  \:\/:/     \__\/ /:/
    \  \::/       \  \::/          \__\/    \  \::/       \  \:\      \  \::/        /__/:/
     \__\/         \__\/                     \__\/         \__\/       \__\/         \__\/


                    v1.2 stable !


 Octopus C2 | Control your shells


Octopus >>

Uso

Usar o Octopus é bastante simples: você só precisa iniciar um listener e gerar seu agente com base nas informações desse listener.

Você pode gerar quantos listeners precisar e, em seguida, começar a interagir com seus agentes que se conectam a eles.

Configuração de perfil

Antes de começar a usar o Octopus, você precisa configurar um perfil de manipulação de URL que controlará o comportamento e as funções do C2. Como o Octopus é um C2 baseado em HTTP, ele depende de URLs para lidar com as conexões e garantir que as URLs não sirvam como assinaturas ou IoCs na rede que você está atacando; as URLs podem ser facilmente personalizadas e renomeadas conforme necessário.

A configuração de perfil atualmente suporta apenas manipulação de URLs, valor de auto-kill e cabeçalhos.

Configurando seu perfil

Para começar a configurar seu perfil, você precisa editar o arquivo profile.py, que contém várias variáveis-chave, que são:

  • file_reciever_url: lida com o download de arquivos.
  • report_url: lida com relatórios ESA.
  • command_send_url: lida com os comandos que serão enviados ao alvo.
  • command_receiver_url: lida com os comandos que serão executados no alvo.
  • first_ping_url: lida com a primeira conexão do alvo.
  • server_response_header: este cabeçalho aparecerá em cada resposta.
  • auto_kill: variável para controlar quando o agente será morto após N tentativas de conexão com o C2.

Exemplo:

#!/usr/bin/python3

# este é o perfil do web listener para Octopus C2
# você pode personalizar seu perfil para lidar com URLs específicas para se comunicar com o agente
# TODO: adicionar a capacidade de personalizar os cabeçalhos das requisições

# lidando com o download de arquivos
# Ex: /qualquercoisa
# Ex: /qualquercoisa.php
file_receiver_url = "/messages"


# lidando com a geração de relatórios
# Ex: /qualquercoisa
# Ex: /qualquercoisa.php
report_url = "/calls"

# envio de comandos para o agente (armazena o comando a ser executado em um host)
# deixe <hostname> como está, no mesmo formato
# Ex: /profile/<hostname>
# Ex: /messages/<hostname>
# Ex: /bills/<hostname>
command_send_url = "/view/<hostname>"


# lidando com o comando executado
# Ex: /qualquercoisa
# Ex: /qualquercoisa.php
command_receiver_url = "/bills"


# lidando com a primeira conexão do agente
# Ex: /qualquercoisa
# Ex: /qualquercoisa.php
first_ping_url = "/login"

# será retornado em cada resposta como cabeçalho Server
server_response_header = "nginx"

# retornará uma página branca que inclui o script HTA
mshta_url = "/hta"

# valor de auto-kill após n tentativas

auto_kill = 10


O agente e os listeners serão configurados para usar este perfil para se comunicarem. Em seguida, precisamos saber como criar um listener.

Baixar ferramenta