ReBeacon_Src/ReBeacon_Src/comm.h

65 lines
2.0 KiB
C

#pragma once
#include "Utils.h"
#define CALLBACK_OUTPUT 0
#define CALLBACK_KEYSTROKES 1
#define CALLBACK_FILE 2
#define CALLBACK_SCREENSHOT 3
#define CALLBACK_CLOSE 4
#define CALLBACK_READ 5
#define CALLBACK_CONNECT 6
#define CALLBACK_PING 7
#define CALLBACK_FILE_WRITE 8
#define CALLBACK_FILE_CLOSE 9
#define CALLBACK_PIPE_OPEN 10
#define CALLBACK_PIPE_CLOSE 11
#define CALLBACK_PIPE_READ 12
#define CALLBACK_POST_ERROR 13
#define CALLBACK_PIPE_PING 14
#define CALLBACK_TOKEN_STOLEN 15
#define CALLBACK_TOKEN_GETUID 16
#define CALLBACK_PROCESS_LIST 17
#define CALLBACK_POST_REPLAY_ERROR 18
#define CALLBACK_PWD 19
#define CALLBACK_JOBS 20
#define CALLBACK_HASHDUMP 21
#define CALLBACK_PENDING 22
#define CALLBACK_ACCEPT 23
#define CALLBACK_NETVIEW 24
#define CALLBACK_PORTSCAN 25
#define CALLBACK_DEAD 26
#define CALLBACK_SSH_STATUS 27
#define CALLBACK_CHUNK_ALLOCATE 28
#define CALLBACK_CHUNK_SEND 29
#define CALLBACK_OUTPUT_OEM 30
#define CALLBACK_ERROR 31
#define CALLBACK_OUTPUT_UTF8 32
typedef struct {
char* httpHeaders; /* httpHeaders */
char* field_1; /* 暂时未知 */
char* httpGetUrl; /*http get请求url*/
char* HttpOptional; /* HttpSendRequestA Optional选项 */
DWORD HttpOptionalLength; /* Optional选项大小 */
DWORD encrypt_Metadata_size; /*加密后的元数据大小*/
char* encrypt_Metadata_Ptr; /*指向加密元数据的指针*/
char* Encoding_Encrypt_Metadata_Ptr; /*根据c2配置编码后的加密元数据指针*/
datap* pdatap;
} BeaconHttpRequest;
extern char* gBeaconOutputData;
void sned_beacon_data(char* data);
int call_send_Metadata(char* http_get_url, char* Server_Output_Buffer, int server_output_size);
void BeaconTaskOutput(char* data, int len, int type);
void BeaconTaskError1Output(int BeaconErrorsType, int err_code, char* data);
void BeaconErrorD(int BeaconErrorsType, DWORD error_code);
void BeaconErrorNA(int BeaconErrorsType);
void BeaconErrorDD(int BeaconErrorsType, int err_msg, u_long err_code_msg);
void BeaconErrorFormat(int BeaconErrorsType, char* Format, ...);