"알려진 파일 형식의 파일 확장명 숨기기" 는 항상 꺼 둡시다.
| 분류: 컴퓨터 사용 경험 | 최초 작성: 2009-01-11 04:50:27 |
1. 상황오늘 인쇄소에 갔다가 또 악성코드 하나를 낚아왔습니다. (파일 인쇄하러 한번 갔다오면 꼭 한두 개씩은 낚여옵니다.) 그런데 오늘 제 손에 걸린 녀석은 아주 귀여운 짓을 하더군요.
1) autorun.inf 파일을 생성한다.
2) (이동식) 디스크 내 모든 폴더를 숨김+시스템 속성을 부여한다.
3) 폴더의 이름.exe 의 이름으로 자신을 대량 생성한다.
그 결과가 이렇습니다. (바탕화면으로 복사한 후 스샷을 찍었습니다.)
1. 휴지통 하나와, DCIM 이라는 폴더가 보입니다.
2. 그러나, "알려진 파일 형식의 파일 확장명 숨기기" 옵션 (탐색기 → 도구 → 폴더 옵션) 을 끈 후에...
3. 다시 바탕화면을 보면 실상은 이렇습니다. 폴더 아이콘으로 위장한 악성 코드이지요.
오늘의 교훈 : "알려진 파일 형식의 파일 확장명 숨기기" 옵션은 항상 꺼 두도록 합시다.(사실 이건 새로운 건 아닙니다. 예전부터 이 옵션을 이용하여 속이려는 떡밥은 많았습니다. 그래서 해외 윈도우 사이트 등에서는 윈도우를 깔고 나서 제일 먼저 해야 할 일로 탐색기의 이 옵션을 끄는 것을 들기도 합니다.)
2. 숨김 속성의 파일/폴더를 탐색기에서 볼 수 있도록 설정하기이 악성코드에 감염된 경우, (1) USB 드라이브의 폴더들을 모두 숨김/시스템 속성을 주어 보이지 않게 하고, (2) 위에서 본 바와 같이 폴더와 같은 이름과 아이콘 모양의 악성 코드 본체 파일들을 대신 보이게 합니다.
즉, 각각의 악성 코드 본체 파일들이 원래 폴더로의 연결까지 담당하게 되는 결과, 이 악성코드들을 치료하면 얼핏 보아서는 원래의 폴더들이 모두 지워진 것과 같은 모습을 보게 됩니다.
그러나 사실 해당 폴더들은 숨어 있는 것일 뿐 없어진 것이 아니므로, 숨김 파일/디렉토리를 볼 수 있도록 윈도우 설정을 변경하면 탐색기에서 이 폴더들을 볼 수 있습니다. 설정 방법 및 이 방법이 제대로 동작하지 않는 경우에 대한 해결법은 다음의 글을 참조하시기 바랍니다.
[[LINK::361]]
3. 숨겨진 파일 또는 폴더의 숨김 속성을 해제할 수 없는 경우의 조치만약 이 악성코드에 감염되어 폴더의 속성이 변경된 경우, (감염된 컴퓨터에 USB를 꽂기만 해도 위의 상황이 됩니다.) 일단 바로 위에 소개한 방법을 통해서 탐색기를 통해 해당 폴더들을 볼 수 있습니다. 그러나 이 폴더들의 숨김 속성을 탐색기를 통해 해제하려고 하면 아래 그림처럼 숨김 속성의 해제가 불가능한 상황을 보게 됩니다.
이런 현상이 발생하는 이유는, 이 악성코드가 폴더에 숨김 속성과 함께 시스템 속성을 함께 걸어놓았기 때문입니다.
시스템 속성은 윈도우즈의 매우 중요한 파일들에 걸려 있는 속성으로서, 이 속성이 걸려 있는 파일은 일체의 수정이 불가능할 뿐만 아니라 항상 숨김 속성이 함께 붙어서 일반적으로는 보이지 않도록 보호를 하게 됩니다. (이 파일들이 탐색기에서 보이도록 하는 법은 바로 위 링크된 문서에서 설명했습니다.)
이 경우, 숨김 속성을 해제하기 위해서는 시스템 속성을 함께 해제하여야 하지만, 탐색기에서는 시스템 속성의 해제가 불가능하므로, 탐색기를 이용해서는 이 폴더들의 숨김 속성도 해제할 수 없습니다.
따라서, 콘솔 모드에서 attrib -h -s 파일명 명령을 사용하여 시스템 속성과 숨김 속성을 동시에 해제하여 주어야만 폴더의 숨김 속성이 해제됩니다. (물론 그 전에 악성코드 먼저 치료를 해야겠지요.)
1. [시작] - [실행] - cmd 를 입력하여 콘솔 모드를 엽니다.
2. 콘솔 명령어를 입력하여 해당 드라이브나 폴더로 이동합니다.
* 콘솔 모드에서 드라이브 이동은 드라이브 문자: 를 입력하면 됩니다.
(예: F 드라이브로 이동하고 싶다면 F: 라고 입력합니다.)
3. 다음을 입력합니다.
attrib -h -s -r 파일/폴더 이름
* 예: DCIM 이라는 폴더의 숨김/시스템 속성을 해제하고 싶다면 다음과 같이 합니다.
attrib -h -s -r DCIM
4. "알려진 파일 형식의 파일 확장명 숨기기"를 끌 수 없는 경우(아마도 특히) 위 악성코드에 감염되었던 시스템의 경우 불완전 치료로 인해 이런 현상이 발생할 수 있습니다. 악성코드 본체는 치료(삭제)하였는데 레지스트리 값을 수정하지 않은 경우가 그렇습니다.
일단 이 값의 레지스트리 위치는 다음과 같습니다 :
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced
의 HideFileExt 값
이 값을 16진수 0 으로 바꾸어 주면 일단 해결은 할 수 있습니다. 그러나, 악성코드가 다음의 값까지 변경을 해 놓기 때문에, 탐색기상에서는 아무리 변경을 해도 변경할 수가 없을 것입니다.
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced\
Folder\HideFileExt
의 UncheckedValue 값
* 정상은 16진수 0. 그러나 16진수 1로 변경되어 있을 수 있다.
따라서, 위의 값을 확인하여, UncheckedValue 값이 16진수 1로 되어 있다면 16진수 0으로 변경해줍니다.
* 원한다면 DefaultValue 값도 변경하면 좋지만, 별 의미는 없을 듯 합니다.
참고로 이 귀여운 짓을 한 녀석은, Win32.SelfCloner.worm.481195 라는 녀석입니다. 제작국은 인도네시아로 추정하고 있습니다.
감염시 (일반적인 autorun.inf 이용하는 녀석들처럼) 숨김 파일을 볼 수 없도록 막으며, 또 바로 위에 적은, 알려진 파일 형식의 파일 확장명 숨기기 옵션을 켭니다. 그리고 특정한 포트에 백도어(뒷문-_-;;)를 오픈하며, 사용자의 모든 키 입력을 저장하여 특정한 원격 서버로 전송합니다. :-) (즉 전형적인 키 로거입니다. 아하하.)