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

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

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

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

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
도구/GitHubGitHub/safebreach-labs/forgottenbutnotgone
Privilege EscalationVulnerability AnalysisExploitationPenetration TestingRed Teaming
GitHubsafebreach-labs/forgottenbutnotgone

ForgottenButNotGone

Samba의 인증되지 않은 RCE 2건(CVE-2026-4408 및 CVE-2026-4480)과 TelnetD의 로컬 권한 상승(CVE-2026-28372)을 위한 개념 증명 스크립트

저장소 보기

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유
111개월 전아직 검토되지 않음

잊혔지만 사라지지 않은

이 저장소에는 Black Hat USA 2026과 DEF CON 34에서 발표된 "잊혔지만 사라지지 않은: 레거시 Linux 서비스의 인증 없는 RCE 및 LPE" 프레젠테이션에서 소개된 취약점들에 대한 개념 증명(PoC) 스크립트가 포함되어 있습니다.

CVE-2026-28372

TelnetD의 로컬 권한 상승: 권한이 없는 공격자는 TelnetD의 환경 변수 기능을 악용하여 루트 권한 셸을 획득할 수 있습니다. 설계상, 그리고 해당 RFC에 따르면 Telnet 프로토콜은 클라이언트가 셸 세션에 대한 환경 변수를 설정할 수 있게 합니다. 이 기능은 보안 관점에서 제대로 설계되지 않았습니다. 이 서비스는 인증되지 않은 클라이언트가 telnetd 프로세스 자체와 그 모든 하위 프로세스에 대한 환경 변수를 설정하도록 허용했습니다. 그 하위 프로세스 중 하나는 /usr/bin/login입니다. 원격 telnet 클라이언트로서 환경 변수를 설정함으로써 "CREDENTIALS_DIRECTORY" 환경 변수와 함께 /usr/bin/login을 실행할 수 있었습니다. 이로 인해 login 프로세스는 "CREDENTIALS_DIRECTORY"가 지정한 디렉터리에서 "login.noauth"라는 파일을 검색하게 됩니다. 파일에 "yes" 문자열이 포함되어 있으면 login 프로세스는 인증을 건너뛰고 클라이언트가 지정한 사용자로 실행되는 셸을 클라이언트에게 제공합니다. 클라이언트가 지정한 사용자는 무엇이든 될 수 있으며 root도 가능합니다.

CVE-2026-4408

SAMR을 통한 Samba의 인증 없는 원격 코드 실행: Samba는 구성 파일(smb.conf)에 설정된 셸 명령을 사용하여 새 네트워크 공유 추가, 새 프린터 추가 등 클라이언트가 요청한 다양한 작업을 수행합니다. 이러한 셸 명령 중 일부는 클라이언트가 보낸 요청에 따라 매개변수를 전달받습니다. 대부분의 경우 명령을 실행하기 전에 셸 주입을 방지하기 위해 매개변수를 삭제하고 특수 문자를 이스케이프합니다.

취약점은 "check_password_complexity" 함수에 있으며, 이 함수는 클라이언트가 지정한 문자열을 삭제하지 않고 셸 명령으로 포맷합니다. 이 취약점이 발생하려면 두 가지 조건이 필요합니다:

  1. "check password script"가 "%u" 매개변수로 명령을 실행하도록 구성되어 있어야 합니다.
  2. 서비스가 TCP를 통한 RPC 요청을 수락하도록 NCACN_IP_TCP 프로토콜 시퀀스를 사용하도록 구성되어 있어야 합니다.
호출이 "check_password_complexity" 함수에 도달하면 "SAM_VALIDATE_PASSWORD_CHANGE_INPUT_ARG" 구조체의 "UserAccountName" 필드가 "check password script" 명령의 "%u" 매개변수로 포맷되는 사용자 이름으로 사용됩니다. 그런 다음 전체 명령줄은 "smbrunsecret" 함수로 전달되며, 이 함수는 "escape_shell_string"을 호출하지 않고 명령을 실행합니다.

samba의 RPC 데몬(samba-dcerpcd)을 NCACN_IP_TCP로 구성하려면 메인 samba 서비스의 일부가 아닌 별도의 시스템 서비스로 실행해야 합니다. 또한 구성 파일의 "rpc start on demand helpers" 옵션을 "no"로 설정해야 합니다.

CVE-2026-4480

SPOOLSS를 통한 Samba의 인증 없는 원격 코드 실행: generic_job_submit 함수도 클라이언트가 제어하는 문자열을 삭제하지 않고 셸 명령으로 포맷합니다. 다음 구성들의 조합으로 이 취약점이 발생합니다:

  1. 서버가 프린터 공유를 노출합니다.
  2. "printing" 구성이 IPRINT나 CUPS 외의 다른 값으로 설정되어 있습니다.
  3. "print command" 구성에 작업 이름을 포맷하는 "%J"가 포함되어 있습니다.

인증되지 않은 클라이언트는 spoolss RPC 인터페이스를 통해 프린터 공유에 대한 접근을 요청할 수 있습니다. 그런 다음 RpcStartDocPrinter 함수를 통해 인쇄 작업을 제출할 수 있습니다. 요청에 지정된 문서 이름은 명령의 "%J" 매개변수로 포맷되는 작업 이름으로 사용됩니다. hRpcEndDocPrinter를 호출하면 generic_job_submit이 트리거되어 작업 이름을 삭제 없이 포맷한 후 구성의 "print command"를 실행합니다. 익스플로잇이 보낸 코드는 "nobody" 사용자로 실행됩니다. 프린터 공유 섹션에 "valid users = @users" 구성이 추가되면 익스플로잇은 여전히 동작하지만 유효한 자격 증명이 필요합니다. 인증이 수행된 경우 익스플로잇이 보낸 코드는 "nobody"가 아닌 인증된 사용자로 실행됩니다.

Credits

  • Ron Ben Yizhak

References

  • CVE-2026-24061
도구 다운로드