Skip to content
KitploitKITPLOIT
ToolsExploitsBlog
Log in
Einreichen
ToolsExploitsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

FeedsKontaktDatenschutz© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
Octopus — Open-Source-Pre-Operation-C2-Server basierend auf Python und PowerShell | Kitploit
Tools/GitHubGitHub/mhaskar/octopus
Verschlüsselungs-/EntschlüsselungstoolsPayload-GenerierungInformationsbeschaffungPenetrationstestsCommand and ControlRed Teaming
GitHubmhaskar/octopus

Octopus

Open-Source-Pre-Operation-C2-Server basierend auf Python und PowerShell

Repository anzeigen
76315520vor 5 JahrenVon Kitploit geprüft

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen

Was ist Octopus ?

Octopus ist ein Open-Source C2-Server für die Vorbereitungsphase, der auf Python basiert und einen Octopus PowerShell-Agenten über HTTP/S steuern kann.

Der Hauptzweck von Octopus ist der Einsatz vor einer Red-Team-Operation. Anstatt die eigentliche Operation mit dem gesamten Arsenal und der Infrastruktur zu beginnen, kann Octopus zuerst verwendet werden, um das Ziel anzugreifen und Informationen zu sammeln, bevor die eigentliche Red-Team-Operation startet.

Octopus arbeitet auf sehr einfache Weise: Es führt Befehle aus und tauscht Informationen mit dem C2 über einen gut verschlüsselten Kanal aus. Dadurch bleibt es unauffällig und von nahezu jeder AV-, Endpoint-Schutz- und Netzwerküberwachungslösung unerkannt.

Eine coole Funktion von Octopus heißt ESA, was für 'Endpoint Situational Awareness' (Endpunkt-Situationsbewusstsein) steht. Diese sammelt wichtige Informationen über das Ziel, um ein besseres Verständnis der Netzwerk-Endpunkte zu gewinnen, denen man während der Operation gegenübersteht. So kann man die eigentliche Operation anhand dieser Informationen anpassen.

Octopus ist so konzipiert, dass es bei der Kommunikation mit dem C2 heimlich und verdeckt bleibt. Standardmäßig wird AES-256 für den verschlüsselten Kanal zwischen dem PowerShell-Agenten und dem C2-Server verwendet. Optional kann auch SSL/TLS genutzt werden, indem ein gültiges Zertifikat für die eigene Domain bereitgestellt und der Octopus C2-Server entsprechend konfiguriert wird.

Wichtige Funktionen von Octopus

Octopus ist mit einer Reihe von Funktionen ausgestattet, die es ermöglichen, Einblicke in den bevorstehenden Einsatz zu gewinnen, bevor das gesamte Arsenal oder die Tools und Techniken zum Einsatz kommen müssen, wie z. B.:

  • Steuerung von Agenten über HTTP/S.
  • Ausführen von Systembefehlen.
  • Herunterladen / Hochladen von Dateien.
  • Laden externer PowerShell-Module.
  • Verwendung verschlüsselter Kanäle (AES-256) zwischen C2 und Agenten.
  • Einsatz unauffälliger Techniken zur Befehlsausführung und Ergebnisübertragung.
  • Erstellung benutzerdefinierter und mehrerer Listener für jedes Ziel.
  • Generierung verschiedener Payload-Typen.
  • Unterstützung aller Windows-Versionen mit PowerShell 2.0 und höher.
  • Ausführung des Octopus-Windows-Executable-Agenten, ohne den powershell.exe-Prozess zu berühren.
  • Automatische Informationssammlung vom Endpunkt (Endpoint Situational Awareness) – Funktion.

Voraussetzungen

Sie können alle Abhängigkeiten von Octopus wie folgt installieren:

pip install -r requirements.txt

Sie müssen nasm für Linux und den Compiler mingw-w64 installieren, um die Shellcoding-Funktion und den Spoofed-Args-Agenten nutzen zu können.

Sie können nasm auf Debian-basierten Distributionen mit folgendem Befehl installieren:

apt install nasm

Und mingw-w64 auf Debian-basierten Distributionen mit:

apt install mingw-w64

Octopus wurde auf den folgenden Betriebssystemen getestet:

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

Sie müssen auch Mono installieren, um sicherzustellen, dass der C#-Quellcode problemlos kompiliert werden kann.

Octopus verwendet das Mono-csc-Binary zur Kompilierung des C#-Quellcodes. Sie können es mit folgendem Befehl installieren: apt install mono-devel, was auf Kali und Ubuntu 16.04 getestet wurde.

Sie können Octopus auch ohne Mono verwenden, können dann aber den Befehl generate_exe nicht nutzen.

Beachten Sie auch, dass die Kompilierung von C# von der Assembly System.Management.Automation.dll mit dem SHA1-Hash a43ed886b68c6ee913da85df9ad2064f1d81c470 abhängt.

Wenn Sie auf Probleme mit Octopus stoßen, können Sie gerne einen Fehlerbericht einreichen!

Installation

Laden Sie zunächst die neueste Version von Octopus mit folgendem Befehl herunter:

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

Installieren Sie dann die Abhängigkeiten mit folgendem Befehl:

pip install -r requirements.txt

Anschließend können Sie den Octopus-Server mit folgendem Befehl starten:

./octopus.py

Nach dem Start wird Folgendes angezeigt:

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



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


                    v1.2 stable !


 Octopus C2 | Control your shells


Octopus >>

Verwendung

Octopus ist recht einfach zu bedienen. Es muss lediglich ein Listener gestartet und ein Agent basierend auf den Informationen dieses Listeners generiert werden.

Es können beliebig viele Listener erstellt und anschließend mit den Agenten interagiert werden, die sich mit ihnen verbinden.

Profileinrichtung

Bevor Octopus verwendet werden kann, muss ein URL-Handling-Profil eingerichtet werden, das das Verhalten und die Funktionen des C2 steuert. Da Octopus ein HTTP-basierter C2 ist, werden URLs zur Verwaltung der Verbindungen verwendet. Um zu verhindern, dass die URLs als Signaturen oder IoC im angegriffenen Netzwerk dienen, können die URLs nach Bedarf einfach angepasst und umbenannt werden.

Die Profileinrichtung unterstützt derzeit nur URL-Handling, Auto-Kill-Wert und Header.

Profil einrichten

Um das Profil einzurichten, muss die Datei profile.py bearbeitet werden, die mehrere wichtige Variablen enthält:

  • file_reciever_url: Verarbeitet das Herunterladen von Dateien.
  • report_url: Verarbeitet ESA-Berichte.
  • command_send_url: Verarbeitet die Befehle, die an das Ziel gesendet werden.
  • command_receiver_url: Verarbeitet die Befehle, die auf dem Ziel ausgeführt werden.
  • first_ping_url: Verarbeitet die erste Verbindung vom Ziel.
  • server_response_header: Dieser Header wird in jeder Antwort angezeigt.
  • auto_kill: Variable zur Steuerung, wann der Agent nach N fehlgeschlagenen Verbindungen mit dem C2 beendet wird.

Beispiel:

#!/usr/bin/python3

# this is the web listener profile for Octopus C2
# you can customize your profile to handle a specific URLs to communicate with the agent
# TODO : add the ability to customize the request headers

# handling the file downloading
# Ex : /anything
# Ex : /anything.php
file_receiver_url = "/messages"


# handling the report generation
# Ex : /anything
# Ex : /anything.php
report_url = "/calls"

# command sending to agent (store the command will be executed on a host)
# leave <hostname> as it with the same format
# Ex : /profile/<hostname>
# Ex : /messages/<hostname>
# Ex : /bills/<hostname>
command_send_url = "/view/<hostname>"


# handling the executed command
# Ex : /anything
# Ex : /anything.php
command_receiver_url = "/bills"


# handling the first connection from the agent
# Ex : /anything
# Ex : /anything.php
first_ping_url = "/login"

# will return in every response as Server header
server_response_header = "nginx"

# will return white page that includes HTA script
mshta_url = "/hta"

# auto kill value after n tries

auto_kill = 10


Tool herunterladen