Windows 이벤트 로그 (EVTX) 내보내는 방법

Windows 이벤트 로그 (EVTX) 내보내는 방법

SOC Prime Team
SOC Prime Team linkedin icon 팔로우

간단히 말해서: 이벤트 뷰어를 열고 필요한 로그(예: Windows 로그 → 보안)를 마우스 오른쪽 버튼으로 클릭하고 모든 이벤트 다른 이름으로 저장…을 선택하여 .evtx 형식을 유지하십시오. 관리 명령 프롬프트에서 같은 것은 한 줄: wevtutil epl Security C:logssecurity.evtx. 탐색기에서 C:WindowsSystem32winevtLogs에서 파일을 복사하지 마십시오. 이벤트 로그 서비스가 이를 열어두므로 일반적으로 오류가 발생하거나 사용할 수 없는 데이터를 얻게 됩니다.

EVTX는 텍스트 내보내기와 비교하여 추가 한 분을 사용할 가치가 있습니다. 이는 네이티브 형식이므로 모든 필드, 레코드 ID 및 정확한 UTC 타임스탬프가 유지됩니다. SIEM은 변환된 텍스트를 저장하므로 이를 돌려주지 못합니다. 프라임 코어에는 Windows 이벤트 로그에 대한 11,632개의 시그마 규칙이 있으며, 이는 643개의 MITRE ATT&CK 기술에 매핑되어 있습니다. 이는 비밀번호 추측(T1110) 및 악성 서비스(T1543.003)에서 공격자가 로그를 삭제하는 것(T1070.001)에 이르기까지 다양합니다. 아래는 적절한 로그를 내보내고 정리하고 LogTotal에서 무료로 조사하는 방법입니다.

1분 평균 조사 시간, 무료

요약

경로 다음 상황에서 사용하십시오 필요한 사항
이벤트 뷰어 → 모든 이벤트 다른 이름으로 저장 한 대의 컴퓨터, 한두 개의 로그, 데스크톱 세션이 있는 경우 관리자 권한 또는 대부분의 로그에 대한 이벤트 로그 리더 권한
wevtutil epl 필터링된 내보내기, 스크립트 또는 GUI가 없는 서버가 필요한 경우 관리 권한이 있는 프롬프트
/r: 또는 PowerShell 루프가 있는 wevtutil 여러 로그 또는 원격 컴퓨터 대상에서의 관리자 권한, 그리고 방화벽을 통한 원격 이벤트 로그 접근

시작하기 전에

세 가지가 내보내기에 원하는 내용이 포함될지 여부를 결정합니다.

권리. 관리자는 모든 로그를 내보낼 수 있습니다. 로컬 이벤트 로그 리더 그룹의 구성원은 전체 관리 권한 없이 대부분의 로그를 읽을 수 있습니다. 보안 로그의 경우, 관리 권한이 있는 프롬프트가 신뢰할 수 있는 선택입니다. 자세한 내용은 [Windows 이벤트 로그 권한 가이드]를 참조하십시오.

감사 정책. Windows는 지시한 것만 기록합니다. 프로세스 생성(이벤트 4688)은 기본적으로 감사되지 않습니다. 감사되더라도 별도의 정책이 활성화된 경우에만 명령줄이 기록됩니다. 한 번도 작성되지 않은 이벤트를 찾기 전에 확인하십시오:

auditpol /get /category:*

로그 크기 및 덮어쓰기. 모든 로그에는 최대 크기가 있습니다. 기본적으로 Windows는 로그가 가득 차면 가장 오래된 이벤트를 덮어쓰며, 바쁜 서버나 도메인 컨트롤러에서는 몇 시간의 기록만 의미할 수 있습니다. 작업 중인 내용을 확인하십시오:

wevtutil gl Security

최대 크기와 보존을 확인하세요. 공격이 로그에서 가장 오래된 이벤트보다 이전에 발생했다면, 그곳에는 없을 것입니다. 대신에 SIEM이나 전달된 이벤트를 확인하십시오.

그리고 항상 상기시키는 것: 이벤트 로그에는 사용자 이름, 호스트 이름 및 IP가 가득합니다. LogTotal은 업로드를 정리하지만, 데이터 관리 정책은 여전히 적용됩니다.

어떤 로그를 내보내야 하는가

“Windows 로그”는 최신 시스템에서 몇백 개의 채널입니다. 보안 작업을 위해, 일반적으로 이야기하는 것은 다음과 같습니다:

로그 (채널 이름) 다음 정보 제공 참고 사항
보안 로그온 (4624, 4625), 계정 변경 (4720, 4728), 로그 지움 (1102), 프로세스 생성 (4688) 4688은 감사가 켜져 있을 때만
시스템 새로운 서비스 (7045), 서비스 변경 (7036), 시스템 로그 지움 (104)
Microsoft-Windows-Sysmon/Operational 해시 및 명령줄이 포함된 프로세스 생성, 네트워크 연결 등 Sysmon이 설치된 경우에만
Microsoft-Windows-PowerShell/Operational 스크립트 블록 로깅 (4104), 실행된 실제 코드 스크립트 블록 로깅이 활성화된 경우에만
Microsoft-Windows-Windows Defender/Operational 탐지 (1116) 및 수행한 조치 (1117)
Microsoft-Windows-TaskScheduler/Operational 새로운 예약 작업 (106), 지속성 유지에 주로 사용됨
Microsoft-Windows-TerminalServices-LocalSessionManager/Operational RDP 세션 로그인, 연결 끊기, 재연결 (21, 24, 25)

기계에 설치된 것이 무엇인지 확신하지 못하십니까? wevtutil el은 모든 채널을 나열합니다. Pipe it through findstr /i sysmon (또는 원하는 것을) 하여 특정한 것을 확인하십시오.

옵션 1: 이벤트 뷰어

한 대의 컴퓨터와 몇 개의 로그에 가장 적합합니다.

  1. Win+R을 누르고 eventvwr.msc를 입력하여 관리자 권한으로 실행하십시오.
  2. 로그를 찾습니다. 고전적인 로그들은 Windows 로그아래에 있습니다. 나머지 모든 것은 애플리케이션 및 서비스 로그 → Microsoft → Windows아래에 있습니다. 예를 들어, Sysmon은 …WindowsSysmonOperational에 있습니다.
  3. 로그를 마우스 오른쪽 버튼으로 클릭하고 모든 이벤트 다른 이름으로 저장…
  4. 유지 이벤트 파일(*.evtx) 을 파일 형식으로 선택하고 그에 대한 설명이 포함된 파일명을 부여하십시오, 예를 들어 dc-01_security_2026-10-20.evtx와 같이.
  5. 그 후 Windows는 표시 정보에 대해 질문합니다. 이 질문은 해당 파일을 다른 기기의 이벤트 뷰어에서 열 때 메시지 텍스트를 포함하는 LocaleMetaData 폴더가 파일 옆에 저장되는지 여부를 결정합니다. LogTotal 업로드의 경우 .evtx 파일이 중요합니다.

로그의 일부만 필요합니까? 현재 로그 필터… 를 먼저 사용하세요(이벤트 ID, 시간 범위), 그런 다음 필터링된 로그 파일을 다른 이름으로 저장을 선택합니다. XML 그 필터 대화 상자의 탭은 생성된 정확한 XPath 쿼리를 보여줍니다. 그것을 복사하세요; 곧 wevtutil에서 필요할 것입니다.

옵션 2: 명령줄에서 wevtutil 사용

wevtutil은 만나볼 수 있는 모든 Windows 버전에 포함되어 있습니다. 이 프로그램은 GUI 없이 작동하며 내보내기 중에 필터링할 수 있습니다. 이를 관리 프롬프트에서 실행합니다.

전체 로그:

mkdir C:logs
wevtutil epl Security C:logsdc-01_security.evtx

지난 24시간(숫자는 밀리세컨드 단위):

wevtutil epl Security C:logsdc-01_security_24h.evtx /q:”*[System[TimeCreated[timediff(@SystemTime) <= 86400000]]]"

정확한 시간대, UTC에서:

wevtutil epl Security C:logsdc-01_security_1019.evtx /q:”*[System[TimeCreated[@SystemTime>=’2026-10-19T00:00:00.000Z’ and @SystemTime<'2026-10-20T00:00:00.000Z']]]"

오직 성공 및 실패한 로그온만:

wevtutil epl Security C:logsdc-01_logons.evtx /q:”*[System[(EventID=4624 or EventID=4625)]]”

공백이 있는 채널 이름은 따옴표가 필요합니다:

wevtutil epl “Microsoft-Windows-Windows Defender/Operational” C:logsdefender.evtx

대상 파일이 이미 존재하면, wevtutil은 /ow:true를 추가하지 않으면 덮어쓰기를 거부합니다. XPath를 수작업으로 작성하는 것은 빨리 지루해집니다. 이벤트 뷰어에서 필터를 구축하고 위에서 설명한 대로 XML 탭에서 쿼리를 복사하세요.

도메인 컨트롤러에서 필터를 사용하십시오. 바쁜 DC에서 필터링되지 않은 보안 내보내기는 기가바이트가 될 수 있으며, 대부분을 업로드하는 것은 아무런 의미가 없습니다.

옵션 3: 여러 로그, 또는 원격 컴퓨터

분류를 위해, 보통 매 호스트에서 동일한 몇 가지 로그를 원합니다. 이 PowerShell 스니펫은 존재하지 않는 채널(Sysmon 등)이 있다면 건너뛰고 한 기기당 한 폴더에 내보냅니다:

$out = “C:logs$env:COMPUTERNAME”
New-Item -ItemType Directory -Force -Path $out | Out-Null

$logs = ‘Security’, ‘System’,
        ‘Microsoft-Windows-Sysmon/Operational’,
        ‘Microsoft-Windows-PowerShell/Operational’,
        ‘Microsoft-Windows-Windows Defender/Operational’,
        ‘Microsoft-Windows-TaskScheduler/Operational’

foreach ($l in $logs) {
    $file = Join-Path $out (($l -replace ‘[\/ ]’, ‘_’) + ‘.evtx’)
    wevtutil epl $l $file /ow:true 2>$null
    if ($LASTEXITCODE -ne 0) { Write-Warning “Skipped: $l” }
}

원격 컴퓨터. wevtutil은 /r:<computer>를 받아들이지만, 사람들이 고생하며 알아내는 것이 하나 있습니다: 내보내기 파일은 원격 컴퓨터의 디스크에 쓰이며, 당신의 디스크에는 작성되지 않습니다. 나중에 이를 가져올 계획을 세우십시오:

wevtutil epl Security C:logssrv-01_security.evtx /r:srv-01
copy \srv-01C$logssrv-01_security.evtx .

앞서 목표에 대한 관리자 권한과 원격 이벤트 로그 관리 방화벽 규칙이 거기에 활성화되어야 합니다. 이러한 규칙이 꺼져 있고 건드리고 싶지 않다면, PowerShell 원격 처리는 동일한 작업을 수행합니다: 스니펫을 Invoke-Command를 통해 실행한 다음, Copy-Item -FromSession으로 파일을 가져옵니다.

LogTotal에 업로드하고 검토

LogTotal은 EVTX를 기본적으로 읽기 때문에 변환할 것이 없습니다. 이는 로그 파일에 대한 감지 로직을 설정 없이 실행할 수 있는 SOC Prime의 무료 서비스입니다.

  1. 업로드. Open logtotal.com 에 접속하여 .evtx 파일을 드롭하세요. [증거: 업로드 화면, 크기 제한, 여러 파일을 한꺼번에 넣을 수 있는지 여부]
  2. 검토. [PROOF: what the results screen shows and how findings map to rules and ATT&CK techniques]

실제 데이터에서 이렇게 보입니다. 우리는 [증거: 예제 소스, 예: 실패한 공격 체인 후 보여줬던 일회용 Windows VM의 Security.evtx: 실패한 로그온, 새로운 지역 관리자, 새로운 서비스, 애플리케이션 로그 지움]. 이 파일은 [증거: N 이벤트, X MB]였습니다. LogTotal은 [증거: 실제 발견 사항, 매칭된 규칙, ATT&CK 기술]을 표시했습니다.

먼저 시도해 보고 싶습니까? [증거: 예제 파일 링크]는 우리가 위에서 사용한 동일한 파일입니다.

문제가 발생할 때

증상 가능한 원인 Fix
접근이 거부되었습니다 프롬프트가 관리 권한으로 실행되지 않았거나 계정에 해당 로그에 대한 권한이 부족합니다 관리자로 실행하기
지정한 채널을 찾을 수 없습니다 채널 이름의 오타, 또는 구성 요소가 설치되어 있지 않음(Sysmon이 보통 해당) wevtutil el | findstr /i <name>로 확인하기
wevtutil이 파일이 존재한다고 불평합니다 기본적으로 덮어쓰지 않음 /ow:true 추가하기, 또는 새 파일 이름 선택하기
지정한 쿼리가 유효하지 않습니다 XPath 인용 또는 구문 이벤트 뷰어에서 필터를 생성하고 XML 탭에서 복사하기
winevtLogs에서 복사할 때 “다른 프로세스에 의해 사용 중” 오류 발생 이벤트 로그 서비스가 라이브 파일을 유지 이벤트 뷰어 또는 wevtutil로 내보내기
4625 또는 4688 이벤트가 전혀 없음 그 카테고리가 감사되지 않습니다 auditpol /get /category:*로 확인하세요; 이는 과거 이벤트가 아닌 미래 이벤트를 수리합니다
로그가 불과 몇 시간 전에만 거꾸로 가는 경우 로그가 가득 찼고 덮어쓰는 중 wevtutil gl Security로 확인하십시오; 아카이빙이 활성화된 경우 Archive-Security-*.evtx 파일을 찾아보세요
/r: 사용 시 “RPC 서버를 사용할 수 없습니다” 원격 이벤트 로그 관리 방화벽 규칙이 꺼져 있습니다 대상에서 규칙을 활성화하거나, PowerShell 원격 처리를 사용하십시오
원격 내보내기가 “성공”했지만 파일이 없습니다 /r:은 원격 머신에 파일을 작성합니다 대상의 디스크에서 확인하십시오, 예: \srv-01C$logs

FAQ

디스크에서 EVTX 파일은 어디에 저장됩니까?

C:WindowsSystem32winevtLogs에, 각 채널당 하나의 파일이 있습니다. 슬래시가 있는 채널 이름은 파일 이름에 인코딩되어 있기 때문에, Microsoft-Windows-Sysmon/Operational은 Microsoft-Windows-Sysmon%4Operational.evtx가 됩니다. 폴더를 읽을 수는 있지만, 라이브 파일을 복사하는 대신 이벤트 뷰어 또는 wevtutil를 통해 내보내십시오.

부팅할 수 없는 기기에서 로그를 가져올 수 있나요?

네, 그리고 이것이 복사가 작동하는 유일한 경우입니다. 다른 시스템에 디스크를 마운트하거나 외부 미디어에서 부팅합니다. Windows가 실행 중이지 않으면, 파일을 여는 것이 없고 winevtLogs에서 파일을 바로 복사할 수 있습니다.

EVTX, XML 또는 텍스트로 저장해야 하나요?

EVTX. 이벤트 뷰어는 다른 형식을 제공하지만 구조를 삭제하거나 파일을 과대화합니다. EVTX는 모든 필드를 유지하며 LogTotal이 기본적으로 읽습니다.

내 로그는 얼마나 오래 가나요?

최대 로그 크기가 허용하는 만큼, 하루도 오래 가지 않습니다. wevtutil gl 은 크기 및 보존 설정을 표시합니다. 이벤트 뷰어에서 날짜로 정렬하고 가장 오래된 이벤트를 보십시오. 그게 유용할 만큼 최근할 수 없다면, 다음 번을 위해 크기를 늘리거나, 더 좋게는 SIEM에 이벤트를 전달하십시오.

이벤트 로그를 온라인 도구에 업로드하는 것이 안전한가요?

LogTotal은 분석 전 업로드를 정리하며 파일을 보존하지 않습니다.

SOC Prime의 Detection as Code 플랫폼에 가입하세요 귀사의 비즈니스에 가장 중요한 위협에 대한 가시성을 개선하세요. 시작을 돕고 즉각적인 가치를 제공하기 위해 지금 SOC Prime 전문가와의 회의를 예약하세요.