
सोल्डर से शेल तक: Linksys WRT54GL राउटर का पूर्ण हार्डवेयर शोषण (CVE-2022-43973)
एक 10-चरणीय एंबेडेड सुरक्षा अनुसंधान यात्रा — JTAG पिन खोज से लेकर MIPS-आधारित उपभोक्ता राउटर पर दूरस्थ कोड निष्पादन तक।
| लेखक | उम्बर्टो डेला मोनिका |
| भूमिका | एमएससी साइबर सुरक्षा छात्र — एंबेडेड सुरक्षा शोधकर्ता |
| तिथि | मई 2026 |
| भंडार | Linksys-WRT54GL-Exploitation |
अस्वीकरण: यह शोध केवल शैक्षिक और अनुसंधान उद्देश्यों के लिए उस हार्डवेयर पर किया गया था जो मेरा व्यक्तिगत है। किसी भी अनधिकृत प्रणाली तक पहुँच नहीं बनाई गई। यहाँ वर्णित सभी तकनीकों को केवल उन उपकरणों पर पुन: प्रस्तुत किया जाना चाहिए जो आपके स्वामित्व में हैं या जिनके परीक्षण के लिए आपके पास स्पष्ट लिखित प्राधिकरण है। लेखक प्रस्तुत जानकारी के किसी भी दुरुपयोग के लिए कोई दायित्व नहीं लेता है। हमेशा लागू कानूनों, विनियमों और जिम्मेदार प्रकटीकरण प्रथाओं का पालन करें।
Linksys WRT54GL अब तक उत्पादित सबसे प्रतिष्ठित उपभोक्ता राउटरों में से एक है। इसका ओपन-सोर्स फर्मवेयर समर्थन इसे उत्साही और शोधकर्ताओं के बीच समान रूप से पसंदीदा बनाता है। अपनी उम्र के बावजूद, यह दुनिया भर में सक्रिय उपयोग में बना हुआ है, जो इसे एंबेडेड सुरक्षा अनुसंधान के लिए एक प्रासंगिक लक्ष्य बनाता है।
| विशिष्टता | मान |
|---|---|
| चिपसेट | ब्रॉडकॉम BCM5352 |
| CPU क्लॉक | 200 MHz |
| आर्किटेक्चर | MIPS 32-बिट (लिटिल एंडियन) |
| फ्लैश मेमोरी | 4 MB NOR (मेमोरी-मैप्ड 0xbfc00000 पर) |
| RAM | 16 MB |
| वायरलेस | IEEE 802.11b/g, 54 Mbps |
| नेटवर्क | 4x LAN + 1x WAN, SPI के साथ NAT फ़ायरवॉल |
| OS | लिनक्स-आधारित (BusyBox) |
| बूटलोडर | CFE (सामान्य फर्मवेयर वातावरण) |
किसी भी हार्डवेयर सुरक्षा मूल्यांकन में पहला कदम भौतिक निरीक्षण है। डिवाइस आवरण खोलने के बाद, मैंने PCB पर दो डीबग इंटरफ़ेस की पहचान की:
चूंकि JTAG हेडर अनपॉपुलेटेड था, मैंने डीबग इंटरफ़ेस तक पहुँचने के लिए एक अस्थायी पिन हेडर सोल्डर किया। मल्टीमीटर का उपयोग करके, मैंने ग्राउंड और Vcc लाइनों की पहचान की और पुष्टि की कि लक्ष्य 3.3V लॉजिक स्तरों पर संचालित होता है — चिपसेट को नुकसान से बचाने के लिए यह महत्वपूर्ण है।
JTAG सिग्नलों का मानचित्रण करने के लिए, मैंने JTAGulator (ग्रैंड आइडिया स्टूडियो द्वारा) का उपयोग किया — एक हार्डवेयर उपकरण जो सभी संभावित पिन संयोजनों की जांच करके स्वचालित रूप से डीबग इंटरफ़ेस की पहचान करता है।
JTAGulator ने निम्नलिखित JTAG पिनआउट को सफलतापूर्वक पहचाना:
board: wrt54gl_v1.1
device: Linksys WRT54GL v1.1
pins:
TCK: PA3
TMS: PA4
TDI: PA1
TDO: PA2
TRST: NC
SRST: PB0
notes: "Header JP3 — verified 3.3V logic."
JTAG पिन की पहचान होने के बाद, मैंने एक Attify Badge — एक ओपन-सोर्स हार्डवेयर सुरक्षा मूल्यांकन उपकरण (GNU GPL v3.0) जिसमें FTDI FT2232H चिप है — को राउटर के JTAG हेडर से जोड़ा।
मैंने BCM5352 लक्ष्य के लिए अनुकूलित एक कस्टम कॉन्फ़िगरेशन के साथ OpenOCD (ओपन ऑन-चिप डीबगर) लॉन्च किया, क्योंकि आधिकारिक कॉन्फ़िगरेशन इस विशिष्ट हार्डवेयर संशोधन के साथ असंगत थे।
कस्टम OpenOCD कॉन्फ़िगरेशन राउटर के फ्लैश विभाजन लेआउट को परिभाषित करता है:
| विभाजन | विवरण | प्रारंभ पता | आकार |
|---|---|---|---|
| CFE | बूटलोडर | 0xbfc00000 | 256 KB |
| फर्मवेयर | कर्नेल + रूट FS | 0xbfc40000 | ~3.7 MB |
| NVRAM | कॉन्फ़िगरेशन | 0xbfff0000 | 64 KB |
CPU को रोकने के बाद, मैंने मेमोरी-मैप्ड NOR फ्लैश का एक पूर्ण 4 MB डंप किया:
> target halt
> dump_image ./dumps/wrt54gl.bin 0xbfc00000 0x00400000
binwalk का उपयोग करके, मैंने एम्बेडेड फाइलसिस्टम, संपीड़ित खंडों और कर्नेल छवि की पहचान करने के लिए फर्मवेयर डंप का विश्लेषण किया:
binwalk ./dumps/wrt54gl.bin
binwalk -E ./dumps/wrt54gl.bin # एन्ट्रॉपी विश्लेषण
sha256sum ./dumps/wrt54gl.bin # अखंडता सत्यापन
विश्लेषण से एक SquashFS रूट फाइलसिस्टम का पता चला जिसमें एक मानक BusyBox-आधारित लिनक्स वातावरण था। गहन निरीक्षण के लिए मैंने binwalk -e और unsquashfs का उपयोग करके इसे निकाला।
एक सुरक्षित परीक्षण वातावरण बनाने के लिए, मैंने FirmAE — एक स्वचालित फर्मवेयर अनुकरण ढाँचा जो MIPS आर्किटेक्चर का समर्थन करता है — का उपयोग करके फर्मवेयर अनुकरण स्थापित किया। इसने मुझे एक आभासी वातावरण में राउटर की सेवाओं (HTTP, telnet) को पुन: उत्पन्न करने और भौतिक उपकरण को जोखिम में डाले बिना शोषण का परीक्षण करने की अनुमति दी।