시스템 보안 · 취약점 › H. 방어 회피 · 흔적 삭제 징후 · 35/50편 (전체 385/450)
학습 단계: 위장·난독화·흔적 분석
실습 표기: 이 글의 명령어·출력·로그는 로컬 VMware 테스트 VM(Rocky Linux 9 / Ubuntu 22.04) 기준의 「실습 예시」이며, IP·계정·호스트명은 가상의 값입니다.
공격자는 서명·인증서·신뢰 관계를 악용해 악성 코드를 정상처럼 통과시킵니다. 신뢰된 저장소·정상 서명 바이너리·관리 채널(Ansible·패키지 관리자)을 악용하면 화이트리스트·무결성 검증을 우회합니다.
서명·신뢰 관계 악용
저장소 신뢰: 악성 저장소 추가 → 신뢰 설치
서명 우회: GPG 검증 비활성화(--nogpgcheck)
정상 서명 악용: 서명된 정상 도구로 악성 실행
관리 채널: 신뢰된 배포 도구로 악성 전파
특징: 신뢰 경로를 통과 — 무결성 검증 무력화
탐지: 저장소·서명 설정 변경, 신뢰 채널 비정상 사용
핵심은 "신뢰된 경로를 악용하면 검증을 통과한다"는 점입니다. 저장소·GPG 설정 변경, 신뢰 채널의 비정상 사용이 탐지 포인트입니다.
| 악용 | 방식 | 탐지 |
|---|---|---|
| 저장소 신뢰 | 악성 repo 추가 | repo 설정 변경 |
| 서명 우회 | --nogpgcheck | 설치 옵션 |
| 정상 서명 악용 | 서명 도구 악용 | 인자·맥락 |
| 관리 채널 | 배포 도구 악용 | 채널 로그 |
| 정상 | 신뢰 검증 | 변경 없음 |
# 서명·신뢰 관계 악용 탐지 (분석 방법)
# 패키지 저장소 설정 변경
sudo ausearch -k repo_change -i --start recent 2>/dev/null | grep -E '/etc/apt/sources.list|/etc/yum.repos.d/' | tail
# GPG 검증 비활성화 설치
sudo ausearch -k proc_exec -i --start recent 2>/dev/null | grep -E 'nogpgcheck|--allow-unauthenticated|gpgcheck=0' | tail
# 신뢰된 배포·관리 도구의 비정상 실행
sudo ausearch -k proc_exec -i --start recent 2>/dev/null | grep -E 'ansible|salt|puppet' | tail
$ (저장소 변경) (없음 또는 승인된 변경)
$ (서명 우회) (없음)
$ (관리 채널) 정상 배포 서버발
저장소 설정이 승인된 변경만 있고, GPG 검증 우회가 없으며, 관리 채널이 정상 배포 서버에서만 사용되는 상태가 정상입니다.
$ (저장소 변경)
/etc/apt/sources.list.d/x.list 추가(알 수 없는 저장소)
$ (서명 우회)
apt-get install -y --allow-unauthenticated pkg
$ (관리 채널)
ansible 실행 — 비정상 소스 IP(203.0.113.9)발
서명·신뢰 관계 악용 분석입니다(가상의 예시).
[공격자] 악성 코드를 "신뢰된 경로"로 통과시킴
① 악성 저장소 추가 → apt install(신뢰 설치)
② --allow-unauthenticated(서명 검증 생략)
③ ansible로 다수 호스트에 악성 배포
↕ (탐지)
[분석가]
sources.list.d 신규 저장소 → repo 설정 변경 경보
서명 우회 옵션 → 무결성 통제 무력화 포착
ansible 비정상 소스 IP → 관리 채널 악용
↓
= 신뢰 경로 자체의 변경·우회가 흔적 → 정탐
| 경로 | 악용 | 탐지 |
|---|---|---|
| 저장소 | 악성 추가 | 설정 변경 |
| 서명 | 검증 생략 | 설치 옵션 |
| 관리 채널 | 비정상 사용 | 소스·로그 |
신뢰 경로의 변경·우회 추적이 서명·신뢰 악용 탐지의 핵심입니다.
<!-- 실습 예시 룰: 적용 전 wazuh-logtest 및 테스트 환경 검증 필요 -->
<group name="local,syssec_h,defense_evasion,">
<rule id="107340" level="12">
<if_sid>107000</if_sid>
<field name="audit.proctitle" type="pcre2">--nogpgcheck|--allow-unauthenticated|gpgcheck\s*=\s*0|sources\.list\.d/.*\.list</field>
<description>패키지 서명 검증 우회·신뢰 저장소 변경(신뢰 관계 악용)</description>
<mitre><id>T1553</id><id>T1195</id></mitre>
</rule>
</group>
저장소 설정(sources.list·yum.repos.d)을 FIM으로 감시하고, 서명 검증 우회 옵션·신뢰 관리 채널의 비정상 사용을 탐지합니다. 승인된 배포는 기준선으로 구분합니다.
| 악용 | 방식 |
|---|---|
| 저장소 신뢰 | 악성 repo 추가 |
| 서명 우회 | --nogpgcheck |
| 정상 서명 악용 | 서명 도구 악용 |
| 관리 채널 | 배포 도구 악용 |
| 면접 포인트 | "신뢰 경로 악용 — 저장소·서명 설정 변경과 채널 비정상 사용을 추적" |
다음 편 386. 방어 회피·흔적 삭제 — 컨테이너·네임스페이스 은닉 탐지 에서는 컨테이너·네임스페이스 은닉을 다루는 컨테이너·네임스페이스 은닉 탐지를 다룹니다.
이전 편: 384. 방어 회피·흔적 삭제 — LOLBins(정상 도구 악용) 탐지
📚 시리즈 전체 보기: 시스템 보안 · 취약점