오늘 끝나면
권한 상승
- ✓권한 상승의 핵심 문제를 한 문장으로 설명한다
- ✓오른쪽 실습에서 권한이 어떻게 움직이는지 관찰한다
- ✓다음 강의와 이어지는 한계를 말할 수 있다
실습 미션
일반 계정에서 관리자까지 — privilege escalation 이 문장이 실제로 무슨 뜻인지 실습에서 한 번 손으로 확인한다.
성공 조건
- □실습의 기본값을 먼저 관찰
- □입력값이나 모드를 한 번 이상 바꿔 결과 비교
- □왜 결과가 바뀌었는지 한 문장으로 설명
화이트해킹 · 09
권한
상승
침입은 보통 힘없는 계정 하나로 시작한다.
진짜 피해는 거기서 root까지 기어오를 때 터진다.
설정 실수 한 칸이 그 사다리를 놓아준다.
발판 하나에서 관리자까지
공격자가 처음 잡는 건 대개 보잘것없는 계정이다. 웹서버가 도는 권한 같은 것이다.
그 계정으로는 할 수 있는 게 거의 없다. 남의 파일도 못 읽고 설정도 못 바꾼다.
그래서 다음 목표가 정해진다. 더 센 권한으로 올라가는 것이다.
이걸 권한 상승(privilege escalation)이라 부른다.
한 번에 root로 점프하는 게 아니다. 작은 발판을 딛고 한 칸씩 올라간다.
최종 목적지는 거의 항상 root, 시스템 전체를 쥐는 자리다.
아래에서 위로, 점프가 아니라 한 칸씩
수직 상승 vs 수평 상승
상승은 두 방향이다. 위로 가는 것과 옆으로 가는 것이다.
수직 상승은 권한이 높아지는 것이다.
일반 사용자가 관리자가 된다. 할 수 있는 일의 등급이 올라간다.
수평 상승은 같은 등급의 다른 사용자가 되는 것이다.
내 계정에선 못 보던 옆 사람의 메일과 파일을 보게 된다. 등급은 그대로지만 남의 데이터가 열린다.
공격자는 보통 수평으로 번지며 발판을 모으다가, 결정적인 한 칸에서 수직으로 root까지 친다.
권한 등급이 올라간다
같은 등급, 남의 데이터가 열린다
흔한 경로, 거의 다 설정 실수
상승의 길은 마법이 아니다. 대부분 누군가 무심코 열어둔 설정 틈이다.
예약 작업(cron)이 root로 도는데 그 스크립트를 아무나 고칠 수 있다.
소유자 권한으로 도는 SUID 도구가 외부 명령을 검증 없이 부른다.
sudo 설정이 특정 명령을 비번 없이 root로 허용한다.
공통점이 보인다. 코드 버그가 아니라 권한을 너무 넓게 준 설정이다.
공격자는 이런 틈을 찾는 도구로 시스템을 훑고, 사다리로 쓸 칸을 고른다.
그래서 점검의 출발점도 똑같다. 어디에 권한이 과하게 풀려 있는지 보는 것이다.
root 작업 스크립트를 아무나 수정
높음외부 명령을 검증 없이 호출
높음비번 없이 root 명령 허용
치명파일·폴더 권한이 너무 넓음
중간경로를 직접 찾아본다
오른쪽에서 직접 사다리를 밟아 본다.
user에서 시작한다. 이어진 칸만 누를 수 있다.
잘못된 설정으로 열린 칸을 골라 한 칸씩 올라가 root까지 가는 게 목표다.
실제 공격이 아니라 미리 정해둔 그래프를 따라가는 안전한 시뮬레이션이다. 명령은 하나도 돌지 않는다.
중간에 /tmp 같은 막다른 길도 있다. 눌러서 직접 확인해 본다.
각 칸 아래엔 그 칸을 막는 최소권한 설정이 같이 뜬다.
핵심은 이거다. 칸 하나만 제대로 잠가도 사다리가 끊긴다.
일반 사용자
시작점, 권한 없는 평범한 계정이다.
여기서 더 못 올라가게 막는 게 목표다.
user에서 시작. 이어진 칸을 눌러 올라가 보자.
방어 = 최소권한
상승을 막는 단 하나의 원칙이 있다. 최소권한(least privilege)이다.
모든 계정과 서비스와 파일에 꼭 필요한 권한만 준다. 그 이상은 주지 않는다.
웹서버는 웹 파일만 읽으면 된다. 백업 스크립트는 백업 폴더만 건드리면 된다.
넓게 풀린 권한 하나하나가 공격자에겐 사다리의 한 칸이다.
최소권한이 지켜지면 발판을 잡혀도 거기서 끝난다. 위로 이어질 칸이 없다.
그래서 피해 범위가 그 계정 안에 갇힌다. 침입이 곧 장악으로 번지지 않는다.
탐지와 패치도 중요하지만, 애초에 사다리를 안 놓는 게 가장 싼 방어다.
Q. 최소권한 원칙이란? (모두에게 root 줌 · 꼭 필요한 권한만 줌 · 권한을 다 막음 · 비번을 길게 함)
정답은 꼭 필요한 권한만 부여하는 것이다.넓게 풀린 권한이 곧 상승의 사다리가 되므로, 필요한 만큼만 주면 칸이 사라진다.
모두에게 root를 주면 그 자체가 최악의 상승 통로다.
권한을 다 막으면 시스템이 안 돈다. 핵심은 ‘다 막기’가 아니라 ‘딱 필요한 만큼’이다.
그래서 발판을 잡혀도 상승 피해가 최소로 갇힌다.
사다리가 끝까지 이어진다
한 칸 뒤로 길이 끊긴다