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

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

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

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

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
cve-2014-0038 — CVE-2014-0038용 Linux 로컬 루트 익스플로잇 | Kitploit
도구/GitHubGitHub/saelo/cve-2014-0038
Privilege EscalationVulnerability AnalysisExploitationBinary Exploitation
GitHubsaelo/cve-2014-0038

cve-2014-0038

CVE-2014-0038용 Linux 로컬 루트 익스플로잇

저장소 보기
19940312년 전Kitploit 검토 완료

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

CVE-2014-0038 로컬 루트 익스플로잇

버그:

X86_X32 recvmmsg 시스템 콜은 사용자 공간에서 전달된 타임아웃 포인터를 제대로 검사하지 않습니다.

익스플로잇 프리미티브:

recvmmsg의 타임아웃으로 커널 주소에 대한 포인터를 전달하세요, 그 주소의 원래 바이트를 알고 있다면 알려진 데이터로 덮어쓸 수 있습니다. 최하위 바이트가 0xff이면, 255초를 기다리면 0x00으로 바뀝니다.

제한 사항:

전달된 주소의 첫 번째 long(tv_sec)은 양수여야 하며 두 번째 long(tv_nsec)은 1000000000보다 작아야 합니다.

개요:

초기화되지 않은(따라서 쓰기 가능한) 커널 메모리에 있는 ptmx_fops 구조체의 release 함수 포인터를 대상으로 합니다. 최상위 세 바이트를 0으로 만들어 사용자 공간에 매핑 가능한 주소를 가리키는 포인터로 변환합니다. release 포인터는 그 뒤에 16개의 0x00 바이트가 이어지므로(따라서 tv_nsec가 유효합니다) 사용됩니다. /dev/ptmx를 열고 닫기만 하면 됩니다.

그다지 깔끔하지는 않지만 심볼을 해석할 수 있다면 상당히 신뢰할 만할 것입니다.

Ubuntu 13.10에서 테스트함

참고: http://blog.includesecurity.com/2014/03/exploit-CVE-2014-0038-x32-recvmmsg-kernel-vulnerablity.html

실행:

/proc/kallsyms에서 주소를 가져와 익스플로잇을 실행하세요:

root@kitploit:~
./build.sh && ./timeoutpwn

원격 서버용 바이너리를 빌드하려면 다음을 시도하세요:

root@kitploit:~
ssh user@host 'cat /proc/kallsyms' > syms.txt
CFLAGS=-static ./build.sh syms.txt
scp timeoutpwn user@host:
...

kallsyms에서 ptmx_fops를 찾을 수 없으면, 헤더 패키지(Arch Linux의 linux-headers)와 함께 제공되는 vmlinux에서 추출해 보세요:

root@kitploit:~
nm /lib/modules/$(uname -r)/build/vmlinux > syms.txt
도구 다운로드