Skip to content
KitploitKITPLOIT
도구익스플로잇블로그
Log in
제출
도구익스플로잇블로그
제출

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

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

피드문의개인정보© 2026 Kitploit

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
opnsense-uidfield-system-uid0 — OPNsense 26.7.6 - 높음 - 원격 - 권한 잔여 - UidField uid 0 | Kitploit
도구/GitHubGitHub/abraxas/opnsense-uidfield-system-uid0
Authentication & AuthorizationPrivilege EscalationVulnerability AnalysisExploitationSecurity VirtualizationWeb SecurityPenetration TestingLabs & Practice

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유
GitHubabraxas/opnsense-uidfield-system-uid0

opnsense-uidfield-system-uid0

OPNsense 26.7.6 - 높음 - 원격 - 권한 잔여 - UidField uid 0

저장소 보기
2일 전아직 검토되지 않음

Abraxas Labs - opnsense-uidfield-system-uid0

abraxaslabs.tech  ·  github.com/abraxas  ·  @abraxas_null  ·  [email protected]  ·  opnsense-uidfield-system-uid0

opnsense-uidfield-system-uid0

분류: 권한 잔존 도달 범위: 원격

OPNsense core 26.7.6 (a842fe48) - opnsense.org

위임된 page-system-usermanager가 scope=system을 먼저, 그다음 uid=0을 두 단계로 처리합니다. UidField::setValue는 scope가 system이 아닐 때만 2000+를 자동 할당합니다. setNodes는 scope보다 uid를 먼저 적용하므로 한 번의 add로는 0을 찍을 수 없습니다. 두 번째 POST는 가능합니다. 그다음 auth sync user가 홈 /root, 그룹 wheel로 pw useradd -o -u 0을 실행합니다. authorized keys는 /root/.ssh/authorized_keys에 들어갑니다. 권한은 System: Access: Management이며, page-all이 아닙니다.

ID아직 CVE 없음
분류권한 잔존
도달 범위원격 (인증된 WebGUI / Local API key)
CWECWE-269 / CWE-284
CVSSHigh: 8.8 CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
제품OPNsense core (Deciso B.V.)
영향받음OPNsense core 26.7.6 (a842fe48c21288d11a422cb944678e8eb308becf) UidField / user-manager
인증page-system-usermanager가 있는 WebGUI 세션 또는 Local API key
라이선스GNU Affero GPL v3.0
랩127.0.0.1 전용

저는 태그 26.7.6 "Xenial Xenops"를 고정했습니다. 랩은 고정된 UidField::setValue와 local_user_set의 PHP 가젯이며, 루프백 아이덴티티는 127.0.0.1:18810입니다. stable/26.7은 2026-10-09에 ea4f01fe로 UID-0 쓰기를 되돌렸습니다. 그 되돌림은 이 핀이 아닙니다. GHSA는 없습니다.

공격자가 할 수 있는 일

방법싱크권한
두 단계 add scope=system 후 uid=0 설정 후 auth sync user핀 UidField::setValue 후 스텁 pw useradd -o -u 0 (auth.inc:345-397)무결성 (랩 입증): 두 번째 Unix UID 0, 홈 /root, 그룹 wheel. 랩: after-add=2000 after-set=0 pw-o-u0=yes.
동일한 set + authorizedkeysfile_put_contents /root/.ssh/authorized_keys (auth.inc:407-416)무결성 (랩 입증): /root/.ssh/authorized_keys에 witness.
sshd가 켜져 있다면 해당 이름으로 SSH (AllowGroups wheel; PermitRootLogin은 비-root 사용자 이름에는 적용되지 않음)sshd정찰 + 무결성 (추정): 새 wheel 이름으로 로그인, /root 읽기. 가젯은 sshd를 시작하지 않았음.
동일한 POST를 scope=user uid=0으로UidField가 2000+ 자동 할당부정 (랩 입증): uid는 2000으로 유지. scope-user-uid0-ignored=yes.
set 기본 root uuid uid=80pw usermod -u 80무결성 + 가용성 (추정): 기본 root를 UID 0에서 이동. 가젯은 root를 usermod하지 않았음.
set root uuid name=hax + scope=user이름 변경 검사 건너뜀; 새 이름에 auth sync user무결성 (추정): 26.7.6 검사가 막으려던 시스템 사용자 이름 변경.

랩 입증 vs 추정: 두 단계 UID 0, pw useradd -o -u 0, keys 경로, scope=user 무시는 랩 SUCCESS입니다. 라이브 sshd 수락과 기본 root usermod/rename은 추정입니다. 전체 OPNsense VM이 아닌 가젯입니다.

요구 사항: page-system-usermanager가 있는 WebGUI 세션 또는 Local API key. 세션 경로에서는 CSRF. page-all이 아닙니다. 기본 config.xml.sample은 그룹 admins에만 page-all을 부여합니다.

닫힌 채로 유지되는 인접 표면

표면랩
page-system-usermanager 없는 POST /api/auth/user/*ACL 닫힘
user-config-readonlysave()는 여전히 throwReadOnly()
CSV 업로드uid/scope 제거
CVE-2026-44194 email-as-shellmwexecf %s + email regex
비밀번호 페이지세션 바인딩
동일한 POST를 하는 page-all이 핀의 변경 로그 기능
비인증닫힘
master.passwd에 *가 있는 Unix su설치 프로그램이 강제하지 않는 한 GUI 해시는 config.xml에 유지

비인증 없음. page-all 필요 없음. 26.7.6은 system-scope 사용자에 대해 선택된 UID를 관리자 기능으로 제시했습니다. 일치하지 않는 경로는 page-all 없는 위임된 user-manager입니다.

랩

cd lab
./run.sh

루프백 127.0.0.1:18810. Compose 프로젝트 opnsense-uidfield-system-uid0. 핀 26.7.6의 이미지. Witness OPNSENSE-UIDFIELD-SYSTEM-UID0-WITNESS. 마지막 줄:

SUCCESS opnsense-uidfield-system-uid0 two-step-uid=0 scope-user-uid0-ignored=yes pw-o-u0=yes keys=/root/.ssh/authorized_keys OPNSENSE-UIDFIELD-SYSTEM-UID0-WITNESS

수정

호출자가 전체 관리자가 아닌 한 UID 0(및 충돌하는 서비스 UID)을 거부하십시오. setNodes에서 uid보다 scope를 먼저 적용하거나, 둘 다 뒤집는 POST를 거부하십시오. 26.7.6 이름 변경 검사를 게시된 scope가 아닌 setNodes 이전 scope에 유지하십시오. ea4f01fe는 나중에 stable/26.7에서 UID-0 쓰기를 되돌렸습니다; 그 커밋은 이 핀이 아닙니다.

참고

  • github.com/opnsense/core a842fe48c21288d11a422cb944678e8eb308becf
  • UidField.php
  • auth.inc local_user_set
  • 명명된 페이지 (이 잔존 아님): CVE-2026-44194 / GHSA-f59w email-as-shell
  • 이후 되돌림 (이 핀 아님): stable/26.7의 ea4f01fe
  • CWE-269 / CWE-284
도구 다운로드