Tutoriales

Kit Cobalt Strike para movimiento anexo 2021

Mover kit es una extensión del movimiento anexo integrado Cobalt Strike, en el que la función execute_assembly se usa con los ensamblajes SharpMove y SharpRDP .NET. El script atacante gestiona la creación de la carga útil leyendo los archivos de plantilla para un tipo de ejecución en particular.

IMPORTANTE: Para usar el script, un afortunado solo necesita cargar ese MoveKit.cna Script atacante que carga todos los demás scripts necesarios con él. Dependiendo de las acciones tomadas, los ensamblajes SharpMove y SharpRDP además deben compilarse e insertarse en el ensamblaje. Assemblies Directorio. Finalmente, una parte de los archivos en movimiento requiere una compilación dinámica que requiere mico.

Cuando se carga el script atacante, se carga un selector en el menubar convocatoria Move. Hay varias opciones entre las que un afortunado puede designar. Primero, los usuarios pueden designar si ejecutar un comando en un sistema remoto a través de WMI, DCOM, Programador de tareas, RDP o SCM. En segundo extensión, está eso Command Mecanismo de ejecución que utiliza bases de descarga para capturar y ejecutar los archivos. Tercero, el File El método elimina un archivo del sistema y lo ejecuta. Existen Write File Only esto no hace ausencia, solo mueve datos. Finalmente hay uno Default Configuración para acelerar el uso de la GUI y usarla con comandos de baliza. La configuración predeterminada se utiliza para todo lo que pueda aceptar un tipificado.

Para utilizar los comandos de la baliza, se leen los títulos predeterminados y se utilizan algunos argumentos de la semirrecta de comandos. Un ejemplo de un comando de baliza: <exec-type> <target> <listener> <filename>

move-msbuild 192.168.1.1 http move.csproj

Por otra parte, el comando de baliza preconstruido personalizado es un poco diferente. Ejemplo de comando: move-pre-custom-file <target> <local-file> <remote-filename>

move-pre-custom-file computer001.tópico /root/payload.exe legit.exe

El campo de ubicación es la parte más difícil del esquema. Al decantarse WMI Movimiento de archivos location se utiliza, si se selecciona SMB, no se utiliza (por lo que puede dejarse en blanco). Location toma tres títulos diferentes. Primero es location es una URL. Cuando se crea la carga útil, se aloja en el servidor web Cobalt Strike. El host de baliza desde el que se ejecuta el ensamblado envía una solicitud web a la URL y accede al archivo que se utiliza en un evento secundario en el host de destino para escribir el archivo. Segundo si location Si es un directorio de Windows, carga el archivo creado en el host de baliza y el ensamblaje lo lee del sistema de archivos y lo almacena en el sub de eventos para escribir en el host remoto. Finalmente si el location El campo es una ruta de Linux o la palabra tópico Luego, la carga útil se compila dinámicamente en el ensamblado que se ejecutará. Sin requisa, si el archivo excede el confín de tamaño de archivo de 1 MB, se mostrará un error.

Para todos los métodos de archivo, los datos del afortunado se crean utilizando el script atacante. Sin requisa, si ya se ha creado una carga útil, los usuarios pueden optar por utilizarla. Custom (Prebuilt) Opción de moverse y pasar.

El kit incluye varias técnicas para mover archivos, disparadores de ejecución y tipos de carga útil.

Mover archivos se considera el método por el cual se transfiere un archivo a un host remoto.

  • SMB a archivo plano
  • WMI al archivo plano
  • Valencia de WMI a la secreto de registro
  • Propiedad «WMI a clase WMI personalizada»

El disparador de comando se considera el método utilizado para ejecutar un comando específico en un host remoto. Tipos de disparadores de comando:

  • WMI
  • SCM
  • RDP
  • DCOM (múltiple)
  • Tareas programadas
  • Cambiar la tarea programada (si había una tarea, la movimiento se actualizó, la tarea se ejecutó y la movimiento se restableció).
  • Cambiar la ruta del servicio (el servicio existente ha actualizado la ruta del contenedor, el servicio se iniciará y se restablecerá a su estado llamativo).

Ejecución de Shellcode solamente:

  • Excel 4.0 DCOM
  • Suscripción a eventos de WMI (próximamente)

Secuestros:

  • Secuestro de DLL de servicio (próximamente)
  • Secuestro del servidor DCOM (próximamente)

Dependencias

  • Mandril (MCS) para recopilar ensamblados .NET (utilizado para la creación dinámica de datos de afortunado, InstallUtil y Custom-NonPreBuilt). Incluso si se utiliza FileWrite Assembly.

Escollos:

  • A veces, se fogata a execute_assembly antiguamente de mover el archivo. En este caso, puede ejecutar la carga útil desmarcando la casilla automóvil Casilla de demostración
  • El kit no limpia automáticamente los archivos, se lo deja al cirujano

Nota: Se recomienda no utilizar las plantillas predeterminadas para el esquema.

Para reemplazar una plantilla, debe cumplir con dos requisitos. En primer extensión, la plantilla debe designarse como una técnica (ejemplo: msbuild.csproj). En segundo extensión, el código fuente debe contener la condena $$PAYLOAD$$ Dondequiera que vaya el código de shell codificado en Base64, una condena en Base64 se puede convertir en una matriz de bytes. Ejemplo de C #:

String strSC = «$$ PAYLOAD $$»;
byte[] sc = Convert.FromBase64String (strSC);

Se ha unido un cambio que permite que los títulos predeterminados actualicen los formatos de búsqueda y reemplazo y los formatos de shellcode en el cuadro de diálogo Renovar títulos predeterminados. Por defecto, estos son $$PAYLOAD$$ y base64.

Consideraciones operacionales

  • Al usar el Programador de tareas, las tareas programadas se crean y eliminan
  • Al usar SCM, los servicios se crean y eliminan
  • Si está utilizando la omisión de AMSI, solo funcionará para WSH, no para PowerShell
  • El uso de la omisión de AMSI modificará el registro actualizando o creando una secreto de registro y luego revirtiéndola a su valencia llamativo o eliminándola
  • Utiliza Cobalt Strike’s execute-assembly Funcionar de tal modo que fluya alrededor de un proceso de víctima como otros trabajos post-ex
  • Los archivos se escriben en el disco duro cuando se usa una de las siguientes opciones File o Command Métodos
  • No se deben utilizar plantillas, todas son públicas
  • Todas las técnicas no son nuevas y conveniente conocidas.

Créditos

Parte del código, las plantillas o la inspiración provienen de otras personas y proyectos.

Es probable que haya errores en algún extensión que se producirán de vez en cuando. Solo sácalo y lo arreglaré

LEER  Construyendo una computadora de juegos con Linux en estilo retro. parte 24

Publicaciones relacionadas

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Botón volver arriba