최근 블로그를 통해 사용하는 PC에서 간헐적으로 의심스러운 창이 떴다가 사라지는 증상이 어떤 이유로 인한 문제인지 알 수 있는 방법에 대한 문의가 있었습니다.
▷ Windows 부팅 중 CMD 창이 생성되는 증상의 원인 (2019.5.31)
예전에 Windows 부팅 후 CMD 창이 짧은 시간이 생성되었다가 사라지는 동작에 대해 Microsoft OneDrive 프로그램 업데이트 이후 발생한다는 내용을 소개한 적이 있었습니다.
그렇다면 실제 이런 간헐적으로 발생하는 의심스러운 동작이나 눈에 보이지는 않지만 의심되는 동작이 발생할 경우 사용자가 원인을 찾는 방법에 대해 알아보도록 하겠습니다.
분석을 위해서는 마이크로소프트(Microsoft) 업체에서 제공하는 Sysinternals Sysmon 시스템 모니터링 및 로그 분석툴의 사용법을 통해 접근해 보도록 하겠습니다.
■ Sysmon 분석툴 설치 방법
(1) 제작사에서 제공하는 Sysmon.zip 압축 파일을 다운로드한 후 압축 해제를 하시기 바랍니다.
(2) 명령 프롬프트(cmd.exe)를 관리자 권한으로 실행한 후 압축 해제된 Sysmon 파일이 위치한 폴더로 이동하시기 바랍니다.
예를 들어 바탕 화면에 Sysmon 폴더 내에 파일이 위치하고 있다면 다음과 같은 명령어를 입력하시면 됩니다.
cd C:\User\%UserName%Desktop\Sysmon
(3) Sysmon 분석툴을 설치하기 위해서는 다음과 같은 명령어를 입력하시면 됩니다.
Usage:
Install: Sysmon.exe -i [<configfile>]
Update configuration: Sysmon.exe -c [<configfile>]
Install event manifest: Sysmon.exe -m
Print schema: Sysmon.exe -s
Uninstall: Sysmon.exe -u [force]
-c Update configuration of an installed Sysmon driver or dump the
current configuration if no other argument is provided. Optionally
take a configuration file.
-i Install service and driver. Optionally take a configuration file.
-m Install the event manifest (done on service install as well)).
-s Print configuration schema definition of the specified version.
Specify 'all' to dump all schema versions (default is latest)).
-u Uninstall service and driver. Adding force causes uninstall to proceed
even when some components are not installed.
Sysmon.exe -i :: x86 운영 체제 설치 명령어
Sysmon64.exe -i :: x64 운영 체제 설치 명령어
Sysmon 분석툴 설치 중 "System Monitor License Agreement" 창이 생성될 경우 "Agree" 버튼을 클릭하시기 바랍니다.
설치가 완료된 후에는 위와 같은 메시지를 확인할 수 있으며, 실제 설치 여부는 "C:\Windows" 폴더 내에서 2개의 파일(Sysmon.exe 또는 Sysmon64.exe, SysmonDrv.sys)이 생성되어 있는지 확인하시면 됩니다.
위와 같은 간단한 설치 절차를 거친 후 문제의 증상이 발생하는 시점까지 기다렸다가 증상이 발생하면 해당 시간대를 대략적으로 기억하시기 바랍니다.
■ Sysmon 분석툴 활용 방법
(1) 시작 버튼에 마우스 우클릭을 통해 표시된 "이벤트 뷰어"를 오픈한 후 "응용 프로그램 및 서비스 로그 - Microsoft - Sysmon" 항목을 찾아서 Operational 하위 항목을 클릭하시기 바랍니다.
Operational 항목을 선택하면 우측에 시간(날짜와 시간) 순으로 Sysmon이 기록한 로그 정보가 표시되며, 특정 로그를 선택할 경우 하단의 일반 항목에 세부 정보가 출력됩니다.
앞서 언급한 것처럼 의심 행위가 발생한 시간대를 기반으로 로그를 확인하다보면 부팅 시 잠깐 생성되었다가 사라진 명령 프롬프트 창을 생성한 정보를 확인할 수 있습니다.
사용자가 선택한 로그의 세부 정보(3번)를 해석하는 방법은 부모(Parent Process) 정보를 통해 해당 동작을 실행하도록 한 파일을 확인한 후 이를 통해 실행된 실제 프로세스(Image) 정보를 통해 명령 프롬프트(cmd.exe)가 동작하였음을 알 수 있습니다.
동작한 명령 프롬프트가 실행한 정보는 커맨드라인(CommandLine) 정보를 통해 Microsoft OneDrive 업데이트를 통해 실행된 OneDrive 설치 파일(OneDriveSetup.exe)을 삭제 처리하도록 명령어가 실행된 것을 알 수 있습니다.
위와 같이 Sysmon 분석툴을 설치하여 의심스러운 행위가 발생한 경우 해당 시간대에 무슨 파일이 동작하였으며, 실행된 파일은 누가 실행하도록 했는지 여부를 역추적할 수 있습니다.
단지 Sysmon 분석툴을 항상 시스템에 설치하고 사용하는 것보다는 필요에 따라 임시 설치하여 분석을 한 후 사용을 하지 않을 때에는 삭제를 하는 방식으로 이용하시길 권장합니다.
■ Sysmon 분석툴 삭제 방법
(1) 명령 프롬프트(cmd.exe)를 관리자 권한으로 실행하여 다음의 명령어를 순서대로 입력하시기 바랍니다.
cd ..
Sysmon.exe -u :: x86 운영 체제 삭제 명령어
Sysmon64.exe -u :: x64 운영 체제 삭제 명령어
위와 같은 명령어 실행을 하시면 "C:\Windows\SysmonDrv.sys" 파일이 자동 삭제 처리되고 등록된 서비스가 해제되어 더 이상 동작하지 않습니다. 참고로 자동 삭제되지 않는 Sysmon.exe 파일은 사용자가 직접 삭제하시기 바랍니다.
물론 Sysmon 분석툴을 통해 기록된 로그를 분석할 수 있는 지식이 필요하지만 일반적으로 사용자가 PC에서 발생하는 악성코드 감염이나 의심되는 행위가 있을 경우 상당히 많은 정보를 수집할 수 있는 방법이므로 잘 활용해 보시기 바랍니다.