188. 권한 변경 이상 — 권한 변경 기반 지속성 탐지

changseop lee·7일 전

시스템 보안 · 취약점

목록 보기
188/450

시스템 보안 · 취약점 › D. 권한 변경 이상 징후 · 38/50편 (전체 188/450)
학습 단계: sudo·PAM·capability 권한 변경
실습 표기: 이 글의 명령어·출력·로그는 로컬 VMware 테스트 VM(Rocky Linux 9 / Ubuntu 22.04) 기준의 「실습 예시」이며, IP·계정·호스트명은 가상의 값입니다.

선행 학습

1. 개념

공격자는 한 번 상승한 뒤 재방문 없이 다시 상승할 수 있도록 영구 경로를 남깁니다. 권한 변경은 지속성의 핵심 수단입니다. D영역 전편의 변경들이 "지속성"이라는 관점에서 어떻게 쓰이는지 정리합니다.

권한 변경 기반 지속성 유형
 SUID 백도어:   SUID 쉘 복사본(D25) → 언제든 root 쉘
 sudo 백도어:   NOPASSWD 규칙(D31) → 비번 없이 상승
 PAM 백도어:    pam_permit(D34) → 임의 비번 로그인
 cap 백도어:    cap_setuid(D27) → 인터프리터 상승
 그룹 백도어:   docker 그룹(D35) → 컨테이너 root
 키 백도어:     authorized_keys(D15) → 비번 없는 SSH

특징: 설치 후 "조용히" 유지 → 주기적 재확인 필요

지속성 백도어는 설치 후 조용하므로, 설치 시점 탐지 + 주기적 기준선 재확인이 핵심입니다.

2. 왜 중요한가

  • 지속성 백도어는 재방문 없이 상승을 유지해, 초기 침해를 놓치면 장기간 통제됩니다.
  • 여러 백도어를 중복 설치해 하나가 제거돼도 유지하므로, 전수 점검이 필요합니다.
  • 설치 순간 탐지(D영역 전편)와 주기적 기준선 재확인을 함께 운영해야 합니다.

3. 핵심 명령어 / 설정

지속성 백도어재상승 방식탐지
SUID 쉘SUID 바이너리 실행diff(D25)
NOPASSWD비번 없는 sudo내용(D31)
PAM permit임의 비번 로그인내용(D34)
cap_setuid인터프리터 상승getcap(D27)
docker 그룹컨테이너 root멤버(D35)

4. 실습 (실습 예시)

# 권한 변경 기반 지속성 점검 (분석 방법)
# 주기적 전수 점검 스크립트(기준선 대비)
echo "SUID신규:"; diff /root/baseline/suid_base.txt <(sudo find / -xdev -perm -4000 -type f 2>/dev/null|sort)|grep '^>'
echo "NOPASSWD:"; sudo grep -rl NOPASSWD /etc/sudoers.d/ 2>/dev/null
echo "PAM백도어:"; sudo grep -rlE 'pam_permit\.so|nullok' /etc/pam.d/ 2>/dev/null
echo "cap신규:"; diff /root/baseline/caps_base.txt <(sudo getcap -r / 2>/dev/null|sort)|grep '^>'

5. 정상 상태

SUID신규: (없음)
NOPASSWD: (없음)
PAM백도어: (없음)
cap신규: (없음)

모든 지속성 경로가 기준선과 일치해, 영구 백도어가 없는 상태가 정상입니다. 주기 점검으로 유지 확인합니다.

6. 이상 상태

SUID신규: /tmp/.sh
NOPASSWD: /etc/sudoers.d/99-devops
PAM백도어: /etc/pam.d/sshd
cap신규: /usr/bin/python3.9 cap_setuid+ep
  • 4종 지속성 백도어 동시 존재 → 중복 상승 확보(견고한 지속성)
  • 하나를 제거해도 나머지로 재상승 가능 → 전수 제거 필요
  • 다중 지속성 백도어 → 심각한 침해(장기 통제 의도)

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

권한 변경 기반 지속성 흐름입니다(가상의 예시).

[초기 침해·상승] (C·D영역 경로)
      ↓
[지속성 설치] SUID 쉘 + NOPASSWD + PAM permit + cap (중복)
      ↓
[조용한 유지] 재방문 없이 각 백도어로 재상승
      ↓
[탐지] 설치 시점(D영역 룰) + 주기 기준선 재확인
백도어 수의미
0정상
1단일 지속성
2+중복 백도어(심각)

설치 시점 탐지를 놓쳐도 주기적 기준선 재확인으로 조용한 백도어를 찾아냅니다.

8. SOC 관제 포인트

  • 권한 변경은 재방문 없는 영구 상승을 만드는 지속성의 핵심 수단입니다.
  • SUID 쉘·NOPASSWD·PAM permit·cap·docker 그룹이 대표 백도어입니다.
  • 설치 시점 탐지(D영역 전편)+주기적 기준선 재확인으로 전수 점검합니다.

9. 탐지 규칙

<!-- 실습 예시 룰: 적용 전 wazuh-logtest 및 테스트 환경 검증 필요 -->
<group name="local,syssec_d,persistence,">
  <!-- 주기 점검 스크립트 결과(지속성 백도어 발견)를 로그로 수집·경보 -->
  <rule id="103360" level="13">
    <decoded_as>json</decoded_as>
    <field name="check">persistence_backdoor</field>
    <field name="status">found</field>
    <description>권한 변경 기반 지속성 백도어 발견(주기 점검)</description>
    <mitre><id>T1548</id><id>T1098</id></mitre>
  </rule>
</group>

설치 시점 룰(D22·31·34·27·35)과 주기 점검 로그를 함께 수집해 지속성을 전수 포착합니다.

10. 대응 방법

  1. 초기 확인 — 발견된 지속성 백도어 유형·경로·설치 시점·주체를 확인합니다.
  2. 범위 확인 — 여러 백도어 공존 여부와 각 재상승 경로를 확인합니다.
  3. 증거 확보 — 전 백도어의 흔적(파일·규칙·설정)과 설치 이벤트를 보존합니다.
  4. 차단/조치 — 모든 백도어 전수 제거·기준선 갱신·세션 종료·재침해 감시를 진행합니다.
  5. 재발 방지 — 설치 시점 탐지+주기 기준선 재확인을 함께 운영합니다.

11. 핵심 정리

지속성 백도어재상승 방식
SUID 쉘SUID 실행
NOPASSWD비번 없는 sudo
PAM permit임의 비번 로그인
docker 그룹컨테이너 root
면접 포인트"권한 변경 지속성은 재방문 없는 영구 상승 — 설치 시점+주기 점검 전수 감시"

12. 다음 편 예고

다음 편 189. 권한 변경 이상 — auditd 권한 변경 이벤트(chmod/chown) 분석 에서는 6단계로 넘어가 auditd 권한 변경 이벤트(chmod/chown) 분석을 다룹니다.


이전 편: 187. 권한 변경 이상 — setuid/setgid 호출 이상 탐지
📚 시리즈 전체 보기: 시스템 보안 · 취약점

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

0개의 댓글