Skip to content
KitploitKITPLOIT
도구블로그
제출
도구블로그
제출

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

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

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

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
blue-pigeon — 블루 피전(Blue Pigeon)은 원격 명령 및 제어(C2) 서버와 손상된 호스트 간의 통신을 가능하게 하는 블루투스 기반 데이터 유출 및 프록시 도구입니다. | Kitploit
도구/GitHubGitHub/bluepigeonproject/blue-pigeon
Android SecurityBluetooth SecurityData ExfiltrationPenetration TestingMobile SecurityCommand and ControlRed Teaming
GitHubbluepigeonproject/blue-pigeon

blue-pigeon

블루 피전(Blue Pigeon)은 원격 명령 및 제어(C2) 서버와 손상된 호스트 간의 통신을 가능하게 하는 블루투스 기반 데이터 유출 및 프록시 도구입니다.

저장소 보기
561365년 전Kitploit 검토 완료

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유


Blue Pigeon: 블루투스 기반 데이터 유출 및 프록시 도구 (Red Teamer용)

  1. 동기 | 새의 탄생

    ​ Blue Pigeon은 어떻게 작동하나요?

    ​ 비둘기의 주요 요구사항

  2. 구성 요소 | 피죠를 해부하다

    ​ 1. Blue Pigeon - 모바일 애플리케이션

    ​ 2. Blue Beak - 커스텀 EdXposed 프레임워크 훅

    ​ 3. Blue Dispatcher - 손상된 호스트용 .NET 모듈

  3. Blue Pigeon 설정하기

    ​ 요구사항

    ​ 설치 및 사용법

  4. 보안 고려사항

  5. 라이선스 및 기여

Blue Pigeon: 블루투스 기반 데이터 유출 및 프록시 도구 (Red Teamer용)

Blue Pigeon은 원격 명령제어(C2) 서버와 손상된 호스트 간의 통신을 가능하게 하는 블루투스 기반 데이터 유출 및 프록시 도구입니다.

Rock Dove가 메시지를 본래 집으로 운반하는 능력에서 영감을 받아, Blue Pigeon은 귀소 본능을 모방하여 에이전트(손상된 호스트)와 둥지(모바일 애플리케이션, 이후 C2 서버로 프록시) 간에 메시지/페이로드를 전달합니다.

Blue Pigeon은 Red Teamer가 손상된 호스트 근처에 배포할 수 있는 Android 애플리케이션으로 개발되었으며, 웹, 이메일, DNS 등 전통적인 채널을 통한 통신이 불가능한 Red Team 작전에 특히 유용합니다.

MITRE AT&CK 프레임워크의 유출 전술 하에 있는 "대체 프로토콜을 통한 유출" 기술(ID: T1048)을 확장하여, Blue Pigeon은 블루투스 파일 공유를 유출 매체로 활용함으로써 Cyber Kill Chain의 '목표에 대한 행동(Action on Objective)'으로서 명령제어 설정 및 데이터 유출을 수행하는 새로운 방법을 제공합니다.

Blue Pigeon은 @mahchiahui, @jingloon, @cloudkanghao가 제작했습니다.


(출처: https://spectrum.ieee.org/tech-history/silicon-revolution/consider-the-pigeon-a-surprisingly-capable-technology)

동기 | 새의 탄생

명령제어 설정과 데이터 유출은 Cyber Kill Chain의 핵심 단계이지만, 잘못 수행될 경우 복잡한 문제와 심각한 결과를 초래할 수 있습니다. Red Team 작전에서 실패한 시도는 네트워크 활동 로그에 영구적인 흔적을 남기고 탐지 메커니즘에 경보를 울릴 수 있습니다.

일부 Red Teaming 연습에서 우리는 전통적인 채널(웹, 이메일, DNS)을 거치지 않고 데이터를 유출하고 손상된 호스트와 통신할 방법이 필요하다는 것을 깨달았습니다.

이러한 필요를 해결할 수 있는 솔루션이 거의 없었기 때문에, 우리는 무선/무선통신 벡터를 기반으로 한 다양한 유출 아이디어를 탐색했습니다. 그 결과 Red Team 도구 세트를 확장하기 위해 Blue Pigeon이 탄생했습니다.

Blue Pigeon은 어떻게 작동하나요?

Blue Pigeon은 Android 모바일 폰에서 포그라운드 서비스로 실행됩니다. Red Teamer/악의적인 내부자가 휴대폰을 (Blue Dispatcher 페이로드에 감염된) 손상된 호스트 근처에 배치하면, Blue Pigeon은 유출 지점이자 원격 C2 서버(일명 Blue Coop)로의 명령 릴레이 프록시 역할을 할 수 있습니다.


Blue Pigeon 실행 데모 비디오를 보려면 여기를 클릭하세요

비둘기의 주요 요구사항

Blue Pigeon은 다음과 같은 주요 요구사항을 염두에 두고 설계되었습니다:

1. 회피성(Evasiveness)

Blue Pigeon은 다양한 수준에서 탐지를 회피하면서 데이터 유출을 가능하게 해야 합니다:

  • 네트워크 트래픽 탐지 회피: 손상된 호스트의 데이터 유출은 전통적인 통신 채널을 통해 이루어져서는 안 됩니다. 이러한 채널은 일반적으로 표준 Endpoint Detection and Response에 의해 기록되고 모니터링되기 때문입니다. (그리고 이미 더 나은 옵션이 많으니, 왜 바퀴를 재발명하겠습니까?)

    • Blue Pigeon은 블루투스를 통해 통신합니다. 이는 다소 낯설고 비정통적이지만 신뢰할 수 있는 채널이라고 생각합니다.
  • 인간의 탐지 회피: 데이터 유출은 피해자 시스템에서 어떤 시각적 표시도 없이 이루어져야 합니다. 최악의 경우 피해자가 여전히 손상된 시스템을 사용하고 있을 수 있기 때문입니다.

    • Blue Pigeon은 일반적으로 사용자 인증을 위한 팝업을 트리거하는 블루투스 페어링 없이도 통신을 설정할 수 있습니다.

2. 은밀성(Stealth)

Blue Pigeon은 은밀성을 유지해야 합니다. 즉, 현장에 배치되어 있을 때 눈에 띄지 않아야 합니다.

  • 두꺼운 노트북, 라즈베리 파이, 홈브류 해커 키트는 절대 No-Go입니다. 배포 가능성과 실현 가능성을 제한하기 때문입니다. 작고 순진해 보이는 비둘기가 필요합니다. 멋진 수컷 공작이 아니라요!

    • Blue Pigeon은 Red Teamer/악의적인 내부자가 현장에 가져갈 수 있는 일반적인 Android 폰 안에 숨어 있습니다. 아무도 휴대폰을 의심하지 않습니다...

    • 드물게 Red Teamer가 검사를 요청받는 경우, Blue Pigeon은 작전 상황에 맞게 눈에 띄지 않는 애플리케이션으로 위장할 수 있습니다. 기본 개념 증명에서 모바일 애플리케이션은 배터리 최적화 앱으로 위장되어 있습니다. 저장소를 포크하고 Blue Pigeon에 미관적인 변신을 시켜보세요!

  • Blue Pigeon은 Red Teamer가 휴대폰을 배치하는 동안 유출 시도를 암시하는 어떤 신호도 드러내지 않도록 해야 합니다.

    • Red Teamer는 애플리케이션을 실행하고 휴대폰을 손상된 시스템 근처에 가져가기만 하면 됩니다.
    • Blue Pigeon은 휴대폰 백그라운드에서 실행되며 화면을 계속 켜둘 필요가 없습니다.
    • Blue Pigeon은 들어오는 메시지를 자동으로 소비하며, Red Teamer가 파일 전송 요청 팝업을 수동으로 수락할 필요가 없습니다(사실 팝업이 뜨지도 않습니다).

3. 높은 가용성(High Availability)

Blue Pigeon은 배치되는 동안 (오직) 손상된 호스트에 대해 최대 가용성을 유지해야 합니다.

  • Blue Pigeon은 Red Teamer의 정기적인 개입 없이도 들어오는 메시지를 잡기 위해 살아있어야 합니다.

  • Blue Pigeon은 악의적인 요청/DoS 시도를 견디고 의도된 호스트에 대한 가용성을 유지해야 합니다.

    • Blue Pigeon은 손상된 호스트가 스캔하고 연결할 수 있도록 영구적으로 검색 가능 모드로 유지될 수 있습니다.
    • HMAC 기반 인증 및 파일명 무작위화를 사용하여 DoS 및 재전송 공격을 완화합니다. Blue Pigeon은 구성 가능한 비밀 암호로 인증한 후에만 파일 전송 요청을 수락합니다.

구성 요소 | 피죠를 해부하다

Blue Pigeon은 다음 구성 요소로 이루어진 3부분 프레임워크로 설계되었습니다:


1. Blue Pigeon - 모바일 애플리케이션 | 마법 같은 작은 파란 메신저

Blue Pigeon은 손상된 호스트와 C2 서버(일명 Blue Coop) 간의 중간 프록시 역할을 하는 Android 모바일 애플리케이션입니다. Blue Pigeon은 전통적인 블루투스 파일 공유(OBEX 사용)를 통해 (Blue Dispatcher 페이로드에 감염된) 손상된 호스트와 통신합니다. 데이터는 텍스트 파일의 JSON 객체로 호스트에서 유출됩니다. 이는 com.csg.bluepigeon.pigeon 패키지의 BluePigeonListener 클래스를 편집하여 사용자 정의할 수 있으며, 이후 원격 Blue Coop으로 중계될 수 있습니다. 수신 시 메시지의 복사본은 /sdcard/blue_pigeon/backup 디렉토리에 저장됩니다.

이 저장소에서 Blue Pigeon은 간단해 보이는 배터리 최적화 애플리케이션 형태로 제공됩니다. 그러나 다른 UI 스타일로 개선할 수 있습니다. com.csg.bluepigeon.ui 패키지를 편집하여 작전 필요에 맞게 Blue Pigeon의 UI를 자유롭게 사용자 정의하세요.


여기 볼 것은 없습니다... 그저 순진한 배터리 최적화 앱일 뿐입니다!

2. Blue Beak - 커스텀 EdXposed 프레임워크 훅 | 우리 새들은 똑똑하고 까다롭습니다!

Blue Beak 패키지에는 최신 Android(Android 9/10)의 Bluetooth API 제한을 우회하기 위해 작성된 일련의 커스텀 EdXposed Framework 훅*이 포함되어 있습니다:

  1. BlueBeakHook - 들어오는 파일 전송 요청을 검사하고 소비할지 여부를 결정합니다. 구성 가능한 비밀 암호를 사용한 인증을 적용하여 메시지가 신뢰할 수 있는 출처에서 왔는지 확인합니다. 실수로 악의적인 큰 요청(DoS 자원 고갈 공격 완화)을 소비하는 것을 방지합니다. 또한 이전에 소비된 파일명을 거부합니다(재전송 공격 완화). (보안 고려사항 참조)

  2. CooCooHook - 기본 Android 블루투스 검색 가능 모드 시간 초과를 우회하여 휴대폰이 현장에 배치되는 동안 계속 발견 패킷을 브로드캐스트하도록 합니다. 손상된 호스트가 작전 중 언제든지 Blue Pigeon을 스캔하고 연결할 수 있도록 필요합니다.

  3. NoPopupHook - Android OS에서 블루투스 파일 전송 팝업 생성을 우회하고 코드를 통해 요청을 수락 또는 거부할 수 있도록 합니다. 이는 Red Teamer가 들어오는 메시지를 수락하기 위해 계속 휴대폰을 만질 필요가 없도록 하기 위함입니다. 수상하군, 수상해...

  4. BirdIsAliveHook - 시스템 시계 옆에 모든 것이 정상이고 배포 준비가 되었음을 나타내는 깔끔한 작은 시각적 표시기를 제공합니다.


컨셉 아트가 꽤 정확했어요!

root@kitploit:~
*왜 EdXposed인가? 음... 개념화 단계 초기에 2가지 주요 문제에 부딪혔습니다:

1. 보안 문제로 인해 최신 Android OS는 더 이상 앱이 프로그래밍 방식으로 들어오는 블루투스 파일 전송 요청을 수락하거나 필터링하는 것을 허용하지 않습니다. Blue Pigeon의 작전 방식이 들어오는 요청을 검사하고 실시간으로 수락 또는 거부하는 데 의존하기 때문에 이는 문제가 됩니다.
2. Android의 블루투스 검색 가능 모드 시간 초과의 기본 최대 시간은 3600초(1시간)입니다. 이 제한을 따르면 Red Teamer가 Blue Pigeon을 자주 수동으로 새로고침해야 하며, 이는 비현실적이고 작전 수행을 방해할 수 있습니다.

이러한 문제를 효과적으로 해결하기 위해 우리는 Android Runtime(ART) 훅을 제공하는 EdXposed Framework를 사용하고, 모듈 방식으로 OS 수준 제한을 우회하는 커스텀 훅을 작성하기로 결정했습니다.

3. Blue Dispatcher - 손상된 호스트에 주입할 .NET 모듈 | 배후의 우편배달부

Blue Dispatcher에는 Windows 블루투스 스택을 사용하여 Blue Pigeon과 페이로드를 생성, 전송 및 수신하는 .NET 모듈이 포함되어 있습니다. 이 모듈은 Blue Pigeon과 손상된 호스트 간에 장치 페어링 없이 파일 전송이 가능하도록 합니다. 즉, 블루투스 보안 인증이 필요하지 않습니다. 이는 피해자 시스템에 시각적 팝업이 없어 의심을 불러일으키지 않도록 회피성(핵심 요구사항)을 유지하는 데 도움이 됩니다.


개발자의 시각적 방해로 인한 실패한 작전에 대한 예술적 표현.

Blue Dispatcher에서 사용하는 대부분의 기본 블루투스 모듈은 잘 알려지고 매우 강력한 32feet 라이브러리에서 제공됩니다.

샘플 사용법

Blue Dispatcher에는 전송을 위한 플래그를 입력할 수 있는 옵션이 있습니다.

플래그설명
--device, -d전송할 모바일 장치
--message, -m전송할 텍스트 문자열
root@kitploit:~
C:\Users\user>.\BlueDispatcher.exe

사용법: BlueDispatcher [옵션]

옵션:
  -m|--message        서버로 보낼 메시지
  -d|--device         전송할 장치

C:\Users\user>.\BlueDispatcher.exe -d "Pixel 3 XL" -m "fly pigeon fly"

참고: 페이로드가 RFCOMM을 통해 평문으로 전송되므로, 필요한 경우 Blue Dispatcher에 자체 응용 계층 암호화를 구현하십시오.

Blue Pigeon 설정하기 | 요구사항, 설치 및 사용법

요구사항

데이터 유출을 위해 Blue Pigeon을 배포하려면 다음이 필요합니다:

  1. EdXposed Framework가 설치된 루팅된 Android 9/10 휴대폰. EdXposed Framework 설치에 대한 자세한 내용은 여기를 참조하십시오.
  2. 손상된 호스트는 Windows 10을 실행하고 블루투스 기능이 있어야 하며, 다른 방법을 통해 Blue Dispatcher 페이로드에 감염되어야 합니다.
  3. (선택사항) Blue Pigeon이 데이터를 프록시할 수 있는 표준 REST API 호출이 가능한 Blue Coop/원격 C2 웹 서버.

설치 및 사용법

  1. Blue Pigeon은 루팅된 Android 휴대폰 + Magisk가 필요합니다.

  2. Magisk를 통해 riru-core 및 riru-edxposed를 설치합니다. 모듈 설치 후 Android 장치를 재부팅합니다.

  1. EdXposed Manager apk를 설치합니다. 그러면 EdXposed Framework가 활성화 상태임을 보여주는 다음 화면이 표시됩니다.

  1. BluePigeon.apk를 설치하여 EdXposed Manager에 Blue Beak 훅을 로드합니다. 그러면 모듈 목록에 배터리 최적화 모듈이 표시됩니다.

  1. 장치를 재부팅하면 모든 것이 성공하면 시계 옆에 Blue Pigeon 아이콘이 표시됩니다.

  1. "배터리 최적화" 애플리케이션을 열어 Blue Pigeon을 실행합니다.

  2. Blue Coop 엔드포인트와 (인증에 사용되는) 비밀 암호는 왼쪽 상단 모서리에 있는 버튼을 클릭하여 설정할 수 있습니다.

  1. 이제 Red Teamer는 휴대폰을 가까이에 두고, 배터리를 충전 상태로 유지한 후 시작 버튼을 클릭하기만 하면 됩니다!

보안 고려사항

공격 도구로서 Blue Pigeon이 다른 공격자나 새를 싫어하는 사람들의 간단한 시도에도 약하다면 좀 부끄러운 일일 것입니다.

우선*, Blue Pigeon은 다음과 같은 몇 가지 잠재적 공격에 대한 보호 기능을 갖추고 설계되었습니다:

1. 가짜 요청 방지(Rogue Request Prevention)

블루투스 파일 공유를 유출 매체로 사용할 때의 한계 중 하나는 비동기 전송이 부족하다는 점입니다. 한 번에 하나의 파일 전송 프로세스만 진행될 수 있으므로, Blue Pigeon은 합법적인 들어오는 요청만 허용하고 소비하도록 주의해야 합니다.

주변의 공격자가 가짜 요청을 만들어 Blue Pigeon이 이를 수락하도록 속일 수 있다면, 과도하게 큰 더미 파일을 보내 설정에 대해 일시적인 DoS 공격을 유발할 수 있습니다. 공격자는 파일에 포함된 악성 콘텐츠로 모바일 폰이나 원격 Blue Coop을 손상시키려 할 수도 있습니다.

이러한 잠재적 공격을 완화하기 위해 들어오는 파일 요청의 파일명은 구성 가능한 공유 암호를 사용하는 HMAC 인증 체계로 인증됩니다.

파일명 확인 절차는 다음 단계로 나뉩니다:

  1. 파일명이 예상된 형식과 일치해야 함: 예: BP-e2211d9e19f1669d1a09ea4828d3e2bc171a10bce71cafb53a64179f497273ea.txt
  2. 64자리 16진수 문자열을 providedHash와 rand 두 부분으로 분할합니다.
  3. HmacSHA512(rand, passphrase)를 providedHash와 비교합니다(처음 32개의 16진수 자리/16바이트 비교).
  4. 그런 다음 요청이 합법적인 것으로 간주됩니다.

파일명 확인 로직은 com.csg.bluepigeon.util.EncryptionManager에 있으며, 필요에 따라 사용자 정의할 수 있습니다.

개발자 노트: 사실 송신자 MAC 주소 확인이 가장 이상적이지만, 파일명 확인을 선택했습니다. 피해자의 블루투스 MAC 주소를 미리 알아내기 어렵기 때문입니다.

2. 재전송 공격 방지(Replay Attack Prevention)

또 다른 공격 경로는 재전송 공격입니다. 주변의 공격자가 통신 트래픽을 스니핑하여 이전에 수락된 파일명을 획득할 수 있습니다. 그런 다음 해당 파일명을 재사용/"재전송"하여 Blue Pigeon에 가짜 파일 전송 요청을 보낼 수 있습니다. 마찬가지로 충분히 큰 가짜 파일 전송은 설정에 대해 일시적인 DoS를 유발할 수 있습니다.

이를 완화하기 위해 파일명 재사용이 허용되지 않습니다. Blue Beak은 들어오는 파일명이 이전에 소비된 적이 없는지 확인합니다(/sdcard/blue_pigeon/backup 폴더를 폴링하여).

이 기본 저장소에서 파일명의 rand 구성 요소는 32개의 16진수 자리/16바이트 길이로, 약 2^128 중 1의 충돌률을 제공합니다(좋은 무작위성을 가정한 간단한 계산).

충돌 임계값은 파일명 구조와 확인 방식을 사용자 정의하여 조정할 수 있습니다. 관련 코드는 com.csg.bluepigeon.util.EncryptionManager에 있습니다.

*간과한 다른 새를 죽일 기회를 발견했거나 Blue Pigeon 강화에 기여하고 싶다면, 언제든지 이슈를 생성하거나 풀 리퀘스트를 보내주세요!

라이선스 및 기여

라이선스

GNU General Public License

Blue Pigeon을 더 좋게 만들 아이디어가 있으신가요?

자유롭게 이슈를 생성하고 풀 리퀘스트를 보내주세요!

도구 다운로드