시스템 보안 · 취약점 › G. 내부 확장 · 측면 이동 징후 · 17/50편 (전체 317/450)
학습 단계: 인증·자격증명 기반 이동
실습 표기: 이 글의 명령어·출력·로그는 로컬 VMware 테스트 VM(Rocky Linux 9 / Ubuntu 22.04) 기준의 「실습 예시」이며, IP·계정·호스트명은 가상의 값입니다.
자격증명을 탈취하지 못한 공격자는 내부 호스트에 무차별 대입(brute-force)·비밀번호 스프레이로 침입을 시도합니다. 거점에서 내부 다수 호스트에 자격증명을 추측 공격하는 것으로, 다수 인증 실패 패턴으로 탐지됩니다.
내부 무차별 대입·스프레이 확산
brute-force: 한 계정에 다수 비밀번호 시도
password spray: 한 비밀번호로 다수 계정/호스트 시도(잠금 회피)
내부 특징: 거점(내부 IP)에서 내부 호스트로 다수 실패
성공 시: 측면 이동 성립
인증 실패 급증(내부 출발지) + 간헐적 성공
B영역 17편이 외부 무차별 대입이라면, 여기서는 내부 출발지(거점)에서 내부 호스트로의 확산 시도에 집중합니다. 내부 IP 발 다수 인증 실패가 신호입니다.
| 공격 | 패턴 | 위험 |
|---|---|---|
| brute-force | 한 계정 다수 비번 | 높음 |
| password spray | 한 비번 다수 계정 | 높음(잠금 회피) |
| 내부 출발지 실패 급증 | 거점 발 | 높음 |
| 실패 후 성공 | 침입 성립 | 높음 |
| 정상 오입력 | 소수 | 정상 |
# 내부 무차별 대입·스프레이 탐지 (분석 방법)
# 내부 출발지별 인증 실패 수
sudo grep 'Failed password' /var/log/secure 2>/dev/null | grep -oE 'from 10\.[0-9.]+' | sort | uniq -c | sort -rn | head
# 비밀번호 스프레이(한 출발지, 다수 계정 실패)
sudo grep 'Failed password' /var/log/secure 2>/dev/null | grep 'from 10.0.0.50' | grep -oE 'for [a-z]+' | sort | uniq | head
$ (내부 출발지 실패)
2 from 10.0.0.10 (관리자 오입력 — 정상 범위)
내부 인증 실패가 소수(정상 오입력)에 그치고, 거점 발 다수 실패·스프레이가 없는 상태가 정상입니다.
$ (내부 출발지 실패)
85 from 10.0.0.50 (web01 → 내부 다수 호스트 실패)
$ (스프레이)
for root, admin, deploy, oracle, postgres (한 출발지, 다수 계정)
내부 무차별 대입·스프레이 분석입니다(가상의 예시).
[거점] web01 (자격증명 미확보)
↓ (무차별 대입·스프레이)
web01 → db01: Failed (root, admin, ...) ×다수
web01 → app01: Failed ×다수
web01 → file01: Accepted (성공!) → 측면 이동 성립
↓
[탐지] 내부 출발지 실패 급증 + 간헐적 성공
= 추측 공격으로 확산
| 관찰 | 해석 |
|---|---|
| 내부 발 실패 급증 | 무차별 대입 |
| 다계정 시도 | 스프레이 |
| 실패 후 성공 | 침입 성립 |
| 거점 출발 | 확산 기원 |
내부 출발지 실패 급증 + 성공 전환이 확산 침입의 지표입니다.
<!-- 실습 예시 룰: 적용 전 wazuh-logtest 및 테스트 환경 검증 필요 -->
<group name="local,syssec_g,lateral,">
<!-- 내부 출발지의 인증 실패 급증(무차별 대입·스프레이) -->
<rule id="106160" level="12" frequency="8" timeframe="120">
<decoded_as>sshd</decoded_as>
<field name="rule.description" type="pcre2">Failed password</field>
<field name="srcip" type="pcre2">^(10\.|192\.168\.|172\.(1[6-9]|2[0-9]|3[01])\.)</field>
<same_field>srcip</same_field>
<description>내부 출발지 인증 실패 급증(내부 무차별 대입·스프레이)</description>
<mitre><id>T1110</id></mitre>
</rule>
</group>
내부 출발지 기준 실패 빈도로 탐지합니다. 실패 후 성공(성립)은 상관 룰로 상위 경보합니다. 정상 오입력은 임계로 구분합니다.
| 공격 | 패턴 |
|---|---|
| brute-force | 한 계정 다수 비번 |
| password spray | 한 비번 다수 계정 |
| 내부 실패 급증 | 거점 발 |
| 실패 후 성공 | 침입 성립 |
| 면접 포인트 | "내부 출발지 실패 급증은 확산 시도 — 스프레이는 잠금 회피, 성공 전환은 성립" |
다음 편 318. 내부 확장·측면 이동 — 인증 기반 측면 이동 종합 분석 에서는 인증 기반 2단계를 마무리하는 인증 기반 측면 이동 종합 분석을 다룹니다.
이전 편: 316. 내부 확장·측면 이동 — 공유 계정·동시 로그인 이상 탐지
📚 시리즈 전체 보기: 시스템 보안 · 취약점