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

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

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

피드문의개인정보© 2026 Kitploit

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
blacksandbeacon — Linux C2 비콘으로, 네이티브 인메모리 ELF BOF 로더, AES-256-CFB 암호화 폴링, 그리고 파일리스 사후 익스플로잇 모듈을 위한 Python C2 서버를 갖추고 있습니다. | Kitploit
도구/GitHubGitHub/grisuno/blacksandbeacon
Penetration Testing FrameworksPrivilege EscalationEncryption/Decryption ToolsExploit FrameworksPersistence MechanismsShellcodePost-ExploitationCommand and ControlRed TeamingPayload DevelopmentRemote Access Trojan
1542511일 전아직 검토되지 않음
Binary Exploitation
GitHubgrisuno/blacksandbeacon

blacksandbeacon

Linux C2 비콘으로, 네이티브 인메모리 ELF BOF 로더, AES-256-CFB 암호화 폴링, 그리고 파일리스 사후 익스플로잇 모듈을 위한 Python C2 서버를 갖추고 있습니다.

저장소 보기웹사이트

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

Black Sand Beacon

Go나 Rust 런타임 없이 C로 작성된, 네이티브 인메모리 ELF BOF 로더를 갖춘 Linux C2 비콘입니다. LazyOwn RedTeam 프레임워크에 연결되도록 설계되었으며 Cobalt Strike의 Beacon Object Files에서 영감을 받았습니다.

이 저장소에는 다음이 포함됩니다:

  • beacons/v1/, beacons/v2/, beacons/v3/의 비콘 동일한 HTTPS/CFB 비콘의 세 가지 변형입니다. v1은 표준 풀 모드 비콘입니다. v2는 메시/p2p 탐색을 추가합니다. v3는 실험적 브랜치입니다.
  • bof/<name>/bof.c의 BOF 비콘이 가져와 메모리에서 실행할 수 있는 위치 독립적 ELF 오브젝트입니다. 포함된 다섯 가지는 whoami, is_sudo, cat, userenum, suid_enum입니다.
  • c2/server.py의 C2 서버 명령을 제공하고, 결과를 수락하며, BOF를 호스팅하는 작은 Python Gopher 유사 서버입니다.
  • include/의 공유 라이브러리 독립형 AES-256(aes.c/aes.h), cJSON, 런타임 구성 로더(config.c/config.h 및 Python 미러 config_py.py), 그리고 비콘과 테스트가 공유하는 AES-256-CFB 래퍼입니다.
  • Makefile의 빌드, .github/workflows/ci.yml의 CI, tests/의 테스트.

5분짜리 엔드투엔드 실행은 QUICKSTART.md를 참조하세요. BOF 작성 가이드는 docs/BOF_AUTHORING.md를 참조하세요. C2 와이어 프로토콜은 docs/PROTOCOL.md를 참조하세요.

요구 사항

빌드 (Debian/Ubuntu):

sudo apt-get install gcc libcurl4-openssl-dev libssl-dev make

C2 서버용 런타임:

pip install -r requirements.txt

빌드

make config        # one-time: copies config.example.json -> config.json
make beacon        # builds build/beacon (runnable, with build/config.json staged next to it)
make bofs          # builds all BOFs into build/bof/*.x64.o
make all-beacons   # builds v1, v2, v3
make test          # runs the full test suite
make clean         # removes build/

make beacon를 실행하면 바이너리가 실행 준비됩니다:

./build/beacon

자신과 같은 위치에 있는 build/config.json을 바이너리 상대 검색 경로를 통해 읽으므로 BSB_CONFIG나 cd config/가 필요하지 않습니다. 동일한 바이너리를 다른 호스트에 복사해도 옆에 config.json만 있으면 똑같이 동작합니다.

BOF 하나만 다시 빌드하고 싶다면:

make bof-whoami
make bof-suid_enum

다른 호스트에 배포 (선택 사항)

대상으로 전송하기 위해 Makefile에는 자체 포함 디렉터리를 준비하는 install 타깃이 있습니다:

make install-all DESTDIR=/tmp/deploy
scp -r /tmp/deploy/* user@target:/opt/bsb/
ssh user@target /opt/bsb/beacon

이것은 일반적인 흐름이 아니다. 바이너리 + 설정 + BOF를 어딘가로 복사할 수 있는 단일 디렉터리로 묶어야 할 때만 사용하라.

C2 실행

python3 c2/server.py

서버는 기본적으로 0.0.0.0:7070에 바인딩되며, AES 키와 C2 URI를 config/config.json에서 읽습니다. BSB_CONFIG=/path/to/config.json으로 설정 경로를 재정의할 수 있습니다.

서버가 실행되면 REPL에서 명령을 주입할 수 있습니다:

Client ID: linux
Command:   id

비콘 실행

./build/beacon

비컨은 config/config.json(바이너리 기준 상대 경로, 바이너리 상대 검색 경로를 통해 찾음)을 읽고, C2를 폴링하며, 송수신하는 내용을 출력한다. 대기 중인 명령이 없으면 폴링 사이에 그냥 대기한다.

BOF를 실행하려면 C2가 /bof/<name>.x64.o를 가리키는 bof 필드를 포함한 JSON 객체를 반환한다. 비컨은 해당 파일을 가져와 인메모리 ELF 로더(beacons/v1/beacon.c의 RunELF)를 통해 자체 프로세스에 로드한다.

구성

모든 운영 파라미터는 config/config.json에 있으며 시작 시 읽힌다. 바이너리에 하드코딩된 것은 없다.

섹션키기본값용도
c2urlhttps://127.0.0.1:4444C2 기본 URL
c2uri/api/poll/클라이언트 id 앞의 URI 경로
c2client_idlinux비컨 식별자
cryptoaes_key_hex(플레이스홀더)64자 hex = 32바이트
cryptomodecfb암호화 모드
timingsleep_seconds6기본 폴링 간격
timingjitter_percent20대기 시간에 대한 +/- 퍼센트 지터
timingcurl_timeout_seconds10libcurl 전체 타임아웃
timingcurl_connect_timeout_seconds5libcurl 연결 타임아웃
networkuser_agents(4개 문자열)로테이션 목록
networkverify_tlsfalseC2 TLS 검증
bofdownload_chunk_size4096BOF 다운로드 버퍼

CI는 소스에 64자 hex 키가 나타나면 빌드를 실패시키는 가드레일을 실행한다. 실제 키는 git-ignored된 config/config.json에 속한다.

새 BOF 작성하기

BOF는 void go(char *args, int alen)을 내보내는 C 소스 파일일 뿐이다. 콜백 API를 위해 bof/include/beacon_api.h를, 직접 시스템 콜 헬퍼를 위해 bof/include/syscalls.h를 포함한다. 위치 독립적으로, 그리고 libc 없이 컴파일한다:

gcc -c -fPIC -nostdlib -m64 -O2 -I bof/include bof/<name>/bof.c -o build/bof/<name>.x64.o

make bof-<name> 타깃이 이를 감싸줍니다. 생성된 .x64.o를 C2 호스트의 sessions/uploads/에 넣고, 명령 인젝션에서 bof:<name> 형태의 명령을 반환하여 실행하세요.

전체 계약 내용은 docs/BOF_AUTHORING.md를 참조하세요.

테스트

make test

테스트 스위트는 tests/에 여러 파일로 나뉘어 있습니다:

파일다루는 내용
test_config.pyC JSON 설정 로더: 기본값, 재정의, 오류
test_crypto.pyAES-256-CFB 왕복 및 Python/C 상호운용
test_bof_compile.py모든 BOF가 컴파일되고, go를 내보내며, libc 누출이 없음
test_beacon_build.pyBeacon 바이너리가 빌드되고, BOF API + RunELF를 노출함
test_c2_server.pyC2 디스패처: GET/POST/BOF, 경로 순회 강화
test_c2_http_e2e.py암호화를 포함한 실제 HTTP/1.1 소켓 왕복
test_install_deploy.pymake 워크플로가 실행 가능한 트리를 생성하고, make clean이 이를 제거함

저장소 레이아웃

beacons/
  v1/beacon.c        canonical beacon
  v2/beacon.c        mesh/p2p variant
  v3/beacon.c        experimental variant
bof/
  include/           shared BOF headers (beacon_api.h, syscalls.h)
  whoami/bof.c       sample: print effective UID
  is_sudo/bof.c      sample: check sudo/wheel membership
  cat/bof.c          sample: read a file
  userenum/bof.c     sample: list /etc/passwd users and privileges
  suid_enum/bof.c    privesc recon: walk FS, list SUID/SGID binaries
c2/
  server.py          Gopher-style C2 server
config/
  config.example.json  template (copy to config.json)
include/
  config.h, config.c  runtime config loader
  config_py.py        Python mirror for the C2
  aes.h, aes.c        standalone AES (ECB/CTR/CBC)
  aes_cfb.h, aes_cfb.c  AES-256-CFB the beacon actually uses
  cJSON.h, cJSON.c     vendored JSON parser
  beacon.h            BOF API the beacon implements
tests/
  test_*.py           Python test suite
  *_harness.c         C test harnesses
docs/
  PROTOCOL.md         wire protocol
  BOF_AUTHORING.md    BOF contract and gotchas
.github/workflows/
  ci.yml              build + test + key-leak guard
Makefile
requirements.txt      C2 server runtime deps

라이선스

GPL v3. LICENSE를 참조하세요.

지식 베이스

이 프로젝트는 제로 토큰 다국어 정적 분석 도구인 ReadMenator에 의해 분석되었습니다. pip install readmenator && readmenator . --rebuild로 재생성할 수 있습니다. 분석 결과물:

도구 다운로드