-
Notifications
You must be signed in to change notification settings - Fork 55
Refactor Reverse Shell to use Portals #1537
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Closed
google-labs-jules
wants to merge
3
commits into
main
from
refactor-reverse-shell-portals-9871010882071058583
Closed
Changes from 1 commit
Commits
Show all changes
3 commits
Select commit
Hold shift + click to select a range
File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,231 @@ | ||
| Fresh unicode-ident v1.0.22 | ||
| Fresh proc-macro2 v1.0.104 | ||
| Fresh cfg-if v1.0.4 | ||
| Fresh quote v1.0.42 | ||
| Fresh libc v0.2.179 | ||
| Fresh bytes v1.9.0 | ||
| Fresh pin-project-lite v0.2.16 | ||
| Fresh syn v2.0.113 | ||
| Fresh futures-core v0.3.31 | ||
| Fresh mio v1.1.1 | ||
| Fresh socket2 v0.6.1 | ||
| Fresh itoa v1.0.17 | ||
| Fresh synstructure v0.13.2 | ||
| Fresh shlex v1.3.0 | ||
| Fresh find-msvc-tools v0.1.6 | ||
| Fresh once_cell v1.21.3 | ||
| Fresh zerofrom-derive v0.1.6 | ||
| Fresh pin-utils v0.1.0 | ||
| Fresh cc v1.2.51 | ||
| Fresh zerofrom v0.1.6 | ||
| Fresh yoke-derive v0.8.1 | ||
| Fresh stable_deref_trait v1.2.1 | ||
| Fresh yoke v0.8.1 | ||
| Fresh zerovec-derive v0.11.2 | ||
| Fresh untrusted v0.9.0 | ||
| Fresh equivalent v1.0.2 | ||
| Fresh slab v0.4.11 | ||
| Fresh zerovec v0.11.5 | ||
| Fresh tracing-core v0.1.36 | ||
| Fresh rand_core v0.6.4 | ||
| Fresh displaydoc v0.2.5 | ||
| Fresh tower-service v0.3.3 | ||
| Fresh either v1.15.0 | ||
| Fresh tokio-macros v2.6.0 | ||
| Fresh version_check v0.9.5 | ||
| Fresh subtle v2.6.1 | ||
| Fresh try-lock v0.2.5 | ||
| Fresh memchr v2.7.6 | ||
| Fresh httparse v1.10.1 | ||
| Fresh want v0.3.1 | ||
| Fresh anyhow v1.0.100 | ||
| Fresh itertools v0.12.1 | ||
| Fresh zerocopy v0.8.31 | ||
| Fresh serde_core v1.0.228 | ||
| Fresh tinystr v0.8.2 | ||
| Fresh litemap v0.8.1 | ||
| Fresh bitflags v2.10.0 | ||
| Fresh smallvec v1.15.1 | ||
| Fresh writeable v0.6.2 | ||
| Fresh percent-encoding v2.3.2 | ||
| Fresh prost-derive v0.12.6 | ||
| Fresh icu_locale_core v2.1.1 | ||
| Fresh ppv-lite86 v0.2.21 | ||
| Fresh typenum v1.19.0 | ||
| Fresh zerotrie v0.2.3 | ||
| Fresh potential_utf v0.1.4 | ||
| Fresh http v1.4.0 | ||
| Fresh tokio v1.49.0 | ||
| Fresh log v0.4.29 | ||
| Fresh tower-layer v0.3.3 | ||
| Fresh rustls-pki-types v1.13.2 | ||
| Fresh http-body v1.0.1 | ||
| Fresh icu_provider v2.1.1 | ||
| Fresh icu_collections v2.1.1 | ||
| Fresh generic-array v0.14.7 | ||
| Fresh getrandom v0.2.16 | ||
| Fresh allocator-api2 v0.2.21 | ||
| Fresh futures-io v0.3.31 | ||
| Fresh fnv v1.0.7 | ||
| Fresh foldhash v0.2.0 | ||
| Fresh futures-task v0.3.31 | ||
| Fresh http v0.2.12 | ||
| Fresh futures-util v0.3.31 | ||
| Fresh icu_normalizer_data v2.1.1 | ||
| Fresh icu_properties_data v2.1.2 | ||
| Fresh rustversion v1.0.22 | ||
| Fresh tracing-attributes v0.1.31 | ||
| Fresh futures-sink v0.3.31 | ||
| Fresh tokio-util v0.7.18 | ||
| Fresh icu_normalizer v2.1.1 | ||
| Fresh rustls-webpki v0.103.8 | ||
| Fresh icu_properties v2.1.2 | ||
| Fresh crypto-common v0.1.7 | ||
| Fresh zeroize_derive v1.4.3 | ||
| Fresh serde_derive v1.0.228 | ||
| Fresh hashbrown v0.16.1 | ||
| Fresh linux-raw-sys v0.11.0 | ||
| Fresh autocfg v1.5.0 | ||
| Fresh ipnet v2.11.0 | ||
| Fresh regex-syntax v0.8.8 | ||
| Fresh atomic-waker v1.1.2 | ||
| Fresh regex-automata v0.4.13 | ||
| Fresh hyper v1.8.1 | ||
| Fresh rustix v1.1.3 | ||
| Fresh zeroize v1.8.2 | ||
| Fresh rustls v0.23.36 | ||
| Fresh idna_adapter v1.2.1 | ||
| Fresh getrandom v0.3.4 | ||
| Fresh indexmap v2.12.1 | ||
| Fresh http-body v0.4.6 | ||
| Fresh form_urlencoded v1.2.2 | ||
| Fresh tracing v0.1.44 | ||
| Fresh ring v0.17.14 | ||
| Fresh sync_wrapper v1.0.2 | ||
| Fresh fixedbitset v0.4.2 | ||
| Fresh semver v1.0.27 | ||
| Fresh utf8_iter v1.0.4 | ||
| Fresh fastrand v2.3.0 | ||
| Fresh base64 v0.22.1 | ||
| Fresh cpufeatures v0.2.17 | ||
| Fresh hyper-util v0.1.19 | ||
| Fresh idna v1.1.0 | ||
| Fresh tempfile v3.24.0 | ||
| Fresh tower v0.5.2 | ||
| Fresh petgraph v0.6.5 | ||
| Fresh rustc_version v0.4.1 | ||
| Fresh rand_core v0.9.3 | ||
| Fresh h2 v0.3.27 | ||
| Fresh tokio-rustls v0.26.4 | ||
| Fresh regex v1.12.2 | ||
| Fresh prettyplease v0.2.37 | ||
| Fresh zmij v1.0.11 | ||
| Fresh webpki-roots v1.0.5 | ||
| Fresh rand_chacha v0.3.1 | ||
| Fresh pin-project-internal v1.1.10 | ||
| Fresh futures-channel v0.3.31 | ||
| Fresh socket2 v0.5.10 | ||
| Fresh linux-raw-sys v0.4.15 | ||
| Fresh iri-string v0.7.10 | ||
| Fresh multimap v0.10.1 | ||
| Fresh heck v0.5.0 | ||
| Fresh httpdate v1.0.3 | ||
| Fresh ryu v1.0.22 | ||
| Fresh hashbrown v0.12.3 | ||
| Fresh indexmap v1.9.3 | ||
| Fresh hyper v0.14.32 | ||
| Fresh prost-build v0.12.6 | ||
| Fresh serde_urlencoded v0.7.1 | ||
| Fresh tower-http v0.6.8 | ||
| Fresh rustix v0.38.44 | ||
| Fresh pin-project v1.1.10 | ||
| Fresh rand v0.8.5 | ||
| Fresh serde_json v1.0.148 | ||
| Fresh hyper-rustls v0.27.7 | ||
| Fresh rand_chacha v0.9.0 | ||
| Fresh url v2.5.7 | ||
| Fresh sct v0.7.1 | ||
| Fresh rustls-webpki v0.101.7 | ||
| Fresh inout v0.1.4 | ||
| Fresh http-body-util v0.1.3 | ||
| Fresh async-trait v0.1.89 | ||
| Fresh home v0.5.11 | ||
| Fresh mime v0.3.17 | ||
| Fresh base64 v0.21.7 | ||
| Fresh cipher v0.4.4 | ||
| Fresh reqwest v0.12.28 | ||
| Fresh axum-core v0.3.4 | ||
| Fresh rustls-pemfile v1.0.4 | ||
| Fresh which v4.4.2 | ||
| Fresh rustls v0.21.12 | ||
| Fresh rand v0.9.2 | ||
| Fresh tower v0.4.13 | ||
| Fresh serde v1.0.228 | ||
| Fresh tonic-build v0.11.0 (https://github.com/hyperium/tonic.git?rev=c783652#c7836521) | ||
| Fresh universal-hash v0.5.1 | ||
| Fresh prost v0.12.6 | ||
| Fresh tokio-io-timeout v1.2.1 | ||
| Fresh async-stream-impl v0.3.6 | ||
| Fresh curve25519-dalek-derive v0.1.1 | ||
| Fresh sync_wrapper v0.1.2 | ||
| Fresh opaque-debug v0.3.1 | ||
| Fresh openssl-probe v0.1.6 | ||
| Fresh bitflags v1.3.2 | ||
| Fresh matchit v0.7.3 | ||
| Fresh rustls-native-certs v0.6.3 | ||
| Fresh axum v0.6.20 | ||
| Fresh poly1305 v0.8.0 | ||
| Fresh curve25519-dalek v4.1.3 | ||
| Fresh hyper-timeout v0.4.1 | ||
| Fresh async-stream v0.3.6 | ||
| Fresh uuid v1.19.0 | ||
| Fresh tokio-rustls v0.24.1 | ||
| Fresh chacha20 v0.9.1 | ||
| Fresh aead v0.5.2 | ||
| Fresh tokio-stream v0.1.18 | ||
| Fresh tonic v0.10.2 (https://github.com/hyperium/tonic.git?rev=07e4ee1#07e4ee17) | ||
| Fresh chacha20poly1305 v0.10.1 | ||
| Fresh host_unique v0.1.0 (/app/implants/lib/host_unique) | ||
| Dirty pb v0.0.5 (/app/implants/lib/pb): the precalculated components changed | ||
| Compiling pb v0.0.5 (/app/implants/lib/pb) | ||
| Fresh x25519-dalek v2.0.1 | ||
| Fresh prost-types v0.12.6 | ||
| Fresh netdev v0.33.0 | ||
| Fresh lru v0.16.2 | ||
| Fresh whoami v1.6.1 | ||
| Fresh const-decoder v0.3.0 | ||
| Running `CARGO=/home/jules/.rustup/toolchains/1.91.1-x86_64-unknown-linux-gnu/bin/cargo CARGO_CFG_FEATURE=default CARGO_CFG_PANIC=unwind CARGO_CFG_TARGET_ABI='' CARGO_CFG_TARGET_ARCH=x86_64 CARGO_CFG_TARGET_ENDIAN=little CARGO_CFG_TARGET_ENV=gnu CARGO_CFG_TARGET_FAMILY=unix CARGO_CFG_TARGET_FEATURE=fxsr,sse,sse2 CARGO_CFG_TARGET_HAS_ATOMIC=16,32,64,8,ptr CARGO_CFG_TARGET_OS=linux CARGO_CFG_TARGET_POINTER_WIDTH=64 CARGO_CFG_TARGET_VENDOR=unknown CARGO_CFG_UNIX='' CARGO_ENCODED_RUSTFLAGS='' CARGO_FEATURE_DEFAULT=1 CARGO_MANIFEST_DIR=/app/implants/lib/pb CARGO_MANIFEST_PATH=/app/implants/lib/pb/Cargo.toml CARGO_PKG_AUTHORS='' CARGO_PKG_DESCRIPTION='' CARGO_PKG_HOMEPAGE='' CARGO_PKG_LICENSE='' CARGO_PKG_LICENSE_FILE='' CARGO_PKG_NAME=pb CARGO_PKG_README='' CARGO_PKG_REPOSITORY='' CARGO_PKG_RUST_VERSION='' CARGO_PKG_VERSION=0.0.5 CARGO_PKG_VERSION_MAJOR=0 CARGO_PKG_VERSION_MINOR=0 CARGO_PKG_VERSION_PATCH=5 CARGO_PKG_VERSION_PRE='' DEBUG=true HOST=x86_64-unknown-linux-gnu LD_LIBRARY_PATH='/app/implants/target/debug/deps:/app/implants/target/debug:/home/jules/.rustup/toolchains/1.91.1-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib:/home/jules/.rustup/toolchains/1.91.1-x86_64-unknown-linux-gnu/lib:/app/implants/target/debug/build/ring-6309a8466ccf6ab3/out' NUM_JOBS=4 OPT_LEVEL=0 OUT_DIR=/app/implants/target/debug/build/pb-3ef0284c2cd70b6f/out PROFILE=debug RUSTC=/home/jules/.rustup/toolchains/1.91.1-x86_64-unknown-linux-gnu/bin/rustc RUSTDOC=/home/jules/.rustup/toolchains/1.91.1-x86_64-unknown-linux-gnu/bin/rustdoc TARGET=x86_64-unknown-linux-gnu /app/implants/target/debug/build/pb-bb8e95134d9e55a2/build-script-build` | ||
| [pb 0.0.5] cargo:warning=IMIX_SERVER_PUBKEY already set, skipping fetch | ||
| [pb 0.0.5] cargo:rustc-env=IMIX_TRANSPORT_EXTRA={} | ||
| [pb 0.0.5] Found protoc, protos will be generated | ||
| [pb 0.0.5] cargo:rerun-if-changed=eldritch.proto | ||
| [pb 0.0.5] cargo:rerun-if-changed=../../../tavern/internal/c2/proto/ | ||
| [pb 0.0.5] cargo:rerun-if-changed=../../../tavern/portals/proto/ | ||
| [pb 0.0.5] generated eldritch protos | ||
| [pb 0.0.5] cargo:rerun-if-changed=portal.proto | ||
| [pb 0.0.5] cargo:rerun-if-changed=../../../tavern/internal/c2/proto/ | ||
| [pb 0.0.5] cargo:rerun-if-changed=../../../tavern/portals/proto/ | ||
| [pb 0.0.5] generated portal protos | ||
| [pb 0.0.5] cargo:rerun-if-changed=trace.proto | ||
| [pb 0.0.5] cargo:rerun-if-changed=../../../tavern/portals/proto/ | ||
| [pb 0.0.5] generated portal trace protos | ||
| [pb 0.0.5] cargo:rerun-if-changed=c2.proto | ||
| [pb 0.0.5] cargo:rerun-if-changed=../../../tavern/internal/c2/proto/ | ||
| [pb 0.0.5] cargo:rerun-if-changed=../../../tavern/portals/proto/ | ||
| [pb 0.0.5] generated c2 protos | ||
| [pb 0.0.5] cargo:rerun-if-changed=dns.proto | ||
| [pb 0.0.5] cargo:rerun-if-changed=../../../tavern/internal/c2/proto/ | ||
| [pb 0.0.5] cargo:rerun-if-changed=../../../tavern/portals/proto/ | ||
| [pb 0.0.5] generated dns protos | ||
| warning: pb@0.0.5: IMIX_SERVER_PUBKEY already set, skipping fetch | ||
| Running `CARGO=/home/jules/.rustup/toolchains/1.91.1-x86_64-unknown-linux-gnu/bin/cargo CARGO_CRATE_NAME=pb CARGO_MANIFEST_DIR=/app/implants/lib/pb CARGO_MANIFEST_PATH=/app/implants/lib/pb/Cargo.toml CARGO_PKG_AUTHORS='' CARGO_PKG_DESCRIPTION='' CARGO_PKG_HOMEPAGE='' CARGO_PKG_LICENSE='' CARGO_PKG_LICENSE_FILE='' CARGO_PKG_NAME=pb CARGO_PKG_README='' CARGO_PKG_REPOSITORY='' CARGO_PKG_RUST_VERSION='' CARGO_PKG_VERSION=0.0.5 CARGO_PKG_VERSION_MAJOR=0 CARGO_PKG_VERSION_MINOR=0 CARGO_PKG_VERSION_PATCH=5 CARGO_PKG_VERSION_PRE='' CARGO_PRIMARY_PACKAGE=1 CARGO_SBOM_PATH='' IMIX_TRANSPORT_EXTRA='{}' LD_LIBRARY_PATH='/app/implants/target/debug/deps:/home/jules/.rustup/toolchains/1.91.1-x86_64-unknown-linux-gnu/lib' OUT_DIR=/app/implants/target/debug/build/pb-3ef0284c2cd70b6f/out /home/jules/.rustup/toolchains/1.91.1-x86_64-unknown-linux-gnu/bin/rustc --crate-name pb --edition=2021 lib/pb/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type lib --emit=dep-info,metadata,link -C embed-bitcode=no -C debuginfo=2 --cfg 'feature="default"' --check-cfg 'cfg(docsrs,test)' --check-cfg 'cfg(feature, values("default", "dns", "grpc", "http1", "imix"))' -C metadata=9bc649bd2b37b491 -C extra-filename=-83bc9c4bceb2fb4c --out-dir /app/implants/target/debug/deps -C incremental=/app/implants/target/debug/incremental -L dependency=/app/implants/target/debug/deps --extern anyhow=/app/implants/target/debug/deps/libanyhow-18003d9b3bf5fec2.rmeta --extern bytes=/app/implants/target/debug/deps/libbytes-7a1497b080d11eae.rmeta --extern chacha20poly1305=/app/implants/target/debug/deps/libchacha20poly1305-d7ffabe6489a6a2d.rmeta --extern const_decoder=/app/implants/target/debug/deps/libconst_decoder-bb002dcb80067506.rmeta --extern host_unique=/app/implants/target/debug/deps/libhost_unique-b2fe81f9503cefcf.rmeta --extern log=/app/implants/target/debug/deps/liblog-1f080f897cde9e8f.rmeta --extern lru=/app/implants/target/debug/deps/liblru-c50c5acf8185e5bd.rmeta --extern netdev=/app/implants/target/debug/deps/libnetdev-00da297a2ecbdb5d.rmeta --extern prost=/app/implants/target/debug/deps/libprost-b748fe237a5d73cb.rmeta --extern prost_types=/app/implants/target/debug/deps/libprost_types-5af81e04bb63172b.rmeta --extern rand=/app/implants/target/debug/deps/librand-6df5e5ab01772d9d.rmeta --extern rand_chacha=/app/implants/target/debug/deps/librand_chacha-6b788d2cc81a1774.rmeta --extern serde_json=/app/implants/target/debug/deps/libserde_json-124cf838a531c603.rmeta --extern tokio=/app/implants/target/debug/deps/libtokio-de4193ef8ce0c489.rmeta --extern tokio_stream=/app/implants/target/debug/deps/libtokio_stream-fa4002d7af5dcb94.rmeta --extern tonic=/app/implants/target/debug/deps/libtonic-fbd608c593c7667d.rmeta --extern uuid=/app/implants/target/debug/deps/libuuid-67e15aa4fcf19d30.rmeta --extern whoami=/app/implants/target/debug/deps/libwhoami-be2e2b18d31e804f.rmeta --extern x25519_dalek=/app/implants/target/debug/deps/libx25519_dalek-df2f82c574c39a48.rmeta -L native=/app/implants/target/debug/build/ring-6309a8466ccf6ab3/out` | ||
| warning: unused import: `std::collections::HashMap` | ||
| --> lib/pb/src/config.rs:1:5 | ||
| | | ||
| 1 | use std::collections::HashMap; | ||
| | ^^^^^^^^^^^^^^^^^^^^^^^^^ | ||
| | | ||
| = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default | ||
|
|
||
| warning: `pb` (lib) generated 1 warning (run `cargo fix --lib -p pb` to apply 1 suggestion) | ||
| Finished `dev` profile [unoptimized + debuginfo] target(s) in 2.14s | ||
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Oops, something went wrong.
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Oops, something went wrong.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Jules, remove this log file
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Removed
implants/lib/pb/build.log.