Alan Framework
Alan Framework es un framework de post-explotación útil durante actividades de red team.
Si encuentras útil mi herramienta, por favor considera patrocinarme.
⚠⚠⚠ Descargo de responsabilidad ⚠⚠⚠
La creación de este tipo de software siempre ha causado controversias. Si te preguntas por qué decidí crear esta herramienta, es porque estoy convencido de que la mejor experiencia de aprendizaje es implementar lo que aprendiste. Durante el proceso de ingeniería inversa, muchos pequeños detalles pasan desapercibidos. Poco a poco, estos detalles impiden que el investigador tenga una visión completa de lo que está sucediendo. Finalmente, soy programador ante todo, y me encanta desarrollar este tipo de programas 😄
Descargar
Descargar Alan C2 Framework
Características destacadas
- Puedes ejecutar tu herramienta preferida directamente en memoria
- Ejecución de scripts JavaScript (en memoria sin dependencia de terceros)
- Proxy SOCKS5 totalmente compatible
- Tipos de agente compatibles: Powershell (x86/x64), DLL (x86/x64), Ejecutable (x86/x64), Shellcode (x86/x64)
- Server.exe se puede ejecutar en Linux (a través de dotnet core)
- La comunicación en red está completamente cifrada con una clave de sesión no recuperable del binario del agente ni de un volcado de tráfico
- Comunicación realizada mediante HTTP/HTTPS
- No es necesario instalar dependencias o bibliotecas externas
- Un potente shell de comandos
- La configuración del agente se puede actualizar sobre la marcha (también puedes cambiar el puerto y el protocolo)
Documentación:
Blog posts
Para más información sobre su uso, por favor lee la documentación.
Compilar el código fuente
Para compilar Alan se deben realizar las siguientes acciones:
- Asegúrate de tener instalado cmake y que esté en el PATH (ejecuta cmake --help para ver si funciona)
- Instala Visual Studio 2022 (la versión Community está bien). Estos pasos se probaron con la versión VS 2022 17.3.1
- Asegúrate de que .NET Desktop Development, Desktop development with C++ y el lenguaje F# estén instalados como parte del paquete de Visual Studio
- Instala las bibliotecas .NET ejecutando: ./src/server/paket.exe install
- Abre el archivo .src/server/ServerSln.sln en Visual Studio. Establece el proyecto ServerBuilder como el principal (clic derecho -> Establecer como proyecto de inicio)
- Ejecuta el ServerBuilder que compilará todo
- Si la compilación finaliza correctamente, el archivo Alan .zip se ubicará en el directorio recién creado Misc/out/release
Videos:
Videos de demostración
Alan v7.0.514.10 - Proxy SOCKS5  | Alan v6.0.511.28 - Ejecución JS  | Alan v5.0.509.20 - Ejecución en memoria  |
|---|
Alan v4.0.0 - Agente x64 e Inyectar  | Alan v3.0.0 - Comandos varios  | Alan v2.0.500.23  |
Alan v1.0.0  | | |
Registro de cambios
v7.0.514.10 - 15/05/2022
- Se implementó el comando
proxy para pivoting
- Los comandos
info e info++ muestran si el agente está usando un proxy
- Se corrigió un error en la comunicación de red (Issue 2)
- Se corrigió un error en el cargador PE cuando las funciones se importan por ordinal
- Se corrigió un error en el módulo JS que causaba liberación de memoria anticipada
- Se corrigió un error en el comando
run que provocaba que la opción & no funcionara
- Los mensajes de registro ahora se guardan en el archivo
alan.log
- Toda la salida generada y la entrada del usuario se registran en un archivo de evidencia dentro de la carpeta
evidences
- Se añadió información de ID de máquina al comando
info
- Se añadió el tipo de paquete
Vanilla para la creación de agentes. Esto permite una mejor integración del empaquetador personalizado.
v6.0.511.28 24/02/2022
- Los cargadores PE x86/x64 se modificaron para actualizar el campo PEB->Ldr. Esto permite que el sistema llame a DLL_PROCESS_DETACH en la DLL inyectada.
- Se aumentó el tamaño máximo de respuesta a 1GB. Esto corrige la descarga de archivos grandes.
- Se añadió la fecha de expiración del agente a la configuración.
- El comando
run se amplió para admitir la ejecución de archivos Javascript.
- El comando
info++ ahora muestra la etiqueta del volumen y el tipo de sistema de archivos.
v5.0.509.20 - 13/12/2021
- Se implementó el comando
run
- Se implementó el comando
kill
- Se implementó el comando
exec
- Se eliminó el mensaje
inject ya que se puede lograr con el comando run en segundo plano
- Se creó un stager y un cargador PE para hacer el agente más sigiloso. Cada archivo de agente generado tiene un hash diferente
- Se mejoró la inyección de código para sortear la Mitigación de Política de Código Dinámico
- Ahora es posible especificar el nombre del archivo del agente a crear durante el asistente
- Se corrigió un error en los comandos
upload y download
- Se corrigió un error en la creación del shell. El token del proceso del shell de comandos no tenía el mismo nivel de integridad que el agente
- Se eliminó la función exportada del artefacto DLL del agente
- Se añadió el directorio de trabajo actual al comando
info
- Se amplió el comando
shell para ejecutar un solo comando