383. 방어 회피·흔적 삭제 — 인코딩·암호화 기반 우회 탐지

changseop lee·2026년 10월 8일

시스템 보안 · 취약점

목록 보기
383/450

시스템 보안 · 취약점 › H. 방어 회피 · 흔적 삭제 징후 · 33/50편 (전체 383/450)
학습 단계: 위장·난독화·흔적 분석
실습 표기: 이 글의 명령어·출력·로그는 로컬 VMware 테스트 VM(Rocky Linux 9 / Ubuntu 22.04) 기준의 「실습 예시」이며, IP·계정·호스트명은 가상의 값입니다.

선행 학습

1. 개념

공격자는 페이로드·명령·통신을 base64·hex·XOR·암호화로 감춰 평문 시그니처 탐지를 회피합니다. 난독화가 "형태 변형"이라면 인코딩·암호화는 "내용 은폐"에 가깝습니다. 디코드/복호화 과정과 고엔트로피가 신호입니다.

인코딩·암호화 기반 우회
 base64/hex: echo <base64>|base64 -d|bash
 압축+인코딩: gzip|base64 (크기·시그니처 회피)
 XOR·단순 암호화: 바이트 치환
 암호화 통신: TLS/사용자 정의 암호로 C2 은폐
 특징: 고엔트로피 문자열, 디코드→실행 패턴

탐지: 디코드 명령, 고엔트로피, 암호화 통신 메타데이터

핵심은 "내용을 숨겨도 디코드·복호화는 해야 실행된다"는 점입니다. 디코드 명령·고엔트로피 문자열·복호 후 실행이 탐지 포인트입니다.

2. 왜 중요한가

  • 인코딩·암호화는 페이로드·통신 내용을 감춰 평문 시그니처를 무력화합니다.
  • 숨겨도 실행하려면 디코드·복호화가 필요하므로 그 과정이 탐지 지점입니다.
  • 고엔트로피 문자열·암호화 통신 메타데이터는 내용 없이도 이상을 드러냅니다.

3. 핵심 명령어 / 설정

기법방식탐지
base64/hex디코드 후 실행디코드 명령
압축+인코딩gzip|base64다단 파이프
XOR 암호화바이트 치환고엔트로피
암호화 통신TLS/커스텀메타데이터
평문인코딩 없음정상

4. 실습 (실습 예시)

# 인코딩·암호화 기반 우회 탐지 (분석 방법)
# 디코드 후 실행 파이프
sudo ausearch -k proc_exec -i --start recent 2>/dev/null | grep -E '(base64|xxd|openssl enc|gzip).*\|.*(sh|bash|python)' | tail
# 고엔트로피 인자(긴 base64/hex 문자열)
sudo ausearch -k proc_exec -i --start recent 2>/dev/null | grep -oE '[A-Za-z0-9+/]{80,}={0,2}' | head
# 사용자 정의 암호화 통신(비표준 포트 TLS 핸드셰이크 — 흐름 메타데이터)
echo "Zeek/NetFlow에서 비표준 포트 암호화 흐름 교차 확인"

5. 정상 상태

$ (디코드 실행) (없음 — 평문 명령)
$ (고엔트로피 인자) (없음 또는 정상 토큰)

명령이 평문으로 실행되고, 긴 인코딩 문자열을 디코드해 실행하는 파이프·비정상 고엔트로피 인자가 없는 상태가 정상입니다.

6. 이상 상태

$ (디코드 실행)
proctitle="echo H4sIA...|base64 -d|gzip -d|bash" (압축+인코딩)
proctitle="openssl enc -d -aes-256-cbc -in x|sh" (복호화 실행)
$ (고엔트로피 인자)
긴 base64(120자+) → 디코드 시 다운로더 스크립트
  • base64+gzip 디코드 후 bash → 다단 인코딩 우회
  • openssl 복호화 후 셸 실행 → 암호화 페이로드
  • 디코드/복호 후 실행 + 고엔트로피 → 인코딩·암호화 우회 → 정탐

7. 로그 분석 (분석 방법)

인코딩·암호화 기반 우회 분석입니다(가상의 예시).

[공격자] 페이로드를 base64+gzip+암호화로 은폐
   echo <고엔트로피>|base64 -d|gzip -d|bash
   → 평문 시그니처("wget" 등) 전혀 안 보임
      ↕ (탐지)
[분석가]
 디코드 파이프(base64 -d|...|bash) 자체 탐지
 인자 엔트로피 높음(정상 명령과 다름)
 디코드 복원 → 실제 페이로드 확인
   ↓
= 내용은 숨겨도 디코드·복호 과정·엔트로피는 남음 → 정탐
관점은폐탐지
내용인코딩/암호화디코드 과정
문자열고엔트로피엔트로피 측정
통신암호화흐름 메타

디코드 과정 + 고엔트로피가 인코딩·암호화 우회 탐지의 핵심입니다.

8. SOC 관제 포인트

  • 인코딩·암호화 우회(T1027·T1573)는 페이로드·통신 내용을 감춰 평문 시그니처를 회피합니다.
  • 숨겨도 실행하려면 디코드·복호화가 필요하므로 그 과정과 고엔트로피가 신호입니다.
  • 디코드 파이프·고엔트로피 인자·암호화 통신 메타데이터를 교차로 탐지합니다.

9. 탐지 규칙

<!-- 실습 예시 룰: 적용 전 wazuh-logtest 및 테스트 환경 검증 필요 -->
<group name="local,syssec_h,defense_evasion,">
  <rule id="107320" level="12">
    <if_sid>107000</if_sid>
    <field name="audit.proctitle" type="pcre2">(base64\s+-d|openssl\s+enc\s+-d|xxd\s+-r|gzip\s+-d).{0,40}\|.{0,20}(sh|bash|python|perl)</field>
    <description>인코딩·암호화 디코드 후 실행(내용 은폐 우회)</description>
    <mitre><id>T1027</id><id>T1140</id><id>T1573</id></mitre>
  </rule>
</group>

디코드·복호 후 실행 파이프를 탐지하고, 고엔트로피 인자·암호화 통신 메타데이터로 보완합니다. 정상 배포·암호화 도구 사용은 기준선으로 구분합니다.

10. 대응 방법

  1. 초기 확인 — 디코드·복호화 후 실행 파이프와 고엔트로피 인자를 확인합니다.
  2. 범위 확인 — 인코딩 단계·복원된 실제 페이로드·통신 암호화를 확인합니다.
  3. 증거 확보 — 인코딩 명령·디코드 결과·흐름 메타데이터를 보존합니다.
  4. 차단/조치 — 인코딩·암호화 우회 정탐이면 복원 분석·페이로드 조사·통신 추적을 진행합니다.
  5. 재발 방지 — 인코딩·암호화 기반 우회 탐지를 운영합니다.

11. 핵심 정리

기법방식
base64/hex디코드 후 실행
압축+인코딩gzip|base64
XOR 암호화바이트 치환
암호화 통신TLS/커스텀
면접 포인트"내용은 숨겨도 디코드·복호는 필요 — 그 과정과 엔트로피가 탐지 지점"

12. 다음 편 예고

다음 편 384. 방어 회피·흔적 삭제 — LOLBins(정상 도구 악용) 탐지 에서는 정상 도구를 악용하는 LOLBins(정상 도구 악용) 탐지를 다룹니다.


이전 편: 382. 방어 회피·흔적 삭제 — 명령어 난독화(obfuscation) 탐지
📚 시리즈 전체 보기: 시스템 보안 · 취약점

profile
코드에 숨겨진 위협을 읽고 AI로 보안의 미래를 설계합니다. 프론트엔드 개발 경험을 자산 삼아 더 견고하고 지능적인 보안 운영 시스템을 구축해 나가는 과정을 기록합니다

0개의 댓글