Ethernet Access Switches
Ethernet Aggregation Switches
Data Center Ethernet Switches
Industrial Switches
MPLS routers
Service Routers
Routers
GPON Equipment
Enterprise Wi-Fi Access Points
2g-3g-4g_terminals
FBWA stations
Wi-fi controllers
Access VoIP Gateways
Digital VoIP Gateways
Business Router with VoIP Support
IP-phones
Softswitch/ IP PBX
IPTV
Repeaters
Subscriber routers
Optical multiplexers ToPGATE
Climate control
Interface converters
Lighting
Recorders
Safety and security
Management System
ESR-10
WEP-12ac
MES1024, MES1124(M)(MB)
MES2328I
ESR-12V
WOP-12ac
MES2124(M)(MB)(F)(P)
MES3508, MES3508P, MES3510P
ESR-12VF
MES2208P
MES3708P
ESR-14VF
MES2308(R)
ESR-15
MES2324(B)(F)(FB)
ESR-20
MES2348(B)
ESR-21
MES2308P, MES2324P, MES2348P
ESR-30
MES2408(B)(C)
ESR-100,200
MES1428(B),MES2428(B)(T)
ESR-1000
MA4000-PX
MES2408P, MES2408CP, MES2408PL, MES2428P
ESR-1200
MES2424(B)
ESR-1500
MES2424P
ESR-1700
MES2448(B)
ESR-3100
MES2448P
ESR-3200
MES2411X
OLT LTP-8X
NTP-2(C)
NTP-RG-1402G(C)-(W)
NTP-RG-1402G(C)-(W) rev B
NTP-RG-1402G(C)-(W) rev C
ONT NTU-SFP-100
OLT LTP-4X rev.C
OLT LTP-8X rev.C
Eltex.ACS
ME5200
ESR-100 FSTEC
MES3100 Rev. E
MES3108(F), MES3116(F), MES3124(F)
MES5148
LTE-2X
ONT NTU-2W
ONT NTU-2VC
ONT NTU-RG-1421GC-Wac
NTU-RG-1421G-WZ
ONT NTU-1C
ONT NTU-RG-5402G-W
ONT NTU-RG-5421G-Wac
ONT NTU-RG-5421G-WZ
ONT NTU-52V
ONT NTU-RG-1421(31)G-Wас
Eltex.EMS
ME5100
ESR-200 FSTEC
MES3308F, MES3316F, MES3324(F)
MES5248
LTE-8X
ONT NTU-1
ONT NTU-RG-1402G-W
ONT NTU-2V
OLT LTP-4X rev.B
OLT LTP-8X rev.B
ME5000
ESR-1000 FSTEC
MES3348(F)
MES5324
LTE-8ST (discontinued)
MES5312
NTE-2(C)
ECSS-10
ESR-1511
vESR
ONT NTU-RG-5421GC-Wac
ONT NTU-52VC
ONT NTU-RG-5440G-WAC
OLT LTP-16N
ONT NTU-RG-5440G-WZ
ONT NTU-MD500P
ONT NTU-RG-5420G-Wac
ONT NTU-RG-5420G-WZ
ONT NTU-SFP-200
OLT LTX-8, OLT LTX-16
ONT NTX-1, ONT NTX-1F
NTU-52W
WEP-2ac
WEP-2ac Smart
WOP-2ac
WB-15-W
WEP-1L
WOP-2L
WEP-2L
WB-15-W2
WEP-2ac-Z
WEP-3ax-Z
WEP-3ax
WEP-200L
WOP-20L
WEP-30L
WOP-30L
WOP-30LS
TAU-72.IP (72 FXS)
TAU-16.IP (16 FXS)
TAU-36.IP (36 FXS)
TAU-24.IP (24 FXS)
TAU-32M.IP (32 FXS)
TAU-8.IP-(W)
TAU-4.IP
MSAN MC1000-PX
TAU-8N.IP
SMG-1016M
SMG-2016
SMG-2
SMG-4
SMG-3016
NV-501/NV-501-Wac
NV-711/NV-711-Wac
NV-510-WB
NV-720/NV-720-WB
NV-730/NV-730-WB
NV-731/NV-731-WB
TAU-1M.IP
RG-1404
TAU-2M.IP
TAU-4M.IP
RG-1504GF-WAC
RG-54
RG-34
WB-2
RG-31-Wac
RG-35-Wac
RG-35-WZ
RG-5440G-WAC
RG-5440G-WZ
RG-5520G-WAX
ECCM
MES3710P
IP phones VP-12, VP-12P
IP phones VP-15, VP-15P
IP phones VP-17P
IP phones VP-20P
SoftWLC
WLC-HW-50
WLC-HW-100
WLC-30
WB-11P
SMG-200
SMG-500
SBC-3000
WB-2P-LR5
WOP-12ac-LR
WB-1P-LR
WOP-2ac-LR5
WOP-2ac-LR2
WB-2P-LR2
WOP-2ac-LR2 SYNC
WOP-2ac-LR5 SYNC
«Eltex SC» System
Water leak detector SZ-WLK
Motion sensor SZ-PIR
Magnetic contact door/window sensor SZ-MCT
Glass break sensor SZ-GLB
Water consumption recorder SZ-W02
Energy consumption recorder SZ-P04С
Сontroller of wireless network SZ-CP04EС
ToPGATE
RR-10 repeater
RR-11 repeater
MES3300-24(F)
MES3300-48
MES5316A, MES5324A, MES5332A
MES5400-24, MES5400-48
NTE-RG-14xx(F)(G)(C)-(W)
ME5000/5100/5200
ME5000M
ME5100 rev.X
Interface converter IPA-ES-232
Interface converter IPA-ES-485
SW-RLY01
SW-PLG01 smart socket
Air sensors SZ-AIR
SBC-1000
SBC-2000
MES5448
NTE-RG-1402G(C)-(W) rev B
MES7048
NTE-RG-1421G-WAC
NTE-RG-1421G-WZ
О деактивации форума Eltex
Уважаемые коллеги! В связи с потерей актуальности данного ресурса, нами было принято решение о частичной деактивации форума Eltex. Мы отключили функции регистрации и создания новых тем, а также возможность оставлять сообщения. Форум продолжит работу в «режиме чтения», так как за долгие годы работы здесь накопилось много полезной информации и ответов на часто встречающиеся вопросы.
Мы активно развиваем другие каналы коммуникаций, которые позволяют более оперативно и адресно консультировать наших клиентов. Если у вас возникли вопросы по работе оборудования, вы можете обратиться в техническую поддержку Eltex, воспользовавшись формой обращения на сайте компании или оставить заявку в системе Service Desk. По иным вопросам проконсультируют наши менеджеры коммерческого отдела:
eltex@eltex-co.ru
.
-
deniska21233
- Сообщения: 1
- Зарегистрирован: 08 июн 2016 20:14
- Reputation: 0
NTU-RG-1402G-W Обновление
Подскажите пожалуйста от куда можно скачать прошивку на NTU-RG-1402G-W
-
silver773
- Сообщения: 4
- Зарегистрирован: 19 июн 2016 20:22
- Reputation: 0
Re: NTU-RG-1402G-W Обновление
Сообщение silver773 » 19 июн 2016 20:26
Всем привет. Загрузил данную прошивку и обновил аппарат… теперь горит лампочка ПАУЭР красным и прибор ни на что не реагирует… Подскажет может кто, что делать то? Заранее спасибо.
-
M_Gureeva
- Сообщения: 567
- Зарегистрирован: 02 мар 2015 15:37
- Reputation: 0
- Откуда: Элтекс
- Контактная информация:
Re: NTU-RG-1402G-W Обновление
Сообщение M_Gureeva » 20 июн 2016 14:11
Добрый день!
Вы только обновили NTU-RG-1402G-W и устройство перестало отвечать?
Больше никаких действий не производилось с ONT?
Помимо кнопки Power остальная индикация отсутствует?
-
silver773
- Сообщения: 4
- Зарегистрирован: 19 июн 2016 20:22
- Reputation: 0
Re: NTU-RG-1402G-W Обновление
Сообщение silver773 » 20 июн 2016 15:24
Да. Загрузил через браузер прошивку на прибор, прошивка пошла и по окончании все потухло и затем загорелась индикация ПАУЭР красным. И горит только она.
-
M_Gureeva
- Сообщения: 567
- Зарегистрирован: 02 мар 2015 15:37
- Reputation: 0
- Откуда: Элтекс
- Контактная информация:
Re: NTU-RG-1402G-W Обновление
Сообщение M_Gureeva » 20 июн 2016 15:46
Можно попробовать подключить ONT в другую розетку, также попробовать соединить ПК кабелем с NTU-RG (в случае, если Вы подключены по wi-fi) и проверить поднимется ли линк.
Если такой возможности нет, то стоит обратиться к провайдеру (для диагностики работы оборудования на месте).
-
silver773
- Сообщения: 4
- Зарегистрирован: 19 июн 2016 20:22
- Reputation: 0
Re: NTU-RG-1402G-W Обновление
Сообщение silver773 » 20 июн 2016 17:11
На счет другой розетки это конечно оригинально)) но попробовал. А прибор подключен и был к ПК кабелем и прошивку делал по кабелю.. Кроме красной индикации питания ничего не горит. Провайдер обещал поменять, но вот вопрос? а не получится ли дубль два при прошивке второго? Не «помрет» ли второй… Стояла версия 2.14.1.627
-
M_Gureeva
- Сообщения: 567
- Зарегистрирован: 02 мар 2015 15:37
- Reputation: 0
- Откуда: Элтекс
- Контактная информация:
Re: NTU-RG-1402G-W Обновление
Сообщение M_Gureeva » 20 июн 2016 17:30
Когда приедет инженер от провайдера попросите его обновить прошивку и понаблюдайте за устройством.
Отмечу, что подобных ситуаций при обновлении на версию 2.14.2.348 не наблюдалось.
-
silver773
- Сообщения: 4
- Зарегистрирован: 19 июн 2016 20:22
- Reputation: 0
Re: NTU-RG-1402G-W Обновление
Сообщение silver773 » 20 июн 2016 20:38
Мастер заменил прибор т.к. НЕВОЗМОЖНО к нему подключиться с компьютера-нет связи. Просил ничего больше не обновлять-думаю, так и поступлю-работает и ладно. Прибор просто «помер». Спасибо за потраченное время.
-
Arterils
- Сообщения: 1
- Зарегистрирован: 09 дек 2017 14:47
- Reputation: 0
Re: NTU-RG-1402G-W Обновление
Сообщение Arterils » 09 дек 2017 14:54
Подскажите,где можно скачать прошивку на NTU RG 1402G-W версии 3.25.2.1560? На официальном сайте уже нет. вышлите пожалуйста на почту
arterils90@gmail.com
-
notsystem
- Сообщения: 1
- Зарегистрирован: 14 мар 2019 16:04
- Reputation: 0
Re: NTU-RG-1402G-W Обновление
Сообщение notsystem » 14 мар 2019 16:07
Здравствуйте.
Прошу прислать последнюю прошивку для NTU-RG-1402G-W
Моя текущая версия 3.24.2.1177
На сайте у вас не нашел.
-
achuzhkov
- Сообщения: 2
- Зарегистрирован: 23 сен 2021 00:36
- Reputation: 0
Re: NTU-RG-1402G-W Обновление
Сообщение achuzhkov » 23 сен 2021 00:46
Здравствуйте. В веб интерфейсе нет графы для подключения WAN. Прошивку поставил последнюю с офф сайта. Скинте старую прошивку с этим пунктом в настройках на почту
alexander.chuzhkov@yandex.ru
-
kolesnik
- Сообщения: 152
- Зарегистрирован: 07 май 2019 17:14
- Reputation: 0
- Откуда: Элтекс
Re: NTU-RG-1402G-W Обновление
Сообщение kolesnik » 24 сен 2021 09:49
achuzhkov писал(а):Здравствуйте. В веб интерфейсе нет графы для подключения WAN. Прошивку поставил последнюю с офф сайта. Скинте старую прошивку с этим пунктом в настройках на почту
alexander.chuzhkov@yandex.ru
Добрый день,
Настройка WAN интерфейсов на актуальной версии ПО доступна под пользователем admin.
-
achuzhkov
- Сообщения: 2
- Зарегистрирован: 23 сен 2021 00:36
- Reputation: 0
Re: NTU-RG-1402G-W Обновление
Сообщение achuzhkov » 25 сен 2021 13:02
День добрый. А подскажите пожалуйста дефолтные данные для входа от имени администарора
Вернуться в «Оборудование PON»
Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и 5 гостей
Eltex disabled admin account for users and blocked shell access even for admin in last firmware versions
Admin and shell access can be restored by flashing old firmware
Note that flashing old images and changing working firmware may result in bricking
Be careful with read-write access to firmware
Preventing firmware updates from ISP
If you ISP force-updating firmware, it is possible break forced update
I patched some binaries by replacing cmsImg_writeValidatedImage, cmsImg_writeValidatedImage and cmsImg_validateImage symbols by getuid,
returning 0 as root
It must be installed before connecting PON cable, otherwise ISP will flash and reboot system
- Install tftpd or atftpd server and start it in this repo
atftpd --daemon /path/to/repo
-
Disconnect PON cable
-
Upload firmware with web-interface
-
Telnet and admin login now availiable with login admin:password
-
connect to telnetd and do following
sh
mount -o remount,rw none /
rm /bin/tr69c
rm /bin/omcid
tftp -g -l /bin/tr69c -r /tr69c <tftp server ip>
chmod +x /bin/tr69c
tftp -g -l /bin/omcid -r /omcid <tftp server ip>
chmod +x /bin/omcid
sync
reboot
-
Wait until tr69c configure connection
-
If you do not want ISP to change configuration. do following
sh
mount -o remount,rw none /
rm /bin/tr69c
Re-upload pathched files if you want to update configuration again
Using tftp (in telnet or shell)
Getting files from router:
tftp -p -l <path on router> -r <path in tftpd directory>
Uploading files to router:
tftp -g -l <path on router> -r <path in tftpd directory>
ЭЛТЕКС выпустил новую версию программного обеспечения для абонентских терминалов GPON NTP-RG1402G-W, NTP-RG1402G-W revB, NTP-RG1402G-W revC, NTP-2.
Версии 3.25.1
Features
- System. Обновлен список часовых поясов.
- WiFi. Добавлена возможность включения WiFi Power boost.
- TR69. Добавлена поддержка параметра X_ELTEX_RU_UserDefinedConnType.
- WEB. Добавлена опция разрешения ICMP со стороны WAN.
- WEB. Добавлена опция разрешения Telnet со стороны WAN.
- WEB. Добавлена возможность включения NAT loopback при настройке Virtual Servers.
- WEB. Добавлена возможность редактировать гостевые WiFi под пользователем user.
- WEB. Добавлена возможность редактирования PON password для пользователя user.
- Security. Изменен пароль admin по-умолчанию.
- Security. Доступ по Telnet со стороны LAN и TR отключен по-умолчанию.
- Security. Доступ до Web со стороны TR отключен по-умолчанию.
- Security. Закрыта уязвимость повышения привилегий в cli.
- Security. Закрыта уязвимость повышения привилегий в Web.
- Security. Закрыта уязвимость WiFi WPS.
- Security. Добавлена защита от подбора пароля в Web/Telnet.
- Security. Добавлено ограничение количества telnet-сессий не более 3-х.
- Security. Добавлен механизм защиты от атаки перебором паролей через Telnet.
Bugs fixed
- System. Устранено зависание устройства при быстром переключении iptv каналов.
- System. Устранен провал скорости (speedtest) при использовании 100mbps линка.
- System. Устранена проблема с блокировкой ОНТ (дублирование MAC).
- System. Исправлена проблема с репликацией OSPF пакетов.
- System. Исправлено обновление прошивки по tftp.
- System. Исправлена ошибка обновления прошивки по OMCI для устройства NTP-2C.
- WiFi. Устранены разрывы WiFi в зоне слабого сигнала.
- TR69. Устранена ошибка неответа ACS на ConnectionRequest.
- WEB. Исправлена ошибка при создании статического маршрута.
- WEB. Исправлена проверка корректности пароля WPA.
- WEB. Исправлено отображение времени при настройке parental control.
- VoIP. Исправлено зависание voice клиента при назначении management сервиса.
Доверяй, но проверяй
Время на прочтение
8 мин
Количество просмотров 13K
Не так давно я считал, что обновление программного обеспечения от производителя на роутерах и подобных им «железках» обязательно, и переход на новую стабильную версию гарантирует временную безопасность. Почитав в интернете мнения пользователей, которые с этим не согласны и были очень убедительны, мои розовые очки разбились, радужных единорогов я больше не увижу, и жизнь стала не такой простой как была. Оказалось, новые прошивки, скачанные у официального производителя «железки», можно считать устаревшими. За точку входа в эту тему предлагаю взять переведённую статью. Помимо интересной и полезной информации о том, как вскрывать бинарники, автор утверждает, что если заглянуть в прошивку, можно обнаружить устаревшую версию ядра Linux. Я решил всё-таки проверить этот довод самостоятельно и вставить свои дилетантские «15 копеек». Заодно провести разведку в области, где я ещё не бывал. Для удовлетворения интереса будет достаточным определить версию ядра прошивки. На время написания статьи последняя версия ядра kernel — 6.0.9 от 16.11.2022. Вскрыть и выгрузить прошивку из приборов, которые описаны в статье, у меня не было возможности. Поэтому воспользуюсь прошивками, скачанными с сайта производителя.
▍ NTP-RG-1402G-W
Первый претендент на вскрытие — абонентский маршрутизатор NTP-RG-1402G-W от ELTEX. На момент написания статьи серийный выпуск данной модели был завершён, но поддержка осуществляется. Поэтому прошивка должна быть свежая. Ссылку на скачивание прошивки можно найти здесь. Мне досталась последняя версия прошивки в версии v3.25.5.165.
Скачиваю и распаковываю:
wget https://eltex-co.ru/upload/iblock/504/ntp-rg-revc-3.25.5.165.fw.zip
&& unzip ntp-rg-revc-3.25.5.165.fw.zip
&& rm ntp-rg-revc-3.25.5.165.fw.zip
Если заглянуть внутрь файла, то можно увидеть метку ELTX — перечисление версий модели, для которых подходит эта прошивка.
Далее поможет полезный инструмент binwalk, о котором я узнал в процессе изучения текущей темы. На русском лично мне понравилось подробное описание сего чуда здесь. Для тех, у кого нет проблем с английским, будет предпочтительней разобраться с ним из первоисточника.
Спросить у binwalk сведения о файле можно следующим способом.
binwalk ntp-rg-revc-3.25.5.165.fw.bin
DECIMAL HEXADECIMAL DESCRIPTION
--------------------------------------------------------------------------------
1043 0x413 JFFS2 filesystem, big endian
Этой информации достаточно, чтобы понять, что файловая система бинарника JFFS2.
Вот что говорит об этом Wikipedia: JFFS2 (Journaling Flash File System version 2 — «Журналируемая файловая система версии 2») — структурированная файловая система, используемая в устройствах флеш-памяти. JFFS2 был включён в ядро Linux, начиная с версии 2.4.10 от 23 сентября 2001 года. JFFS2 также поддерживает несколько загрузчиков операционной системы, таких как Das U-Boot, Open Firmware, eCos RTOS и RedBoot. Также JFFS2 используется в OpenWrt.
Чтобы с этим разобраться, понадобится пакет mtdutils:
sudo apt-get install mtd-utils
Перед конвертацией необходимо избавиться от заголовка, который уже рассматривали на картинке.
binwalk -Me ntp-rg-revc-3.25.5.165.fw.bin
У меня появилась папка с названием «_ntp-rg-revc-3.25.5.165.fw.bin.extracted», в ней лежит файл 413.jffs2. Его уже можно конвертировать.
jffs2dump -b -eimage.bin 413.jffs2
Wrong bitmask at 0x01047f80, 0x0000
Wrong bitmask at 0x01047f84, 0x0000
Wrong bitmask at 0x01047f88, 0x0000
Wrong bitmask at 0x01047f8c, 0x0000
Wrong bitmask at 0x01047f90, 0x0000
Wrong bitmask at 0x01047f94, 0x0000
Wrong bitmask at 0x01047f98, 0x0000
Wrong bitmask at 0x01047f9c, 0x0000
Wrong bitmask at 0x01047fa0, 0x0000
Wrong bitmask at 0x01047fa4, 0x0000
Wrong bitmask at 0x01047fa8, 0x0000
Исправить неприятность «Wrong bitmask» предлагают так.
Дальше монтируем образ и добираемся до данных.
mkdir mount_dir
sudo modprobe mtdram total_size=24576 erase_size=128
sudo modprobe mtdblock
sudo dd if=image.bin of=/dev/mtdblock0
sudo mount -t jffs2 /dev/mtdblock0 mount_dir
На этом этапе уже можно определить версию linux, заглянув в каталог lib/modules/2.6.30. Если посмотреть на дату модификации всех файлов образа, то можно предположить, что сформирована эта прошивка 17.08.2020. Но для уверенности лучше заглянуть в ядро.
binwalk -Me vmlinux.lz
DECIMAL HEXADECIMAL DESCRIPTION
--------------------------------------------------------------------------------
2220124 0x21E05C Certificate in DER format (x509 v3), header length: 4, sequence length:4
3035152 0x2E5010 Linux kernel version 2.6.30
3112032 0x2F7C60 DES SP2, big endian
3112544 0x2F7E60 DES SP1, big endian
3137904 0x2FE170 CRC32 polynomial table, little endian
3155688 0x3026E8 CRC32 polynomial table, big endian
3544627 0x361633 Neighborly text, "neighbor %.2x%.2x.%.2x:%.2x:%.2x:%.2x:%.2x:%.2x lost on port %d(%s)(%s)"
Linux kernel version 2.6.30 соответствует каталогу с модулями lib/modules/2.6.30. Там же можно найти дату выпуска версии — 2.6.30, которая обозначена как 10.06.2009.
После распаковки данных binwalk оставил файл с именем «C». Если выполнить следующую команду, можно получить немного больше информации, например версию компилятора, и не гадать с датой сборки прошивки.
strings C | grep "Linux version"
Linux version 2.6.30 (user@86671791164b) (gcc version 4.4.2 (Buildroot 2010.02-git) ) #1 SMP PREEMPT Mon
Aug 17 12:49:01 NOVT 2020
Всё сходится, прошивка была собрана чуть больше двух лет назад.
▍ M4300-52G-PoE+ (GSM4352PB)
В этом случае рассмотрим прошивку на коммутатор от NETGEAR, M4300-52G-PoE+ (GSM4352PB).
wget https://www.downloads.netgear.com/files/GDC/M4300/GSM_XSM4300_V12.0.17.10.zip
&& unzip GSM_XSM4300_V12.0.17.10.zip
&& rm GSM_XSM4300_V12.0.17.10.zip
Появится файл с именем m4300v12.0.17.10.stk. Посмотрим, что представляет из себя этот файл.
binwalk m4300v12.0.17.10.stk
DECIMAL HEXADECIMAL DESCRIPTION
--------------------------------------------------------------------------------
116 0x74 Flattened device tree, size: 43857977 bytes, version: 17 344 0x158 LZMA compressed data, properties: 0x5D, dictionary size: 8388608 bytes, uncompressed size: -1 bytes
2044644 0x1F32E4 LZMA compressed data, properties: 0x5D, dictionary size: 8388608 bytes, uncompressed size:
-1 bytes
4334548 0x4223D4 LZMA compressed data, properties: 0x5D, dictionary size: 8388608 bytes, uncompressed size:
-1 bytes
6785752 0x678AD8 LZMA compressed data, properties: 0x5D, dictionary size: 8388608 bytes, uncompressed size:
-1 bytes
9044804 0x8A0344 LZMA compressed data, properties: 0x5D, dictionary size: 8388608 bytes, uncompressed size:
-1 bytes
11303856 0xAC7BB0 gzip compressed data, from Unix, last modified: 1970-01-01 00:00:00 (null date)
38409620 0x24A1594 Zlib compressed data, compressed
42333777 0x285F651 Certificate in DER format (x509 v3), header length: 4, sequence length: 1284
42333901 0x285F6CD Certificate in DER format (x509 v3), header length: 4, sequence length: 1288
42458920 0x287DF28 CRC32 polynomial table, little endian
42462540 0x287ED4C CRC32 polynomial table, little endian
42464208 0x287F3D0 LZO compressed data
42521356 0x288D30C gzip compressed data, maximum compression, from Unix, last modified: 2013-04-09
21:31:53
43046116 0x290D4E4 CRC32 polynomial table, little endian
43053216 0x290F0A0 CRC32 polynomial table, little endian
43054884 0x290F724 LZO compressed data
43134420 0x2922DD4 gzip compressed data, maximum compression, from Unix, last modified: 2013-04-09
21:31:53
43721552 0x29B2350 CRC32 polynomial table, little endian
43728716 0x29B3F4C CRC32 polynomial table, little endian
43730384 0x29B45D0 LZO compressed data
43812756 0x29C8794 gzip compressed data, maximum compression, from Unix, last modified: 2013-04-09 21:31:53
43855988 0x29D3074 Executable script, shebang: "/bin/sh"
Много информации. Похоже на то, что в этом бинарнике находятся файлы с разными типами сжатия. Предоставим с этим разобраться binwalk.
binwalk -Me m4300v12.0.17.10.stk
После распаковки появилось шесть каталогов и несколько бинарников. С помощью binwalk удалось найти версию ядра в трёх файлах:
binwalk 1F32E4: Linux kernel version 3.6.5
binwalk 158: Linux kernel version 3.6.5
binwalk 4223D4: Linux kernel version 3.6.5
Версию компилятора можно определить, например, вот так:
strings _m4300v12.0.17.10.stk.extracted/_8A0344.extracted/cpio-root/lib |grep GCC
GCC: (Broadcom Linux 3.6) 4.8.2
▍ ASUS RT-AX55
Двухдиапазонный беспроводной маршрутизатор от ASUS, RT-AX55.
wget https://dlcdnets.asus.com/pub/ASUS/wireless/RT-AX55/FW_RT-AX55_300438650460.zip
&& unzip GSM_XSM4300_V12.0.17.10.zip
&& rm GSM_XSM4300_V12.0.17.10.zip
binwalk -Me RT-AX55_combo_3.0.0.4_386_50460-g5174ed0_puresqubi.w
Появится каталог «_RT-AX55_combo_3.0.0.4_386_50460-g5174ed0_puresqubi.w.extracted», и если заглянуть сюда «squashfs-root/lib/modules/», можно увидеть каталог с именем версии ядра. У меня он 4.19.183.
▍ Dahua DH_IPC-HX2X4X
Для разнообразия можно рассмотреть регистратор фирмы Dahua. Название прошивки — DH_IPC-HX2X4X-Taylor_MultiLang_PN_V2.840.0000000.7.R.221110. В этом случае бинарник можно
распаковать с помощью zip-архиватора.
unzip DH_IPC-HX2X4X-Taylor_MultiLang_PN_V2.840.0000000.7.R.221110.bin
Archive: DH_IPC-HX2X4X-Taylor_MultiLang_PN_V2.840.0000000.7.R.221110.bin
file #1: bad zipfile offset (local header sig): 0
inflating: Install
inflating: kernel.img
inflating: dhboot.bin.img
inflating: dhboot-min.bin.img
inflating: romfs-x.squashfs.img
inflating: web-x.squashfs.img
inflating: dhdtb.bin.img
inflating: partition-x.cramfs.img
inflating: check.img
extracting: sign.img
Чтобы определить ядро прошивки, на данном этапе достаточно применить binwalk.
binwalk kernel.img
DECIMAL HEXADECIMAL DESCRIPTION
--------------------------------------------------------------------------------
0 0x0 uImage header, header size: 64 bytes, header CRC: 0x6F27594A, created: 2022-11-10 13:43:13,
image size: 2313680 bytes, Data Address: 0x1D00000, Entry Point: 0x2300000, data CRC: 0x47CC5A2D,
OS: Linux, CPU: ARM, image type: Firmware Image, compression type: none, image name: "kernel"
64 0x40 uImage header, header size: 64 bytes, header CRC: 0x359DB3A3, created: 2022-10-28 04:08:13,
image size: 2309152 bytes, Data Address: 0x8000, Entry Point: 0x8000, data CRC: 0xFAC624BD, OS:
Linux, CPU: ARM, image type: OS Kernel Image, compression type: none, image name: "Linux-4.19.91"
128 0x80 Linux kernel ARM boot executable zImage (little-endian)
18432 0x4800 LZMA compressed data, properties: 0x5D, dictionary size: 67108864 bytes, uncompressed
size: -1 bytes
2311536 0x234570 uImage header, header size: 64 bytes, header CRC: 0x3C52A920, created:
2022-11-10 13:43:13, image size: 2311448 bytes, Data Address: 0x1D00000, Entry Point: 0x2300000,
data CRC: 0xBDDC7DE8, OS: Linux, CPU: ARM, image type: Firmware Image, compression type: none,
image name: "kernel"
Версия ядра у этой прошивки — Linux-4.19.91, создана 28.10.2022.
▍ Личное мнение
С первого взгляда может показаться, что все производители оборудования не заботятся об обновлении ядра, и поэтому уровень безопасности остаётся неизменным. Я считаю, что дело обстоит следующим образом:
- все дыры в безопасности закрываются с помощью правки ядра, но при этом меняется не версия ядра, а версия прошивки;
- чтобы поменять версию ядра, необходимо под эту версию исправить пусть не все, но некоторые части модулей. А это уже дополнительные расходы времени и денег;
- после перевода модулей на новую версию есть риски появления новых багов и уязвимостей в безопасности;
- ядро поддерживает аппаратную часть, которую нецелесообразно менять;
- устаревшие модели оборудования понемногу выводят из поддержки, и из-за того, что основные ресурсы направляют на более новые продукты, обновления выходят реже.
Конечно, было бы правильнее спросить у самих производителей, что я и сделал. Но ни один из них не ответил на моё письмо. Ещё бы, кто я такой — обычный пользователь. Так что придётся жить в догадках и относиться с недоверием к разработчикам, которые скрывают исходники, а так и до паранойи недалеко.
▍ Итог
В итоге — что мы имеем, и как с этим жить. Не думаю, что стоит паниковать из-за старой версии ядра. А вот если последняя версия прошивки собрана года два назад (что не всегда можно выявить), то следует искать другие способы обновления. Например, такие:
- купить самое новое оборудование;
- выбрать прошивку с открытым исходным кодом.
Лучше всех дела обстоят с роутерами. В подавляющих случаях покупать прибор не целесообразно. А вот прошивка с открытым исходным кодом подойдёт. Главное не превратить прибор в кирпич.
Автор статьи, которую я упоминал в начале, предлагает OpenWrt, есть и другие варианты прошивок. Также можно выбрать роутер с открытым исходным кодом (если бы все производители делали именно так). Я слышал о двух таких, это MikroTik (github) и Turris Omnia (github). В остальных случаях «кушаем», что дают.
Играй в нашу новую игру прямо в Telegram!