Skip to content

Commit 00c4b75

Browse files
committed
v0.4.15
added PushC2OneToMany Functionality
1 parent 71f617b commit 00c4b75

File tree

5 files changed

+56
-17
lines changed

5 files changed

+56
-17
lines changed

mythic_container/__init__.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
11
from .rabbitmq import rabbitmqConnectionClass
22
from .mythic_service import start_and_run_forever, test_command
33

4-
containerVersion = "v1.1.8"
4+
containerVersion = "v1.1.9"
55

6-
PyPi_version = "0.4.14"
6+
PyPi_version = "0.4.15"
77

88
RabbitmqConnection = rabbitmqConnectionClass()
99

mythic_container/grpc/pushC2GRPC_pb2.py

Lines changed: 7 additions & 7 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

mythic_container/grpc/pushC2GRPC_pb2.pyi

Lines changed: 12 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -5,25 +5,31 @@ from typing import ClassVar as _ClassVar, Optional as _Optional
55
DESCRIPTOR: _descriptor.FileDescriptor
66

77
class PushC2MessageFromAgent(_message.Message):
8-
__slots__ = ["Base64Message", "C2ProfileName", "Message", "RemoteIP", "TaskingSize"]
8+
__slots__ = ["AgentDisconnected", "Base64Message", "C2ProfileName", "Message", "OuterUUID", "RemoteIP", "TrackingID"]
9+
AGENTDISCONNECTED_FIELD_NUMBER: _ClassVar[int]
10+
AgentDisconnected: bool
911
BASE64MESSAGE_FIELD_NUMBER: _ClassVar[int]
1012
Base64Message: bytes
1113
C2PROFILENAME_FIELD_NUMBER: _ClassVar[int]
1214
C2ProfileName: str
1315
MESSAGE_FIELD_NUMBER: _ClassVar[int]
1416
Message: bytes
17+
OUTERUUID_FIELD_NUMBER: _ClassVar[int]
18+
OuterUUID: str
1519
REMOTEIP_FIELD_NUMBER: _ClassVar[int]
1620
RemoteIP: str
17-
TASKINGSIZE_FIELD_NUMBER: _ClassVar[int]
18-
TaskingSize: int
19-
def __init__(self, C2ProfileName: _Optional[str] = ..., RemoteIP: _Optional[str] = ..., TaskingSize: _Optional[int] = ..., Message: _Optional[bytes] = ..., Base64Message: _Optional[bytes] = ...) -> None: ...
21+
TRACKINGID_FIELD_NUMBER: _ClassVar[int]
22+
TrackingID: str
23+
def __init__(self, C2ProfileName: _Optional[str] = ..., RemoteIP: _Optional[str] = ..., Message: _Optional[bytes] = ..., OuterUUID: _Optional[str] = ..., Base64Message: _Optional[bytes] = ..., TrackingID: _Optional[str] = ..., AgentDisconnected: bool = ...) -> None: ...
2024

2125
class PushC2MessageFromMythic(_message.Message):
22-
__slots__ = ["Error", "Message", "Success"]
26+
__slots__ = ["Error", "Message", "Success", "TrackingID"]
2327
ERROR_FIELD_NUMBER: _ClassVar[int]
2428
Error: str
2529
MESSAGE_FIELD_NUMBER: _ClassVar[int]
2630
Message: bytes
2731
SUCCESS_FIELD_NUMBER: _ClassVar[int]
2832
Success: bool
29-
def __init__(self, Success: bool = ..., Error: _Optional[str] = ..., Message: _Optional[bytes] = ...) -> None: ...
33+
TRACKINGID_FIELD_NUMBER: _ClassVar[int]
34+
TrackingID: str
35+
def __init__(self, Success: bool = ..., Error: _Optional[str] = ..., Message: _Optional[bytes] = ..., TrackingID: _Optional[str] = ...) -> None: ...

mythic_container/grpc/pushC2GRPC_pb2_grpc.py

Lines changed: 34 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
"""Client and server classes corresponding to protobuf-defined services."""
33
import grpc
44

5-
import pushC2GRPC_pb2 as pushC2GRPC__pb2
5+
import mythic_container.grpc.pushC2GRPC_pb2 as pushC2GRPC__pb2
66

77

88
class PushC2Stub(object):
@@ -19,6 +19,11 @@ def __init__(self, channel):
1919
request_serializer=pushC2GRPC__pb2.PushC2MessageFromAgent.SerializeToString,
2020
response_deserializer=pushC2GRPC__pb2.PushC2MessageFromMythic.FromString,
2121
)
22+
self.StartPushC2StreamingOneToMany = channel.stream_stream(
23+
'/pushC2Services.PushC2/StartPushC2StreamingOneToMany',
24+
request_serializer=pushC2GRPC__pb2.PushC2MessageFromAgent.SerializeToString,
25+
response_deserializer=pushC2GRPC__pb2.PushC2MessageFromMythic.FromString,
26+
)
2227

2328

2429
class PushC2Servicer(object):
@@ -31,6 +36,12 @@ def StartPushC2Streaming(self, request_iterator, context):
3136
context.set_details('Method not implemented!')
3237
raise NotImplementedError('Method not implemented!')
3338

39+
def StartPushC2StreamingOneToMany(self, request_iterator, context):
40+
"""Missing associated documentation comment in .proto file."""
41+
context.set_code(grpc.StatusCode.UNIMPLEMENTED)
42+
context.set_details('Method not implemented!')
43+
raise NotImplementedError('Method not implemented!')
44+
3445

3546
def add_PushC2Servicer_to_server(servicer, server):
3647
rpc_method_handlers = {
@@ -39,6 +50,11 @@ def add_PushC2Servicer_to_server(servicer, server):
3950
request_deserializer=pushC2GRPC__pb2.PushC2MessageFromAgent.FromString,
4051
response_serializer=pushC2GRPC__pb2.PushC2MessageFromMythic.SerializeToString,
4152
),
53+
'StartPushC2StreamingOneToMany': grpc.stream_stream_rpc_method_handler(
54+
servicer.StartPushC2StreamingOneToMany,
55+
request_deserializer=pushC2GRPC__pb2.PushC2MessageFromAgent.FromString,
56+
response_serializer=pushC2GRPC__pb2.PushC2MessageFromMythic.SerializeToString,
57+
),
4258
}
4359
generic_handler = grpc.method_handlers_generic_handler(
4460
'pushC2Services.PushC2', rpc_method_handlers)
@@ -65,3 +81,20 @@ def StartPushC2Streaming(request_iterator,
6581
pushC2GRPC__pb2.PushC2MessageFromMythic.FromString,
6682
options, channel_credentials,
6783
insecure, call_credentials, compression, wait_for_ready, timeout, metadata)
84+
85+
@staticmethod
86+
def StartPushC2StreamingOneToMany(request_iterator,
87+
target,
88+
options=(),
89+
channel_credentials=None,
90+
call_credentials=None,
91+
insecure=False,
92+
compression=None,
93+
wait_for_ready=None,
94+
timeout=None,
95+
metadata=None):
96+
return grpc.experimental.stream_stream(request_iterator, target, '/pushC2Services.PushC2/StartPushC2StreamingOneToMany',
97+
pushC2GRPC__pb2.PushC2MessageFromAgent.SerializeToString,
98+
pushC2GRPC__pb2.PushC2MessageFromMythic.FromString,
99+
options, channel_credentials,
100+
insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

setup.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010
# This call to setup() does all the work
1111
setup(
1212
name="mythic_container",
13-
version="0.4.14",
13+
version="0.4.15",
1414
description="Functionality for Mythic Services",
1515
long_description=README,
1616
long_description_content_type="text/markdown",

0 commit comments

Comments
 (0)