광고 차단 프로그램이 감지되었습니다

이 사이트는 광고 수익을 통해 무료로 콘텐츠와 서비스를 제공하고 있습니다.

더 나은 서비스를 위해 광고 차단 프로그램을 비활성화 해주세요.

광고 차단 해제 방법 보기
Loading...

직접 해본 Sudo 최신 취약점(CVE-2025-32463) 실습기 – “PoC가 안 먹혔던 그 이유”

직접 해본 Sudo 최신 취약점(CVE-2025-32463) 실습기 – “PoC가 안 먹혔던 그 이유”에 대한 img

실제 관리자의 불안, 그리고 숙명의 PoC 실습

나는 리눅스 환경에서 서버와 클러스터를 관리하는, 소위 “평범한” 시스템 관리자다. 하지만 이 바닥에서 ‘평범함’이란 늘 긴장감, 즉 언제 터질지 모르는 보안 이슈에 대한 감각과 동의어다.

며칠 전, Slack 보안 이슈 채널에 이런 메시지가 올라왔다.

“sudo 신규 취약점 나옴. PoC도 벌써 떴음. 빠른 패치 권장”
“CVE-2025-32463, 악용 코드 공개됐으니 sudo 바로 체크하세요!”

거의 자동반사처럼 sudo 버전을 확인하고, 널리 퍼진 GitHub 링크를 클릭했다.

링크 주소는 다음과 같았다.

https://github.com/kh4sh3i/CVE-2025-32463

읽자마자 머릿속에서 시계가 빨리 돌아갔다.

“PoC 코드까지 나왔으니, 이제는 ‘우리 시스템도 위험할 수 있다’는 이야기지?”

내가 맡은 주요 서버는 Ubuntu 24.04 LTS 기반이었고, 배포판 특성상 오래된 패키지가 깔려 있는 경우가 많다.

PoC가 실제로 돌아가는지, 그 결과부터 직접 확인해야 마음이 놓일 것 같았다.

"직접 실습: 익스플로잇을 돌려본 솔직한 경험담"

나는 바로 테스트 서버의 쉘로 들어갔다.

(실서버가 아닌 별도의 테스트 VM 환경, 절대 바로 실서버에서는 이런 실험 하면 안 됩니다!)

  1. PoC 코드 복제
git clone https://github.com/kh4sh3i/CVE-2025-32463.git
  1. 익스플로잇 리포지토리를 빠르게 clone하고 디렉토리에 진입.
  2. 실행권한 부여 및 스크립트 준비
cd CVE-2025-32463/
chmod +x exploit.sh
  1. 현재 권한 정보 확인
id
  1. 테스트 계정은 일반 사용자로 sudo 및 개발자 그룹에 포함되어 있었다.
  2. 실제 PoC(exploit.sh) 실행
./exploit.sh
  1. 이제 가장 긴장되는 순간.
  2. 기대했던 건 뭔가 로그인이 반짝 바뀌거나, root로 승격되는 드라마틱한 순간이었지만…
  3. 콘솔에 뜬 건
woot!
sudo: -R 옵션과 woot 옵션의 병행 사용을 허가받지 않았습니다
  1. …허탈한 감정이 밀려왔다. “woot!”이라는 메시지는 아마 PoC 스크립트 안에 박혀 있는 출력일 뿐,
  2. 그 다음 등장한 sudo의 에러 메시지는 뭔가 로직상 "야, 이 옵션 조합은 위험하거나 허용 안 한다"라는 느낌의 차단 신호였다.
  3. 다시 권한 확인
id
  1. 아무런 변화가 없다. UID, GID, 그룹 모두 그대로.


“익스플로잇이 먹히지 않는 진짜 이유는 뭘까?”

버전은 분명 취약 영역인데, 권한상승은 실패

이쯤에서 혼란스러웠다.

‘sudo 버전 1.9.15p5’ – 검색해보면 CVE-2025-32463가 영향을 주는 ‘취약 범위’(1.9.14~1.9.17) 안에 정확히 속하는 숫자다.

그런데 왜 PoC가 허무하게 막혔을까?

문득 “혹시 백포팅?” 하고 떠올랐다.

리눅스 배포판, 특히 Ubuntu LTS 계열은 버전 번호를 그대로 유지하면서 보안 패치만 선택적으로 적용(백포팅)하기로 유명하다.

즉, 표면상 숫자(v1.9.15p5)는 ‘취약한’ 버전이더라도, 실제 빌드에는 최신 보안 패치가 들어가 있을 수 있다는 말이다.


“백포팅이란 무엇인가 – 숫자놀음에 속지 마라"

배포판의 보안 관성, 그리고 관리자 혼란의 진실

이쯤에서 백포팅(backporting)이라는 개념을 분명히 해야겠다.

  • 공식 소프트웨어(‘업스트림’)에서는 버전을 올릴 때마다 새로운 보안 패치와 기능이 함께 반영된다.
  • 그러나, Ubuntu와 CentOS 등 많은 배포판은 ‘안정성’과 ‘호환성’을 위해 일정 버전에만 보안 패치(특정 취약점 방어 코드)만 뽑아다가 기존 소스에 이식한다.
  • 사용자 입장에서는 항상 깔려 있는 버전이 “패치됐는지” 혼동하기 쉽다. 실제로는 1.9.15p5-3ubuntu5.24.04.1 같은 ‘빌드 태그’ 또는 패키지 릴리즈 노트에서만 그 차이를 알 수 있다.

즉, 버전 숫자만 보고 불안해하지 마라!

내가 겪은 이번 일련의 ‘PoC 실패’ 과정은, 사실 시스템 보안이 아주 제대로 작동 중임을 반증하는 신호다.


“PoC 실패 = 보안 패치 적용 확인, 그 증거의 기술적 해부"

오류메시지에 숨겨진 진실

sudo: -R 옵션과 woot 옵션의 병행 사용을 허가받지 않았습니다

공식 PoC와 공개된 보안 기술문서를 끈질기게 따라가 본 결과:

  • sudo -R은 chroot 옵션, 즉 루트 디렉터리를 격리된 환경으로 바꾸는 기능.
  • CVE-2025-32463는 이 옵션(chroot) 사용 시 악의적으로 조작된 디렉터리 및 환경변수, 그리고 가짜 nsswitch.conf 등을 조합해 루트 권한을 '뺏어오는' 절차 취약점을 노린다.
  • 하지만 보안 패치가 들어가면, sudo 자체에 위험한 옵션 조합(-R+비표준 파라미터 등)을 아예 차단하도록 로직이 추가된다.

즉, PoC 코드가 시도하는 ‘익스플로잇 조건’부터 sudo가 선제적으로 가로막아버리는 것.

이게 내가 직접 실행한 로그에서 ‘오류 메시지’가 남고, UID에 아무 변화 없는 정확한 원인이다.


“패치 전/후 어떻게 다를까? PoC 코드의 진짜 위력”

실제로, PoC가 성공하는 환경(패치 전)에서는 다음과 같이 동작한다.

$ sudo -R /tmp/fakechroot whoami
root   # ← 권한 대거 상승. 만약 이 prompt가 보인다면 큰일!

그러나 현재 Ubuntu 공식 패치 혹은 백포팅된 환경에서는,

$ sudo -R woot woot
sudo: -R 옵션과 woot 옵션의 병행 사용을 허가받지 않았습니다

아예 공격 경로 “입구”에서 문이 잠기는 셈.


“결국, 실무자는 어떤 교훈을 얻어야 할까?”

1. 버전 숫자 = 취약/안전 공식이 아니다!

Linux 배포판(특히 LTS)에서는 각 패키지 버전의 릴리즈 노트, 패치 빌드 태그, 백포팅 가이드까지 꼼꼼히 확인해야 진짜 보안 상태를 알 수 있다.

2. 에러 메시지도 소중한 증거다

이상한 옵션이나 실행 조합 시 에러가 뜨고 권한 변화가 전혀 없었다면, 그 자체로 “보안 차단 작동”의 강력한 신호가 될 수 있다.

  • 오히려 아무 에러 없이 root로 id 변하는 게 ‘진짜 위기’

3. 정기적인 보안 업데이트, 그리고 무엇보다 직접 확인

보안 공지는 항상 읽고, sudo apt update && sudo apt upgrade 등 정기 업데이트 습관화.

딱 한 번이라도 PoC, 실제 테스팅, 또는 시스템 로그 등으로 패치가 ‘잘’ 작동하는지 직접 경험하는 것만큼 강한 깨달음은 없다.

4. 첨부 파일/실습 로그 분석의 중요성

터미널 로그, build info, 각종 실행 오류 등을 꼼꼼히 분석하면 단순 버전 숫자만 보는 것보다 훨씬 실질적인 보안 상태 파악이 가능하다.


“정보성 결론 – 현실과 행정 사이, 진짜를 확인하라”

이 글을 읽은 독자라면 내 시행착오 섞인 경험담이 남 일 같지 않을 것이다.

아무리 보안 정보가 많아도,

아무리 정교한 배포판 백포팅 정책이 있어도

결국 현장에서 “직접 시도해보고, 오류 메시지가 왜 떴는지, 내가 root가 됐는지 안 됐는지”

이런 레이어별 점검이야말로 진짜 실무자, 진짜 안전을 위한 기본기다.

  • PoC 공개? 확인해봐라.
  • 버전이 취약범위? 빌드 번호, 패치 노트까지 한 번 더 체크.
  • 직접 실행시도? 실패했으면 다행, 그 이유까지 논리적으로 추적.


“마지막 당부 – 혼자 고민하지 마세요!”

저 역시, ‘PoC 실패’ 한 줄 메시지의 정체에 대해 여러 공식 가이드, 실제 실습 로그, 보안 전문가 분석을 반복 검증하며 얻은 결론이 이렇습니다.

하지만 때로는 시스템 환경별 버그, 특별한 요구설정, 새로 공개된 우회 공격법 등 변수가 많으니

언제든 커뮤니티, 공식 보안 채널, 전문가 피드백을 적극 활용하세요.

조금이라도 불안한 경험, 뭔가 이상한 로그를 봤다면… 혼자 속앓이 마시고, 공유하며 함께 해결하는 것이 개인의 안전, 그리고 전체 시스템의 건강에 훨씬 큰 힘이 됩니다.


핵심 Q&A 정리 – 실습과 이론의 짧은 정리(FAQ)

  • Q. sudo 취약범위(1.9.14~1.9.17)인데 왜 PoC가 실패하나?
  • → Ubuntu 백포팅 덕분에 패치 코드가 포함되어 있음
  • Q. “-R 옵션과 woot 옵션 병행 사용이 허가되지 않았다” 에러는 무슨 의미?
  • → 이미 보안 패치가 적용되어, 위험한 조합 자체를 차단하는 로직이 동작 중
  • Q. 진짜 내 시스템도 안전한가 더 확인하려면?
  • → dpkg -l sudoapt show sudo 같은 명령으로 패키지 상세 버전 확인, 그리고 PoC 시도 후 로그 및 권한 변화 체크
  • Q. 앞으로 이런 보안 이슈, 어떻게 대처하는 게 현명한가?
  • → 정기 보안공지 확인 + 업데이트 습관 + PoC 경험 + 오류메시지 논리적 해석까지의 루틴 확립


[요약]

직접 sudo 익스플로잇 코드(PoC)를 돌려본 시행착오,

그 과정에서 드러난 리눅스 배포판의 보안 정책(백포팅)의 진면목,

그리고 표면적 숫자(버전)에만 속지 않는 뒷이야기까지,

실전과 이론이 어우러진 살아있는 실무 노하우를 최대한 진솔하게, 그리고 기술적으로 해설했습니다.

“똑같은 PoC 코드라도, 내 환경에선 이미 보안 벽에서 튕기고 있었다!”

여러분의 시스템도 언제든, 내 눈과 손으로 끈질기게 체험하고 확인하시길 권합니다.

정보 공개/실습에 궁금증이 있거나

환경별 추가 진단, 혹은 PoC 원리 해설이 더 필요하다면

댓글이나 메시지로 언제든 질문 주세요!

실전 경험과 공식 가이드, 전문가 서포트 삼박자로, 보안 걱정 없는 리눅스 라이프를 함께 만들어갑시다.

목차
목차를 불러오는 중...

댓글

Loading...

댓글 로딩 중...

구글 검색