
ब्लूटूथ क्लासिक KNOB हमले का Python सिमुलेशन, जो एन्क्रिप्शन कुंजी-आकार डाउनग्रेड और इंटरसेप्ट किए गए ब्लूटूथ ट्रैफ़िक की ब्रूट-फोर्स डिक्रिप्शन दर्शाता है।
# knob_attack_sim.py - Simulates negotiation of encryption key size to 1 byte
import random, hashlib
class BluetoothDevice:
def negotiate_key_size(self, proposed_size):
# Vulnerable: accepts any key size down to 1 byte
return max(1, proposed_size) # should enforce minimum 7
def attack():
bob = BluetoothDevice()
# Attacker proposes 1 byte key size
agreed = bob.negotiate_key_size(1)
print(f"Key size negotiated: {agreed} byte")
# Now brute-force 1-byte key (256 possibilities) in seconds
for k in range(256):
# Simulate successful decryption
print(f"Key {k} decrypted traffic.")
attack()
एक ब्लूटूथ डिवाइस पेयरिंग वार्ता के दौरान एन्क्रिप्शन कुंजी का आकार 1 बाइट जितना छोटा स्वीकार कर लेता है। एक हमलावर कनेक्शन को अत्यंत कमज़ोर कुंजी उपयोग करने के लिए मजबूर कर सकता है, फिर उसे वास्तविक समय में ब्रूट-फोर्स करके संचार को सुन सकता है।
सिमुलेशन चलाएँ:
python knob_attack_sim.py
यह आउटपुट देता है कि 1-बाइट कुंजी पर सहमति बनी और उसे तुरंत ब्रूट-फोर्स किया जा सकता है।