
CVE-2023-45866에 대한 익스플로잇 구현으로, Raspberry Pi에서 DuckyScript 페이로드를 사용하여 인증되지 않은 Bluetooth 키보드 주입을 가능하게 합니다.
CVE-2023-45866 - BluetoothDucky 구현 (DuckyScript 사용)
이것은 marcnewlin이 발견한 CVE의 구현입니다. [https://github.com/marcnewlin/hi_my_name_is_keyboard]
향후 사용을 위해 hid.py 파일을 최대한 수정하지 않도록 ducky_convert.py를 만들었습니다.
아직 몇 가지 페이로드 아이디어를 작업 중입니다.
Raspberry Pi 4에서 기본 블루투스 모듈을 사용하여 실행 중입니다. 제 친구들이 가진 모든 휴대폰에서 테스트했으며 작동합니다. 발견한 유일한 문제는 Vodafone이라는 뉴질랜드 기반 휴대폰 브랜드인데, 이 브랜드는 휴대폰이 수년간 켜지지 않았음에도 기본적으로 차단합니다(페어링 요청). 가장 안전한 기기라는 점이 재미있습니다.
아직 모든 ducky 관련 용어/표현을 조정해야 하지만 테스트할 기기가 제한적입니다.
REM 이것은 그냥 주석입니다
string test123
ENTER
이것은 텍스트 필드에 test123을 입력한 다음 ENTER를 누릅니다.
도움을 주고 싶은 사람들을 위해 이 코드를 올려둡니다.
설치 지침 (marcnewlin에게서 가져옴)
# apt 업데이트
sudo apt-get update
sudo apt-get -y upgrade
# apt에서 의존성 설치
sudo apt install -y bluez-tools bluez-hcidump libbluetooth-dev \
git gcc python3-pip python3-setuptools \
python3-pydbus
# 소스에서 pybluez 설치
git clone https://github.com/pybluez/pybluez.git
cd pybluez
sudo python3 setup.py install
# bluez 소스에서 bdaddr 빌드
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/
그런 다음 간단히
git clone https://github.com/pentestfunctions/BluetoothDucky
cd BluetoothDucky
sudo python3 BluetoothDucky.py -i hci0 -t 00:00:00:00:00:00
sudo python3 BluetoothDucky.py --scan
같은 디렉토리에서 payload.txt 파일을 찾습니다. 이 파일은 ducky script일 수 있습니다. 시작하려면 이 저장소에 제공된 간단한 예제를 시도해 보세요.
전송된 페이로드 줄의 마지막 문자를 확인하는 단계 함수를 구현하여, 실패 시 전체 줄을 다시 보내는 대신 해당 지점부터 재전송/계속할 수 있도록 합니다.
Galaxy A14/SM-A14F
GUI + D (데스크톱)
GUI + E (이메일)
GUI + F (찾기)
GUI + H (삼성 오디오?)
GUI + K (달력)
GUI + M (지도)
GUI + N (알림)
GUI + T (음악?)
GUI + Q (전체 알림)
GUI + R (최근 파일)
GUI + S (메시지?)
GUI + U (접근성)
GUI + V (볼륨)
GUI + Z (설정)
ALT + A (앱 서랍)
Alt + Space (검색)