본문 바로가기

이슈(보안)

BPFDoor 악성코드 점검 스크립트

반응형

BPFDoor 악성코드 점검 스크립트

bpfdoor_bpf.sh, bpfdoor_env.sh, bpfdoor.yar 파일이 모두 준비되어 있다고 가정합니다.

스크립트 작성

  1. bpfdoor_bpf.sh 실행 (예: BPF 관련 정보 수집)
  2. bpfdoor_env.sh 실행 (예: 환경 변수 수집)
  3. YARA 룰(bpfdoor.yar)을 시스템 전체 또는 특정 디렉토리에 적용
vim run_bpfdoor_scan.sh
#!/bin/bash

# ----[ 설정 ]----
YARA_RULE="./bpfdoor.yar"
TARGET_DIR="/usr/bin"  # 변경 가능

# ----[ 1. BPF 정보 수집 ]----
echo "[*] 실행: bpfdoor_bpf.sh"
if [[ -x ./bpfdoor_bpf.sh ]]; then
    ./bpfdoor_bpf.sh
else
    echo "[!] bpfdoor_bpf.sh 실행 불가 (권한 또는 없음)"
fi

# ----[ 2. 환경 변수 수집 ]----
echo "[*] 실행: bpfdoor_env.sh"
if [[ -x ./bpfdoor_env.sh ]]; then
    ./bpfdoor_env.sh
else
    echo "[!] bpfdoor_env.sh 실행 불가 (권한 또는 없음)"
fi

# ----[ 3. YARA 룰 실행 ]----
echo "[*] YARA 룰 실행: ${YARA_RULE} 대상: ${TARGET_DIR}"
if ! command -v yara &> /dev/null; then
    echo "[!] YARA 명령어를 찾을 수 없습니다. 먼저 설치하세요."
    exit 1
fi

if [[ -f "$YARA_RULE" ]]; then
    sudo yara -r "$YARA_RULE" "$TARGET_DIR"
else
    echo "[!] YARA 룰 파일이 존재하지 않습니다: $YARA_RULE"
    exit 1
fi

실행 권한 부여

chmod +x run_bpfdoor_scan.sh

스크립트 실행

./run_bpfdoor_scan.sh

결과 예시

[*] 실행: bpfdoor_bpf.sh
[출력 생략]
[*] 실행: bpfdoor_env.sh
[출력 생략]
[*] YARA 룰 실행: ./bpfdoor.yar 대상: /usr/bin
[출력 생략 또는 탐지 결과]

 

참고URL

- 변군이글루 블로그 : BPFDoor 악성코드 점검 가이드 배포(BPFDoor 악성코드 점검 코드)

- 변군이글루 블로그 : 우분투에서 YARA를 설치하는 방법

 

반응형