165. 권한 변경 이상 — SSH 관련 파일 권한 변경 탐지

changseop lee·5일 전

시스템 보안 · 취약점

목록 보기
165/450

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

선행 학습

1. 개념

SSH는 원격 접근의 핵심이라, 관련 파일의 권한 변경은 접근 탈취·백도어와 직결됩니다. SSH는 권한이 엄격해야 동작하므로(개인키 600 등), 완화는 곧 이상 징후입니다.

SSH 관련 파일과 권한 변경 위험
 ~/.ssh/id_rsa       600→644  개인키 읽기(탈취)
 ~/.ssh/authorized_keys 완화·소유변경 → 백도어 키 삽입
 /etc/ssh/sshd_config 쓰기 완화 → 접근 정책 변조
 /etc/ssh/ssh_host_*  노출 → 호스트키 탈취

SSH는 권한 엄격 요구 → 완화 자체가 비정상

특히 authorized_keys의 소유권·권한 변경은 공격자 키 삽입(지속 접근)의 전조입니다.

2. 왜 중요한가

  • 개인키 권한 완화는 키 탈취 → 다른 시스템 접근(측면 이동)으로 이어집니다.
  • authorized_keys 변조는 비밀번호 없이 지속 접근하는 백도어입니다.
  • sshd_config 완화·변조는 PermitRootLogin 등 접근 정책을 바꿀 수 있습니다.

3. 핵심 명령어 / 설정

SSH 파일기대 권한변경 위험
~/.ssh/id_rsa600644(키 탈취)
~/.ssh/authorized_keys600완화·변조(백도어)
/etc/ssh/sshd_config600/644쓰기(정책 변조)
ssh_host_*_key600노출(호스트키)
~/.ssh 디렉터리700완화

4. 실습 (실습 예시)

# SSH 관련 파일 권한 변경 탐지 (분석 방법)
sudo ausearch -k perm_change,perm_critical -i --start recent 2>/dev/null | grep -E '\.ssh|sshd_config|ssh_host' | tail

# 현재 SSH 파일 권한 점검
find /home/*/.ssh /root/.ssh -name 'id_*' -o -name 'authorized_keys' 2>/dev/null | xargs -r stat -c '%a %U %n' 2>/dev/null

5. 정상 상태

$ (SSH 권한 변경) (없음)
$ (SSH 파일 권한)
600 alice /home/alice/.ssh/id_rsa
600 alice /home/alice/.ssh/authorized_keys

SSH 파일이 엄격한 권한(600/700)을 유지하고, 권한 변경 이벤트가 없는 상태가 정상입니다.

6. 이상 상태

$ (SSH 권한 변경)
02:50 auid=devops proctitle="chmod 644 /home/alice/.ssh/id_rsa"
02:51 auid=devops proctitle="chown devops /root/.ssh/authorized_keys"
  • alice 개인키 644 완화 → devops가 alice 키 탈취(측면 이동)
  • root authorized_keys 소유권 탈취 → 공격자 키 삽입(백도어)
  • 타 사용자·root의 SSH 파일 조작 → 정탐

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

SSH 권한 변경 흐름입니다(가상의 예시 로그).

type=PROCTITLE ... proctitle=chown devops /root/.ssh/authorized_keys auid=devops key="perm_change"
type=PATH ... name="/root/.ssh/authorized_keys" ouid=0
[이후] authorized_keys에 공격자 공개키 추가(FIM) → 비번 없이 root 접근
관찰해석
chown devops authorized_keys소유권 탈취
ouid=0(root)root 파일
이후 키 추가백도어 삽입
비번 없는 접근지속성

소유권 탈취 → 키 추가(FIM) → 접근의 흐름을 연계로 탐지합니다.

8. SOC 관제 포인트

  • SSH 파일은 엄격한 권한을 요구하므로 완화·소유권 변경 자체가 비정상입니다.
  • 개인키 완화(탈취)·authorized_keys 변조(백도어)·sshd_config 변조(정책)가 핵심 위험입니다.
  • 타 사용자·root의 SSH 파일 조작과 이후 키 추가(FIM)를 연계로 봅니다.

9. 탐지 규칙

<!-- 실습 예시 룰: 적용 전 wazuh-logtest 및 테스트 환경 검증 필요 -->
<group name="local,syssec_d,perm_change,">
  <rule id="103130" level="12">
    <if_sid>103000</if_sid>
    <field name="audit.proctitle" type="pcre2">(chmod|chown).*(\.ssh/(id_|authorized_keys)|sshd_config|ssh_host_)</field>
    <description>SSH 관련 파일 권한/소유권 변경(키 탈취·백도어)</description>
    <mitre><id>T1098.004</id><id>T1222</id></mitre>
  </rule>
</group>

authorized_keys는 권한 변경과 FIM(내용 변경)을 함께 감시해 키 삽입을 포착합니다.

10. 대응 방법

  1. 초기 확인 — 변경된 SSH 파일·대상 사용자·주체와 완화/소유권 변경을 확인합니다.
  2. 범위 확인 — authorized_keys 변경이면 이후 키 추가(FIM)·접근 로그를 확인합니다.
  3. 증거 확보 — SSH 권한 변경 이벤트와 대상 파일(권한·내용)을 보존합니다.
  4. 차단/조치 — 비인가 변경이면 권한 원복·삽입 키 제거·키 교체를 진행합니다.
  5. 재발 방지 — SSH 관련 파일 권한 변경 탐지를 운영합니다.

11. 핵심 정리

SSH 파일변경 위험
id_rsa 완화키 탈취(측면 이동)
authorized_keys백도어 키 삽입
sshd_config접근 정책 변조
ssh_host_key호스트키 노출
면접 포인트"SSH는 권한 엄격 요구 — 완화·소유권 변경 자체가 이상 징후"

12. 다음 편 예고

다음 편 166. 권한 변경 이상 — cron·systemd 파일 권한 변경 탐지 에서는 cron·systemd 파일 권한 변경을 다루는 cron·systemd 파일 권한 변경 탐지를 다룹니다.


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

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

0개의 댓글