mirror of
https://github.com/portbuster1337/ArachneC2
synced 2026-06-14 08:40:53 +00:00
625106e94fb14df007d6ef28973021d75a2fc7c0
Security model required that only the operator can send commands and only authenticated implants can communicate, but implementation had critical gaps: 1. Implant: verify operator's Ed25519 signature on EVERY command before dispatching (handleCommand now calls VerifyEnvelope) 2. Operator: verify implant's Ed25519 signature on EVERY beacon and registration before processing 3. Messenger: added VerifyEnvelope() + PubKeyFromEnvelope() helpers, trust-on-first-use per-implant key storage 4. All outgoing messages now use SignAndSend() instead of SendEnvelope (register, ping, ps/ls/execute results are all properly signed) 5. handler callback now receives sender's crypto.PubKey for verification 6. Renamed misleading CreateSignedEnvelope -> CreateEnvelope (it was never actually signing)
Arachne C2
A decentralized Command & Control framework built on libp2p (the peer-to-peer networking stack behind IPFS). No servers, no domains, no IPs to block — just cryptographic identities communicating over the global p2p network.
Inspired by Sliver (BishopFox's adversary emulation framework), but redesigned for decentralized infrastructure.
Key Idea
Instead of running a C2 server on a VPS that can be taken down, Arachne uses GossipSub (PubSub) and direct libp2p streams over the IPFS peer-to-peer network. Your implant fleet and operator are all equal peers in the network — no central point of failure.
Features (Planned)
- No-cost infrastructure — uses public libp2p network
- Censorship-resistant — no IPs or domains to block
- Beacon mode (async) and session mode (interactive)
- IPFS-based data exfiltration (CID-addressed files)
- Interactive shell, port forwarding, SOCKS5 proxy
- Cross-platform implants (Windows, Linux, macOS)
- Multi-operator support
- Protocol Buffers message format
- Ed25519 cryptographic identities
Project Structure
arachne/
├── docs/ # Design documentation
│ ├── architecture.md # System architecture
│ ├── protocol-spec.md # Wire protocol specification
│ ├── implant-design.md # Implant architecture
│ ├── server-operator-design.md # Operator node design
│ ├── ipfs-integration.md # IPFS/libp2p usage
│ └── development-roadmap.md # Build plan
├── server/ # Operator node (the "server")
├── implant/ # Implant agent code
├── client/ # CLI / TUI client
├── protobuf/ # Protocol Buffers definitions
└── pkg/ # Shared libraries
├── cryptography/ # Crypto primitives
├── transport/ # libp2p transport helpers
├── config/ # Shared config types
└── util/ # Utilities
Getting Started
Coming soon — see the development roadmap.
License
GPLv3 (same as Sliver)
Description
Languages
Go
98.1%
Shell
1.9%