090. 계정 · 인증 보안 — 계정 탈취 의심 지표(IOC) 정리

changseop lee·5일 전

시스템 보안 · 취약점 › B. 계정 · 인증 보안 강화 · 40/50편 (전체 090/450)
학습 단계: 3단계 · 이상 징후
실습 표기: 이 글의 명령어·출력·로그는 로컬 VMware 테스트 VM(Rocky Linux 9 / Ubuntu 22.04) 기준의 「실습 예시」이며, IP·계정·호스트명은 가상의 값입니다.

선행 학습

1. 개념

051~079편에서 다룬 개별 신호를 계정 탈취 판정용 지표(IOC) 목록으로 묶습니다. 하나하나는 정상일 수 있지만, 여러 범주에서 동시에 나타나면 탈취 가능성이 급등합니다.

탈취 IOC 범주
 인증  : 비관리망/새벽 로그인, password 돌파, 다출발지 동시 세션
 계정  : 신규 UID 0 계정, 서비스 계정 셸·키, 휴면 재활성화, 만료 해제
 권한  : 신규 sudoer 첫 사용, 서비스 계정 sudo, 특권 그룹 추가
 행위  : 상승 직후 id/whoami, sudo bash, 설정 변경(A영역), 로그 삭제
 기반  : PAM 변조, faillock 해제, 인증 로그 공백

판정: 한 범주 1점 → 여러 범주 동시 = 높은 신뢰 탈취

2. 왜 중요한가

  • 단일 지표 기반 판정은 오탐(출장 로그인)·미탐(정상처럼 보이는 탈취)이 많습니다. 지표 조합이 정확도를 높입니다.
  • IOC 목록이 정리돼 있으면 사고 발생 시 빠르게 범위를 확인하고, 다른 서버에서 같은 지표를 검색할 수 있습니다(확산 파악).
  • 탈취 IOC는 침해사고 보고서의 근거이자, 081~098편의 탐지 룰·대시보드의 기준이 됩니다.

3. 핵심 명령어 / 설정

범주대표 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

4. 실습 (실습 예시)

# 계정 탈취 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

5. 정상 상태

== admin1 탈취 IOC 점검
[비관리망 성공] 0
[돌파: 직전 실패 다수] 2
[동시 다출발지] 1
[신규 sudoer/그룹] (없음)
[상승 후 정찰] (없음)

지표가 거의 걸리지 않고(실패 2는 오타 수준, 단일 출발지), 어느 범주에서도 이상이 없는 상태가 정상입니다.

6. 이상 상태

== devops 탈취 IOC 점검
[비관리망 성공] 1            → 인증
[돌파: 직전 실패 다수] 220   → 인증
[동시 다출발지] 2            → 인증
[신규 sudoer/그룹] add 'devops' to group 'wheel'   → 권한
[상승 후 정찰] COMMAND=/usr/bin/id                   → 행위
[심긴 키] 2 (기준선 1)       → 계정
  • 인증·권한·행위·계정 네 범주에서 지표가 동시 발생 → 높은 신뢰도의 계정 탈취
  • 단일 지표(비관리망 성공 1건)만이었다면 "출장?"으로 끝날 수 있지만, 조합이 판정을 확정
  • A영역 049편 시나리오의 devops 계정과 동일 → 두 영역이 같은 사건을 다른 각도로 분석

7. 로그 분석 (분석 방법)

IOC 조합으로 탈취를 판정한 요약표입니다(가상의 예시).

계정    인증   계정   권한   행위   기반   범주수   판정
admin1  -      -      -      -      -      0        정상
intern  △출발  -      -      -      -      1        확인(출장?)
devops  ●돌파  ●키    ●그룹  ●정찰  -      4        탈취 확정
범주 수판정
0~1정상·단순 확인
2조사
3+탈취 의심 → Incident

IOC는 계정 단위로 묶어 보고, 같은 IOC(출발지 IP·키 지문·계정명)를 다른 서버에서 검색해 확산을 파악합니다.

8. SOC 관제 포인트

  • 탈취 판정은 범주 조합으로 합니다(단일 지표 과신 금지).
  • IOC 목록(출발지 IP·키 지문·계정명·파일 경로)을 정리해 전 서버 검색의 기준으로 씁니다.
  • IOC 체크리스트를 계정 탈취 대응 절차의 1단계로 둡니다.

9. 탐지 규칙

<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편).

10. 대응 방법

  1. 초기 확인 — 탈취 의심 계정의 IOC를 범주별로 점검해 범주 수를 산정합니다.
  2. 범위 확인 — 확정된 IOC(IP·키·계정·파일)로 전 서버를 검색해 확산을 파악합니다.
  3. 증거 확보 — IOC 목록과 근거 로그를 보존합니다.
  4. 차단/조치 — 세션 종료·계정 잠금·자격증명 교체·IOC 기반 차단을 진행합니다.
  5. 재발 방지 — IOC 체크리스트와 다범주 결합 상관 룰을 운영합니다.

11. 핵심 정리

범주대표 IOC
인증비관리망·새벽, 돌파, 동시 세션
계정UID 0 신규, 서비스 계정 셸/키, 휴면 재활성화
권한신규 sudoer, 서비스 계정 sudo, 특권 그룹
행위·기반상승 후 정찰, sudo 셸 / PAM 변조, 로그 공백
면접 포인트"단일 지표는 오탐·미탐 — 범주 조합으로 탈취를 판정"

12. 다음 편 예고

다음 편 091. 계정 · 인증 보안 — 인증 로그 정규화 — secure·auth.log·journal 에서는 여러 로그원의 인증 기록을 하나로 모으는 인증 로그 정규화 — secure·auth.log·journal을 다룹니다.


이전 편: 089. 계정 · 인증 보안 — su·sudo 조합 상승 경로 추적
📚 시리즈 전체 보기: 시스템 보안 · 취약점

profile
코드에 숨겨진 위협을 읽고 AI로 보안의 미래를 설계합니다. 프론트엔드 개발 경험을 자산 삼아 더 견고하고 지능적인 보안 운영 시스템을 구축해 나가는 과정을 기록합니다

0개의 댓글