182 lines
6.7 KiB
C#
182 lines
6.7 KiB
C#
using System;
|
|
using System.ComponentModel;
|
|
using System.Drawing;
|
|
using System.IO;
|
|
using System.IO.Compression;
|
|
using System.Security.Cryptography.X509Certificates;
|
|
using System.Threading.Tasks;
|
|
using System.Windows.Forms;
|
|
using DevExpress.Utils;
|
|
using DevExpress.XtraEditors;
|
|
using DevExpress.XtraTab;
|
|
using Server.Helper;
|
|
|
|
namespace Server.Forms;
|
|
|
|
public class FormCertificate : XtraForm
|
|
{
|
|
private IContainer components;
|
|
|
|
private Label label1;
|
|
|
|
private SimpleButton button1;
|
|
|
|
private TextEdit textBox1;
|
|
|
|
private XtraTabControl xtraTabControl1;
|
|
|
|
private XtraTabPage xtraTabPage1;
|
|
|
|
public FormCertificate()
|
|
{
|
|
InitializeComponent();
|
|
}
|
|
|
|
private void FormCertificate_Load(object sender, EventArgs e)
|
|
{
|
|
try
|
|
{
|
|
string text = Application.StartupPath + "\\BackupServer.zip";
|
|
if (File.Exists(text))
|
|
{
|
|
MessageBox.Show(this, "Found a zip backup, Extracting (BackupServer.zip)", "Certificate backup", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
|
|
ZipFile.ExtractToDirectory(text, Application.StartupPath);
|
|
Settings.VenomServer = new X509Certificate2(Settings.CertificatePath);
|
|
Close();
|
|
}
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
MessageBox.Show(this, ex.Message, "Certificate", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
|
|
}
|
|
}
|
|
|
|
private async void Button1_Click(object sender, EventArgs e)
|
|
{
|
|
try
|
|
{
|
|
if (string.IsNullOrWhiteSpace(textBox1.Text))
|
|
{
|
|
return;
|
|
}
|
|
button1.Text = "Please wait";
|
|
button1.Enabled = false;
|
|
textBox1.Enabled = false;
|
|
await Task.Run(delegate
|
|
{
|
|
try
|
|
{
|
|
string archiveFileName = Application.StartupPath + "\\BackupServer.zip";
|
|
Settings.VenomServer = CreateCertificate.CreateCertificateAuthority(textBox1.Text, 1024);
|
|
File.WriteAllBytes(Settings.CertificatePath, Settings.VenomServer.Export(X509ContentType.Pfx));
|
|
using (ZipArchive destination = ZipFile.Open(archiveFileName, ZipArchiveMode.Create))
|
|
{
|
|
destination.CreateEntryFromFile(Settings.CertificatePath, Path.GetFileName(Settings.CertificatePath));
|
|
}
|
|
Program.mainform.BeginInvoke((MethodInvoker)delegate
|
|
{
|
|
MessageBox.Show(this, "Remember to save the BackupServer.zip", "Certificate", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
|
|
Close();
|
|
});
|
|
}
|
|
catch (Exception ex3)
|
|
{
|
|
Exception ex4 = ex3;
|
|
Exception ex2 = ex4;
|
|
Program.mainform.BeginInvoke((MethodInvoker)delegate
|
|
{
|
|
MessageBox.Show(this, ex2.Message, "Certificate", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
|
|
button1.Text = "OK";
|
|
button1.Enabled = true;
|
|
textBox1.Enabled = true;
|
|
});
|
|
}
|
|
});
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
MessageBox.Show(this, ex.Message, "Certificate", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
|
|
button1.Text = "Ok";
|
|
button1.Enabled = true;
|
|
}
|
|
}
|
|
|
|
protected override void Dispose(bool disposing)
|
|
{
|
|
if (disposing && components != null)
|
|
{
|
|
components.Dispose();
|
|
}
|
|
base.Dispose(disposing);
|
|
}
|
|
|
|
private void InitializeComponent()
|
|
{
|
|
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(Server.Forms.FormCertificate));
|
|
this.label1 = new System.Windows.Forms.Label();
|
|
this.button1 = new DevExpress.XtraEditors.SimpleButton();
|
|
this.textBox1 = new DevExpress.XtraEditors.TextEdit();
|
|
this.xtraTabControl1 = new DevExpress.XtraTab.XtraTabControl();
|
|
this.xtraTabPage1 = new DevExpress.XtraTab.XtraTabPage();
|
|
((System.ComponentModel.ISupportInitialize)this.textBox1.Properties).BeginInit();
|
|
((System.ComponentModel.ISupportInitialize)this.xtraTabControl1).BeginInit();
|
|
this.xtraTabControl1.SuspendLayout();
|
|
this.xtraTabPage1.SuspendLayout();
|
|
base.SuspendLayout();
|
|
this.label1.AutoSize = true;
|
|
this.label1.Location = new System.Drawing.Point(49, 24);
|
|
this.label1.Margin = new System.Windows.Forms.Padding(2, 0, 2, 0);
|
|
this.label1.Name = "label1";
|
|
this.label1.Size = new System.Drawing.Size(64, 13);
|
|
this.label1.TabIndex = 0;
|
|
this.label1.Text = "Sever name";
|
|
this.button1.Location = new System.Drawing.Point(89, 78);
|
|
this.button1.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2);
|
|
this.button1.Name = "button1";
|
|
this.button1.Size = new System.Drawing.Size(243, 28);
|
|
this.button1.TabIndex = 1;
|
|
this.button1.Text = "OK";
|
|
this.button1.Click += new System.EventHandler(Button1_Click);
|
|
this.textBox1.EditValue = "VenomRAT Server";
|
|
this.textBox1.Location = new System.Drawing.Point(52, 44);
|
|
this.textBox1.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2);
|
|
this.textBox1.Name = "textBox1";
|
|
this.textBox1.Size = new System.Drawing.Size(306, 28);
|
|
this.textBox1.TabIndex = 2;
|
|
this.xtraTabControl1.Dock = System.Windows.Forms.DockStyle.Fill;
|
|
this.xtraTabControl1.Location = new System.Drawing.Point(0, 0);
|
|
this.xtraTabControl1.MultiLine = DevExpress.Utils.DefaultBoolean.True;
|
|
this.xtraTabControl1.Name = "xtraTabControl1";
|
|
this.xtraTabControl1.SelectedTabPage = this.xtraTabPage1;
|
|
this.xtraTabControl1.Size = new System.Drawing.Size(412, 175);
|
|
this.xtraTabControl1.TabIndex = 3;
|
|
this.xtraTabControl1.TabPages.AddRange(new DevExpress.XtraTab.XtraTabPage[1] { this.xtraTabPage1 });
|
|
this.xtraTabPage1.Controls.Add(this.label1);
|
|
this.xtraTabPage1.Controls.Add(this.textBox1);
|
|
this.xtraTabPage1.Controls.Add(this.button1);
|
|
this.xtraTabPage1.Name = "xtraTabPage1";
|
|
this.xtraTabPage1.Size = new System.Drawing.Size(410, 144);
|
|
base.AutoScaleDimensions = new System.Drawing.SizeF(6f, 13f);
|
|
base.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
|
|
base.ClientSize = new System.Drawing.Size(412, 175);
|
|
base.ControlBox = false;
|
|
base.Controls.Add(this.xtraTabControl1);
|
|
base.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedSingle;
|
|
base.IconOptions.Icon = (System.Drawing.Icon)resources.GetObject("FormCertificate.IconOptions.Icon");
|
|
base.IconOptions.Image = (System.Drawing.Image)resources.GetObject("FormCertificate.IconOptions.Image");
|
|
base.Margin = new System.Windows.Forms.Padding(2);
|
|
this.MaximumSize = new System.Drawing.Size(414, 209);
|
|
this.MinimumSize = new System.Drawing.Size(414, 209);
|
|
base.Name = "FormCertificate";
|
|
base.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen;
|
|
this.Text = "New Certificate";
|
|
base.Load += new System.EventHandler(FormCertificate_Load);
|
|
((System.ComponentModel.ISupportInitialize)this.textBox1.Properties).EndInit();
|
|
((System.ComponentModel.ISupportInitialize)this.xtraTabControl1).EndInit();
|
|
this.xtraTabControl1.ResumeLayout(false);
|
|
this.xtraTabPage1.ResumeLayout(false);
|
|
this.xtraTabPage1.PerformLayout();
|
|
base.ResumeLayout(false);
|
|
}
|
|
}
|