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

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

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

피드문의개인정보© 2026 Kitploit

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
opnsense-lockout-factory-ip — OPNsense 26.7.6 - 높음 - 원격 - 권한 잔존 - 팩토리 잠금 IP | Kitploit
도구/GitHubGitHub/abraxas/opnsense-lockout-factory-ip
Vulnerability AnalysisExploitationSecurity VirtualizationNetwork SecurityPenetration TestingPapers & ResearchLabs & Practice
GitHubabraxas/opnsense-lockout-factory-ip

opnsense-lockout-factory-ip

OPNsense 26.7.6 - 높음 - 원격 - 권한 잔존 - 팩토리 잠금 IP

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

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

Abraxas Labs - opnsense-lockout-factory-ip

abraxaslabs.tech  ·  github.com/abraxas  ·  @abraxas_null  ·  [email protected]  ·  opnsense-lockout-factory-ip

opnsense-lockout-factory-ip

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

OPNsense core 26.7.6 (a842fe48) - opnsense.org

인증되지 않은 WebGUI 로그인은 여전히 소켓 IP가 없는 팩토리 LOG_AUTH 라인에서 lockout_handler를 구동합니다. GHSA-2v2x는 CRLF 분할을 차단하고 lockout IP 선택을 마지막 토큰으로 전환하여 authgui.inc의 후행 from REMOTE_ADDR이 우선하도록 했습니다. AuthenticationFactory::authenticate()는 여전히 주소 접미사 없이 원시 사용자 이름을 syslog()에 기록합니다. lockout False 구문과 IPv4 토큰에 일치하는 사용자 이름이 해당 라인의 마지막(유일한) 주소가 됩니다. 기본 5회 간격 시도 후: pfctl -t sshlockout -T add 및 pfctl -k. 기본값: lockout 켜짐, LAN GUI.

ID아직 CVE 없음
분류권한 잔여
도달 범위원격 (인증되지 않은 WebGUI 로그인 POST)
CWECWE-117 / CWE-863
CVSS높음: 7.5 CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
제품OPNsense core (Deciso B.V.)
영향받음OPNsense core 26.7.6 (a842fe48c21288d11a422cb944678e8eb308becf) AuthenticationFactory / lockout_handler
인증인증 불필요. GET /에서 CSRF 쿠키 + 토큰.
라이선스GNU Affero GPL v3.0
랩127.0.0.1 전용

태그 26.7.6을 고정했습니다. 랩은 고정된 lockout_handler와 PATH 스텁 pfctl, 루프백 아이덴티티 127.0.0.1:18800으로 구성됩니다. 이것은 CRLF가 아닙니다. 하나의 PHP syslog 레코드는 하나의 핸들러 라인으로 유지됩니다. Last-IP는 authgui 템플릿에는 올바른 강화였지만 팩토리 템플릿에는 잘못된 강화였습니다.

공격자가 할 수 있는 일

방법싱크권한
인증되지 않은 팩토리 LOG_AUTH 사용자 이름에 lockout False 구문과 IPv4 토큰 포함 (6개의 간격을 둔 라인)lockout_handler 고정 -> 스텁 pfctl -t sshlockout -T add 및 pfctl -k무결성 (랩 입증): 테이블 sshlockout 및 상태 킬 argv. 랩: planted=203.0.113.77.
동일한 plant, 라이브 pffilter.lib.inc:293-314 from <sshlockout> to (self) 포트 22/GUI가용성 (추론): plant된 호스트로부터의 새로운 TCP 22/GUI 드롭; pfctl -k는 해당 IP로부터의 기존 상태를 해제합니다.
IPv4만 있는 동일한 사용자 이름 (False 구문 없음)lockout_handler부정 (랩 입증): 테이블 추가 없음. negative-ip-only=no.
후행 from REMOTE_ADDR이 있는 authgui 라인last-IP 파서자체 IP의 무결성 (랩 입증): authgui 마지막 토큰은 198.51.100.10으로 유지됩니다.
실패한 로그인 본문없음정찰 (랩 입증, 차단됨): 기존 "Wrong username or password." 사용자 열거 없음.

랩 입증 vs 추론: 팩토리 plant, 사용자 이름 전용 부정, authgui last-IP는 랩 SUCCESS입니다. 라이브 pf 차단과 라이브 세션 킬은 추론입니다. lockout_handler 고정은 변경 없이 복사됨; syslog-ng와 WebGUI POST는 스텁됨.

요구 사항: 인증되지 않은 WebGUI 로그인 POST. GET /에서 CSRF 쿠키 + 토큰. Lockout 켜짐 (system.no_sshlockout 미설정). 기본 설치.

차단된 상태로 유지되는 인접 표면

표면랩
인증되지 않은 세션 / root / config.xml 쓰기차단됨
외부 IP를 plant하는 authgui 라인마지막 토큰은 REMOTE_ADDR (authgui-last-ip=198.51.100.10)
CRLF 추가 readline()GHSA-2v2x 재작성; 하나의 레코드는 한 라인으로 유지
빈 비밀번호 로그인authgui.inc는 비어 있지 않은 비밀번호를 요구
authgui 라인의 CVE-2026-44195 성공 키워드 리셋실패 규칙이 먼저
26.7.6 Omar Habra pfctl -k str(ip) TypeError이미 이 핀에 존재
DNS/게이트웨이 목적지로서의 Planted IP규칙은 from <sshlockout> to (self) 포트 22/GUI 전용

로그인 스킵 없음. RCE 없음. config.xml 재작성 없음. 세션을 생성하지 않음.

랩

cd lab
./run.sh

루프백 127.0.0.1:18800. Compose 프로젝트 opnsense-lockout-factory-ip. 이미지 태그 opnsense-lockout-factory-ip:26.7.6. Witness OPNSENSE-LOCKOUT-FACTORY-IP-WITNESS. 마지막 라인:

SUCCESS opnsense-lockout-factory-ip planted=203.0.113.77 table=sshlockout negative-ip-only=no authgui-last-ip=198.51.100.10 OPNSENSE-LOCKOUT-FACTORY-IP-WITNESS

수정

팩토리 syslog(LOG_AUTH) 템플릿에 소켓 IP를 추가하세요, authgui.inc와 동일한 후행 from REMOTE_ADDR을 사용합니다. 또는 핸들러 자체의 피어에서 오지 않은 lockout IP를 무시하세요. last-token을 "클라이언트 주소"의 대체물로 취급하지 마세요.

참고

  • github.com/opnsense/core a842fe48c21288d11a422cb944678e8eb308becf
  • AuthenticationFactory.php
  • lockout_handler
  • 명명된 워크 (이 잔여가 아님): GHSA-2v2x CRLF first-IP plant
  • CWE-117 / CWE-863
도구 다운로드