PE Notes · 보안
BPFdoor
포트를 열지 않고 BPF로 패킷을 엿보는 수동형 리눅스 백도어의 매직 패킷·역방향 셸 흐름과, 패킷 소켓·프로세스 위장·임시 iptables로 잡는 탐지를 정리합니다.
열린 포트가 없으면 방화벽은 할 일이 줄어 보입니다. 는 그 빈칸을 노립니다. 리눅스 로 들어오는 패킷을 커널 근처에서 훑고, 약속한 매직 값이 있으면 그때만 살아납니다.
왜 안 보이나
일반 백도어는 소켓을 열고 대기합니다. netstat에 남고 스캐너에 잡힙니다. BPFdoor는 대기 포트를 만들지 않습니다. 합법 이름(sshd, crond)으로 위장하고, 공격자가 특수 패킷을 보낼 때까지 수동입니다.
| 비교축 | 일반 백도어 | BPFdoor |
|---|---|---|
| 대기 | 포트 listen | 포트 없음 |
| 방화벽 | 차단 가능 | 우회 |
| 가시성 | netstat·스캔 | 패킷 소켓만 |
| 활성화 | 상시 또는 비콘 | 매직 패킷 |
동작
설치 뒤 모든 인바운드를 봅니다. TCP·UDP·ICMP 어느 쪽이든 매직이 있으면 C2 명령을 실행합니다. 역방향 셸을 위해 iptables를 잠깐 넣었다가 지웁니다. 흔적이 운영 로그에 짧게만 남습니다.
탐지
패킷 소켓 목록, /proc/pid/exe와 cmdline 불일치, 짧은 iptables 변경, 메모리·디스크 포렌식이 한 세트입니다. IDS 시그니처만으로는 부족합니다.