Panoptes 1.0.0
Endpoint Detection and Response
Loading...
Searching...
No Matches
container_ipc.hpp
Go to the documentation of this file.
1#pragma once
2#include <Windows.h>
3#include <string>
4#include <queue>
5#include <mutex>
6#include <condition_variable>
7#include <thread>
8#include "ExtensibilityCore.h"
9
11public:
12 void enqueue(const PeScan& message);
16 DeleteCriticalSection(&cs_);
17 }
18private:
19 std::queue<PeScan> queue_;
20 CRITICAL_SECTION cs_;
21 CONDITION_VARIABLE cv_;
22};
23
25public:
26 std::condition_variable cv;
27
28 void enqueue(const MemScan& message);
30private:
31 std::queue<MemScan> queue_;
32 std::mutex mutex_;
33 std::condition_variable cv_;
34};
35
37public:
39 bool Hello(ExtensibilityType extensibilityType, std::string port);
40 bool SendResults_Yara(std::string PePath, std::string FileHash, DWORD ProcessId, std::string YaraRulesPath, INT MatchRules, std::vector<std::string> DetectedRules);
41 bool SendResults_PE(std::string PePath, bool IsPeSigned, std::string PeSignerSubject, std::vector<std::string> PeImports);
42 bool SendResults_AMSI(std::string PePath, DWORD AmsiResult);
43};
44
45VOID RunContainerServer(LPVOID ContainerPort);
46
ExtensibilityType
The type of extensibility.
void enqueue(const MemScan &message)
The enqueue function enqueues a MemScan message to the queue.
std::condition_variable cv
MemScan dequeue()
The dequeue function dequeues a MemScan messages from the queue.
Panoptes Service Client that is used to communicate with the Panoptes Service via.
bool SendResults_Yara(std::string PePath, std::string FileHash, DWORD ProcessId, std::string YaraRulesPath, INT MatchRules, std::vector< std::string > DetectedRules)
PanoptesServiceClient()
The PanoptesServiceClient class is a class that implements the PanoptesServiceClient class.
bool SendResults_PE(std::string PePath, bool IsPeSigned, std::string PeSignerSubject, std::vector< std::string > PeImports)
bool SendResults_AMSI(std::string PePath, DWORD AmsiResult)
bool Hello(ExtensibilityType extensibilityType, std::string port)
The Hello function sends a Hello message to the Panoptes main service from the container.
PeMessageQueue()
The PeMessageQueue class is a thread-safe queue for PeScan messages.
PeScan dequeue()
The dequeue function dequeues a PeScan messages from the queue.
void enqueue(const PeScan &message)
The enqueue function is a function that enqueues a PeScan message to the queue.
VOID RunContainerServer(LPVOID ContainerPort)
The RunContainerServer function is a function that runs the container server.
MemoryMessageQueue * message_queue_mem_
Definition container.cpp:16
PeMessageQueue * message_queue_pe_
Definition container.cpp:15
unsigned long DWORD
Definition inject.h:2
The information about the memory to be scanned that passed between the container, extensibility and t...
The information about the file to be scanned that passed between the container, extensibility and the...