8.5 KiB
htARTE (HackTricks AWS Red Team Expert)를 통해 AWS 해킹을 처음부터 전문가까지 배워보세요!
HackTricks를 지원하는 다른 방법:
- 회사를 HackTricks에서 광고하거나 HackTricks를 PDF로 다운로드하려면 SUBSCRIPTION PLANS를 확인하세요!
- 공식 PEASS & HackTricks 스웨그를 얻으세요.
- The PEASS Family를 발견하세요. 독점적인 NFTs 컬렉션입니다.
- 💬 Discord 그룹 또는 텔레그램 그룹에 참여하거나 Twitter 🐦 @carlospolopm를 팔로우하세요.
- Hacking 트릭을 공유하려면 HackTricks 및 HackTricks Cloud github 저장소에 PR을 제출하세요.
소개
Bluetooth 4.0 사양부터 사용 가능한 BLE는 2400에서 2483.5 MHz 범위를 커버하는 40개의 채널만 사용합니다. 이와는 달리 전통적인 Bluetooth는 동일한 범위에서 79개의 채널을 사용합니다.
BLE 장치는 광고 패킷(비콘)을 보내어 주변 장치에 BLE 장치의 존재를 알립니다. 이 비콘은 때때로 데이터를 전송하기도 합니다.
청취 장치, 즉 중앙 장치는 광고 패킷에 대한 SCAN 요청을 특정 광고 장치에게 보낼 수 있습니다. 그 스캔에 대한 응답은 초기 광고 요청에 맞지 않는 추가 정보를 포함하는 동일한 구조를 사용합니다. 예를 들어 전체 장치 이름과 같은 정보입니다.
전조 바이트는 주파수를 동기화하고, 4바이트 접근 주소는 동일한 채널에서 연결을 설정하려는 여러 장치가 있는 경우에 사용되는 연결 식별자입니다. 다음으로, 프로토콜 데이터 유닛(PDU)에는 광고 데이터가 포함됩니다. PDU에는 여러 유형이 있으며, 가장 일반적으로 사용되는 것은 ADV_NONCONN_IND와 ADV_IND입니다. 장치는 연결을 허용하지 않는 경우에는 ADV_NONCONN_IND PDU 유형을 사용하여 광고 패킷에서만 데이터를 전송합니다. 장치는 연결을 허용하고 연결이 설정된 후에는 광고 패킷을 전송하지 않습니다.
GATT
일반 속성 프로파일(GATT)은 장치가 데이터를 형식화하고 전송하는 방법을 정의합니다. BLE 장치의 공격 표면을 분석할 때, 주로 GATT(또는 GATTs)에 집중하여 주목합니다. 왜냐하면 이것이 장치 기능이 트리거되는 방법이며 데이터가 저장되고 그룹화되고 수정되는 방법이기 때문입니다. GATT는 장치의 특성, 설명자 및 서비스를 16비트 또는 32비트 값으로 나열하는 테이블로 구성됩니다. 특성은 중앙 장치와 주변 장치 사이에 전송되는 데이터 값입니다. 이러한 특성은 추가 정보를 제공하는 설명자를 가질 수 있습니다. 특성은 종종 특정 작업을 수행하는 데 관련된 경우 서비스에 그룹화됩니다.
열거
hciconfig #Check config, check if UP or DOWN
# If DOWN try:
sudo modprobe -c bluetooth
sudo hciconfig hci0 down && sudo hciconfig hci0 up
# Spoof MAC
spooftooph -i hci0 -a 11:22:33:44:55:66
GATTool
GATTool은 다른 장치와 연결을 설정하고, 해당 장치의 특성을 나열하며, 속성을 읽고 쓸 수 있습니다.
GATTTool은 -I
옵션을 사용하여 대화형 셸을 실행할 수 있습니다.
gatttool -i hci0 -I
[ ][LE]> connect 24:62:AB:B1:A8:3E Attempting to connect to A4:CF:12:6C:B3:76 Connection successful
[A4:CF:12:6C:B3:76][LE]> characteristics
handle: 0x0002, char properties: 0x20, char value handle:
0x0003, uuid: 00002a05-0000-1000-8000-00805f9b34fb
handle: 0x0015, char properties: 0x02, char value handle:
0x0016, uuid: 00002a00-0000-1000-8000-00805f9b34fb
[...]
# Write data
gatttool -i <Bluetooth adapter interface> -b <MAC address of device> --char-write-req <characteristic handle> -n <value>
gatttool -b a4:cf:12:6c:b3:76 --char-write-req -a 0x002e -n $(echo -n "04dc54d9053b4307680a"|xxd -ps)
# Read data
gatttool -i <Bluetooth adapter interface> -b <MAC address of device> --char-read -a 0x16
# Read connecting with an authenticated encrypted connection
gatttool --sec-level=high -b a4:cf:12:6c:b3:76 --char-read -a 0x002c
Bettercap
Bettercap은 강력한 네트워크 스니핑 및 중간자 공격 도구입니다. 이 도구를 사용하여 Bluetooth Low Energy (BLE) 장치를 대상으로 펜테스팅을 수행할 수 있습니다.
BLE 펜테스팅
BLE 펜테스팅을 시작하기 전에, Bettercap을 설치하고 실행해야 합니다. Bettercap은 다양한 운영 체제에서 사용할 수 있으며, 설치 방법은 해당 운영 체제에 따라 다릅니다.
Bettercap 설치
Kali Linux에서 Bettercap 설치
Kali Linux에서 Bettercap을 설치하려면 다음 명령을 사용합니다:
sudo apt-get update
sudo apt-get install bettercap
macOS에서 Bettercap 설치
macOS에서 Bettercap을 설치하려면 Homebrew를 사용합니다. 다음 명령을 사용하여 Homebrew를 설치한 후 Bettercap을 설치합니다:
brew install bettercap
Windows에서 Bettercap 설치
Windows에서 Bettercap을 설치하려면 다음 단계를 따릅니다:
Bettercap 사용
Bettercap을 설치한 후 다음 명령을 사용하여 BLE 펜테스팅을 시작할 수 있습니다:
sudo bettercap -X
위 명령은 Bettercap을 실행하고 BLE 펜테스팅을 위한 인터페이스를 활성화합니다.
BLE 펜테스팅 명령어
Bettercap을 사용하여 다양한 BLE 펜테스팅 명령을 실행할 수 있습니다. 몇 가지 유용한 명령어는 다음과 같습니다:
ble.recon on
: BLE 장치 스캔 시작ble.recon off
: BLE 장치 스캔 중지ble.enum
: 스캔된 BLE 장치 열거ble.show <MAC 주소>
: 특정 BLE 장치에 대한 세부 정보 표시ble.sniff on
: BLE 패킷 스니핑 시작ble.sniff off
: BLE 패킷 스니핑 중지ble.replay <패킷 파일>
: BLE 패킷 재생
이러한 명령어를 사용하여 BLE 장치를 대상으로 펜테스팅을 수행할 수 있습니다. Bettercap은 다양한 기능과 옵션을 제공하므로, 자세한 내용은 공식 문서를 참조하시기 바랍니다.
# Start listening for beacons
sudo bettercap --eval "ble.recon on"
# Wait some time
>> ble.show # Show discovered devices
>> ble.enum <mac addr> # This will show the service, characteristics and properties supported
# Write data in a characteristic
>> ble.write <MAC ADDR> <UUID> <HEX DATA>
>> ble.write <mac address of device> ff06 68656c6c6f # Write "hello" in ff06
htARTE (HackTricks AWS Red Team Expert)를 통해 AWS 해킹을 처음부터 전문가까지 배워보세요!
HackTricks를 지원하는 다른 방법:
- 회사를 HackTricks에서 광고하거나 HackTricks를 PDF로 다운로드하려면 SUBSCRIPTION PLANS를 확인하세요!
- 공식 PEASS & HackTricks 스웨그를 얻으세요.
- The PEASS Family를 발견하세요. 독점적인 NFTs 컬렉션입니다.
- 💬 Discord 그룹 또는 텔레그램 그룹에 참여하거나 Twitter 🐦 @carlospolopm를 팔로우하세요.
- Hacking 트릭을 공유하려면 HackTricks와 HackTricks Cloud github 저장소에 PR을 제출하세요.