시스템 보안 · 취약점 › G. 내부 확장 · 측면 이동 징후 · 15/50편 (전체 315/450)
학습 단계: 인증·자격증명 기반 이동
실습 표기: 이 글의 명령어·출력·로그는 로컬 VMware 테스트 VM(Rocky Linux 9 / Ubuntu 22.04) 기준의 「실습 예시」이며, IP·계정·호스트명은 가상의 값입니다.
서비스 계정(자동화·배포·모니터링용)은 여러 호스트에 광범위한 접근 권한을 가진 경우가 많아 측면 이동의 매력적 표적입니다. 공격자가 서비스 계정을 탈취하면 그 계정의 광범위한 접근으로 다수 호스트에 확산합니다.
서비스 계정 오남용 측면 이동
서비스 계정 특징: 다수 호스트 접근, 자동화(비대화형)
오남용 신호:
비대화형 계정의 대화형 로그인(셸)
서비스 계정의 비정상 호스트 접근
서비스 계정으로 비업무 시간 이동
서비스 계정의 수동 명령 실행
핵심: 자동화 계정이 사람처럼 쓰임 = 오남용
서비스 계정은 보통 자동화(비대화형)로만 쓰입니다. 대화형 로그인·수동 명령·비정상 호스트 접근이 오남용(탈취) 신호입니다.
| 오남용 신호 | 패턴 | 위험 |
|---|---|---|
| 비대화형→대화형 | 셸 로그인 | 높음 |
| 비정상 호스트 접근 | 범위 밖 | 높음 |
| 비업무 시간 이동 | 새벽 | 중간 |
| 수동 명령 실행 | 사람 패턴 | 높음 |
| 정상 자동화 | 비대화형 | 정상 |
# 서비스 계정 오남용 탐지 (분석 방법)
# 서비스 계정의 대화형 로그인(tty 있음)
sudo grep -E 'Accepted' /var/log/secure 2>/dev/null | grep -E 'svc-|deploy|backup|monitor|jenkins'
# 서비스 계정의 대화형 셸·수동 명령
sudo ausearch -k proc_exec -i --start recent 2>/dev/null | grep -E 'auid=(svc-|deploy|jenkins)' | grep -E 'tty=pts|comm="(bash|sh)"'
$ (서비스 계정)
정상: deploy 계정이 비대화형(tty=none) 자동 배포만
서비스 계정이 비대화형 자동화로만 쓰이고, 대화형 로그인·수동 명령이 없는 상태가 정상입니다.
$ (서비스 계정)
Accepted publickey for deploy from 10.0.0.50 (web01, tty=pts/0)
comm="bash" auid=deploy tty=pts/1 (대화형 셸)
deploy → db01, app01, file01 (서비스 범위 밖)
서비스 계정 오남용 분석입니다(가상의 예시).
[탈취] web01에서 deploy 서비스 계정 자격 획득
↓ (오남용)
deploy로 대화형 로그인(tty=pts) — 평소 비대화형
↓ (광범위 접근 악용)
deploy는 db01·app01·file01 접근 권한 보유
→ 서비스 범위 전체로 확산
= 자동화 계정이 사람처럼 쓰여 측면 이동
| 관찰 | 해석 |
|---|---|
| deploy 대화형 | 오남용 |
| 범위 밖 접근 | 측면 이동 |
| 광범위 권한 | 확산 범위 |
| 수동 명령 | 사람 사용 |
서비스 계정의 대화형 사용 + 범위 밖 접근이 오남용 측면 이동의 지표입니다.
<!-- 실습 예시 룰: 적용 전 wazuh-logtest 및 테스트 환경 검증 필요 -->
<group name="local,syssec_g,lateral,">
<rule id="106140" level="12">
<if_sid>106000</if_sid>
<field name="audit.auid" type="pcre2">^(deploy|backup|monitor|jenkins|svc-[a-z]+)$</field>
<field name="audit.tty" type="pcre2">^(pts|tty)</field>
<description>서비스 계정의 대화형 사용(오남용·측면 이동)</description>
<mitre><id>T1078.003</id></mitre>
</rule>
</group>
서비스 계정 목록·정상 접근 범위를 기준선화합니다. 대화형 사용·범위 밖 접근을 탐지하고 접근 범위를 최소화합니다.
| 오남용 신호 | 패턴 |
|---|---|
| 비대화형→대화형 | 셸 로그인 |
| 비정상 호스트 접근 | 범위 밖 |
| 비업무 시간 | 새벽 |
| 수동 명령 | 사람 패턴 |
| 면접 포인트 | "서비스 계정은 광범위 접근 — 대화형·범위 밖 사용이 오남용 측면 이동 신호" |
다음 편 316. 내부 확장·측면 이동 — 공유 계정·동시 로그인 이상 탐지 에서는 공유 계정·동시 로그인 이상을 다루는 공유 계정·동시 로그인 이상 탐지를 다룹니다.
이전 편: 314. 내부 확장·측면 이동 — sudo·su를 통한 계정 전환 이동 탐지
📚 시리즈 전체 보기: 시스템 보안 · 취약점