Skip to content
KitploitKITPLOIT
도구블로그
제출
도구블로그
제출

해킹, 침투 테스트 및 사이버 보안 도구를 당신의 보안 무기고에!

Kitploit은 해킹, 사이버 보안 및 침투 테스트 도구 디렉토리입니다. 최신 프로젝트 업데이트를 발견하여 취약점을 찾고, 시스템을 분석하고, 테스트를 자동화하고, 보안을 강화하세요.

··피드·문의·개인정보·© 2026 Kitploit

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
CVE-2021-3156-Baron-Samedit — sudo의 CVE-2021-3156 힙 기반 버퍼 오버플로우 악용 및 완화 분석 | Kitploit
도구/GitHubGitHub/kranti08/cve-2021-3156-baron-samedit
Privilege EscalationVulnerability AnalysisExploitationPenetration TestingLearning & EducationBinary ExploitationLabs & Practice
GitHubkranti08/cve-2021-3156-baron-samedit

인기

모두 보기 →

커뮤니티에서 가장 많이 사용되는 도구를 찾아보세요.

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

CVE-2021-3156-Baron-Samedit

sudo의 CVE-2021-3156 힙 기반 버퍼 오버플로우 악용 및 완화 분석

저장소 보기
62개월 전아직 검토되지 않음

CVE-2021-3156 – Baron Samedit

sudo의 힙 기반 버퍼 오버플로우 | 익스플로잇 및 완화 분석

CVE Severity OS Status Language

개요

CVE-2021-3156은 Baron Samedit으로 알려진, sudo 프로그램의 힙 기반 버퍼 오버플로우 취약점입니다. 이 취약점을 통해 인증 없이 권한이 없는 로컬 사용자가 취약한 시스템에서 루트 권한을 획득할 수 있습니다.

이 프로젝트는 룩셈부르크 대학교(University of Luxembourg) 의 소프트웨어 취약점: 익스플로잇 및 완화 과정의 일환으로 해당 취약점의 전체 익스플로잇 및 완화 과정을 문서화합니다.


취약점 상세


환경 및 설정

root@kitploit:~
OS:           Ubuntu 20.04.1
sudo version: 1.8.31-1ubuntu1 (취약)
libc version: 2.31
User:         루트가 아닌 계정

취약 상태를 재현하려면:

root@kitploit:~
sudo apt install sudo=1.8.31-1ubuntu1

취약점 작동 방식

이 취약점은 sudo가 sudoedit 모드로 실행될 때, 정교하게 조작된 명령줄 인자가 내부 힙 버퍼를 오버플로우하여 발생합니다.

익스플로잇은 메모리 분석을 통해 미세 조정된 네 가지 주요 파라미터를 사용합니다:


익스플로잇 구조

exploit_launcher.c — 메인 익스플로잇

다음 5단계로 취약점을 트리거합니다:

  1. 대상 지정(Target Specification) — Ubuntu 20.04.1, sudo 1.8.31, libc-2.31에 대해 계산된 하드코딩된 값
  2. 인자 구성(Argument Construction) — 역슬래시가 포함된 조작된 명령줄 인자를 생성하여 오버플로우를 유발
  3. 환경 설정(Environment Setup) — 환경을 역슬래시로 채우고 악성 라이브러리를 로드하기 위한 특수 문자열을 설정
  4. 로케일 변수(Locale Variable) — LC_ALL을 조작하여 힙 메모리 레이아웃을 제어
  5. 실행(Execution) — 악성 인자와 환경을 사용하여 sudoedit 호출

exploit_payload.c — 악성 페이로드

익스플로잇 성공 시 _init 함수를 통해 자동 실행:

  1. 모든 사용자/그룹 ID를 0(root)으로 설정
  2. 루트 셸 실행

익스플로잇 결과

root@kitploit:~
$ make
$ ./exploit_it

[!] CVE-2021-3156 Exploit
[+] Target: Ubuntu 20.04.1 (sudo 1.8.31, libc-2.31)
[+] Parameters: A=56, B=54, Nulls=63, LC_ALL=212
[+] Launching exploit...
[+] Exploit successful. Root privileges obtained.
# whoami
root

✅ 권한 없는 사용자에서 루트로의 권한 상승 성공.


완화 및 패치 검증

sudo를 패치된 버전으로 업그레이드:

root@kitploit:~
sudo apt install sudo=1.8.31-1ubuntu1.5

업그레이드 후 동일한 익스플로잇은 실행 실패하였으며 루트 권한이 부여되지 않았습니다. 이로써 패치가 효과적임을 확인할 수 있습니다.

핵심 요점: sudo와 같은 시스템 유틸리티를 최신 상태로 유지하는 것은 권한 상승 공격을 방지하는 데 중요합니다.


파일

root@kitploit:~
├── exploit_launcher.c    # 메인 익스플로잇 (힙 오버플로우 트리거)
├── exploit_payload.c     # 악성 페이로드 (루트 셸 실행)
├── libnss_X/             # 익스플로잇 중 로드되는 악성 라이브러리
└── Makefile              # 빌드 구성

빌드 및 실행

root@kitploit:~
# 빌드
make

# 익스플로잇 실행
./exploit_it

참고 자료

  • Qualys Security Advisory
  • NVD – CVE-2021-3156

도구 다운로드
속성상세
CVE IDCVE-2021-3156
별칭Baron Samedit
유형힙 기반 버퍼 오버플로우
구성 요소sudo (sudoedit 모드)
영향로컬 권한 상승 (루트)
영향 받는 버전sudo ≤ 1.8.31 (Ubuntu), ≤ 1.9.5p1 (기타)
패치된 버전sudo 1.8.31-1ubuntu1.5
CVSS 점수7.8 (높음)
파라미터크기목적
A56 바이트초기 버퍼 오버플로우
B54 바이트두 번째 힙 청크 오버플로우
Nulls63 바이트메모리 정렬 구조화
LC_ALL212 바이트환경 변수를 통한 힙 레이아웃 제어