GSC Incident Report- 바이킹바이러스분석 1. 작성일시 : 2006.10.26 20:17(GMT +09:00) 2. 작성자 : 안창용 / 바이러스분석팀 3. 바이킹바이러스에대해서바이킹바이러스는 2005 년 2 월경최초발견된후잠시주춤하다가 2005 년 5 월부터국내에서웹해킹을통한악성코드유포사례가이슈화되면서 Internet Explorer 의취약성을공격하는 Exploit 과함께유포되는방식으로변경되었고지금까지다수의변종이발견되었다. 바이킹바이러스는다양한루트를통해자신을확산시킬수있는기능을가지고있어완벽한해결이어렵기때문에이번 Incident Report 를통해서어떻게하면바이킹바이러스에의한감염피해를최소한으로줄이고안전한컴퓨팅환경을만들수있는지알아본다. 4. 왜, 바이킹바이러스라명명되었나? 바이킹바이러스는특정백신의서비스를멈추려고하는루틴과.exe 확장자를가진파일을감염시키는 virus 기능을갖고있는데이두가지의특징이합쳐져바이킹 (Viking) 으로명명된것으로추정된다. 0x407AC1: 6A00 PUSH 0x0 Virus + Kingsoft = Viking 0x407AC3: 68C47B4000 PUSH 0x407BC4 ; DATA:net stop "Kingsoft AntiVirus Service" 0x407AC8: E8ABC9FFFF CALL 0x404478 <--- WinExec 5. 바이킹바이러스, 어떻게확산되나? 바이킹바이러스의주확산경로는아래와같다. Int erne t Explorer 의취약성과함께 파일감염 (*.exe 확장자를가진파일 ) 관리목적의공유폴더 ( I PC$, Admin$, C$ 등) 또는공유폴더 5-1. Internet Explorer 의취약성과함께 웹해킹과함께사용되는 Internet Explorer 의주요취약점 * MS04-013 : http://www.microsoft.com/korea/technet/security/bulletin/ms04-013.asp * MS04-025 : http://www.microsoft.com/korea/technet/security/bulletin/ms04-025.mspx * MS05-001 : http://www.microsoft.com/korea/technet/security/bulletin/ms05-001.mspx * MS06-001 : http://www.microsoft.com/korea/technet/security/bulletin/ms06-001.mspx * MS06-014 : http://www.microsoft.com/korea/technet/security/bulletin/ms06-001.mspx 웹해킹을통한악성코드유포사례가이슈화되기시작했던 2005 년 5 월부터주로 MS04-025 와 MS05-001 에기술된취약점을사용하였고, MS06-001 취약성과함께악성코드유포사례가발견되면서그당시해당취약점을사용한사례가증가할것으로예상했지만그렇지않았으며, 최근들어 MS06-014 에기술된취약점을사용한유포사례가주를이루고있다. exploit 들은 AV 제품의탐지를회피하기위해스트링 (string) 단위로코드를분할하거나코드를다중암호화된형태로유포되고있으며쉽게변형이가능하기때문에 AV 제품에서해당 exploit 을탐지하는데한계가있다. 스트링 (string) 단위로분할된경우 : str1="micro", str2="soft.x", str3="mlh", str4="ttp" str = str1 + str2 + str3 + str4,
암호화된경우 HtmlStrings=["=ujumf>=0ujumf>=ifbe>=0ifbe>=cpez>=tdsjqu!mbohvbhf>#W", "CTdsjqu#>po!fssps!sftvnf!ofyu 해킹된웹사이트를통해서유포되는악성코드의대부분은아래와같은형식을사용한다. [ 그림 1. 바이킹바이러스유포경로 ] 5-2. 파일감염바이킹바이러스는 *.exe 파일을가진파일에자신의코드를삽입 ( 감염, Infection) 하여확산을시도하며해당작업을수행하기위해서는다음과같은조건을만족해야한다. 바이킹바이러스가 *.exe 파일을감염시킬조건 5-2-1. 파일크기검사바이킹바이러스는수십개의변종이존재하므로각각의변종에서파일크기검사를하기위한조건이다르지만공통적으로 FindFirstFileA(), FindNextFileA(), GetFileSize() 를사용하여.exe 파일을검색하고파일크기를비교한후크거나파일을감염시키지않는다. 0x40992E: 56 PUSH ESI 0x40992F: 8D95B4FEFFFF LEA EDX,DWORD PTR [EBP-0x14C] 0x409935: B8049F4000 MOV EAX,0x409F04 ; DATA:*.exe 0x40993A: E811AEFFFF CALL 0x404750 ----중간생략---- 0x40994E: E8299AFFFF CALL 0x40337C 0x409953: 8B85B8FEFFFF MOV EAX,DWORD PTR [EBP-0x148] 0x409959: E8D29BFFFF CALL 0x403530 0x40995E: 50 PUSH EAX <--- lpfilename 0x40995F: E8ACA9FFFF CALL 0x404310 <--- FindFirstFileA 0x409964: 8BF8 MOV EDI,EAX 0x409966: 83FFFF CMP EDI,0xFF 0x409969: 0F8482000000 JE 0x4099F1 ; (*+0x88) [ 표 1. exe 파일을찾기위한루틴 ] 현재폴더에서 exe 파일을찾았다면 sub_409518 를호출하여해당파일의크기를자신의조건과비교하기위한작업을수행하여조건과일치하면해당파일에자신의코드를삽입하고불일치하면감염시키지않는다.
vir.viking.j.un Section.Upack (0x00401000) 0x409556: 6A00 PUSH 0x0 0x409558: 53 PUSH EBX 0x409559: E802AEFFFF CALL 0x404360 0x40955E: 8BF0 MOV ESI,EAX 0x409560: 81FE0000A000 CMP ESI,0xA00000 <--- FileSize 비교 0x409566: 0F8358010000 JAE 0x4096C4 <--- CloseHandle () [ 표 2. 파일크기비교 ] 5-2-2. 특정문자열을사용하는일부폴더에저장된 *.exe 는제외지금까지나온바이킹바이러스특징중에하나가특정문자열을사용하는폴더에존재하는 exe 파일은감염시키지않는다는것인데이는 Windows OS 의중요폴더를감염시킬경우제작자가의도하는목적과반대되는현상이일어날수있는것을방지하기위한것이다.( 부팅불가, 속도저하, 특정파일실행불가등 ) Disassembly of 0x00409A9B 0x409A95: 8B8594FEFFFF MOV EAX,DWORD PTR [EBP-0x16C] 0x409A9B: BA549F4000 MOV EDX,0x409F54 ; DATA:system 0x409AA0: E80FACFFFF CALL 0x4046B4 <--- CompareStringA () 0x409AA5: 85C0 TEST EAX,EAX 0x409AA7: 0F840E040000 JZ 0x409EBB ;(*+0x414) 0x409AAD: 8D8590FEFFFF LEA EAX,DWORD PTR [EBP-0x170] 0x409AB3: 8D562C LEA EDX,DWORD PTR [ESI+0x2C] 0x409AB6: B904010000 MOV ECX,0x104 0x409ABB: E85898FFFF CALL 0x403318 [ 표 3. 특정조건검사 ] 위코드는바이킹바이러스가시스템폴더인지를검사하는루틴이며만약조건이일치하지않으면 0x409AA7를호출하여해당폴더에서 exe 파일을찾기위한작업을수행한다. 바이킹바이러스는아래문자열을가진폴더에대해서도 [ 표 3.] 과같은동일한작업을수행하여만약.exe 파일이존재한다면감염시키지않는다. winnt, windows, system, system32 Documents and Settings System Volume Information Recycled Program Files Windows NT, WindowsUpdate, Windows Media Player, Outlook Express, Internet Explorer ComPlus Applications, NetMeeting, Common Files, Messenger, Microsoft Office, InstallShield Installation Information, Microsoft Frontpage, Movie Maker, MSN Gaming Zone. [ 표 4. 바이킹바이러스에감염되지않는폴더목록 ] 5-2-3. 파일감염바이킹바이러스는정상파일의앞부분에자신의코드를삽입하는전위형바이러스이다. 감염전 정 상 파 일 감염후 바 이 킹 정 상 파 일 [ 표 5. 감염전후파일구조 ] 바이킹바이러스가실행되면 %windir% 폴더에자신의복사본 (.exe,.dll) 을생성하고 %windir% Logo1_.exe %windir% rundl132.exe
%windir% Dll.dll 또는 vidll.dll 또는 vdll.dll 자신의코드를복제하기위한 *.exe 를검색하고조건이일치한 exe 파일을찾았을경우해당파일의앞부분에자신의코드를삽입한다. 감염된파일의크기는바이킹바이러스의원래크기만큼이증가하게되며아래로그는 Sysinternal(http://www.sysin ternals.com) 사의 Filemon 을사용하여바이킹바이러스가정상파일에자신의코드를복제하는과정을로그로기록한것이다. Logo1_.exe:456 OPEN E: Analysis Hacview PEDUMP32.EXE SUCCESS Options: Open Access: All Logo1_.exe:456 QUERY INFORMATION E: Analysis Hacview PEDUMP32.EXE SUCCESS Length: 29184 1 Logo1_.exe:456 READ E: Analysis Hacview PEDUMP32.EXE SUCCESS Offset: 0 Length: 27111 <-- virus code Logo1_.exe:456 READ E: Analysis Hacview PEDUMP32.EXE SUCCESS Offset: 0 Length: 28672 2 Logo1_.exe:456 READ E: Analysis Hacview PEDUMP32.EXE SUCCESS Offset: 0 Length: 29184 <-- file size Logo1_.exe:456 WRITE E: Analysis Hacview PEDUMP32.EXE SUCCESS Offset: 0 Length: 27111 3 Logo1_.exe:456 WRITE E: Analysis Hacview PEDUMP32.EXE SUCCESS Offset: 27111 Length: 29184 Logo1_.exe:456 READ E: Analysis Hacview PEDUMP32.EXE SUCCESS Offset: 53248 Length: 4096 Logo1_.exe:456 SET INFORMATION E: Analysis Hacview PEDUMP32.EXE SUCCESS FileBasicInformation Logo1_.exe:456 CLOSE E: Analysis Hacview PEDUMP32.EXE SUCCESS [ 표 6. 바이킹바이러스의감염과정로그 ] [ 그림 2. 감염후 vs 전파일의앞부분 ] 이미감염된파일들의속성은감염될때의시간으로변경된다. [ 그림 3. 감염된파일의속성 ].Upack:00409619 lea eax, [ebp+lastwritetime].upack:0040961c push eax ; lplastwritetime.upack:0040961d lea eax, [ebp+lastaccesstime].upack:00409620 push eax ; lplastaccesstime.upack:00409621 lea eax, [ebp+creationtime].upack:00409624 push eax ; lpcreationtime.upack:00409625 push ebx ; hfile.upack:00409626 call GetFileTime.Upack:0040962B push 0 ; dwmovemethod.upack:0040962d push 0 ; lpdistancetomovehigh.upack:0040962f push 0 ; ldistancetomove.upack:00409631 push ebx ; hfile.upack:00409632 call SetFilePointer
---- 중간생략 ----.Upack:004096A9 ; sub_409518+155 j....upack:004096a9 lea eax, [ebp+lastwritetime].upack:004096ac push eax ; lplastwritetime.upack:004096ad lea eax, [ebp+lastaccesstime].upack:004096b0 push eax ; lplastaccesstime.upack:004096b1 lea eax, [ebp+creationtime].upack:004096b4 push eax ; lpcreationtime.upack:004096b5 push ebx ; hfile.upack:004096b6 call SetFileTime.Upack:004096BB mov edx, esi.upack:004096bd mov eax, edi.upack:004096bf call sub_4024b4 [ 표 7. 감염된파일의속성을설정하는루틴 ] 5-2-4. 기타증상 바이킹바이러스는윈도우가부팅할때자동으로실행되도록아래루틴을사용하여자신의값을추가하며일부루틴은분석될 수없도록암호화되어있다. HKEY_CURRENT_USER Software Microsoft Windows NT CurrentVersion load="%windir% rundl132.exe".upack:004077f5 lea eax, [ebp+szshortpath].upack:004077fb push eax.upack:004077fc lea edx, [ebp+var_120].upack:00407802 mov eax, offset _str 1.Text <--- 암호화되어있는 Subkey.Upack:00407807 call sub_404af8 <--- 암호화된 Subkey 를복호화하는루틴.Upack:0040780C mov eax, [ebp+var_120].upack:00407812 call @System@@LStrToPChar$qqrv ; System:: linkproc LStrToPChar(void).Upack:00407817 mov edx, eax.upack:00407819 mov ecx, offset dword_4078ac <--- load.upack:0040781e mov eax, 80000001h <--- HKEY_CURRENT_USER.Upack:00407823 call sub_4053e8 <--- 레지스트리관련셋팅 API 함수호출루틴 [ 표 8. 자동실행루틴 ] 감염된파일이존재하는폴더마다감염시간이저장된 _desktop.ini 를생성한다. ex) 시스템시간 : 2006 년 10 월 30 일경우 => _desktop.ini 에는 2006/10/30 으로저장된다. 감염된파일이실행될때마다 %temp% 폴더에 % 랜덤파일명 %.bat 를생성하며아래와같은내용을저장하고있다. 이는감염된파일이실행되면앞부분에삽입되었던바이러스코드가분리되어 %windir% Logo_1.exe( 바이킹의복사본 ) 로생성되고감염되었던파일은정상파일로복구된다. 하지만 Logo_1.exe 에의해서재감염될가능성이높아실행시바이러스코드와분리되어정상파일로복구된다하더라도의미가없다. :try1 Del "E: Analysis SysInternals procexp.exe" if exist "E: Analysis SysInternals procexp.exe" goto try1 ren "E: Analysis SysInternals procexp.exe.exe" "procexp.exe" if exist "E: Analysis SysInternals procexp.exe.exe" goto try2 "E: Analysis SysInternals procexp.exe" :try2 del "C: DOCUME~1 ahnmaru LOCALS~1 Temp $$ac.bat" [ 표 9. 감염된파일이실행될때의예 ]
.Upack:00407EC4 lea eax, [ebp+lastwritetime].upack:00407ec7 push eax ; lplastwritetime.upack:00407ec8 lea eax, [ebp+lastaccesstime].upack:00407ecb push eax ; lplastaccesstime.upack:00407ecc lea eax, [ebp+creationtime].upack:00407ecf push eax ; lpcreationtime.upack:00407ed0 push esi ; hfile.upack:00407ed1 call GetFileTime.Upack:00407ED6 lea eax, [ebp+var_2a0].upack:00407edc call sub_406688 <-- 윈도우폴더경로가져오기.Upack:00407EE1 mov edx, [ebp+var_2a0].upack:00407ee7 lea eax, [ebp+var_10].upack:00407eea mov ecx, offset _str_logo1 exe.text [ 표 10. 복사본생성하는루틴 ].Upack:00408018 mov edx, offset _str bat.text.upack:0040801d call sub_4049c0.upack:00408022 mov eax, [ebp+var_18].upack:00408025 call @System@@LStrToPChar$qqrv ; System:: linkproc LStrToPChar(void).Upack:0040802A push eax ; lpfilename.upack:0040802b call DeleteFileA.Upack:00408030 mov eax, [ebp+var_18].upack:00408038 mov edi, eax.upack:0040803a cmp edi, 0FFFFFFFFh.Upack:0040803D jz loc_4081b4.upack:00408043 push offset _str try1 Del.Text.Upack:00408048 lea edx, [ebp+var_2a8].upack:0040804e xor eax, eax.upack:00408050 call sub_4026c4.upack:00408055 push [ebp+var_2a8].upack:0040805b push offset _str.text.upack:00408060 push offset _str_if_exist.text.upack:00408065 lea edx, [ebp+var_2ac].upack:0040806b xor eax, eax.upack:0040806d call sub_4026c4.upack:00408072 push [ebp+var_2ac].upack:00408078 push offset _str 5.Text.Upack:0040807D push offset _str goto_try1.text.upack:00408082 push offset _str_ren.text.upack:00408087 push [ebp+var_14] [ 표 11. 표 9의내용을수행하는 bat 파일을만들기위한코드 ] 5-3. 관리목적의공유폴더 (IPC$, Admin$, C$ 등 ) 또는공유폴더 파일감염, 취약점 < 네트워크 앞서설명한두확산경로보다네트워크를통한자기복제가더큰파급효과를가지고있다는것을의미한다. 바이킹바이러스는네트워크로확산할때감염된시스템이속해있는네트워크대역으로 ARP(Broadcast) 를발생시키기때문에기업과같은중앙형네트워크에큰피해를줄수가있다. 아래그림은바이킹바이러스에감염된시스템이자기복제를위해다른컴퓨터를찾기위해 ARP(Broadcast) 를발생시키는패킷을 Ethereal(http://www.ethereal.com) 으로캡쳐한것이다.
[ 그림 4. ARP(Broadcast) 패킷 ] [ 그림 5. ICMP 패킷 ] [ 그림 6. ICMP 패킷에포함된문자열 ] 이후같은네트워크대역에서발견한컴퓨터로 ICMP 패킷을발송하는데 Hello, World(Offset 002a ~ 0034) 라는문자열이포함되어있는것이특징이다..Upack:00408323 push eax ; lpwsadata.upack:00408324 push 101h ; wversionrequested.upack:00408329 call WSAStartup.Upack:0040832E push offset dword_4085a0 ; lplibfilename : icmp.dll.upack:00408333 call LoadLibraryA.Upack:00408338 mov [ebp+hmodule], eax.upack:0040833b push offset dword_4085ac ; lpprocname : IcmpCreateFile.Upack:00408340 mov eax, [ebp+hmodule].upack:00408343 push eax ; hmodule.upack:00408344 call GetProcAddress.Upack:00408349 mov ebx, eax.upack:0040834b push offset dword_4085bc ; lpprocname : IcmpCloseHandle.Upack:00408350 mov eax, [ebp+hmodule].upack:00408353 push eax ; hmodule.upack:00408354 call GetProcAddress.Upack:00408359 mov [ebp+var_10], eax.upack:0040835c push offset dword_4085cc ; lpprocname : IcmpSendEcho.Upack:00408361 mov eax, [ebp+hmodule].upack:00408364 push eax ; hmodule.upack:00408365 call GetProcAddress ----중간생략----.Upack:004083ED mov ebx, offset dword_4085dc : Hello, World [ 표 12. ICMP 패킷을발생시키는코드 ]
바이킹바이러스는네트워크를통해자기복제를할경우, 두가지경우를통해할수있다. 공유폴더 IPC$, Admin$ 5-3-1. 공유폴더 바이킹바이러스는 sub_403bf8 루틴을호출하여공유폴더의목록을쿼리 (Query) 하고해당폴더에존재하는모든.exe 파일을 감염시킨다..Upack:00407C84 call sub_403bf8 ---- 중간생략 ----.Upack:00407C92 loc_407c92: ; CODE XREF: sub_407c24+e4j.upack:00407c92 xor eax, eax.upack:00407c94 mov [edi+4], eax.upack:00407c97 xor eax, eax.upack:00407c99 mov [edi+10h], eax.upack:00407c9c mov eax, [ebp+var_c].upack:00407c9f mov eax, [eax+ebx*4].upack:00407ca2 call @System@@LStrToPChar$qqrv ; System:: linkproc LStrToPChar(void).Upack:00407CA7 mov [edi+14h], eax.upack:00407caa xor eax, eax.upack:00407cac mov [edi+1ch], eax.upack:00407caf push 0 ; dwflags.upack:00407cb1 push 0 ; lpusername.upack:00407cb3 push offset Password ; lppassword.upack:00407cb8 push edi ; lpnetresource.upack:00407cb9 call WNetAddConnection2A.Upack:00407CBE test eax, eax.upack:00407cc0 jz short loc_407cd2.upack:00407cc2 push 0 ; dwflags.upack:00407cc4 push 0 ; lpusername.upack:00407cc6 push 0 ; lppassword.upack:00407cc8 push edi ; lpnetresource.upack:00407cc9 call WNetAddConnection2A.Upack:00407CCE test eax, eax.upack:00407cd0 jnz short loc_407d06 [ 표 13. 공유폴더를이용한자기복제루틴 ] 바이킹바이러스가공유폴더를통해자기를복제할수있는가능성은크게두가지이다. 공유자원에액세스할때사용하는계정과패스워드가저장된경우 Windows OS 계열의시스템 ( 특히 Windows 2000 이상 ) 의시스템에서는네트워크공유자원에액세스시인증을요구하는윈도우가출력된다. 이때사용자들은매번아래와같은창이출력되는번거로움을없애기위해서 " 암호저장 (R)" 에표시하는경우가많으나이는바이킹바이러스처럼네트워크를통해자기복제를하는악성코드에게좋은확산수단이되기도한다. 바이킹바이러스는네트워크공유자원 (Admin$, IPC$, 공유폴더 ) 에액세스할때감염된로컬에존재하는계정들그리고공유자원에액세스할때저장된계정정보들을순차적으로사용하여네트워크공유자원에대해접속을시도한다. 아래패킷을참고하면이해가될것이다.
[ 그림 7. 네트워크액세스정보를모두삭제한후상태 ] [ 그림 8. 네트워크액세스정보를캐싱한후상태 ] [ 그림 7] 과 [ 그림 8] 의공통점은바이킹바이러스에감염된상태의패킷을캡쳐한것이고 IP 1 번과 128 번간에공유자원에액세스하기위해서인증권한을얻기위해서협상하는과정이다. [ 그림 7] 에서는 Testvm1 의 administrator 계정과패스워드는 Null 값을사용하여 128 의공유자원에액세스하기위해서인증요청을했으나 128 은 Testvm1 의 administrator 에대한계정과패스워드정보가없기때문에로그인실패메시지로응답하였는데이는바이킹바이러스가네트워크를통해자신복제를실패했다는의미가된다. [ 그림 8] 도마찬가지로 Testvm1 의 administraotor 에대한계정과패스워드정보가없기때문에로그인실패메시지로 1 번에응답하였으나두번째 AVERT Anti-Virus_Expert78 로인증시도시에는성공하였음을알수가있는데이는 Anti-Virus_Expert78 에대한계정과패스워드정보가 128 번에저장되어있기때문이다. 공유자원에대한권한이모든권한 (Full Control) 일경우 Windwos 2000 이상의 OS 에서는공유폴더의권한보다로컬시스템의권한이우선한다. 이는로컬시스템의공유된자원에모든권한 (Full Control) 이설정되어있다하더라도해당폴더에대한로컬의권한이읽기권한이라면최종으로적용되는권한은읽기가된다. 따라서바이킹바이러스가공유폴더에존재하는 exe 파일을감염시키기위해서접속시사용하는계정의권한이최소한쓰기 (Write) 를가지고있었다는결론이된다. 공유폴더의권한 로컬의권한 모든권한 (Full Control) < 읽기 (Read) [ 그림 9. Temp 폴더의권한이읽기 (Read) 일경우 ]
[ 그림 9] 처럼공유자원에읽기권한만설정되어있을경우 _desktop.ini 가존재하는지에대한쿼리를한후연결을종료시킴을확인할수가있다. [ 그림 10. 쓰기 (Write) 이상의권한이부여된경우 ] 1 공유폴더에 _desktop.ini 파일및해당폴더내에존재하는 *.exe 파일을감염시키기위해서쿼리발송 2 6 번째 : 공유폴더의하위폴더목록 3 나머지 : 1 과동일한과정 관리목적의공유폴더 (IPC$, Admin$) 를통해바이킹바이러스는 IPC$ 와 Admin$ 를통해서자기복제를할수있다. 이는관리목적의공유폴더에접근시사용되는계정정보가목적지시스템의관리자 ( 또는그에준한권한을가진계정 ) 에유사한권한을갖고있음을의미한다..Upack:0040896B push offset _str 2.Text.Upack:00408970 push [ebp+var_4].upack:00408973 push offset _str ipc$.text.upack:00408978 lea eax, [ebp+var_14] ----중간생략----.Upack:00408987 mov [ebp+netresource.dwtype], eax.upack:0040898a xor eax, eax.upack:0040898c mov [ebp+netresource.lplocalname], eax.upack:0040898f mov eax, [ebp+var_14].upack:00408997 mov esi, eax.upack:00408999 mov [ebp+netresource.lpremotename], esi.upack:0040899c xor eax, eax.upack:0040899e mov [ebp+netresource.lpprovider], eax.upack:004089a1 mov edx, offset dword_408d48 <--- administrator.upack:004089a6 mov eax, (offset Context.ExtendedRegisters+68h).Upack:004089AB call sub_404610.upack:004089b0 mov byte_412c14, 0.Upack:004089B7 push 0 ; dwflags.upack:004089b9 push (offset Context.ExtendedRegisters+68h) ; lpusername.upack:004089be push offset byte_412c14 ; lppassword.upack:004089c3 lea eax, [ebp+netresource].upack:004089c6 push eax ; lpnetresource.upack:004089c7 call WNetAddConnection2A.Upack:004089DE lea eax, [ebp+netresource].upack:004089e1 push eax ; lpnetresource.upack:004089e2 call WNetAddConnection2A ----------------------------------------------------------------------------------------.Upack:00408A80 loc_408a80: ; CODE XREF: sub_408914+165 j.upack:00408a80 push offset _str 2.Text.Upack:00408A85 push [ebp+var_4]
.Upack:00408A88 push offset _str admin$.text --- 중간생략----.Upack:00408A9C mov [ebp+netresource.dwtype], eax.upack:00408a9f xor eax, eax.upack:00408aa1 mov [ebp+netresource.lplocalname], eax.upack:00408aa4 mov eax, [ebp+var_18].upack:00408aac mov [ebp+netresource.lpremotename], eax.upack:00408aaf xor eax, eax.upack:00408ab1 mov [ebp+netresource.lpprovider], eax.upack:00408ab4 push 0 ; dwflags.upack:00408ab6 push edi ; lpusername.upack:00408ab7 push esi ; lppassword.upack:00408ab8 lea eax, [ebp+netresource].upack:00408abb push eax ; lpnetresource.upack:00408abc call WNetAddConnection2A [ 그림 11. 관리목적공유폴더를통해자기복제시트래픽 ] 6. 바이킹바이러스, 왜위험한가? 지금까지분석된내용을통해바이킹바이러스가왜위험한지를알수가있었다. 하지만바이킹바이러스는자기복제뿐만아니라감염시특정 URL 로부터특정온라인게임사용자의개인정보를유출할수있는 PSW 형의트로이목마를다수다운로드한후실행한다는것에추가적으로위험성이존재한다고할수있다. [ 그림 12. PSW 트로이목마다운로드 ]