mirror of
https://github.com/HavocFramework/Havoc
synced 2026-06-08 11:13:29 +00:00
242 lines
6.6 KiB
C
242 lines
6.6 KiB
C
#ifndef DEMON_COMMAND_H
|
|
#define DEMON_COMMAND_H
|
|
|
|
#include <core/Parser.h>
|
|
|
|
/* Commands */
|
|
#define DEMON_COMMAND_CHECKIN 100
|
|
#define DEMON_COMMAND_GET_JOB 1
|
|
#define DEMON_COMMAND_NO_JOB 10
|
|
#define DEMON_COMMAND_SLEEP 11
|
|
#define DEMON_COMMAND_PROC 0x1010
|
|
#define DEMON_COMMAND_PROC_LIST 12
|
|
#define DEMON_COMMAND_FS 15
|
|
#define DEMON_COMMAND_INLINE_EXECUTE 20
|
|
#define DEMON_COMMAND_JOB 21
|
|
#define DEMON_COMMAND_INJECT_DLL 22
|
|
#define DEMON_COMMAND_INJECT_SHELLCODE 24
|
|
#define DEMON_COMMAND_SPAWN_DLL 26
|
|
#define DEMON_COMMAND_TOKEN 40
|
|
#define DEMON_COMMAND_ASSEMBLY_INLINE_EXECUTE 0x2001
|
|
#define DEMON_COMMAND_ASSEMBLY_VERSIONS 0x2003
|
|
#define DEMON_COMMAND_NET 2100
|
|
#define DEMON_COMMAND_CONFIG 2500
|
|
#define DEMON_COMMAND_SCREENSHOT 2510
|
|
#define DEMON_COMMAND_PIVOT 2520
|
|
#define DEMON_COMMAND_TRANSFER 2530
|
|
#define DEMON_COMMAND_SOCKET 2540
|
|
#define DEMON_COMMAND_KERBEROS 2550
|
|
#define DEMON_COMMAND_MEM_FILE 2560
|
|
#define DEMON_PACKAGE_DROPPED 2570
|
|
|
|
#define DEMON_INFO 89
|
|
#define DEMON_OUTPUT 90
|
|
#define DEMON_ERROR 91
|
|
#define DEMON_EXIT 92
|
|
#define DEMON_KILL_DATE 93
|
|
#define BEACON_OUTPUT 94
|
|
#define DEMON_INITIALIZE 99
|
|
|
|
#define DEMON_COMMAND_INLINE_EXECUTE_EXCEPTION 1
|
|
#define DEMON_COMMAND_INLINE_EXECUTE_SYMBOL_NOT_FOUND 2
|
|
#define DEMON_COMMAND_INLINE_EXECUTE_RAN_OK 3
|
|
#define DEMON_COMMAND_INLINE_EXECUTE_COULD_NO_RUN 4
|
|
|
|
#define DOTNET_INFO_PATCHED 0x1
|
|
#define DOTNET_INFO_NET_VERSION 0x2
|
|
#define DOTNET_INFO_ENTRYPOINT_EXECUTED 0x3
|
|
#define DOTNET_INFO_FINISHED 0x4
|
|
#define DOTNET_INFO_FAILED 0x5
|
|
|
|
#define CALLBACK_ERROR_WIN32 0x1
|
|
#define CALLBACK_ERROR_COFFEXEC 0x2
|
|
#define CALLBACK_ERROR_TOKEN 0x3
|
|
|
|
// Config options
|
|
#define DEMON_CONFIG_SHOW_ALL 0
|
|
|
|
#define DEMON_CONFIG_IMPLANT_SLEEPMASK 1
|
|
#define DEMON_CONFIG_IMPLANT_SPFTHREADADDR 3
|
|
#define DEMON_CONFIG_IMPLANT_VERBOSE 4
|
|
#define DEMON_CONFIG_IMPLANT_SLEEP_TECHNIQUE 5
|
|
#define DEMON_CONFIG_IMPLANT_COFFEE_THREADED 6
|
|
#define DEMON_CONFIG_IMPLANT_COFFEE_VEH 7
|
|
|
|
#define DEMON_CONFIG_MEMORY_ALLOC 101
|
|
#define DEMON_CONFIG_MEMORY_EXECUTE 102
|
|
|
|
#define DEMON_CONFIG_INJECTION_TECHNIQUE 150
|
|
#define DEMON_CONFIG_INJECTION_SPOOFADDR 151
|
|
|
|
#define DEMON_CONFIG_INJECTION_SPAWN64 152
|
|
#define DEMON_CONFIG_INJECTION_SPAWN32 153
|
|
#define DEMON_CONFIG_KILLDATE 154
|
|
#define DEMON_CONFIG_WORKINGHOURS 155
|
|
|
|
#define DEMON_NET_COMMAND_DOMAIN 1
|
|
#define DEMON_NET_COMMAND_LOGONS 2
|
|
#define DEMON_NET_COMMAND_SESSIONS 3
|
|
#define DEMON_NET_COMMAND_COMPUTER 4
|
|
#define DEMON_NET_COMMAND_DCLIST 5
|
|
#define DEMON_NET_COMMAND_SHARE 6
|
|
#define DEMON_NET_COMMAND_LOCALGROUP 7
|
|
#define DEMON_NET_COMMAND_GROUP 8
|
|
#define DEMON_NET_COMMAND_USER 9
|
|
|
|
#define DEMON_PIVOT_LIST 1
|
|
|
|
#define DEMON_PIVOT_SMB_CONNECT 10
|
|
#define DEMON_PIVOT_SMB_DISCONNECT 11
|
|
#define DEMON_PIVOT_SMB_COMMAND 12
|
|
|
|
#define DEMON_INFO_MEM_ALLOC 10
|
|
#define DEMON_INFO_MEM_EXEC 11
|
|
#define DEMON_INFO_MEM_PROTECT 12
|
|
#define DEMON_INFO_PROC_CREATE 21
|
|
|
|
#define DEMON_CHECKIN_OPTION_PIVOTS 1
|
|
|
|
#define DEMON_COMMAND_JOB_LIST 1
|
|
#define DEMON_COMMAND_JOB_SUSPEND 2
|
|
#define DEMON_COMMAND_JOB_RESUME 3
|
|
#define DEMON_COMMAND_JOB_KILL_REMOVE 4
|
|
#define DEMON_COMMAND_JOB_DIED 5
|
|
|
|
#define DEMON_COMMAND_TRANSFER_LIST 0
|
|
#define DEMON_COMMAND_TRANSFER_STOP 1
|
|
#define DEMON_COMMAND_TRANSFER_RESUME 2
|
|
#define DEMON_COMMAND_TRANSFER_REMOVE 3
|
|
|
|
#define DEMON_COMMAND_PROC_MODULES 2
|
|
#define DEMON_COMMAND_PROC_GREP 3
|
|
#define DEMON_COMMAND_PROC_CREATE 4
|
|
#define DEMON_COMMAND_PROC_MEMORY 6
|
|
#define DEMON_COMMAND_PROC_KILL 7
|
|
|
|
#define DEMON_COMMAND_TOKEN_IMPERSONATE 1
|
|
#define DEMON_COMMAND_TOKEN_STEAL 2
|
|
#define DEMON_COMMAND_TOKEN_LIST 3
|
|
#define DEMON_COMMAND_TOKEN_PRIVSGET_OR_LIST 4
|
|
#define DEMON_COMMAND_TOKEN_MAKE 5
|
|
#define DEMON_COMMAND_TOKEN_GET_UID 6
|
|
#define DEMON_COMMAND_TOKEN_REVERT 7
|
|
#define DEMON_COMMAND_TOKEN_REMOVE 8
|
|
#define DEMON_COMMAND_TOKEN_CLEAR 9
|
|
#define DEMON_COMMAND_TOKEN_FIND_TOKENS 10
|
|
|
|
#define DEMON_COMMAND_FS_DIR 1
|
|
#define DEMON_COMMAND_FS_DOWNLOAD 2
|
|
#define DEMON_COMMAND_FS_UPLOAD 3
|
|
#define DEMON_COMMAND_FS_CD 4
|
|
#define DEMON_COMMAND_FS_REMOVE 5
|
|
#define DEMON_COMMAND_FS_MKDIR 6
|
|
#define DEMON_COMMAND_FS_COPY 7
|
|
#define DEMON_COMMAND_FS_MOVE 8
|
|
#define DEMON_COMMAND_FS_GET_PWD 9
|
|
#define DEMON_COMMAND_FS_CAT 10
|
|
|
|
|
|
typedef struct
|
|
{
|
|
INT ID;
|
|
VOID ( *Function ) ( PPARSER Arguments );
|
|
} DEMON_COMMAND ;
|
|
|
|
BOOL InWorkingHours( );
|
|
BOOL ReachedKillDate( );
|
|
VOID KillDate( );
|
|
|
|
/* dispatcher */
|
|
VOID CommandDispatcher( VOID );
|
|
|
|
/* commands */
|
|
VOID CommandCheckin(
|
|
IN PPARSER Parser
|
|
);
|
|
|
|
VOID CommandSleep(
|
|
IN PPARSER DataArgs
|
|
);
|
|
|
|
VOID CommandExit(
|
|
IN PPARSER DataArgs
|
|
);
|
|
|
|
VOID CommandJob(
|
|
IN PPARSER DataArgs
|
|
);
|
|
|
|
VOID CommandProc(
|
|
IN PPARSER DataArgs
|
|
);
|
|
|
|
VOID CommandProcList(
|
|
IN PPARSER DataArgs
|
|
);
|
|
|
|
VOID CommandFS(
|
|
IN PPARSER DataArgs
|
|
);
|
|
|
|
VOID CommandInjectDLL(
|
|
IN PPARSER DataArgs
|
|
);
|
|
|
|
VOID CommandInjectShellcode(
|
|
IN PPARSER DataArgs
|
|
);
|
|
|
|
VOID CommandSpawnDLL(
|
|
IN PPARSER DataArgs
|
|
);
|
|
|
|
VOID CommandInlineExecute(
|
|
IN PPARSER DataArgs
|
|
);
|
|
|
|
VOID CommandAssemblyInlineExecute(
|
|
IN PPARSER DataArgs
|
|
);
|
|
|
|
VOID CommandAssemblyListVersion(
|
|
IN PPARSER Parser
|
|
);
|
|
|
|
VOID CommandScreenshot(
|
|
IN PPARSER Parser
|
|
);
|
|
|
|
VOID CommandConfig(
|
|
IN PPARSER Parser
|
|
);
|
|
|
|
VOID CommandNet(
|
|
IN PPARSER Parser
|
|
);
|
|
|
|
VOID CommandToken(
|
|
IN PPARSER Parser
|
|
);
|
|
|
|
VOID CommandPivot(
|
|
IN PPARSER Parser
|
|
);
|
|
|
|
VOID CommandTransfer(
|
|
IN PPARSER Parser
|
|
);
|
|
|
|
VOID CommandSocket(
|
|
IN PPARSER Parser
|
|
);
|
|
|
|
VOID CommandKerberos(
|
|
IN PPARSER Parser
|
|
);
|
|
|
|
VOID CommandMemFile(
|
|
IN PPARSER Parser
|
|
);
|
|
|
|
#endif
|