스킬캠퍼스

오늘 끝나면

권한 상승

  • 권한 상승의 핵심 문제를 한 문장으로 설명한다
  • 오른쪽 실습에서 권한이 어떻게 움직이는지 관찰한다
  • 다음 강의와 이어지는 한계를 말할 수 있다

실습 미션

일반 계정에서 관리자까지 — privilege escalation 이 문장이 실제로 무슨 뜻인지 실습에서 한 번 손으로 확인한다.

성공 조건

  • 실습의 기본값을 먼저 관찰
  • 입력값이나 모드를 한 번 이상 바꿔 결과 비교
  • 왜 결과가 바뀌었는지 한 문장으로 설명

화이트해킹 · 09

권한
상승

침입은 보통 힘없는 계정 하나로 시작한다.
진짜 피해는 거기서 root까지 기어오를 때 터진다.
설정 실수 한 칸이 그 사다리를 놓아준다.

P.01화이트해킹 · 09

발판 하나에서 관리자까지

공격자가 처음 잡는 건 대개 보잘것없는 계정이다. 웹서버가 도는 권한 같은 것이다.

그 계정으로는 할 수 있는 게 거의 없다. 남의 파일도 못 읽고 설정도 못 바꾼다.
그래서 다음 목표가 정해진다. 더 센 권한으로 올라가는 것이다.

이걸 권한 상승(privilege escalation)이라 부른다.
한 번에 root로 점프하는 게 아니다. 작은 발판을 딛고 한 칸씩 올라간다.
최종 목적지는 거의 항상 root, 시스템 전체를 쥐는 자리다.

낮은 권한 → 높은 권한, 한 칸씩
한 칸씩 올라가는 사다리
root시스템 전체
sudo 설정비번 없이 root 명령
SUID 도구소유자 권한 실행
cron 스크립트root로 도는 작업
일반 사용자발판, 시작점

아래에서 위로, 점프가 아니라 한 칸씩

P.02화이트해킹 · 09

수직 상승 vs 수평 상승

상승은 두 방향이다. 위로 가는 것과 옆으로 가는 것이다.

수직 상승은 권한이 높아지는 것이다.
일반 사용자가 관리자가 된다. 할 수 있는 일의 등급이 올라간다.

수평 상승은 같은 등급의 다른 사용자가 되는 것이다.
내 계정에선 못 보던 옆 사람의 메일과 파일을 보게 된다. 등급은 그대로지만 남의 데이터가 열린다.
공격자는 보통 수평으로 번지며 발판을 모으다가, 결정적인 한 칸에서 수직으로 root까지 친다.

위로 올라갈까 · 옆으로 번질까
두 방향의 상승
수직 ↑
관리자
일반 사용자

권한 등급이 올라간다

수평 →
옆 사람

같은 등급, 남의 데이터가 열린다

옆으로 번지며 발판 모으다 결정타로 수직 상승한다
P.03화이트해킹 · 09

흔한 경로, 거의 다 설정 실수

상승의 길은 마법이 아니다. 대부분 누군가 무심코 열어둔 설정 틈이다.

예약 작업(cron)이 root로 도는데 그 스크립트를 아무나 고칠 수 있다.
소유자 권한으로 도는 SUID 도구가 외부 명령을 검증 없이 부른다.
sudo 설정이 특정 명령을 비번 없이 root로 허용한다.

공통점이 보인다. 코드 버그가 아니라 권한을 너무 넓게 준 설정이다.
공격자는 이런 틈을 찾는 도구로 시스템을 훑고, 사다리로 쓸 칸을 고른다.
그래서 점검의 출발점도 똑같다. 어디에 권한이 과하게 풀려 있는지 보는 것이다.

틈을 만드는 잘못된 설정들
상승을 여는 흔한 설정 틈
cron

root 작업 스크립트를 아무나 수정

높음
SUID

외부 명령을 검증 없이 호출

높음
sudo

비번 없이 root 명령 허용

치명
권한 과다

파일·폴더 권한이 너무 넓음

중간
공통점은 버그가 아니라 너무 넓게 준 권한이다
P.04화이트해킹 · 09

경로를 직접 찾아본다

오른쪽에서 직접 사다리를 밟아 본다.

user에서 시작한다. 이어진 칸만 누를 수 있다.
잘못된 설정으로 열린 칸을 골라 한 칸씩 올라가 root까지 가는 게 목표다.
실제 공격이 아니라 미리 정해둔 그래프를 따라가는 안전한 시뮬레이션이다. 명령은 하나도 돌지 않는다.

중간에 /tmp 같은 막다른 길도 있다. 눌러서 직접 확인해 본다.
각 칸 아래엔 그 칸을 막는 최소권한 설정이 같이 뜬다.
핵심은 이거다. 칸 하나만 제대로 잠가도 사다리가 끊긴다.

user에서 root까지, 한 칸씩
권한 상승 경로, 안전한 개념 시뮬
현재 권한

일반 사용자

이어진 칸을 눌러 위로, 한 번에 한 칸
이 칸이 열린 이유

시작점, 권한 없는 평범한 계정이다.

최소권한 방어

여기서 더 못 올라가게 막는 게 목표다.

밟은 경로user

user에서 시작. 이어진 칸을 눌러 올라가 보자.

P.05화이트해킹 · 09

방어 = 최소권한

상승을 막는 단 하나의 원칙이 있다. 최소권한(least privilege)이다.

모든 계정과 서비스와 파일에 꼭 필요한 권한만 준다. 그 이상은 주지 않는다.
웹서버는 웹 파일만 읽으면 된다. 백업 스크립트는 백업 폴더만 건드리면 된다.
넓게 풀린 권한 하나하나가 공격자에겐 사다리의 한 칸이다.

최소권한이 지켜지면 발판을 잡혀도 거기서 끝난다. 위로 이어질 칸이 없다.
그래서 피해 범위가 그 계정 안에 갇힌다. 침입이 곧 장악으로 번지지 않는다.
탐지와 패치도 중요하지만, 애초에 사다리를 안 놓는 게 가장 싼 방어다.

Q. 최소권한 원칙이란? (모두에게 root 줌 · 꼭 필요한 권한만 줌 · 권한을 다 막음 · 비번을 길게 함)정답은 꼭 필요한 권한만 부여하는 것이다.
넓게 풀린 권한이 곧 상승의 사다리가 되므로, 필요한 만큼만 주면 칸이 사라진다.
모두에게 root를 주면 그 자체가 최악의 상승 통로다.
권한을 다 막으면 시스템이 안 돈다. 핵심은 ‘다 막기’가 아니라 ‘딱 필요한 만큼’이다.
그래서 발판을 잡혀도 상승 피해가 최소로 갇힌다.
꼭 필요한 권한만, 사다리를 끊음
권한 넓을 때 vs 최소권한일 때
권한 넓음
발판
+1칸
+1칸
root

사다리가 끝까지 이어진다

최소권한
발판
잠김

한 칸 뒤로 길이 끊긴다

칸 하나만 잠가도 상승 피해가 갇힌다

3줄 요약

  1. 1일반 계정에서 관리자까지 — privilege escalation
  2. 2권한 상승은 기초·정찰 → 웹 취약점 → 시스템 침투 → 네트워크·IoT → 레드팀·AI 흐름 안의 한 칸이다.
  3. 3개념을 외우는 것보다 입력을 바꾸면 무엇이 달라지는지 보는 것이 우선이다.

완료 전 점검

복습 카드

권한

일반 계정에서 관리자까지 — privilege escalation

취약점

공격에 악용될 수 있는 시스템의 약점

익스플로잇

취약점을 실제로 이용하는 코드나 기법