314. 내부 확장·측면 이동 — sudo·su를 통한 계정 전환 이동 탐지

changseop lee·2026년 10월 8일

시스템 보안 · 취약점

목록 보기
314/450

시스템 보안 · 취약점 › G. 내부 확장 · 측면 이동 징후 · 14/50편 (전체 314/450)
학습 단계: 인증·자격증명 기반 이동
실습 표기: 이 글의 명령어·출력·로그는 로컬 VMware 테스트 VM(Rocky Linux 9 / Ubuntu 22.04) 기준의 「실습 예시」이며, IP·계정·호스트명은 가상의 값입니다.

선행 학습

1. 개념

측면 이동은 호스트 사이뿐 아니라 호스트 내 계정 전환(sudo·su)과도 연계됩니다. 공격자는 su·sudo로 다른 계정(특히 다른 호스트 접근 권한을 가진 계정)으로 전환해, 그 계정의 자격·키로 측면 이동합니다.

계정 전환과 측면 이동 연계
 su/sudo로 다른 계정 전환
   → 전환한 계정의 SSH 키·자격으로 다른 호스트 접근
 예: web 계정 → (su deploy) → deploy의 키로 db01 SSH
 서비스 계정 전환 후 그 계정 권한으로 이동

핵심: 계정 전환 → 전환 계정의 접근 권한 획득 → 측면 이동

D32(sudo 상승 실행)가 권한 상승 관점이라면, 여기서는 계정 전환이 다른 계정의 측면 이동 자격을 얻는 수단으로 쓰이는 것에 집중합니다.

2. 왜 중요한가

  • 계정 전환은 그 계정이 가진 SSH 키·자격·접근 권한을 획득하는 수단입니다.
  • 전환한 계정으로 다른 호스트에 접근하면 측면 이동의 발판이 됩니다.
  • 비정상 계정 전환(서비스 계정→배포 계정 등) 후 외부 호스트 SSH가 신호입니다.

3. 핵심 명령어 / 설정

전환 패턴악용위험
su 다른 계정계정 자격 획득높음
sudo -u 서비스계정서비스 권한높음
전환 후 SSH측면 이동높음
배포 계정 전환배포 키 획득높음
정상 관리 전환승인 작업정상

4. 실습 (실습 예시)

# sudo·su 계정 전환 이동 탐지 (분석 방법)
# 계정 전환 후 외부 호스트 SSH(연계)
sudo ausearch -k priv_esc,lateral -i --start recent 2>/dev/null | grep -E 'comm="(su|sudo)"' | tail
# 전환 계정으로 SSH 출발(계정 전환→이동)
sudo grep -E 'session opened.*by' /var/log/secure 2>/dev/null | tail

5. 정상 상태

$ (계정 전환)
  정상: admin → (sudo) 관리 작업, 전환 후 외부 SSH 없음

계정 전환이 정상 관리 작업에 그치고, 전환 후 다른 호스트 SSH로 이어지지 않는 상태가 정상입니다.

6. 이상 상태

$ (계정 전환)
www-data → (su deploy) → ssh deploy@db01 (전환 후 이동)
→ 웹 계정이 배포 계정으로 전환 후 그 키로 db01 접근
  • www-data가 su deploy로 전환 → deploy의 SSH 키 획득
  • 전환 직후 deploy 키로 db01 SSH → 계정 전환 기반 측면 이동
  • 서비스 계정 전환 + 전환 계정으로 외부 SSH → 정탐

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

계정 전환 기반 측면 이동 분석입니다(가상의 예시).

[거점] web01, www-data 권한
   ↓ (계정 전환)
su deploy (deploy 계정으로 전환, D영역 권한)
   ↓ (전환 계정 자격 획득)
deploy의 ~/.ssh/id_rsa 사용 가능
   ↓ (측면 이동)
ssh deploy@db01 (deploy 키로 db01 접근)
 = 계정 전환으로 측면 이동 자격 획득
단계흔적
su deploy계정 전환
deploy 키자격 획득
ssh db01측면 이동
연계전환→이동

계정 전환 직후 외부 호스트 SSH 연계가 측면 이동의 신호입니다.

8. SOC 관제 포인트

  • sudo·su 계정 전환은 그 계정의 SSH 키·자격·접근 권한을 획득하는 수단입니다.
  • 전환한 계정으로 다른 호스트에 접근하면 측면 이동의 발판이 됩니다.
  • 비정상 계정 전환 + 전환 계정의 외부 SSH 연계가 핵심 신호입니다.

9. 탐지 규칙

<!-- 실습 예시 룰: 적용 전 wazuh-logtest 및 테스트 환경 검증 필요 -->
<group name="local,syssec_g,lateral,">
  <!-- 서비스 계정의 계정 전환 직후 외부 호스트 SSH -->
  <rule id="106130" level="12">
    <if_sid>106000</if_sid>
    <if_matched_sid>106080</if_matched_sid>
    <field name="audit.comm" type="pcre2">^(su|sudo)$</field>
    <same_field>audit.session</same_field>
    <description>계정 전환 직후 측면 이동(전환 계정 자격 악용)</description>
    <mitre><id>T1078</id><id>T1021.004</id></mitre>
  </rule>
</group>

계정 전환(su/sudo)과 전환 계정의 SSH 출발을 세션으로 상관합니다. 정상 관리 전환은 예외 처리합니다.

10. 대응 방법

  1. 초기 확인 — 계정 전환(su/sudo) 주체·대상 계정·전환 후 행위를 확인합니다.
  2. 범위 확인 — 전환 계정의 SSH 키 사용·외부 호스트 접근 연계를 확인합니다.
  3. 증거 확보 — 계정 전환·이후 SSH 로그를 세션으로 묶어 보존합니다.
  4. 차단/조치 — 전환 기반 이동 정탐이면 세션 종료·전환 계정 자격 점검·경로 차단을 진행합니다.
  5. 재발 방지 — 계정 전환→측면 이동 연계 탐지를 운영합니다.

11. 핵심 정리

전환 패턴악용
su 다른 계정계정 자격 획득
sudo -u 서비스서비스 권한
전환 후 SSH측면 이동
배포 계정 전환배포 키 획득
면접 포인트"계정 전환은 그 계정의 키·자격 획득 수단 — 전환 후 외부 SSH가 이동 신호"

12. 다음 편 예고

다음 편 315. 내부 확장·측면 이동 — 서비스 계정 오남용 이동 탐지 에서는 서비스 계정 오남용 이동을 다루는 서비스 계정 오남용 이동 탐지를 다룹니다.


이전 편: 313. 내부 확장·측면 이동 — Pass-the-Hash·티켓 재사용 탐지
📚 시리즈 전체 보기: 시스템 보안 · 취약점

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

0개의 댓글