본문 바로가기
Orange The Client/PC프로그램

시스템 시간 변경을 한 프로그램 탐지 (단품 유틸리티 OrangeTimeChanged.exe 제공)

by Orange labs 2024. 8. 22.

개요

 

최근 30일간 이 PC의 시스템 시간을 변경한 프로그램을 찾아주고, 이후 실시간으로 시간을 변경하는 프로그램을 탐지할 수 있습니다.

 

반드시 관리자 권한으로 실행해야 합니다.

실수를 방지하기 위해 실행시 자동으로 권리자 권한으로 권한을 올리도록 수정된 1.0.0.2로 변경했습니다.

 

 

OrangeTimeChanged.exe
0.19MB

 

 

 

오렌지에 탐지 기능을 추가하기 전 단독 유틸리티로 먼저 만들었으며 첨부된 파일을 다운로드 받아 사용하시면 됩니다. 전문 개발사에 의해 만들어지고 안전하게 코드 사인 된 프로그램이니 안심하고 사용하셔도 됩니다. 

 

cmd 로 결과를 출력하며 실행하면 다음과 같이 설명이 표시됩니다. 

 

여기서 엔터를 치면

 

최근 30일간 시간을 변경한 프로그램을 순번을 붙여 표시합니다. 

각 항목의 설명은 아래와 같습니다. 

NO 수집된 순번
EventTime 시스템 시간을 변경한 시점
ProcessID 시스템 시간을 변경한 프로세스ID
UserName 시스템 시간을 변경한 프로세스의 실행 유저
TimeChanged 변경 전 시각 => 변경 후 시각
JsonPath 변경한 프로세스명 별로 자세한 변경 내역을 실행한 디렉터리에 JSON 파일로 남깁니다. 
프로세스명이 같다면 Overwrite 하면서 생성하므로 최종적으로 각 프로세스명 별로 최종 변경 내역이 프로세스명.json으로 만들어집니다. 
ProcessName 시스템 시간을 변경한 프로세스 경로
ProcessTree 시스템 시간을 변경한 프로세스가 아직 수행 중인 경우 이 프로세스의 부모 프로세스들
이미 종료된 프로세스라 부모 프로세스를 구할 수 없는 경우 표시되지 않습니다. 

 

그대로 두면 계속 해서 이후 시스템 시간을 변경하는 프로세스를 실시간 탐지합니다. 

 

테스트

cmd의 date, time 명령을 통해 변경

 

이렇게 수행하면 아래와 같이 실시간으로 탐지된 내용이 출력 됩니다. 

 

OrangeTimeChanged.exe를 종료시키리면 CMD 화면에서 Ctrl C를 누르면 됩니다. 

 

주의사항

OrangeTimeChanged.exe는 반드시 Ctrl C로 종료시켜주세요. 종료 과정이 정상적으로 수행되지 않으면 이후 재실행 시 실시간 모니터링이 되지 않을 수 있습니다. 

파일명 OrangeTimeChanged.exe를 바꾸지 말아주세요. 파일명이 다른 이름으로 변경되면 동작하지 않습니다. 

 

라이선스

완벽하게 무료입니다. 

 

구현원리

윈도우 EVENT를 찾고 모니터링 합니다. 윈도우 이벤트 뷰어에서 시스템 시간 변경 이벤트를 보는 쿼리문은 아래와 같습니다. 

<QueryList>
   <Query Id="1" Path="Security">
    <Select Path="Security">*[System[Provider[@Name='Microsoft-Windows-Security-Auditing'] and (EventID=4616) and TimeCreated[timediff(@SystemTime) &lt;= 2592000000]]]</Select>
  </Query>  
</QueryList>

 

소스코드

Visual C++ 2022로 만들었으며 자체적으로 개발한 라이브러리 코드가 있어 공개해드릴 수 없습니다.

PC 사용을 불편하게 만드는 증상이 있다면 알려주세요.

해당 증상을 탐지하는 유틸리티를 만들어 드리겠습니다. 

'Orange The Client > PC프로그램' 카테고리의 다른 글

Orange The Client 개인 버전(무료)  (0) 2024.10.03