시스템 보안 · 취약점 › E. 중요 정보 접근 로그 분석 · 11/50편 (전체 211/450)
학습 단계: 중요 파일 접근 이상
실습 표기: 이 글의 명령어·출력·로그는 로컬 VMware 테스트 VM(Rocky Linux 9 / Ubuntu 22.04) 기준의 「실습 예시」이며, IP·계정·호스트명은 가상의 값입니다.
SSH 키는 비밀번호 없는 인증 수단이라, 탈취되면 다른 시스템 접근(측면 이동)에 바로 쓰입니다. SSH 인증 파일 읽기 접근은 키 탈취 시도로, 측면 이동의 전조입니다.
SSH 인증 파일 접근 위험
~/.ssh/id_rsa(개인키) 읽기 → 키 탈취 → 다른 서버 접속
~/.ssh/authorized_keys 읽기 → 허용 키 파악 / 쓰기 → 백도어(D15)
/etc/ssh/ssh_host_*_key 읽기 → 호스트키 탈취(MITM)
~/.ssh/known_hosts 읽기 → 접속 이력(대상 식별)
키 탈취 = 측면 이동(T1021)·자격증명 접근(T1552.004)
개인키 읽기는 정상적으로 SSH 클라이언트(ssh)만 하므로, 다른 명령(cat·cp)의 읽기는 탈취 시도입니다.
| SSH 파일 | 접근 위험 | 악용 |
|---|---|---|
id_rsa(개인키) | 키 탈취 | 측면 이동 |
authorized_keys | 허용 키 파악 | 백도어 식별 |
ssh_host_*_key | 호스트키 탈취 | MITM |
known_hosts | 접속 이력 | 대상 식별 |
config | 접속 설정 | 대상·계정 |
# SSH 키 접근 탐지 (분석 방법)
# SSH 인증 파일 읽기(ssh 클라이언트 외)
sudo ausearch -k sensitive_read -i --start recent 2>/dev/null | grep -E '\.ssh/(id_|authorized_keys|known_hosts)|ssh_host_' | grep -vE 'comm="(ssh|sshd|scp|sftp)"' | tail
# 타 사용자 개인키 접근(교차 접근)
sudo ausearch -k sensitive_read -i --start recent 2>/dev/null | grep 'id_rsa'
$ (SSH 키 접근) (없음 또는 ssh 클라이언트만)
SSH 개인키 접근이 ssh 클라이언트(정상 접속)에 의해서만 발생하고, 쉘 명령의 키 읽기가 없는 상태가 정상입니다.
$ (SSH 키 접근)
04:00 comm="cat" auid=devops /home/alice/.ssh/id_rsa (타 사용자 키)
04:01 comm="cp" auid=devops /root/.ssh/id_rsa → /tmp
SSH 키 탈취 흐름입니다(가상의 예시 로그).
type=SYSCALL comm="cat" auid=devops key="sensitive_read"
type=PATH name="/home/alice/.ssh/id_rsa"
→ devops가 alice 개인키 읽기(탈취)
[이후] ssh -i 탈취키 alice@other-server (측면 이동, 별도 탐지)
| 관찰 | 해석 |
|---|---|
| cat id_rsa(타인) | 개인키 탈취 |
| cp → /tmp | 키 수집 |
| 이후 ssh -i | 측면 이동 |
| known_hosts | 대상 식별 |
키 탈취 → 측면 이동(ssh)으로 이어지므로, 아웃바운드 SSH와 연계해 탐지합니다.
<!-- 실습 예시 룰: 적용 전 wazuh-logtest 및 테스트 환경 검증 필요 -->
<group name="local,syssec_e,sensitive_access,">
<rule id="104100" level="13">
<if_sid>104000</if_sid>
<field name="audit.file" type="pcre2">\.ssh/(id_[a-z]+|authorized_keys)|ssh_host_[a-z]+_key</field>
<field name="audit.comm" type="pcre2">^(?!(ssh|sshd|scp|sftp|ssh-agent))[a-z]+$</field>
<description>비SSH 주체의 SSH 개인키·인증 파일 접근(키 탈취)</description>
<mitre><id>T1552.004</id><id>T1021.004</id></mitre>
</rule>
</group>
정상 ssh 계열 프로세스는 제외합니다. 키 읽기 후 아웃바운드 SSH(측면 이동)를 상관으로 연계합니다.
| SSH 파일 | 악용 |
|---|---|
| id_rsa(개인키) | 측면 이동 |
| authorized_keys | 백도어 식별 |
| ssh_host_key | MITM |
| known_hosts | 대상 식별 |
| 면접 포인트 | "SSH 키 탈취는 측면 이동 수단 — 정상은 ssh 클라이언트만, 쉘 읽기는 탈취" |
다음 편 212. 중요 정보 접근 — 인증서·개인키 파일 접근 탐지 에서는 인증서·개인키 파일 접근을 다루는 인증서·개인키 파일 접근 탐지를 다룹니다.
이전 편: 210. 중요 정보 접근 — 계정 정보(passwd) 접근 탐지
📚 시리즈 전체 보기: 시스템 보안 · 취약점