공부해야되는데,,
포렌식 | 2026. 6. 13. 02:47

이벤트 로그를 알아보자

 

다시 돌아온 오늘의 과제

과제 : 이벤트 로그를 알아보자
제일 중요한데 system application security 이건 보통 공격자들이 삭제를 해
또 rdp 파워쉘 등등 진짜 많아 이건 뭐가 뭔지 알면 좋을 거 같아

 

그렇군요... 정의 먼저 짚고 가보자

 

 


이벤트 로그

https://learn.microsoft.com/ko-kr/windows/win32/wes/windows-event-log

 

Windows 이벤트 로그 - Win32 apps

Windows 이벤트 로그 API는 계측 매니페스트를 작성하는 데 사용하는 스키마를 정의합니다.

learn.microsoft.com

 

각 이벤트 로그 항목에는 이벤트가 발생한 날짜와 시간, 이벤트 ID, 이벤트의 발생 원인, 이벤트 유형(예: 오류, 경고, 정보), 그리고 이벤트에 대한 설명과 같은 필수적인 정보가 포함되어 있다.

 

 

이벤트뷰어

https://learn.microsoft.com/ko-kr/shows/inside/event-viewer

 

이벤트 뷰어

(Windows) 이벤트 뷰어 시스템의 이벤트를 표시합니다."Windows 로그" 섹션에는 Windows NT 3.1 이후 존재했던 애플리케이션, 보안 및 시스템 로그가 포함되어 있습니다.ETW(Windows용 이벤트 추적) 공급자는

learn.microsoft.com

 

Windows NT 3.1부터 내장된 프로그램으로 무슨일이 벌어졌는지 기록하는 다양한 이벤트들을 확인 할 수 있음.

 


 

 

그럼 일단 먼저 이벤트 뷰어를 열어보자

 

 

이렇게 해서 열어보니까 

 

이런식으로 나옴.

 

흠.. 그러면 일단 이것부터 얼른 알아보자

 

 

Windows 로그 

https://shellxpl0it.medium.com/windows-event-log-forensics-a-comprehensive-guide-4ab9ace7295e

https://blog.elcomsoft.com/2026/02/forensic-analysis-of-windows-10-and-11-event-logs/

 

  • 응용 프로그램 로그 - 응용프로그램에서 발생한 이벤트를 기록. 각 이벤트는 해당 제품의 개발자에 의해 정의됨
  • 보안로그 - 로그인 시도, 파일 접근, 삭제와 같은 보안 이벤트를 기록. 감사 로그 설정을 통해 다양한 보안 이벤트를 기록 가능.
  • 시스템 로그 -  시스템 구성요소가 기록하는 이벤트. 시스템 부팅 실패나 드라이버 오류 등의 문제를 기록함
  • 설정 로그 - 업데이트 및 시스템 구성 변경사항을 포함한 시스템 설정 및 설치 과정에 관한 정보가 포함되어있다.
  • 전달된 이벤트 - 다른 컴퓨터에서 전달된 이벤드들을 수집. 이를 통해 여러 시스템에서 일어나는 활동들을 중앙에서 한눈에 확인할 수 있다.

 

보안로그 (나중에 다시 정리)

 

  • 로그인 성공 (이벤트 ID 4624)
    • 로컬/원격 상관없이 로그인 성공 시 기록
    • 로그온 타입 확인 중요 (10 = RDP, 7 = 세션 재연결)
  • 로그인 실패 (이벤트 ID 4625)
    • 잘못된 계정명 또는 비밀번호로 로그인 시도
  • 로그오프 (이벤트 ID 4634)
    • 사용자 세션 로그오프 완료
  • 명시적 자격증명으로 로그온 시도 (이벤트 ID 4648)
    • 특정 계정으로 다른 시스템에 접속 시도 시 기록
  • 새로운 프로세스 생성 (이벤트 ID 4688)
    • 어떤 프로세스가 실행됐는지 확인 가능
  • 객체 권한 변경 (이벤트 ID 4670)
    • 파일, 폴더 등의 권한이 변경됨
  • 사용자 계정 생성 (이벤트 ID 4720)
    • 공격자가 백도어 계정 만들 때 흔적 남음
  • 로컬 그룹에 사용자 추가 (이벤트 ID 4732)
    • 계정에 권한 부여할 때 기록
  • 네트워크 공유 객체 접근 (이벤트 ID 5140)
    • 네트워크 공유 폴더 접근 시 기록
  • 네트워크 공유 객체 접근 상세 (이벤트 ID 5145)
    • 5140보다 더 상세한 접근 정보 기록

 

 

 

 


 

그리고 응용 프로그램 및 서비스 로그 가니까 이런것도 나옴

 

응용프로그램 및 서비스로그 -> Microsoft -> Windows

뭐가 아주 많음

 

여기서 일단 과제로 주어진 부분 핵심적으로 먼저 알아보자.

그러면 이제 파워셸부터 먼저봐보자

 

 

PowerShell

  • Admin
  • Operational
  • Anlaytic
  • Debug

가 있었고 보니까 Admin이랑 Dedug, Analytic 은 아무것도 없었음

 

 

Operatioinal

Operational에서 볼 수 있었던 이벤트 아이디는 경고 이상부터 말해보자면...

  • 4100 - 파이프라인을 실행하는 중
  • 4104 - 원격 명령 실행

이거 두개만 나왔음

그럼 이제 왜 이거를 찾아보라 했는지나 그 뜻에 대해서 좀 찾아보자.

 

https://www.orangecyberdefense.com/global/blog/research/incident-response

 

Accelerate incident response with automation and powershell

PowerShell has quite a few fundamental components, and one of them is called parameter. This is the component that makes it possible to give any script inputs at runtime, meaning we can change our paths prior without changing the main, underlying code. The

www.orangecyberdefense.com

PowerShell은 권한 상승이나 악성 스크립트 실행에 이상적인 도구입니다.
주로 침투 이후의 단계에서 사용되며, 도메인 탐지, 권한 상승 등에 악용될 수 있습니다.
또한, 메모리상에서 작동하는 기계의 기본 도구들을 활용하는 ‘파일리스 맬웨어’를 전달하는 데에도 사용됩니다.
2023년 5월, The Stack은 보고서를 통해 랜섬웨어 공격의 76%에서 PowerShell이 사용된다고 밝혔습니다.

 

 

여기서 파워셸의 활동 내역을 기록하는 방법을 세개로 알려줌

  • 모듈 로깅 ( 이벤트 ID 4103 ) 
    •  PowerShell 모듈 내에서 파이프라인이 실행될 때의 세부적인 정보를 기록하는 데 사용
    • 콘솔 명령어의 실행, 해당 명령어에 전달된 매개변수, 그리고 명령어 실행 후의 결과 등이 포함
    • 이 로그들은 어느 정도의 정보를 제공하지만, 실행된 명령들을 항상 정확하게 기록하는 것은 아니다.
    • 이 기능은 상당히 상세한 정보를 제공하지만, 보통은 문제가 있을 것으로 의심되거나 보다 자세한 분석이 필요한 경우에만 활성화된다.
    • 활성화 하는 법

 

  • 스크립트 로깅
    • PowerShell 세션 동안 실행된 전체 스크립트를 기록해 해당 사용자의 “문서” 폴더에 텍스트 파일로 저장
    • 이 텍스트 파일에는 주로 실행된 스크립트에 대한 메타데이터와 타임스탬프가 포함되어 있어 분석에 유용하다
    • 하지만 대부분의 데이터는 모듈 및 스크립트 블록의 로그에 저장된다.

 

  • 스크립트 블록 로깅  ( 이벤트 ID 4104 ) ★
    • 콘솔 명령을 통해 실행되는 모든 PowerShell 스크립트 블록의 전체 내용을 수집하고 기록
    • 여기에는 인라인으로 입력된 스크립트, 다운로드된 스크립트, 한 줄짜리 스크립트도 포함
    • 즉, 실행된 전체 스크립트와 그 스크립트를 실행한 사용자가 누구인지가 기록
    • 하지만 로그 파일의 크기에 제한이 있기 때문에, 긴 스크립트의 경우 여러 조각으로 나뉘어서 기록됨
    • 이로 인해 나중에 해당 스크립트를 다시 구성하는 데 어려움이 생길 수 있다.
    • 이 로그 덕분에 앞서 언급된 ‘Vice Society’의 w1.ps1 스크립트를 포착할 수 있어 보는것을 추천함. 이 정보는 향후 YARA, SIGMA, XDR과 같은 도구들을 활용해 위협을 분석하는 데 매우 유용하게 사용될 것

 


원격 데스크톱 (Remote Desktop Protocol : RDP)

https://frsecure.com/blog/rdp-connection-event-logs/

 

Making Sense of RDP Connection Event Logs | FRSecure

Checking RDP connection event logs can help you follow the trail an attacker leaves, but you have to know what you're looking at. Learn now.

frsecure.com

RDP를 이용한 측면 이동 활동을 조사하는 것은 네트워크 내에서 악성 활동이 발생했을 때 대응하는 일반적인 방법이다.
가장 빠르고 쉬운 방법 중 하나는 감염된 것으로 알려진 컴퓨터에서 ID 4624 또는 4625, 유형 10 로그온과 함께 RDP 연결 보안 이벤트 로그를 확인하는 것이다. 하지만 이러한 활동이 발생했는지 확인하는 확실한 방법은 아니다.

 

 

 

RDP관련 이벤트로그 종류

  • TerminalServices-LocalSessionManager : 외부에서 현재 컴퓨터로 RDP 연결을 수행한 이력
  • TerminalServices-RemoteConnectionManager : RDP연결과 관련된 세션 관리 및 라이선스(CAL)를 담당
  • TerminalServices-ClientActiveXCore : RDP클라이언트 연결을 관리하고 기록
  • TerminalServices-PnpDevices : 원격 데스크톱 서비스(RDS) 또는 RDP 세션 중 플러그 앤 플레이(PnP) 장치 리디렉션에 대한 이벤트를 관리하고 기록하는 이벤트 로그 공급자.
  • RemoteDesktopServices-RDPCoreTS : 터미널 서비스 통신을 관장하는 Windows 이벤트 뷰어 공급자
  • TerminalServices-ClientUSBDevices : RDP세션 중 클라이언트 로컬 USB 장치의 리디렉션(연결) 상태를 기록

 

중요한것들은 아래에서 추가로 정리하겠다

 

 

 

TerminalServices-LocalSessionManager

https://darkest.tistory.com/98#toc2 

 

이글루 원격 데스크톱 RDP악용 침해사고 이벤트 로그 분석

  • 세션 로그온 성공 ( 이벤트 ID  21 )
    • Window Desktop 환경은 세션단위로 구분되고 사용자에게 제공
    • 사용자는 어떤 credential 을 사용해 사용자 인증에 성공했고, 세션이 생성되었음을 의미
    • 세션 ID, 로그온 계정, 로그온 IP 확인이 가능
    • "원본 네트워크 주소"가 "LOCAL"인 경우 로컬 로그온을 의미하며, 시스템 (재)부팅/초기화 시 에도 "소스 네트워크 주소"가 "LOCAL"을 가진 이벤트가 기록

 

  • 셸 시작 알림 받음 ( 이벤트 ID  22 )
    • 이벤트 ID : 21 바로 뒤에 기록되며, 원격 데스크톱 로그인과 셸(Windows GUI Desktop 등)의 개시에 성공한 것을 의미
    • 얻을 수 있는 정보
      • 사용자 : 원격  데스크톱 로그인과 셸(Windows GUI Desktop )의 개시에 성공한 계정
      • 세션 ID : 원격 데스크톱 로그인과 셸(Windows GUI Desktop )의 개시에 성공한 세션 ID
      • 원본 네트워크 주소 : 원격 데스크톱 로그인과 셸(Windows GUI Desktop )의 개시에 성공한  IP 주소

 

  • 세션 로그오프 성공 ( 이벤트 ID  23 )
    • 이벤트 ID : 4634 (로그오프)와 쌍을 이룬다. 이벤트 ID : 23에서 획득 가능한 정보는 아래와 같다
    • 필드명 설 명
      사용자 로그오프 된 원격 데스크톱 세션
      계정
      세션 ID 로그오프 된 원격 데스크톱 세션 ID
    • 사용자가 사진과 같이 로그오프를 했을 때 기록된다.

 

  • 세션 연결 끊김 ( 이벤트 ID  24 ) / 세션 다시 연결 ( 이벤트 ID  25 )
    • 사용자가 연결을 끊거나 다시 연결한 경우 기록
    • 세션 ID, 로그온 계정, 로그온 IP 확인이 가능
    • 이 연결이 끊어지는 다양한 사유가 있음 (예시 몇개만)
      • RDP 창을 최소화 한 경우
      • 오른쪽 상단의 창닫기를 눌러 종료한 경우
      • RDP 연결(로그온) 된 상태에서 새롭게 RDP 연결한 경우
      • 네트워크 불안정 등

 

  • 의도적 연결 해제 ( 이벤트 ID  39 )
    • RDP 연결시, Win 버튼을 누르고 종료 아이콘에서 "연결끊기" 기능을 확인 가능함.
    • 해당 기능을 이용해 연결을 종료한 경우 39번 이벤트가 남는다.

 

  • 세션 연결 끊김 & 재연결 ( 이벤트 ID  40 )
    • 연결해제와 재연결 모두 관련이 있다.
이유 코드 설 명 비 고
0 추가 정보를 확인할 수 없습니다. 사용자가 비공식적으로 
(사용자가  원격 데스크톱창에서 X를 클릭)  
원격 데스크톱 세션을 종료한 경우 
(이벤트 ID : 24와 관련 있음)
5 클라이언트의 연결이 다른 연결로 대체되었습니다. 사용자가 원격 데스크톱 세션에 재연결 했을 경우
(이벤트 ID : 25와 관련 있음)
11 사용자 활동이 연결 해제를 시작했습니다. 사용자가 정상적으로 (예: 시작 > 전원 > 연결 해제 클릭) 원격
데스크톱 세션을 종료한 경우 (이벤트 ID : 39와 관련 있음)
12 로그오프를 시작했습니다. 세션을 로그오프하여 연결이 끊어졌음

 

 

 

TerminalServices- RemoteConnectionManager

  • 유저 인증 성공 ( 이벤트 ID  1149 )
    • 컴퓨터에 성공적으로 RDP 로그인이 이뤄졌을때 기록됨
    • 모든 최신 운영체제에서 해당 이벤트와 관련된 사용자 이름의 인증이 성공적으로 이뤄진 경우에만 값을 기록.
    • 연결을 시도한 장치의 IP 주소를 기록함.
    • 만약 인증에 성공했지만, 다른 제한 사항들로 인해 해당 컴퓨터에 RDP로 접속할 권한이 없다면, 이벤트 1149는 발생하지 않음

 

 

RemoteDesktopServices-RDPCoreTS/Operational 

  • TCP/UDP 연결 수립 기록 ( 이벤트 ID 98 )
    • RDP 세션의 TCP 연결이 성공적으로 수립됨
  • 클라이언트 연결 수락 ( 이벤트 ID 131 )
    • 서버가 클라이언트 IP에서 온 새로운 연결을 수락함
    • 소스 IP 주소 + 사용된 포트 번호 확인 가능
    • 98 하나당 131이 여러 개 기록됨 (TCP, UDP 각각)

 

 

TerminalServices-ClientActiveXCore 

  • RDP 연결 시도 ( 이벤트 ID 1024 )
    • RDP 클라이언트가 원격 컴퓨터에 연결 시도
    • 대상 컴퓨터 이름 확인 가능
    • 4648 이벤트 발생 몇 초 전에 기록됨
  • 연결 성립 후 대상 IP 기록 (이벤트 ID 1102)
    • 연결된 원격 컴퓨터의 IP 주소 확인 가능
    • 1024 이벤트 발생 약 10초 후에 기록됨
    • Security 로그 삭제돼도 여기서 IP 확인 가능
공부해야되는데,,

공부해야되는데,,

Writer