https://github.com/enkomio/AlanFramework  A C2 post-exploitation framework
 Alan Framework 
Alan Framework is a post-exploitation framework useful during red-team activities.
If you find my tool useful, please consider to sponsor me . 
⚠ ⚠ ⚠  Disclaimer ⚠ ⚠ ⚠  
The creation of this kind of software has always caused controversies. If you wonder why I decided to create this tool is because I'm convinced that the ultimate learning experience is implementing what you learned. During the reverse engineering process, many small details are overlooked. Little by little, these details prevent the researcher from having a complete picture of what is going on. Finally, I'm a programmer first, and I love to develop this kind of program :)
 Download 
Download Alan C2 Framework 
 Notable Features 
You can run your preferred tool directly in-memory 
JavaScript script execution (in-memory without third party dependency) 
Fully compliant SOCKS5 proxy 
Supported agent types: Powershell (x86/x64), DLL (x86/x64), Executable (x86/x64), Shellcode (x86/x64) 
Server.exe can be executed in Linux (via dotnet core) 
The network communication is fully encrypted with a session key not recoverable from the agent binary or from a traffic dump 
Communication performed via HTTP/HTTPS 
No external dependencies or libraries need to be installed 
A powerful command shell 
The agent configuration can be updated on the fly (you can change port and protocol too) 
 
 Documentation: 
Blog posts
For more information on its usage please read the documentation .
 Videos: 
Demo videos
Alan v7.0.514.10 - SOCKS5 Proxy   
Alan v6.0.511.28 - JS Execution  
Alan v5.0.509.20 - In-Memory Execution  
 
 
Alan v4.0.0 - x64 Agent && Inject  
Alan v3.0.0 - Misc Commands  
Alan v2.0.500.23  
 
Alan v1.0.0  
 
 
 
 
 Changelog 
 v7.0.514.10 - 15/05/2022 
Implemented proxy command for pivoting 
The info and info++ commands display if the agent is using a proxy 
Fixed bug on network communication (Issue 2) 
Fixed error in PE loader when function are import via ordinal 
Fixed JS module causing memory free ahead of time 
Fixed error in run command that cause the & option to not work 
The log messages are now saved to file alan.log 
All the generated output and user input is logged to an evidence file inside the evidences folder 
Added machine ID information to info command 
Added Vanilla package type for agent creation. This allows a better integration of custom packer. 
 
 v6.0.511.28 24/02/2022 
x86/x64 PE loaders modified to update the PEB->Ldr field. This allows the system to call DLL_PROCESS_DETACH on the injected DLL. 
Increase max response size to 1GB. This fix the download of big files. 
Added agent expiration date to the configuration. 
The run was extended to support the execution of Javascript files. 
info++ command now shows the Volume label and the FS type. 
 
 v5.0.509.20 - 13/12/2021 
Implemented run command 
Implemented kill command 
Implemented exec command 
Removed inject message since it can be achieved with the run command in background 
Created stager and PE loader to make the agent stealthier. Each generated agent file has a different hash 
Improved code injection to bypass Dynamic Code Policy Mitigation 
It is now possible to specify the agent file name to create during the wizard 
Fixed error in upload and download commands 
Fixed error in shell creation. The command shell process token did not have the same agent integrity level 
Removed exported function from DLL agent artifact 
Added current working directory to info command 
Extended shell command to execute a single command 
 
 v4.0.0 - 26/09/2021 
Added inject command. This command allows the operator to inject code into a remote process 
Added sleep command performed in short sleep of 400 msec each. 
Introduced Jitter concept in sleep 
Ported agent to x64 bit (included PE32+ loader) 
Fixed errors in x86 PE loader 
.NET agent runner is now executed in a stealthier way to avoid detection 
It is now possible to specify a custom Web server in the HTTP/S listener response 
Removed command listeners since superfluous 
Improved info command with more information 
Error message are more explanatory 
Added information on process token type (elevated or not) 
Added information on process token privileges 
Added information on process token groups 
 
 v3.0.0 - 15/05/2021 
Renamed agent shell quit command to exit 
Implemented agent migration via migrate command 
Fixed error in retrieving OS version 
Added DLL as agent format in the creation wizard. 
Implemented ps command to list the currently running processes 
Implemented download command to locally download a file or an entire directory 
Implemented upload command to upload files to the compromised host 
Implemented SuccessRequest as HTTP server response option to customize the http/s listener response 
Implemented ErrorRequest to customize the http/s listener response for bad requests 
Implemented prepend and append as HTTP server request option to specify in the agent prof 
 
 v2.0.500.23 - 20/03/2021 
Implemented agent detach command to temporary exit from a joined agent 
Implemented shell detach command to temporary exit from a command shell 
Implemented listeners command to list the available listeners 
Implemented HTTPS listener to communicatewith the agent via TLS 
Implemented get-config command to download the current agent configuration 
Implemented update command to update the agent configuration 
Windows7 is now supported 
 
 v1.0.0 - 22/02/2021