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

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

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

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

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
RootRemover — CVE-2026-31431을 사용하여 루트 비밀번호를 일시적으로 제거합니다 | Kitploit
도구/GitHubGitHub/st4rburn/rootremover
Privilege EscalationVulnerability AnalysisExploitationPost-ExploitationPenetration TestingRed Teaming
GitHubst4rburn/rootremover

RootRemover

CVE-2026-31431을 사용하여 루트 비밀번호를 일시적으로 제거합니다

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

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

[!WARNING] 소유하고 있거나 테스트 권한이 있는 시스템에서만 사용하십시오.

RootRemover (CVE-2026-31431)

루트 비밀번호를 일시적으로 제거하며, CVE-2026-31431을 사용하여 현재 사용자의 비밀번호를 모르더라도 아키텍처에 관계없이 루트로 권한 상승할 수 있도록 합니다.

책임감 있게 사용하십시오. 테스트 권한이 있는 시스템에서만 사용하십시오. 이 방법이 시스템에서 지원되는지 여부는 다를 수 있지만, 제가 테스트한 모든 Debian 기반 배포판에서 작동했습니다.

이 PoC는 기본적으로 /etc/passwd에서 UID를 모두 0으로 바꾸어 루트 권한을 부여하는 방식입니다. 이 방법은 대신 루트의 비밀번호를 제거하므로 su를 실행하면 즉시 루트 권한을 얻을 수 있습니다. 이는 안정성을 위해 사용자 계정을 그대로 유지하며, 시스템의 모든 사용자가 정리될 때까지 권한 상승이 가능하다는 단점이 있습니다. 바이너리 수정이 아니므로 모든 아키텍처에서 작동해야 합니다(Aarch64 및 x64 테스트 완료).

사용법

root@kitploit:~
python exploit.py [ --shell | --clean | --noclean ]

인수 없이 실행하면 프로그램이 실행되어 /etc/passwd를 변경한 후 되돌립니다.

  • --noclean은 완료 후 변경 사항이 되돌려지지 않도록 방지합니다.
  • --clean은 이전 실행의 정리만 수행하며, 익스플로잇을 실행하지 않습니다.
  • --shell은 정리하지 않지만 익스플로잇 실행 후 su로 루트 셸을 실행합니다.
image

무엇이 변경되나요?

image

에서

image

비밀번호가 /etc/shadow에 저장되어 있음을 나타내는 'x'를 제거하면 사용자에게 비밀번호가 전혀 없는 것으로 처리되어 쉽게 로그인할 수 있습니다.

사용 시기

제가 이 글을 쓸 당시에는 CopyFail에 대한 잘 알려진 PoC만 있었습니다. 하나는 SUID 실행 파일을 덮어쓰는 것이고, 다른 하나는 사용자의 UID를 0으로 바꾸는 것이었습니다. 시스템을 테스트하는 경우 이 두 가지 모두 상당히 다른 사용 사례가 있습니다. SUID 덮어쓰기는 시스템 아키텍처에 맞춘 셸코드가 필요하며, UID 수정은 현재 사용자의 비밀번호로 재인증해야 하는데, 이를 모를 수도 있습니다. RootRemover는 이러한 요구 사항이 문제가 될 때 종종 사용할 수 있습니다.

이 도구는 www-data와 같은 nologin 사용자로 셸을 획득한 경우를 위해 설계되었으며, 알려진 비밀번호가 있거나 셸코드를 준비할 수 있을 정도로 아키텍처를 잘 아는 시스템을 위한 것이 아닙니다.

이 방법의 장점:

  • 현재 사용자 비밀번호를 알 필요가 없음
  • 아키텍처에 독립적
  • 현재 UID에 관계없이 작동
  • 사용자의 UID를 그대로 유지함(시스템에서 사용자 계정으로 다른 작업을 실행할 때 안정성 보장, 실수로 루트로 파일을 쓰는 것을 방지)
  • SUID 바이너리에 셸코드를 작성할 필요가 없음 (해당 프로그램에 문제를 일으킬 수 있음)

이 방법의 단점:

  • 루트의 비밀번호 필드에 '*LK*' 또는 '*NP*'가 없어야 함 (연쇄 쓰기로 수정 가능하지만 구현할 시간이 없었음)
  • 권한 상승이 su의 명령줄을 통해 더 쉽게 식별될 수 있음(인수 없음은 항상 루트를 의미하며, UID 패치 PoC는 로그에서 자신의 사용자로 전환한 것처럼 보임)
  • 누구나 루트로 로그인할 수 있으며, 이전 버전에서는 여전히 비밀번호가 필요했습니다.
  • 주로 Debian 기반 배포판에서 작동하는 것으로 보입니다. PAM 규칙의 차이와 /etc/passwd 또는 /etc/shadow 중 어느 것을 먼저 적용하는지에 따라 OS에서 작동 여부가 달라집니다.

크레딧

실제 익스플로잇 코드는 rootsecdev의 저장소에서 가져왔으며, 위에서 설명한 이유로 쓰여지는 바이트를 주로 변경했습니다.

도구 다운로드