Docker reshuffle

This commit is contained in:
flux
2025-10-18 12:44:54 +01:00
parent 5080fd7e32
commit 4a8b028384
7 changed files with 44 additions and 21 deletions
+6
View File
@@ -0,0 +1,6 @@
.git
.gitignore
**/target
**/*.pdb
**/*.exe
**/*.dll
+7 -1
View File
@@ -4,7 +4,13 @@ Anything found labelled with a '🚧' indicates a possible breaking change
the `default.example.profile` found in `/c2/profiles/`. This is done especially as to not overwrite your custom profiles when
pulling updates.
## v 0.4
## 🚧 v 0.4
### 🚧 Breaking changes
- Docker build pipeline for client now moved to workspace root rather than from within the `/client` directory. To build the client, now run (from the workspace root): `docker compose up -d --build client`
### Non breaking changes
- OPSEC improvement with removing an artifact from the binary related to a struct name
- Improve docker build process for the client through [cargo chef](https://lpalmieri.com/posts/fast-rust-docker-builds/).
+7 -5
View File
@@ -4,15 +4,17 @@ version = "0.1.0"
edition = "2024"
[dependencies]
shared = { path = "../shared" }
shared_c2_client = { path = "../shared_c2_client" }
askama = "0.14.0"
axum = { version = "0.8", features = ["macros", "multipart"]}
reqwest = { version = "0.12", default-features = false, features = ["json", "rustls-tls"] }
serde = { version = "1.0", features = ["derive"] }
tokio = { version = "1.47.1", features = [ "rt-multi-thread", "macros" ]}
serde = { version = "1", features = ["derive"] }
tokio = { version = "1", features = [ "rt-multi-thread", "macros" ]}
tower-http = { version = "0.6.6", features = ["fs"] }
shared = { git = "https://github.com/0xflux/wyrm", package = "shared", rev = "339cf07adcc66d40b672f1aef74c68258f971890" }
shared_c2_client = { git = "https://github.com/0xflux/wyrm", package = "shared_c2_client", rev = "339cf07adcc66d40b672f1aef74c68258f971890" }
serde_json = "1.0.145"
dotenvy = "0.15.7"
thiserror = "2.0.16"
chrono = { version = "0.4", features = ["serde"] }
chrono = { version = "0.4", features = ["serde"] }
+4 -4
View File
@@ -9,9 +9,9 @@ RUN cargo chef prepare --recipe-path recipe.json
FROM chef AS builder
WORKDIR /app
COPY --from=planner /app/recipe.json ./recipe.json
RUN cargo chef cook --release --recipe-path recipe.json
RUN cargo chef cook --release -p wyrm_gui --recipe-path recipe.json
COPY . .
RUN cargo build --release
RUN cargo build -p wyrm_gui --release
FROM debian:bookworm-slim AS runtime
EXPOSE 4040
@@ -19,7 +19,7 @@ EXPOSE 4040
WORKDIR /app
COPY --from=builder /app/target/release/wyrm_gui .
COPY --from=builder /app/static ./static
COPY --from=builder /app/templates ./templates
COPY --from=builder /app/client/static ./static
COPY --from=builder /app/client/templates ./templates
ENTRYPOINT ["/app/wyrm_gui"]
-11
View File
@@ -1,11 +0,0 @@
services:
app:
container_name: "client"
build:
context: .
dockerfile: Dockerfile
ports:
- 4040:4040
environment:
# This must match the token on the C2!
- ADMIN_TOKEN=fdgiyh%^l!udjfh78364LU7&%df!!
+1
View File
@@ -241,6 +241,7 @@ impl FormatOutput for NotificationForAgent {
return vec!["File exfiltrated successfully and can be found on the C2.".into()];
}
Command::RegQuery => todo!(),
}
match self.result.as_ref() {
+19
View File
@@ -0,0 +1,19 @@
services:
client:
container_name: "client"
build:
context: .
dockerfile: client/Dockerfile
ports:
- 4040:4040
environment:
# This must match the token on the C2!
- ADMIN_TOKEN=fdgiyh%^l!udjfh78364LU7&%df!!
# c2:
# container_name: "c2"
# build:
# context: .
# dockerfile: # todo
# ports: # todo
# environment: #todo