Skip to content
KitploitKITPLOIT
HerramientasBlog
Enviar
HerramientasBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

··Feeds·Contacto·Privacidad·© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
Herramientas/GitHubGitHub/gr1mmie/atlasc2
Frameworks de ExploitsPost-ExplotaciónComando y ControlRed TeamingDesarrollo de Payloads
GitHubgr1mmie/atlasc2

AtlasC2

Framework C2 en C# centrado en operaciones de Etapa 1

Ver Repositorio
211424hace 4 añosRevisado por Kitploit
Sitio web

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →
Compartir

AtlasC2

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í.

Uso

Iniciar TeamServer

Después de generar un ejecutable del cliente, teamserver e implante, simplemente ejecute Teamserver.exe para iniciar el teamserver.

Iniciar/Gestionar Listeners

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á.

imagen

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.

Descargar herramienta
RemoveListener

imagen

Interfaz con Implants

Listar los implantes conectados se puede hacer con el comando Implants.

imagen

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.

imagen

Ejecutar Tareas

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.

imagen

Ver Tareas Anteriores

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.

imagen

Ejecución de Shell

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.

imagen

Cargar ensamblados C# en memoria

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.

imagen

Ver Ensamblados Cargados

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.

imagen

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.

imagen

Ejecutar Ensamblados Cargados

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.

imagen

Para una lista completa de características, pase por el wiki.

Compilación

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.

Por Hacer

  • Autenticación
  • Codificar comandos de PowerShell
  • Agregar utilidades de administración:
    • cp
    • subir/descargar
  • Keylogger (probablemente hacerlo independiente para cargar en el implante)
  • Algunos comandos de persistencia básicos (no sé, algo como crear un usuario mediante ADSI, creación de suscripción WMI. Probablemente hacerlos ensamblados independientes para cargar en el implante)
  • Permitir cambiar el tiempo de espera (sleep) en el implante e implementar jitter
  • Permitir al operador cambiar el puerto en el que se inicia TeamServer mediante la línea de comandos
  • Comunicaciones cifradas (sí, lo sé)
  • Manipulación de AppDomain: permitir la creación/eliminación de AppDomains y permitir al operador seleccionar en qué AppDomain cargar los ensamblados
  • Mejores capacidades de extensibilidad
  • Implementar algún tipo de sistema de perfilado
  • Compilación automatizada:
    • implante
    • droppers/loaders/stagers
  • Generación de shellcode mediante Donut
  • BOFs estaría genial

Descargo de responsabilidad

Atlas fue diseñado únicamente con fines educativos/éticos. No apruebo ni soy responsable de las acciones tomadas por los usuarios de Atlas.