본문 바로가기
유용한 팁들

시스템 복원점의 감염에 대한 대처 ( 악성 코드 행동 분석 記)

by 글벌레 2010. 2. 3.
반응형

이 글은
시스템 복원점 속에 백업되어져 버린 악성코드에 내 시스템이 정말 감염되었나? 아닌가?를 밝혀 본
글벌레의 삽질 이야기입니다.
이 글은 다음과 같은 순서로 쓰여질 것입니다.
(이하 본문에서는 높임말은 생략합니다.)

1. AVG Anti-Virus Free Edition 날 괴롭히다 .
2. 감염만을 제거하기를 원하는 일반적인 사용자를 위한 안내
3. 감염 파일만 제거하기를 원하는 중급 사용자를 위한 안내
4. 고급 사용자라면 ?
5. 시스템의 감염 여부를 밝히기 위한 글벌레의 삽질 이야기

 1. AVG Anti-Virus Free Edition 날 괴롭히다 .


하루는 글벌레 깜박깜박 졸다가 컴퓨터 앞에서 일자로 뻗어서 잠이 든다.
컴퓨터 켜 놓은 채로.........

아침에 눈을 떴더니 AVG 실시간 감시 창이 경고를 띄우고 있다.

시스템 복원 폴더 (System Volume Information Folder )에 감염이 일어났단다.
에이, 귀찮게 이게 뭐야라고 하면서 그냥 무시 버튼을 클릭해서
AVG 경고창을 껐다. 그리고 당근 그냥 컴퓨터 꺼 버렸지.......

그런데 그 날 이후로 심심하면 이놈의 경고창이 뜬다.
  [그림1]


위 그림을 보면 A0002519.exe
이것이 자꾸 나를 괴롭게 만든 원인이 된 놈이다.

이제 이렇게 시스템 복원 폴더에 감염이 일어난 경우의 대처법에 대하여 알아보기로 하자. 

 2. 감염만을 제거하기를 원하는 일반적인 사용자를 위한 안내


시스템 복원 폴더에 감염이 일어난 경우
많은 백신들에서 치료를 하지 못하는 경우가 생기게 된다.
시스템 복원 폴더에 대한 접근 권한에서 생기는 문제다 .

당신이 지금 시스템 복원 폴더를 더블 클릭해 본다면 아래와 같은 메시지를 보게 될 것이다.


이것은 당신의 시스템 권한이 시스템 복원 폴더에 접근할 수 없기 때문이며
백신도 이와 같은 이유로 치료를 하지 못하는 것이다.
또 하나의 치료 않는 이유를 들라면 시스템 복원점 안의 파일을 건드릴 때
해당 시스템 복원점은 사용이 불가능한 복원점이 되기 때문이다.

그러므로 시스템 복원점의 감염에 대한 기본적인 대처로는 시스템 복원을 중지시켜서
모든 시스템 복원점들과 그 파일들이 사라지게 하는 조치가 추천된다.

그 방법은 아래와 같다.

바탕 화면의 내 컴퓨터를 선택하고 마우스 오른쪽 버튼을 눌러서 뜨는
문맥 메뉴(context-menu)에서 속성을 선택하고 클릭하면 뜨는
시스템 등록 정보 창에서 
모든 드라이브에 시스템 복원 사용 안 함 에 체크 후 적용을 하는 것이다.


단, 이 경우 모든 시스템 복원점들이 사라져서
현재 시점에서 과거로의 시스템 복원은 할 수 없다는 점은 염두에 두어야 한다.

그러나 조치를 않고 놔 둘 경우 시스템 복원 시 감염이 일어날 수도 있다는 점
또한 염두에 두어야 할 것이다.

일단 시스템 복원을 멈추어 감염을 해결한 경우 도로 시스템 복원을 켜기를 권장한다.

 3. 감염 파일만 제거하기를 원하는 중급 사용자를 위한 안내


시스템 복원을 사용할 수 없게 된다는 점에서 
2.번 단락에서 안내한 조치가 껄끄러운 사용자들도 있을 것이다 .

그러한 경우라면

이 부분의 내용이 더는 유용하지 않아 삭제 (2022년 12월 메모).

 

 4. 고급 사용자라면 ?


고급 사용자의 경우라면
시스템 복원 폴더에 대한 접근 권한을 얻어서 직접 감염 파일만 제거를 하든가
또는 접근 권한을 얻은 후 시스템 복원 폴더 내의 감염을 진단한 백신으로
해당 복원점을 검색/치료하면 될 것이다.
(실시간 감시가 켜진 채로 접근을 하면 자동 치료 또는 진단한 창이 뜰 터이니
그때 삭제를 선택해 없애 버리면 된다.)

시스템 복원 폴더에 대한 접근 권한을 얻는 방법은 사실 간단하다.

 

윈도우 탐색기 메뉴줄에서
도구 > 폴더 옵션(O)...을 선택하여 클릭한다.





뜨는 폴더 옵션 창에서 보기 탭으로 이동한 후
                  [그림2]


 모든 사용자에게 동일한 폴더 공유 권한을 지정(권장) 앞의 체크를 없애고 적용 > 확인을 누른다 .


이제
System Volme information (시스템 복원 ) 폴더를
선택한 후
마우스 오른쪽 버튼을 클릭해 뜨는
문맥 메뉴에서
맨 아래의 속성을 선택한 후 클릭한다.















그러면 아래처럼 폴더 등록 정보 창이 뜨는데 여기서 보안 탭을 선택한 후 추가를 클릭한다.

 

그러면 아래와 같은 창이 뜨는데 여기서 고급을 클릭한다.


그러면 아래 같은 창이 뜨는데

 

여기서 지금 찾기를 클릭하면 위 그림의 녹색 형광펜 부분 맨 아래에서 볼 수 있는 것처럼
사용자들 중에 현재 내가 로그인한 계정 이름과 내 컴퓨터 이름이 표시된 사용자를 볼 수 있다.
그 사용자를 선택하고 확인을 클릭한다.

그러면 아래 그림과 같이 위 그림에서 찾아서 선택한 사용자가 추가된 창이 뜨는데
                    [그림3]


이때 모든 권한에 체크를 해주고 적용 > 확인을 누른다.

이제 시스템 복원을 클릭해 보면 시스템 복원 폴더에 접근하게 되었음을 알 수가 있을 것이다.
직접 삭제 또는 백신으로 접근 치료/삭제가 가능해질 것이다.
단, 이 때 RP3라는 복원점은 망가진 복원점이 되어서 이 복원점으로 복원 시
복원이 제대로 된다는 보장은 없어진다. 그러므로 RP3 폴더 전체를 삭제해 버리는 것도 한 방법일 수도 있다.

만약 이 상태를 원상태로 만들어 주려면
[그림2]에서 체크 해지했던 것에 도로 체크를 해주고
[그림3]에서 새로 생성된 사용자를 선택하고 제거해 주면 된다.


참고 -
XP Home edition의 경우에는 안전모드에서만 위의 작업이 가능하다.

 5. 시스템의 감염 여부를 밝히기 위한 글벌레의 삽질 이야기


사실 글벌레는 시스템 복원점 내 감염을 철저히 무시하고 내버려두었었다.
시스템 복원점 내 악성코드는 그것이 현재 시스템이 이미 해당 악성코드로 감염이 된 상태만 아니라면
현 시스템에는 영향을 안 줄 것인데 AVG 실시간 감시가 [그림1]에서 그 경로를 보면 RP3 외의 경고는
띄우지 않지 않는가? 그러므로 현 시스템에는 감염이 없다고.

그런데 소심한 글벌레 걱정이 무지되기 시작했다 .
혹 감염이 있는데 AVG가 놓치고 있는 것은 아닐까?

그래서 생각 생각했지만 이 악성코드가 어떻게 내 시스템 복원점 안으로 들어가게 되었는지 알 수가 없었다.

그래서 글벌레 해당 악성코드에 대하여 알아보기로 결심한다.

우선 언급해 둘 것은 시스템 복원 폴더에 대한 접근 권한을 얻었다고 해서
해당 악성코드를 맨 시스템에서 다루는 것은 몹시 위험한 일이 될 수도 있다는 것이다.
실수하면 일어나지 않았을 감염을 실제 일으키는 것일 수도 있으므로........

그래서 글벌레 우선 샌드박시를 이용해 RP3 폴더로 접근을 하였다.

  글벌레의 샌드박시 관련 글들 보기
2010/01/04 - [프로그램 리뷰] - Sandboxie 3.42 판올림

2009/07/29 - [유용한 팁들] - 안전하게 파일 다운로드하기
2009/09/18 - [프로그램 리뷰] - 악성코드로부터 자유로운 프로그램 막 설치 설명서


        [그림4]


 
Sandboxie Control 창을 켜고
Sandbox DefaultBox를 마우스로 선택하고 마우스 오른쪽 버튼을 클릭해 뜨는 문맥 메뉴에서
Sandbox로 실행 > Windows 탐색기 실행을 선택하여 클릭해 샌드박스 내에서
윈도우 탐색기를 실행시킨 후 RP3 폴더로 접근을 하였다 .
       [그림5]


그리고 A0002519.exe 해당 파일의 등록 정보를 열었으나 별로 얻을 것이 없다.
이 파일을 바이러스 토탈로 보내어 보았다 .

아래에 검사 결과 진단한 백신들에 대하여만 그 진단명을 올린다 (41개 백신중 34개에서 진단됨.)

검사 파일: A0002519.exe 전송 시각: 2010.01.29 18:50:43 (UTC)
안티바이러스 엔진 버전 정의 날짜 검사 결과
a-squared 4.5.0.50 2010.01.29 Virus.Win32.Gamona!IK
AhnLab-V3 5.0.0.2 2010.01.29 Win-Trojan/Agent.31232.ABU
AntiVir 7.9.1.154 2010.01.29 TR/Crypt.XPACK.Gen
Authentium 5.2.0.5 2010.01.29 W32/SuspPack.AC.gen!Eldorado
Avast 4.8.1351.0 2010.01.29 Win32:Malware-gen
AVG 9.0.0.730 2010.01.29 Generic16.ANGA
BitDefender 7.2 2010.01.29 Trojan.KillAV.PZ
Comodo 3749 2010.01.29 Heur.Suspicious
DrWeb 5.0.1.12222 2010.01.29 Trojan.Packed.551
eSafe 7.0.17.0 2010.01.28 Win32.TRCrypt.XPACK
F-Prot 4.5.1.85 2010.01.29 W32/SuspPack.AC.gen!Eldorado
F-Secure 9.0.15370.0 2010.01.29 Trojan.KillAV.PZ
Fortinet 4.0.14.0 2010.01.28 PossibleThreat
GData 19 2010.01.29 Trojan.KillAV.PZ
Ikarus T3.1.1.80.0 2010.01.29 Virus.Win32.Gamona
Jiangmin 13.0.900 2010.01.28 Heur:Backdoor/Huigezi
K7AntiVirus 7.10.959 2010.01.28 Trojan.Win32.Malware.1
McAfee 5875 2010.01.28 Generic.dx!lyr
McAfee+Artemis 5875 2010.01.28 Generic.dx!lyr
McAfee-GW-Edition 6.8.5 2010.01.29 Heuristic.LooksLike.Win32.Suspicious.A
Microsoft 1.5406 2010.01.29 VirTool:Win32/Obfuscator.GE
NOD32 4818 2010.01.29 a variant of Win32/Kryptik.NX
Norman 6.04.03 2010.01.29 W32/Obfuscated.R
Panda 10.0.2.2 2010.01.29 Trj/CI.A
PCTools 7.0.3.5 2010.01.29 Trojan.KillAV
Rising 22.32.04.03 2010.01.29 Packer.Win32.Agent.bd
Sophos 4.50.0 2010.01.29 Mal/Generic-A
Sunbelt 3.2.1858.2 2010.01.29 Trojan.Win32.Generic!BT
Symantec 20091.2.0.41 2010.01.29 Trojan.KillAV
TheHacker 6.5.1.0.170 2010.01.29 Trojan/Kryptik.nx
TrendMicro 9.120.0.1004 2010.01.29 PAK_Generic.001
VBA32 3.12.12.1 2010.01.29 BScope.Trojan.8171722
ViRobot 2010.1.29.2162 2010.01.29 Trojan.Win32.Obfuscator.31232.C
VirusBuster 5.0.21.0 2010.01.29 Trojan.Hupigon.Gen!Pac.6
 역시 별로 얻을 것이 없구만 ㅠ ㅜ

 

그런데 각 시스템 복원점 폴더(RP숫자 폴더)에는
rp.log란 파일이 들어 있고, 이를 통하여 운이 좋으면 복원점의 이름은 볼 수도 있단 생각이 들어
RP3 의 rp.log를 열어 보았다.
  [그림6]


열어본 결과 처음에는 적잖게 당황을 하였다.
음! 내가 얼마 전에 소개한 Paragon의 백업 프로그램에 악성코드가 심어져 있었나?
그러나 가만히 생각을 해 보니
1. 내가 Paragon 제품 리뷰는 이번에 하였지만, 그 회사의 사이트를 안지는 1년이 넘었다.
   악성코드 유포지라면 구글부터 검색에서 차단을 할 것 아닌가?
    (난 사이트 접근 시 즐겨찾기보다는 구글 검색 결과로 접근하는 경우가 많다.)
2. 해당 복원점으로 복원 시는 Paragon 백업 솔루션이 없을 때의 상태로 가야 하므로
    당연히 해당 복원점 내에 Paragon 제공 파일들이 포함될 리는 없지 않은가?  

그래서 이번에는 [그림5]에서 빨간 박스친 곳에서 볼 수 있는 파일 크기로 검색을 해 보았다.
현재 해당 악성코드 파일이 내 시스템에 존재하나 알아보기 위하여 .........
검색에는 속도가 빠르고 여러가지 옵션이 가능한 SearchMyFiles를 이용하였다.

글벌레의 SearchMyFiles 관련 글 보기 
2009/12/15 - [프로그램 리뷰] - SearchMyFiles v1.30

 


 일단은 시스템 복원점 내 악성코드가 실행 파일이므로 모든 실행 파일(*.exe)
[그림5]에서 볼 수 있는 파일 크기 범위 내에서 찾으라고 지정하였다.
[그림5]에서 보면 알 수 있지만, A0002519.exe는 그 이름이 파란 글씨가 아니다.
이는 NTFS 포맷내에서 압축되지 않은 파일이란 뜻이므로 등록 정보에서 보여지는 크기 그대로 찾아보면 된다.

그런데 검색 결과를 보니

 

그 크기와 수정된 시각으로 미루어 볼 때 현재 A0002519.exe와 크기가 같은 파일은 하나만 존재한다.
참고 - A0002519.exe는 원래 파일 이름이 아니다. 이건 시스템 복원이 백업을 하면서
         정하여 놓은 이름이다. 복원 시는 원래 이름으로 돌아온다.

결국 이 과정까지 글벌레는 얻은 것이 없었다.
결국 이제는 A0002519.exe를 실행시켜서 이 놈이 시스템에 주는 변화를 지켜봐야 한다.

그런데 이 역시 나의 맨 시스템(실제 시스템)에서 실행시켜서는 안 될 일이다.
[그림4]에서 보면 빨간 박스친 프로그램 실행이란 것이 보일 것이다.
이것을 통하여 샌드박스에서 실행 파일을 지정해 실행을 하는 것이 가능하다.
그런데 A0002519.exe를 직접 지정해 실행 시 이 놈이 주는 레지스트리 변동 사항을 알 수가 없다.

그래서 우선 샌드박시의  프로그램을 통하여 실행 파일이나 실행중인 프로세스가
시스템에 주는 레지스트리 변동의 관찰이 가능한
RegFromApp부터 실행을 시켰다 .

 

글벌레의 RegFromApp 관련 글 보기
2009/03/24 - [프로그램 리뷰] - RegFromApp


위 관련 글에서 보면 알 수 있지만 RegFromApp의 경우도
레지스트리에 어떤 변동을 주는지 알고 싶은 실행 파일을 위 그림에서 처럼
브라우징해서 선택해 실행하면 된다.


실행을 해보니 위 그림과 같다.
빨간 네모 친 부분을 통하여 A0002519.exeRegFromApp를 통하여 실행되고 있음이 확인되고
그 위로 보이는 TCPView의 녹색 형광펜 부분을 통해 볼 때 
A0002519.exe는 인터넷 접속은 시도하지 않는다.
즉, 다운로더가 아니다 .
그런데 하늘색 형광펜으로 표시한 Comodo Defense+ Alert이 알려주는 내용으로 보면
A0002519.exe 이놈이 내 시스템 파일의 변경을 시도하고 있음을 알 수 있다.

글벌레의 TCPView 관련 글 보기
2009/05/08 - [프로그램 리뷰] - TCPView - 해킹 여부 확인 ( 인터넷 연결 상태 확인하기 ) 


그리고 A0002519.exe의 실행이 끝났다.

RegFromApp가 보여주는 레지스트리 변동 사항은 아래와 같다고 한다.


솔직히 글벌레 귀찮아서 이 레지스트리 변동 사항까지는 안 살펴보았다.
그냥 파일 변동 사항만 살펴보았는데

[그림4]의 샌드박스 컨트롤 창 메뉴줄에서 보기>파일과 폴더를 택하면

옆 그림처럼 
샌드박스 내에서 변동되거나 생성된 파일들을
보는 것이 가능하다.

그리고 이 변경되거나 생성된 파일들은
맨 시스템의 탐색기에서는
보이지 않고
샌드박스의 탐색기에서만 보인다.

그런데 현재 보이는 것들은
모두 정상 시스템 파일 이름들이다.

그래서 글벌레
맨 시스템의 탐색기와 
샌드박스의 탐색기를 각각 켜고
옆 그림에서 보이는 파일들을
각 탐색기에서 선택한 후
그 해시 값을 비교해 보았다.


해시 값 비교는 아래 글에서 소개한 도구로 가능하다 .

2009/03/17 - [프로그램 리뷰] - HashMyFiles v1.43 - Calculate MD5/SHA1/CRC32

맨 시스템 탐색기와 샌드박스 탐색기 각각에서 위 파일들을 선택한 후
마우스 오른쪽 버튼 누른 후 뜨는 문맥 메뉴에서 HashMyFiles를 선택하면 된다 .

비교를 한 결과 이 놈은 파일 변형 바이러스였다.
여기서는 본문이 너무 길어짐을 방지키 위하여 한 개의 파일에 대하여만 보여 주지만
바로 위의 그림에서 본 샌드박스 내에서 본 파일들은 모두가 샌드박스 안에서는 변형이 되었다.

 내 실제 시스템(맨 시스템) 파일  샌드박스 내 시스템 파일

Filename          : appmgmts.dll
MD5               :
d5c9599c49b2319f85e9016649c4da21
SHA1              : b46070d32fdcd3a2ba3ea187305fabecafd6bd55
CRC32             : 53d41bf6
Full Path         : C:\WINDOWS\system32\appmgmts.dll
Modified Time     : 2004-08-04 오후 4:53:10
Created Time      : 2004-08-04 오후 4:53:10
File Size         : 153,600
File Version      :
5.1.2600.2180 (xpsp_sp2_rtm.040803-2158)
Product Version   : 5.1.2600.2180
Identical         :
Extension         : dll
  

Filename          : appmgmts.dll
MD5               :
382dec501d022e94fe7ef9174e950591
SHA1              : b07333d2e05d238ed3ac5e9e868cf277cc1a12ca
CRC32             :8fc848fb
Full Path         : C:\WINDOWS\system32\appmgmts.dll
Modified Time     : 2010-01-30 오전 5:03:07
Created Time      : 2010-01-30 오전 5:03:07
File Size         : 28,160
File Version      :
5.1.2600.3520 (xpsp_sp2_gdr.090206-1233)
Product Version   :5.1.2600.3520
Identical         :
Extension         : dll


그리고 위 표에서 보는 거처럼 내 맨 시스템은 악성코드의 영향을 받지 않은 것으로 판별이 되었다.
(샌드박스 내에서 일어난 변화가 맨 시스템에서는 일어나지 않았으므로 )

그러면 왜 감염이 되지 않았을까?
그것은 아마도 저 악성코드가 실행되었을 때 마침 내 시스템이 해당 파일들을 사용 중이었기 때문에
변형시키는데 실패한 것으로 보인다.

그러면 왜 A0002519.exe는 내 시스템에 없을까?

그건 이놈이 샌드박스 안에 생성한 또 다른 파일 , 배치 파일을 열어 보면 알 수 있는데,


빨간 박스 친 저 배치 파일을 다른 폴더로 복구해 열어 보자

그 내용이 자신이 실행된 후 자기 자신을 지우는 배치 파일이었다.

                               빨간 네모 표시한 부분은 내가 A0002519.exe를 추출한 폴더이다.
                               이것으로 판단해도 이 배치 파일은 A0002519.exe실행 후 생성된 것이다.

즉, A0002519.exe는 실행이 되면서 
내 시스템 파일들을 변형하려 했지만 실패한 상태로 자신이 생성한 배치 파일에 의하여
소멸되어졌는데, 아마도 그게 공교롭게도 Paragon 백업 프로그램을 설치할 때라
윈도우는 이게 시스템상 변동으로 인지하고 사라진 A0002519.exe를 시스템 복원점에 잡아넣어 버린 것이다.

이로서 글벌레의 시스템은 감염되지 않았다는 사실을 확인하고 
글벌레는 안도의 한숨을 내쉬었다.

참고로 샌드박스에서 맨 시스템으로 파일 복구하기는


옆 그림에서 보는 거처럼 맨 시스템으로
복구하기를 원하는 샌드박스 내 파일을
선택한 후 마우스 오른쪽 버튼을 누르면
뜨는 문맥 메뉴에서 가능하다.




註 - 1월 24일에 AVG가 A0002519.exe를 진단하지 못한 것은 그 날짜에는

       아직은 AVG 엔진 패턴에 A0002519.exe에 대한 정보가 업데이트되지 않았기 때문일 것이다.
반응형

댓글