시스템 보안 · 취약점 › B. 계정 · 인증 보안 강화 · 40/50편 (전체 090/450)
학습 단계: 3단계 · 이상 징후
실습 표기: 이 글의 명령어·출력·로그는 로컬 VMware 테스트 VM(Rocky Linux 9 / Ubuntu 22.04) 기준의 「실습 예시」이며, IP·계정·호스트명은 가상의 값입니다.
051~079편에서 다룬 개별 신호를 계정 탈취 판정용 지표(IOC) 목록으로 묶습니다. 하나하나는 정상일 수 있지만, 여러 범주에서 동시에 나타나면 탈취 가능성이 급등합니다.
탈취 IOC 범주
인증 : 비관리망/새벽 로그인, password 돌파, 다출발지 동시 세션
계정 : 신규 UID 0 계정, 서비스 계정 셸·키, 휴면 재활성화, 만료 해제
권한 : 신규 sudoer 첫 사용, 서비스 계정 sudo, 특권 그룹 추가
행위 : 상승 직후 id/whoami, sudo bash, 설정 변경(A영역), 로그 삭제
기반 : PAM 변조, faillock 해제, 인증 로그 공백
판정: 한 범주 1점 → 여러 범주 동시 = 높은 신뢰 탈취
| 범주 | 대표 IOC | 관련 편 |
|---|---|---|
| 인증 | 비관리망·새벽 성공, 돌파, 동시 세션 | 019·024·027·028 |
| 계정 | UID 0 신규, 서비스 계정 셸/키, 휴면 재활성화 | 029·034·033·053 |
| 권한 | 신규 sudoer, 서비스 계정 sudo, 특권 그룹 | 031·037·004 |
| 행위 | 상승 직후 정찰, sudo 셸, 설정 변경 | 037·057·A영역 |
| 기반 | PAM 변조, faillock 해제, 로그 공백 | 013·014·029 |
# 계정 탈취 IOC 빠른 점검 스크립트 (읽기 전용, 한 계정 기준)
U=devops; LOG=/var/log/secure
echo "== $U 탈취 IOC 점검"
echo "[비관리망 성공]"; sudo grep "Accepted .* for $U " $LOG | grep -vE 'from 192\.168\.56\.(1?[0-9]|2[0-9]|3[01])\b' | wc -l
echo "[돌파: 직전 실패 다수]"; sudo grep "Failed password for $U " $LOG | wc -l
echo "[동시 다출발지]"; last -i $U | grep 'still logged in' | awk '{print $3}' | sort -u | wc -l
echo "[신규 sudoer/그룹]"; sudo grep "add '$U' to group" $LOG
echo "[상승 후 정찰]"; sudo grep "$U : .*COMMAND=/usr/bin/\(id\|whoami\)" $LOG
echo "[심긴 키]"; h=$(getent passwd $U|cut -d: -f6); sudo ssh-keygen -lf "$h/.ssh/authorized_keys" 2>/dev/null | wc -l
== admin1 탈취 IOC 점검
[비관리망 성공] 0
[돌파: 직전 실패 다수] 2
[동시 다출발지] 1
[신규 sudoer/그룹] (없음)
[상승 후 정찰] (없음)
지표가 거의 걸리지 않고(실패 2는 오타 수준, 단일 출발지), 어느 범주에서도 이상이 없는 상태가 정상입니다.
== devops 탈취 IOC 점검
[비관리망 성공] 1 → 인증
[돌파: 직전 실패 다수] 220 → 인증
[동시 다출발지] 2 → 인증
[신규 sudoer/그룹] add 'devops' to group 'wheel' → 권한
[상승 후 정찰] COMMAND=/usr/bin/id → 행위
[심긴 키] 2 (기준선 1) → 계정
IOC 조합으로 탈취를 판정한 요약표입니다(가상의 예시).
계정 인증 계정 권한 행위 기반 범주수 판정
admin1 - - - - - 0 정상
intern △출발 - - - - 1 확인(출장?)
devops ●돌파 ●키 ●그룹 ●정찰 - 4 탈취 확정
| 범주 수 | 판정 |
|---|---|
| 0~1 | 정상·단순 확인 |
| 2 | 조사 |
| 3+ | 탈취 의심 → Incident |
IOC는 계정 단위로 묶어 보고, 같은 IOC(출발지 IP·키 지문·계정명)를 다른 서버에서 검색해 확산을 파악합니다.
<group name="local,syssec_b,account_compromise,">
<!-- 같은 계정에 대해 서로 다른 탈취 범주의 Alert가 30분 내 결합 -->
<rule id="101370" level="14" frequency="3" timeframe="1800">
<if_matched_group>authentication,privilege,persistence</if_matched_group>
<same_user />
<description>단일 계정의 다범주 탈취 지표 결합(계정 탈취 의심)</description>
</rule>
</group>
이 상관 룰은 B영역 각 편의 룰에 authentication/privilege/persistence 등 범주 그룹이 붙어 있어야 동작합니다. 교차 서버 확산은 SIEM에서 IOC(출발지·키 지문) 전역 검색으로 처리합니다(046·096편).
| 범주 | 대표 IOC |
|---|---|
| 인증 | 비관리망·새벽, 돌파, 동시 세션 |
| 계정 | UID 0 신규, 서비스 계정 셸/키, 휴면 재활성화 |
| 권한 | 신규 sudoer, 서비스 계정 sudo, 특권 그룹 |
| 행위·기반 | 상승 후 정찰, sudo 셸 / PAM 변조, 로그 공백 |
| 면접 포인트 | "단일 지표는 오탐·미탐 — 범주 조합으로 탈취를 판정" |
다음 편 091. 계정 · 인증 보안 — 인증 로그 정규화 — secure·auth.log·journal 에서는 여러 로그원의 인증 기록을 하나로 모으는 인증 로그 정규화 — secure·auth.log·journal을 다룹니다.
이전 편: 089. 계정 · 인증 보안 — su·sudo 조합 상승 경로 추적
📚 시리즈 전체 보기: 시스템 보안 · 취약점