시스템 보안 · 취약점 › G. 내부 확장 · 측면 이동 징후 · 10/50편 (전체 310/450)
학습 단계: 인증·자격증명 기반 이동
실습 표기: 이 글의 명령어·출력·로그는 로컬 VMware 테스트 VM(Rocky Linux 9 / Ubuntu 22.04) 기준의 「실습 예시」이며, IP·계정·호스트명은 가상의 값입니다.
SSH 키는 비밀번호 없는 인증 수단이라, 탈취되면 키 재사용으로 측면 이동에 바로 쓰입니다. 공격자는 거점에서 개인키(E11)를 탈취해, 그 키가 접근 가능한 모든 내부 호스트로 확산합니다.
SSH 키 재사용 측면 이동
거점에서 ~/.ssh/id_rsa 탈취(E11)
→ 그 키로 접근 가능한 내부 호스트 전부 로그인
공개키 핑거프린트로 추적:
같은 키가 여러 호스트에서 인증 성공
키 기반 인증(publickey) + 비정상 출발지
핵심: 하나의 키가 다수 호스트에 재사용됨
키 재사용의 특징은 "같은 키(핑거프린트)가 평소와 다른 출발지·호스트에서 인증 성공"하는 것입니다. SSH 로그의 키 핑거프린트로 추적합니다.
| 키 재사용 신호 | 패턴 | 위험 |
|---|---|---|
| 동일 키 다수 호스트 | 핑거프린트 공유 | 높음 |
| 비정상 출발지 키 인증 | 서비스 서버 발 | 높음 |
| publickey + 새 경로 | 키 기반 이동 | 높음 |
| 탈취 직후 재사용 | E11→G10 | 높음 |
| 정상 키 사용 | 관리 호스트 | 정상 |
# SSH 키 재사용 탐지 (분석 방법)
# publickey 인증의 키 핑거프린트(출발지별)
sudo grep 'Accepted publickey' /var/log/secure 2>/dev/null | grep -oE 'from [0-9.]+.*SHA256:[A-Za-z0-9+/]+' | tail
# 같은 핑거프린트가 여러 호스트/출발지에서 사용(중앙 집계 대조)
sudo grep 'Accepted publickey' /var/log/secure 2>/dev/null | grep -oE 'SHA256:[A-Za-z0-9+/]+' | sort | uniq -c | sort -rn | head
$ (publickey 인증)
Accepted publickey for deploy from 10.0.0.10 SHA256:AAA... (mgmt, 정상)
키 기반 인증이 정상 키·관리 호스트 출발지에서만 발생하고, 키 재사용 이상이 없는 상태가 정상입니다.
$ (publickey 인증)
Accepted publickey for root from 10.0.0.50 SHA256:XXX (web01→db01)
Accepted publickey for root from 10.0.0.60 SHA256:XXX (db01→dc01, 동일 키)
SSH 키 재사용 분석입니다(가상의 예시).
[탈취] web01에서 ~/.ssh/id_rsa 탈취 (E11)
↓ (키 재사용)
[1홉] 탈취 키(SHA256:XXX)로 db01 로그인(publickey)
↓ (db01에서 또 키 탈취 or 동일 키)
[2홉] dc01 로그인(동일/새 키)
↓
[추적] 핑거프린트 SHA256:XXX가 여러 호스트에서 등장
= 하나의 키 재사용으로 확산
| 관찰 | 해석 |
|---|---|
| 동일 핑거프린트 | 키 재사용 |
| 다수 출발지 | 확산 |
| publickey 인증 | 비번 없는 이동 |
| 탈취 연계 | E11→G10 |
키 핑거프린트 추적으로 재사용 확산 경로가 드러납니다.
<!-- 실습 예시 룰: 적용 전 wazuh-logtest 및 테스트 환경 검증 필요 -->
<group name="local,syssec_g,lateral,">
<!-- 동일 키 핑거프린트가 여러 호스트에서 인증(키 재사용) -->
<rule id="106090" level="13">
<decoded_as>sshd</decoded_as>
<field name="rule.description" type="pcre2">Accepted publickey</field>
<field name="srcip" type="pcre2">^10\.0\.0\.(5[0-9]|[6-9][0-9])$</field>
<description>비정상 출발지 SSH 키 인증(탈취 키 재사용 의심)</description>
<mitre><id>T1021.004</id><id>T1552.004</id></mitre>
</rule>
</group>
키 핑거프린트 기반 재사용 추적은 중앙 집계(ELK)로 호스트 간 상관해야 완전합니다. 정상 배포 키는 예외 처리합니다.
| 키 재사용 신호 | 패턴 |
|---|---|
| 동일 키 다수 호스트 | 핑거프린트 공유 |
| 비정상 출발지 | 서비스 서버 발 |
| publickey + 새 경로 | 키 기반 이동 |
| 탈취 직후 재사용 | E11→G10 |
| 면접 포인트 | "SSH 키 재사용은 비번 없는 확산 — 핑거프린트 추적으로 재사용 경로 포착" |
다음 편 311. 내부 확장·측면 이동 — 비정상 내부 SSH 연결 패턴 탐지 에서는 비정상 내부 SSH 연결 패턴을 다루는 비정상 내부 SSH 연결 패턴 탐지를 다룹니다.
이전 편: 309. 내부 확장·측면 이동 — SSH를 통한 측면 이동 탐지
📚 시리즈 전체 보기: 시스템 보안 · 취약점