diff --git a/README.md b/README.md index 4ea89ed..6f937ea 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,6 @@ +# Credits +**Forked from https://github.com/mhaskar/Octopus/** + # What is Octopus ? ![](https://img.shields.io/badge/python-3-yellow) Octopus is an open source, pre-operation C2 server based on python which can control an Octopus powershell agent through HTTP/S. @@ -29,6 +32,26 @@ * **Gather information automatically from the endpoint (endpoint situational awareness) feature.** # Requirements +This build was tested on +* Ubuntu 20.04 +* Ubuntu 24.04 +* Kali Rolling (2025) +* Debian 11/12/13 + +For recent Debian based versions of Linux (Debian/Ubuntu/Kali): +``` +apt install -y git python3-pip python3-flask python3-requests python3-termcolor python3-tabulate nasm mingw-w64 mono-devel +python3 -m pip install pycryptodome +git clone https://github.com/tijldeneut/Octopus/ && cd Octopus +./octopus.py +``` +_Note: the pip install command is required because apt install python3-pycryptodome does not support 'from Crypto import Random' for some reason_ + +Original release (https://github.com/mhaskar/Octopus) has been tested on the following operating systems: + +* Ubuntu (18.04) +* Ubuntu (16.04) +* Kali Linux (2019.2) You can install all of Octopus' requirements via : @@ -44,11 +67,6 @@ And you can install `mingw-w64` on Debian based distros using: `apt install mingw-w64` -Octopus has been tested on the following operating systems: - -* Ubuntu (18.04) -* Ubuntu (16.04) -* Kali Linux (2019.2) You will also need to install mono to make sure that you can compile the C# source without issues. diff --git a/core/encryption.py b/core/encryption.py index d3dbd5b..4aad372 100644 --- a/core/encryption.py +++ b/core/encryption.py @@ -19,7 +19,7 @@ def encrypt_command(keyb64, ivb64, plain): decoded_key = base64.b64decode(keyb64) decoded_iv = base64.b64decode(ivb64) aesobj = AES.new(decoded_key, AES.MODE_CBC, decoded_iv) - data = pad(plain) + data = pad(plain).encode() try: encd = aesobj.encrypt(data) return base64.b64encode(encd) diff --git a/core/esa.py b/core/esa.py index 2ad6bd2..7ea75b4 100644 --- a/core/esa.py +++ b/core/esa.py @@ -13,13 +13,13 @@ "Carbon Black EDR": ["cb"], "Avast": ["aswBcc", "bcc"], "Bitdefender": ["epag", "EPIntegrationService", "EPProtectedService", "EPSecurityService"], - "Cylance": ["CylanceSvc", "CylanceUi"], + "Cortex XDR": ["CylanceSvc", "CylanceUi", "cyserver"], "ESET": ["epfw", "epfwlwf", "epfwwfp"], "FireEye Endpoint Agent": ["xagt"], "F-Secure": ["fsdevcon", "FSORSPClient"], "MacAfee": ["enterceptagent", "McAfeeEngineService", "McAfeeFramework", "McCSPServiceHost", "MfeAVSvc"], "SentinelOne": ["SentinelAgent", "SentinelOne"], - "Sophos": ["sophosssp", "sophossps"], + "Sophos": ["sophosssp", "sophossps", "Sophos"], "TrendMicro": ["tmntsrv"], "Windows Defender": ["MsMpEng"], "ZoneALarm": ["zlclient"], diff --git a/core/functions.py b/core/functions.py index 4746d7c..816737e 100644 --- a/core/functions.py +++ b/core/functions.py @@ -574,7 +574,7 @@ def banner(): \__\/ \__\/ \__\/ \__\/ \__\/ \__\/ {1} - {3}v1.2 stable !{1} + {3}v1.2.1 stable !{1} {2} Octopus C2 | Control your shells {1} diff --git a/octopus.py b/octopus.py index 104074c..2efa5f2 100755 --- a/octopus.py +++ b/octopus.py @@ -40,7 +40,8 @@ def ctrlc(sig, frame): readline.parse_and_bind("tab: complete") readline.write_history_file(".oct_history") try: - command = input("\033[4mOctopus\033[0m"+colored(" >>", "green")) + #command = input("\033[4mOctopus\033[0m"+colored(" >>", "green")) + command = input('Octopus>> ') # readline.write_history_file(".console_history.oct") if command == "list": list_sessions() diff --git a/requirements.txt b/requirements.txt index b099c86..0ef0a13 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,5 +1,5 @@ termcolor tabulate -pycrypto +pycryptodome flask -requests \ No newline at end of file +requests