Example #1
0
        public List <RecordDnsPoison> OnLoadTemplateData(TemplatePluginData pluginData)
        {
            List <RecordDnsPoison> poisoningRecords = null;

            if (pluginData == null)
            {
                return(null);
            }

            // Deserialize plugin data
            var stream = new MemoryStream();

            stream.Write(pluginData.PluginConfigurationItems, 0, pluginData.PluginConfigurationItems.Length);
            stream.Seek(0, SeekOrigin.Begin);

            var formatter = new BinaryFormatter();

            poisoningRecords = (List <RecordDnsPoison>)formatter.Deserialize(stream);

            // Replace place holders by current configuration values
            poisoningRecords.ForEach(elem => {
                if (elem.IpAddress == MinaryLib.DSL.Config.CONSTANT_LOCAL_IP)
                {
                    elem.IpAddress = this.plugin.Config.HostApplication.CurrentIP;
                }
            });

            return(poisoningRecords);
        }
Example #2
0
        /// <summary>
        ///
        /// </summary>
        /// <returns></returns>
        public TemplatePluginData OnGetTemplateData(BindingList <RequestRedirectRecord> requestRedirectRecords)
        {
            var templateData      = new TemplatePluginData();
            var genericObjectList = new List <RequestRedirectRecord>();

            // Create new record list
            foreach (RequestRedirectRecord tmpRecord in requestRedirectRecords)
            {
                var tmpRecord2 = new RequestRedirectRecord()
                {
                    RedirectType        = tmpRecord.RedirectType,
                    RedirectDescription = tmpRecord.RedirectDescription,
                    RequestedHostRegex  = tmpRecord.RequestedHostRegex,
                    RequestedPathRegex  = tmpRecord.RequestedPathRegex,
                    ReplacementResource = tmpRecord.ReplacementResource
                };

                genericObjectList.Add(tmpRecord2);
            }

            // Serialize the list
            var stream    = new MemoryStream();
            var formatter = new BinaryFormatter();

            formatter.Serialize(stream, genericObjectList);
            stream.Seek(0, SeekOrigin.Begin);

            // Assign plugin data to "Plugin Template DTO"
            templateData.PluginConfigurationItems = stream.ToArray();

            return(templateData);
        }
Example #3
0
        public TemplatePluginData OnGetTemplateData(BindingList <RecordDnsPoison> dnsPoisonRecords)
        {
            var templateData      = new TemplatePluginData();
            var genericObjectList = new List <RecordDnsPoison>();

            // Where necessary replace current configuration parameter
            // with placeholder values
            foreach (RecordDnsPoison tmpRecord in dnsPoisonRecords)
            {
                var realRecord = new RecordDnsPoison(tmpRecord.HostName, tmpRecord.IpAddress, tmpRecord.ResponseType, tmpRecord.CName, tmpRecord.TTL, tmpRecord.MustMatch);
                if (tmpRecord.IpAddress == this.plugin.Config.HostApplication.CurrentIP)
                {
                    realRecord.IpAddress = MinaryLib.DSL.Config.CONSTANT_LOCAL_IP;
                }

                genericObjectList.Add(realRecord);
            }

            // Serialize the list
            var stream    = new MemoryStream();
            var formatter = new BinaryFormatter();

            formatter.Serialize(stream, genericObjectList);
            stream.Seek(0, SeekOrigin.Begin);

            // Assign plugin data to "Plugin Template DTO"
            templateData.PluginConfigurationItems = stream.ToArray();

            return(templateData);
        }
Example #4
0
 private void BT_OnGetTemplateData_Click(object sender, EventArgs e)
 {
     foreach (var key in this.pluginDict.Keys)
     {
         TemplatePluginData templData = this.pluginDict[key].IPlugin.OnGetTemplateData();
     }
 }
 public void OnLoadTemplateData(TemplatePluginData pluginData)
 {
     if (this.InvokeRequired)
     {
         this.BeginInvoke(new OnLoadTemplateDataDelegate(this.OnLoadTemplateData), new object[] { pluginData });
         return;
     }
 }
Example #6
0
        public void OnLoadTemplateData(TemplatePluginData templateData)
        {
            if (this.InvokeRequired)
            {
                this.BeginInvoke(new OnLoadTemplateDataDelegate(this.OnLoadTemplateData), new object[] { templateData });
                return;
            }

            this.ClearRecordList();
            this.Refresh();
        }
Example #7
0
        public void OnLoadTemplateData(TemplatePluginData templateData)
        {
            if (this.InvokeRequired)
            {
                this.BeginInvoke(new OnLoadTemplateDataDelegate(this.OnLoadTemplateData), new object[] { templateData });
                return;
            }

            this.infrastructureLayer.OnReset();
            this.dataBatch.Clear();
            this.Refresh();
        }
        public TemplatePluginData OnGetTemplateData()
        {
            TemplatePluginData retVal = new TemplatePluginData();

            if (this.InvokeRequired)
            {
                this.BeginInvoke(new OnGetTemplateDataDelegate(this.OnGetTemplateData), new object[] { });
                return(retVal);
            }

            return(retVal);
        }
Example #9
0
        public List <SystemPattern> OnLoadTemplateData(TemplatePluginData templateData)
        {
            List <SystemPattern> systemPatternRecords;

            // Deserialize the pattern data
            MemoryStream stream = new MemoryStream();

            stream.Write(templateData.PluginDataSearchPatternItems, 0, templateData.PluginDataSearchPatternItems.Length);
            stream.Seek(0, SeekOrigin.Begin);

            BinaryFormatter formatter = new BinaryFormatter();

            systemPatternRecords = (List <SystemPattern>)formatter.Deserialize(stream);

            return(systemPatternRecords);
        }
Example #10
0
        public TemplatePluginData OnGetTemplateData()
        {
            if (this.InvokeRequired)
            {
                this.BeginInvoke(new OnGetTemplateDataDelegate(this.OnGetTemplateData), new object[] { });
                return(null);
            }

            TemplatePluginData newTemplateData = new TemplatePluginData();

            // Configuration items
            newTemplateData.PluginConfigurationItems = this.infrastructureLayer.OnGetTemplateData(this.systemRecords);

            // Pattern items
            newTemplateData.PluginDataSearchPatternItems = this.manageSystemsPresentationLayer.OnGetTemplateData();

            return(newTemplateData);
        }
Example #11
0
        public void OnLoadTemplateData(TemplatePluginData templateData)
        {
            if (this.InvokeRequired)
            {
                this.BeginInvoke(new OnLoadTemplateDataDelegate(this.OnLoadTemplateData), new object[] { templateData });
                return;
            }

            // Configuration items
            this.systemRecords.Clear();
            List <SystemRecord> loadedSystemRecords = this.infrastructureLayer.OnLoadTemplateData(templateData);

            loadedSystemRecords.ForEach(elem => this.systemRecords.Add(elem));

            // Pattern items
            this.manageSystemsPresentationLayer.OnLoadTemplateData(templateData);
            this.Refresh();
        }
Example #12
0
        public void OnLoadTemplateData(TemplatePluginData templateData)
        {
            if (this.InvokeRequired)
            {
                this.BeginInvoke(new OnLoadTemplateDataDelegate(this.OnLoadTemplateData), new object[] { templateData });
                return;
            }

            this.injectFileRecords.Clear();
            List <InjectFileRecord> tmpInjectFileRecords = this.infrastructureLayer.OnLoadTemplateData(templateData);

            if (tmpInjectFileRecords != null && tmpInjectFileRecords.Count > 0)
            {
                tmpInjectFileRecords.ToList().ForEach(elem => this.injectFileRecords.Add(elem));
            }

            this.Refresh();
        }
Example #13
0
        public void OnLoadTemplateData(TemplatePluginData templateData)
        {
            if (this.InvokeRequired)
            {
                this.BeginInvoke(new OnLoadTemplateDataDelegate(this.OnLoadTemplateData), new object[] { templateData });
                return;
            }

            this.dnsPoisonRecords.Clear();

            List <RecordDnsPoison> poisoningRecords = this.infrastructureLayer.OnLoadTemplateData(templateData);

            if (poisoningRecords?.Count > 0 == true)
            {
                poisoningRecords.ToList().ForEach(elem => this.dnsPoisonRecords.Add(elem));
            }

            this.Refresh();
        }
Example #14
0
        public List <RecordHttpSearch> OnLoadTemplateData(TemplatePluginData pluginData)
        {
            if (pluginData == null)
            {
                return(null);
            }

            var httpSearchRecords = new List <RecordHttpSearch>();

            // Deserialize plugin data
            MemoryStream stream = new MemoryStream();

            stream.Write(pluginData.PluginConfigurationItems, 0, pluginData.PluginConfigurationItems.Length);
            stream.Seek(0, SeekOrigin.Begin);

            BinaryFormatter formatter = new BinaryFormatter();

            httpSearchRecords = (List <RecordHttpSearch>)formatter.Deserialize(stream);

            return(httpSearchRecords);
        }
Example #15
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="pluginData"></param>
        public List <FirewallRuleRecord> OnLoadTemplateData(TemplatePluginData pluginData)
        {
            List <FirewallRuleRecord> poisoningRecords = null;

            if (pluginData == null)
            {
                return(null);
            }

            // Deserialize plugin data
            MemoryStream stream = new MemoryStream();

            stream.Write(pluginData.PluginConfigurationItems, 0, pluginData.PluginConfigurationItems.Length);
            stream.Seek(0, SeekOrigin.Begin);

            BinaryFormatter formatter = new BinaryFormatter();

            poisoningRecords = (List <FirewallRuleRecord>)formatter.Deserialize(stream);

            return(poisoningRecords);
        }
Example #16
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="InjectCodeRecords"></param>
        /// <returns></returns>
        public TemplatePluginData OnGetTemplateData(BindingList <InjectCodeRecord> InjectCodeRecords)
        {
            var templateData      = new TemplatePluginData();
            var genericObjectList = new List <InjectCodeRecord>();

            foreach (InjectCodeRecord tmpRecord in InjectCodeRecords)
            {
                genericObjectList.Add(new InjectCodeRecord(tmpRecord.RequestedScheme, tmpRecord.RequestedHostRegex, tmpRecord.RequestedPathRegex, tmpRecord.InjectionCodeFile, tmpRecord.Tag, tmpRecord.Position));
            }

            // Serialize the list
            var stream    = new MemoryStream();
            var formatter = new BinaryFormatter();

            formatter.Serialize(stream, genericObjectList);
            stream.Seek(0, SeekOrigin.Begin);

            // Assign plugin data to "Plugin Template DTO"
            templateData.PluginConfigurationItems = stream.ToArray();

            return(templateData);
        }
Example #17
0
        /// <summary>
        ///
        /// </summary>
        /// <returns></returns>
        public TemplatePluginData OnGetTemplateData(BindingList <SslStripRecord> sslStripRules)
        {
            var templateData      = new TemplatePluginData();
            var genericObjectList = new List <SslStripRecord>();

            // Replace current configuration parameter with placeholder values
            foreach (SslStripRecord tmpRecord in sslStripRules)
            {
                genericObjectList.Add(new SslStripRecord(tmpRecord.HostName, tmpRecord.ContentType));
            }

            // Serialize the list
            var stream    = new MemoryStream();
            var formatter = new BinaryFormatter();

            formatter.Serialize(stream, genericObjectList);
            stream.Seek(0, SeekOrigin.Begin);

            // Assign plugin data to "Plugin Template DTO"
            templateData.PluginConfigurationItems = stream.ToArray();

            return(templateData);
        }
Example #18
0
        public TemplatePluginData OnGetTemplateData(BindingList <RecordHttpSearch> httpSearchPatternRecords)
        {
            var templateData      = new TemplatePluginData();
            var genericObjectList = new List <RecordHttpSearch>();

            // Replace current configuration parameter with placeholder values
            foreach (RecordHttpSearch tmpRecord in httpSearchPatternRecords)
            {
                genericObjectList.Add(new RecordHttpSearch(tmpRecord.Method, tmpRecord.HostRegex, tmpRecord.PathRegex, tmpRecord.DataRegex));
            }

            // Serialize the list
            MemoryStream    stream    = new MemoryStream();
            BinaryFormatter formatter = new BinaryFormatter();

            formatter.Serialize(stream, genericObjectList);
            stream.Seek(0, SeekOrigin.Begin);

            // Assign plugin data to "Plugin Template DTO"
            templateData.PluginConfigurationItems = stream.ToArray();

            return(templateData);
        }
Example #19
0
        /// <summary>
        ///
        /// </summary>
        /// <returns></returns>
        public TemplatePluginData OnGetTemplateData(BindingList <FirewallRuleRecord> firewallRules)
        {
            TemplatePluginData        templateData      = new TemplatePluginData();
            List <FirewallRuleRecord> genericObjectList = new List <FirewallRuleRecord>();

            // Replace current configuration parameter with placeholder values
            foreach (FirewallRuleRecord tmpRecord in firewallRules)
            {
                genericObjectList.Add(new FirewallRuleRecord(tmpRecord.Protocol, tmpRecord.SrcIp, tmpRecord.SrcPortLower, tmpRecord.SrcPortUpper, tmpRecord.DstIp, tmpRecord.DstPortLower, tmpRecord.DstPortUpper));
            }

            // Serialize the list
            MemoryStream    stream    = new MemoryStream();
            BinaryFormatter formatter = new BinaryFormatter();

            formatter.Serialize(stream, genericObjectList);
            stream.Seek(0, SeekOrigin.Begin);

            // Assign plugin data to "Plugin Template DTO"
            templateData.PluginConfigurationItems = stream.ToArray();

            return(templateData);
        }
Example #20
0
 /// <summary>
 ///
 /// </summary>
 /// <param name="pluginName"></param>
 /// <param name="pluginData"></param>
 public Plugin(string pluginName, TemplatePluginData pluginData)
 {
     this.Name = pluginName;
     this.Data = pluginData;
 }
Example #21
0
 public List <SystemPattern> OnLoadTemplateData(TemplatePluginData templateData)
 {
     return(this.infrastructureLayer.OnLoadTemplateData(templateData));
 }
Example #22
0
        public List <SystemRecord> OnLoadTemplateData(TemplatePluginData pluginData)
        {
            List <SystemRecord> applicatoinPatternRecords = new List <SystemRecord>();

            return(applicatoinPatternRecords);
        }
Example #23
0
 public void LoadPluginData(string tabPageName, TemplatePluginData pluginData)
 {
     LogCons.Inst.Write(LogLevel.Info, $"Calls interface: LoadPluginData() \"{tabPageName}\"");
     Minary.DataTypes.MinaryExtension realPluginObj = this.minaryMain.PluginHandler.TabPagesCatalog[tabPageName];
     realPluginObj.PluginObject.OnLoadTemplateData(pluginData);
 }
Example #24
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void Bt_Save_Click(object sender, EventArgs e)
        {
            // Create and populate temlate object
            var newTemplateData = new MinaryTemplateData();

            newTemplateData.TemplateConfig.Name        = this.tb_TemplateName.Text;
            newTemplateData.TemplateConfig.Description = this.tb_TemplateDescription.Text;
            newTemplateData.TemplateConfig.Reference   = this.tb_TemplateReferenceLink.Text;
            newTemplateData.TemplateConfig.Author      = this.tb_AuthorName.Text;
            newTemplateData.TemplateConfig.Version     = this.tb_Version.Text;

            // Configure attack settings
            int tmpNumberSelectedTargetSystems = -1;

            int.TryParse(this.tb_MaxNoTargetSystems.Text, out tmpNumberSelectedTargetSystems);
            newTemplateData.AttackConfig.NumberSelectedTargetSystems = tmpNumberSelectedTargetSystems;
            newTemplateData.AttackConfig.ScanNetwork    = this.cb_ArpScan.Checked ? 1 : 0;
            newTemplateData.AttackConfig.StartAttack    = this.cb_StartAttackingTargets.Checked ? 1 : 0;
            newTemplateData.AttackConfig.IsAdvancedScan = this.rb_GuiAdvanced.Checked ? 1 : 0;
            newTemplateData.AttackConfig.IsDebuggingOn  = this.rb_DebuggingOn.Checked ? 1 : 0;

            try
            {
                this.TemplateParametersAreValid(newTemplateData);
            }
            catch (Exception ex)
            {
                MessageDialog.Inst.ShowError(string.Empty, ex.Message, this);
                return;
            }

            // Plugin data
            foreach (TabPage tmpTabPage in this.minaryMain.MinaryTabPageHandler.VisibleTabPages)
            {
                Minary.DataTypes.MinaryExtension tmpExtension = this.minaryMain.PluginHandler.TabPagesCatalog[tmpTabPage.Text];
                TemplatePluginData tmpPluginData = tmpExtension.PluginObject.OnGetTemplateData();
                newTemplateData.Plugins.Add(new Plugin(tmpTabPage.Text, tmpPluginData));
            }

            // Show save file dialog
            this.sfd_TemplateFile.InitialDirectory = Path.Combine(Directory.GetCurrentDirectory(), Minary.Config.CustomTemplatesDir);
            this.sfd_TemplateFile.Filter           = $"Minary template files|*.{Minary.Config.MinaryFileExtension}";
            this.sfd_TemplateFile.Title            = $"Export current configuration to a .{Minary.Config.MinaryFileExtension} file";
            this.sfd_TemplateFile.AddExtension     = true;
            DialogResult dialogResult = this.sfd_TemplateFile.ShowDialog();

            if (dialogResult == DialogResult.Cancel)
            {
                return;
            }
            else if (string.IsNullOrEmpty(this.sfd_TemplateFile.FileName))
            {
                var message = "You didn't define an output file";
                MessageDialog.Inst.ShowWarning(string.Empty, message, this);
                return;
            }

            // Save template to file system
            try
            {
                this.SaveTemplateToFile(newTemplateData);
                this.minaryMain.TemplateName.Text = newTemplateData.TemplateConfig.Name;
            }
            catch (Exception ex)
            {
                LogCons.Inst.Write(LogLevel.Error, $"Error occurred while saving template : {ex.Message}");
                string message = $"Error occurred while saving template : {ex.Message}";
                MessageDialog.Inst.ShowWarning(string.Empty, message, this);
            }
        }
Example #25
0
        public void OnLoadTemplateData(TemplatePluginData templateData)
        {
            List <SystemPattern> applicationPatterns = this.taskLayer.OnLoadTemplateData(templateData);

            this.LoadTemplateSystemPatterns(applicationPatterns);
        }