Update README.md

This commit is contained in:
Jakob Friedl
2025-10-27 22:26:59 +01:00
parent 79cec00fa3
commit 7417cb2822
4 changed files with 29 additions and 6 deletions

View File

@@ -1,12 +1,33 @@
# Conquest
Conquest is an advanced, extensible and malleable command & control/post-exploitation framework developed for penetration testing and adversary simulation. Conquest's team server, operator client and agent have all been written using the Nim programming language and are designed with modularity and flexibility in mind. It features custom C2 communication via binary packets over HTTP, a client UI developed using Dear ImGui and the `Monarch` agent, which can be equipped with numerous specialized modules.
Conquest is an advanced, extensible and malleable command & control/post-exploitation framework developed for penetration testing and adversary simulation. Conquest's team server, operator client and agent have all been written using the Nim programming language and are designed with modularity and flexibility in mind. It features custom C2 communication via binary packets over HTTP, a client GUI developed using Dear ImGui and the `Monarch` agent, a modular C2 implant aimed at Windows targets.
![Conquest Client](assets/image-1.png)
> [!CAUTION] Disclaimer
> [!CAUTION]
> Conquest is designed to be only used for educational purposes, research and authorized security testing of systems that you own or have an explicit permission to attack. The author provides no warranty and accepts no liability for misuse.
## Getting Started
1. Install Nim
2. Build the Conquest team server and client
```
nimble server
nimble client
```
3. Start the team server with a C2 profile
```
bin/server -p data/profile.toml
```
4. Connect to the team server using the client (localhost by default)
```
bin/client
```
## Architecture
TBD
@@ -27,6 +48,7 @@ TBD
- Wide selection of built-in post-exploitation modules
- Looting and loot management
- Logging of all operator activity
- Self-deletion
## Screenshots

View File

@@ -30,4 +30,5 @@ requires "zippy >= 0.10.16"
requires "mummy >= 0.4.6"
requires "whisky >= 0.1.3"
requires "native_dialogs >= 0.2.0"
requires "pixie >= 5.1.0"
requires "pixie >= 5.1.0"
requires "cligen >= 1.9.3"

View File

@@ -14,7 +14,7 @@ switch "app", "gui"
# Select static link or shared/dll link
when defined(windows):
const STATIC_LINK_GLFW = false
const STATIC_LINK_CC = true #libstd++ or libc
const STATIC_LINK_CC = false #libstd++ or libc
if TC == "vcc":
switch "passL","d3d9.lib kernel32.lib user32.lib gdi32.lib winspool.lib"
switch "passL","comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib"

View File

@@ -56,7 +56,7 @@ let module* = Module(
Command(
name: protect("enable-privilege"),
commandType: CMD_ENABLE_PRIV,
description: protect("enable a token privilege."),
description: protect("Enable a token privilege."),
example: protect("enable-privilege SeImpersonatePrivilege"),
arguments: @[
Argument(name: protect("privilege"), description: protect("Privilege to enable."), argumentType: STRING, isRequired: true)
@@ -66,7 +66,7 @@ let module* = Module(
Command(
name: protect("disable-privilege"),
commandType: CMD_DISABLE_PRIV,
description: protect("disable a token privilege."),
description: protect("Disable a token privilege."),
example: protect("disable-privilege SeImpersonatePrivilege"),
arguments: @[
Argument(name: protect("privilege"), description: protect("Privilege to disable."), argumentType: STRING, isRequired: true)