
Framework C2 en C# centrado en operaciones de Etapa 1
Framework C2 en C# centrado en operaciones de primera etapa (Stage 1)
Atlas se basa en obtener un punto de apoyo dentro de un entorno y luego utilizarlo para introducir armamento en C# (actualmente solo C#) mediante un implante basado en HTTP. No es muy seguro desde el punto de vista OPSEC en su estado actual... para nada. Actualmente solo apunta a entornos Windows.
Nota: La configuración de conexión predeterminada del implante está configurada para conectarse a localhost en el puerto 8080; esto se puede cambiar aquí.
Después de generar un ejecutable del cliente, teamserver e implante, simplemente ejecute Teamserver.exe para iniciar el teamserver.
Para iniciar un nuevo listener, use el comando StartListener. Este comando acepta dos parámetros: el nombre del listener y el puerto en el que se ejecutará.

El comando Listeners lista todos los listeners, ViewListener devuelve datos sobre el listener especificado y se puede usar para eliminar un listener de la lista.
RemoveListener
Listar los implantes conectados se puede hacer con el comando Implants.

Conectarse a un implante es tan sencillo como Connect <ImplantId>. ¿Ven lo que hice?... Bueno, yo mismo me voy. Así como se usa el comando Connect para seleccionar un implante, ViewImplant se puede usar para ver más información sobre el implante seleccionado. El comando Disconnect deseleccionará el implante actualmente seleccionado, como se muestra a continuación.

Para usar una tarea, primero se debe seleccionar usando SetTask. Las opciones se pueden ver con TaskOpts y establecer con SetTaskOpt. Las tareas se ejecutan usando SendTask.

Es posible ver la salida de una tarea ejecutada previamente usando TaskOut. TasksOut se puede usar para ver todas las tareas ejecutadas anteriormente relacionadas con el implante seleccionado.

Atlas permite a los operadores ejecutar comandos tanto de PowerShell como de Cmd usando las tareas PSShell y CMDShell respectivamente. PSShell abre un nuevo espacio de ejecución (runspace) y ejecuta el comando, por lo que incluso si powershell.exe está en la lista negra, los comandos de PowerShell aún se pueden ejecutar. Este método también evita el Modo de Lenguaje Restringido (Constrained Language Mode). CMDShell abre un proceso de cmd.exe y pasa el comando al proceso. La ejecución de un comando de PowerShell se mostró anteriormente, así que no se mostrará de nuevo aquí. Nota al margen sobre CMDShell: muchos comandos comunes ejecutados (incluyendo, pero no limitado a, whoami, ipconfig, pwd y cd) se han implementado en la funcionalidad del implante para evitar la necesidad de ejecutar dichos comandos a través de un proceso cmd.exe.

Cargar ensamblados requiere algunos pasos, a diferencia de algo como CobaltStrike que hace todo con execute-assembly. Primero, un operador debe usar la utilidad ByteConvert (se debe indicar a ByteConvert si el archivo es local o remoto) para convertir un archivo almacenado localmente o remoto en un arreglo de bytes y almacenarlo en la variable assemBytes. Una vez hecho esto, se usa la tarea Load para cargar el ensamblado en el proceso del implante.

Para ver los ensamblados cargados en el proceso del implante, los operadores pueden usar las tareas AssemQuery y AssemMethodQuery. La primera devuelve todos los ensamblados cargados, mientras que la segunda devuelve todos los métodos públicos relacionados con un ensamblado cargado.

La captura de pantalla confirma que el ensamblado TestAssem se cargó efectivamente en el proceso del implante.
AssemMethodQuery se puede usar entonces para devolver información sobre TestAssem que un operador puede utilizar para ejecutar métodos públicos.

Atlas ofrece la opción de ejecutar un ensamblado desde su punto de entrada o desde un método expuesto específico. ExecuteAssem se puede usar para ejecutar desde el punto de entrada. Esta tarea solo toma el nombre del ensamblado. ExecuteAssemMethod permite la ejecución de otros métodos utilizando la información obtenida de AssemMethodQuery.

Para una lista completa de características, pase por el wiki.
Abra el archivo .sln y compile los 3 componentes en modo Release. Las ventanas de consola y los ejecutables deberían generarse en \bin\debug de cada componente. Tengo que mejorar esto.
cpsubir/descargarAtlas fue diseñado únicamente con fines educativos/éticos. No apruebo ni soy responsable de las acciones tomadas por los usuarios de Atlas.