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

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

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

피드문의개인정보© 2026 Kitploit

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
pfsense-qinq-parent-if — pfSense CE 2.9.0-DEVELOPMENT - 높음 - 원격 - RCE - QinQ parent-if ifconfig | Kitploit
도구/GitHubGitHub/abraxas/pfsense-qinq-parent-if
Vulnerability AnalysisExploitationWeb Application ExploitationNetwork SecurityPenetration TestingCommand and ControlRemote Access Tool
GitHubabraxas/pfsense-qinq-parent-if

pfsense-qinq-parent-if

pfSense CE 2.9.0-DEVELOPMENT - 높음 - 원격 - RCE - QinQ parent-if ifconfig

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

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

Abraxas Labs - pfsense-qinq-parent-if

abraxaslabs.tech  ·  github.com/abraxas  ·  @abraxas_null  ·  [email protected]  ·  pfsense-qinq-parent-if

pfsense-qinq-parent-if

Class: RCE Reach: Remote

pfSense CE 2.9.0-DEVELOPMENT (9363ac5) - pfsense.org

QinQ 편집은 does_interface_exist 검사 없이 부모 인터페이스 이름을 저장합니다. VLAN 편집은 이미 실제 인터페이스가 아닌 부모를 거부합니다. Form_Select는 POST를 재검증하지 않습니다. interface_qinq_configure가 조기 반환되더라도 write_config를 생성합니다. 이후 멤버 추가/제거 시 저장된 vlanif가 이스케이프되지 않은 ifconfig에 삽입됩니다. PHP exec는 /bin/sh -c입니다. WebGUI PHP-FPM은 root입니다. 권한은 Diagnostics: Command가 아닌 page-interfaces-qinq-edit입니다.

ID아직 CVE 없음
ClassRCE
ReachRemote (인증된 WebGUI)
CWECWE-78
CVSSHigh: 8.8 CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
ProductpfSense CE
Affected2.9.0-DEVELOPMENT (9363ac5b8651a1c7a333180425ce7719070f95f9) QinQ 편집
Authpage-interfaces-qinq-edit 권한이 있는 WebGUI 세션
LicenseGNU Affero GPL v3.0
Lab127.0.0.1 전용

저는 공개 master 9363ac5를 고정했습니다. 랩은 고정된 vlan_interface / interface_qinq_configure / 멤버 exec 라인의 PHP 가젯이며, 127.0.0.1:18810에서 루프백 HTTP를 사용합니다.

공격자가 할 수 있는 일

MethodSinkPrivilege
실제 인터페이스가 아닌 부모로 QinQ 생성 POST, 이후 멤버를 추가하는 편집 POSTinterface_qinq2_configure exec ifconfig vlan create ... (interfaces.inc:620)Integrity (lab-proven): /bin/sh -c를 통한 root 셸. Lab: 멤버 추가 qinq2가 witness를 기록함(member-sink=yes).
동일하게 저장된 vlanif, 멤버를 제거하는 편집 POSTexec("/sbin/ifconfig {$parent}.{$tag} destroy") (interfaces_qinq_edit.php:212)Integrity (lab-proven): 동일한 root exec. Destroy에는 IF_NAMESIZE 제한이 없음.
동일한 root 셸호스트 파일시스템Recon (inferred): config.xml, 키, 다른 테넌트. 이 페이지는 exec 출력을 표시하지 않음.
Root 셸 또는 손상된 ifconfigvlan 장치Availability (inferred): vlan 장치 생성/파괴; 데이터 플레인이 영향을 받음.

Lab-proven vs inferred: VLAN 거부, 생성 전용 no exec, 길이 16에서의 IF_NAMESIZE 차단, 멤버 추가 qinq2 witness는 lab-proven입니다. 파일시스템 정찰과 데이터 플레인 중단은 root PHP-FPM에서 추론한 것입니다.

Requires: page-interfaces-qinq-edit 권한이 있는 WebGUI 세션. CSRF 토큰. 두 번의 POST(생성, 이후 멤버 편집). 기본 admin은 해당 페이지를 가집니다. 제한된 사용자에게 이 페이지만 부여할 수 있습니다.

닫혀 있는 인접 공격 표면

SurfaceLab
VLAN 부모 존재 검사vlan-rejected=yes
QinQ 생성 전용 (부모 없음)config 저장, create-no-exec=yes
qinq2 이름 길이 16exec 전 if-namesize-block=yes
토큰 없는 Unauth / CSRFguiconfig + CSRF-magic
GIF/GRE 이름 정규식, LAGG 멤버 does_interface_exist + escapeshellarg다른 페이지
한 번도 생성되지 않은 부모의 QinQ 목록 삭제does_interface_exist($vlanif)
Diagnostics: Command함께 부여되지 않는 한 닫혀 있음

Diagnostics: Command 없음. Unauth 없음. 역사적 클래스는 CVE-2023-42326 GIF/GRE이며, 다른 페이지입니다.

Lab

cd lab
./run.sh

루프백 127.0.0.1:18810. Compose 프로젝트 pfsense-qinq-parent-if. 이미지 태그 pfsense-qinq-parent-if:2.9.0-dev. Witness PFSENSE-QINQ-PARENT-IF-WITNESS. 마지막 줄:

SUCCESS PFSENSE-QINQ-PARENT-IF vlan-rejected=yes create-no-exec=yes member-sink=yes if-namesize-block=yes PFSENSE-QINQ-PARENT-IF-WITNESS

수정 방법

QinQ 편집: VLAN 편집과 동일하게 실제 인터페이스가 아닌 부모를 거부합니다. 멤버 태그에 대한 정수 검사는 이미 존재하지만, 모든 ifconfig 전에 저장된 vlanif를 여전히 escapeshellarg해야 합니다. 멤버 삭제 destroy는 interface_qinq2_configure가 IF_NAMESIZE를 제한하는 것과 동일한 방식으로 제한해야 합니다.

참고 자료

  • github.com/pfsense/pfsense 9363ac5b8651a1c7a333180425ce7719070f95f9
  • interfaces_qinq_edit.php
  • interfaces.inc interface_qinq2_configure
  • VLAN 대조: interfaces_vlan_edit.php
  • 역사적 클래스 (GIF/GRE, 이 페이지 아님): CVE-2023-42326
  • CWE-78
도구 다운로드