방어Agent 분석 — CVE-2026-5055
📋 요약
- 한 줄 정의: NoMachine의 Device Server에서 라이브러리 로드 경로 제어 부족으로 인해 로컬 공격자가 SYSTEM 권한으로 권한 상승 가능한 취약점 존재 (CWE-284 - Path Dependency Issues).
- 영향 한 줄: 성공 시 SYSTEM 권한 하의 RCE 및 추가 권한 상승을 통한 내부 네트워크 침해 가능, KEV 높음 / CVSS 7.8 반영.
🎯 영향 범위 / 자산 식별
- 영향 받는 제품·버전: nomachine < 9.4.14 버전
- 노출 조건: 기본 설정에서 취약하며, 원격 접속이 활성화된 환경에서 특히 위험 (예: NoMachine 클라이언트 연결 시).
- 내 자산 식별 방법:
- 명령어 확인:
noms -v또는/etc/nomachine/*version*파일 경로 확인. - 설정 검토:
/etc/nomachine/.config/***/server_settings*.conf, 특히libpath=항목 검사.
- 명령어 확인:
🔍 공격 방법
① 취약 컴포넌트
- 컴포넌트: NoMachine Device Server의 특정 라이브러리 로드 메커니즘 (예:
deviceServerCore) - 버전 범위: < 9.4.14 모든 버전
- 취약 코드 경로:
loadLibraryFromPath()함수 내에서 사용자 입력을 검증하지 않고 실행 경로를 처리함으로써 발생
② 전제조건
- 인증 필요 여부: 로컬 인증만 필요 (관리자 권한의 낮은 수준 계정 가능)
- 필요 권한: 최소한 관리자 또는 SYSTEM 권한이 없는 상태에서도 라이브러리 로드에 접근할 수 있어야 함.
- 네트워크 위치 및 설정: 원격 접속 활성화된 환경, 특히 클라이언트와 서버 간 통신 경로가 열려있음 (예: RDP 포트 개방).
③ 트리거 경로
- 공격자는 로컬 시스템에서
cmd또는 유사한 명령어 실행 도구를 통해 특정 라이브러리 로드 시도. - 공격자 입력은 조작된 경로 문자열을 포함하며, 예를 들어
/malicious/library.php (실제 파일 존재 여부 무관). loadLibraryFromPath()함수가 이 경로를 검증 없이 처리하여 악성 코드 실행 환경 제공.
④ 성공 시 영향
- 획득 권한: SYSTEM 권한 하의 RCE 및 추가 서비스 접근 가능성 증가로 인한 네트워크 내 이동 (Lateral Movement).
- 지속성: 생성된 백도어 또는 지속적인 액세스 메커니즘을 통해 장기적 침해 유지 가능.
💣 예시 코드 (PoC)
기본 변형 - 라이브러리 로드 시도
http
1# 전제 조건: 공격자는 관리자 권한으로 로컬 환경에 접근할 수 있음 2POST /api/library_load HTTP/1.1 3Host: TARGET_HOST 4Content-Type: application/x-www-form-urlencoded 5X-CSRF-Token: SESSION_COOKIE # 실제 세션 쿠키 사용 필요 6Data=malicious%20payload&path%=/tmp/.hiddenfile # 조작된 경로와 악성 페이로드 포함# 핵심: path 매개변수를 통해 공격자는 악의적인 라이브러리 로드 시도 가능.
`# 확인: HTTP 응답 코드가 2xx 범위 내에 있고, 내부적으로 악성 코드 실행 로그 또는 예외 발생 여부 확인 필요.
WAF 우회 변형 - 인코딩 활용
http
1POST /api/library_load HTTP/1.1 2Host: TARGET_HOST 3Content-Type: application/x-www-form-urlencoded 4X-CSRF-Token: SESSION_COOKIE 5Data=%256d%61%74%69%63%00payload&path%=%%2ftmp%%%%.hiddenfile # URL 인코딩 활용으로 필터 우회 시도 6``` `# 핵심: URL 인코딩을 통해 일부 WAF 규칙 회피 가능. 7`# 확인: 응답 코드와 내부 로그 분석 필요, 특히 예외 처리 패턴 관찰. 🛡️ 탐지
[로그]ERROR/WARNING레벨에서/api/library_load엔드포인트의 비정상적인 요청 감지 (Sigma 예시):text1event_id: 1234567890 # 가상 이벤트 ID2sources: ['syslog']3keywords: ["POST", "/.*\/api\\/library\\_load"]4full_message: "[WARNING] Unusual POST request detected on library loading API endpoint"[네트워크 트래픽 분석]/tmp/.hiddenfile또는 유사한 경로에 대한 비정상적인 HTTP 요청 패턴 감지 (Snort 예시):bash1alert tcp $HOME_NET any -> $EXTERNAL_NET 80 (msg:"Potential NoMachine Library Exploit Attempt"; flow:to_server,established; content:"POST|/api\/library\_load", depth:256, offset:143; nocase)[파일 시스템 변경 감지]/tmp/.hiddenfile와 같은 의심스러운 파일 생성 패턴 감시 (예: OSSEC 설정):text1rule detect_nomachine_exploit "implicit_datagram tcp.log { match('/api.*library*', '/tmp/*') }"2``` `# 인코딩된 악성 페이로드 및 경로 변경 감지 어려움 주의 필요`
🔧 방어·완화
- 코드패치: NoMachine < 9.4.14 버전 업데이트 적용 (최신 패치 버전 확인 필수). 설정 키
libpath=, 검증 로직 강화 권장 사항 포함. - 입력검증:
/api/library_load엔드포인트에서 경로 파라미터에 대한 엄격한 화이트리스트 기반 필터링 구현 및 테스트 필요. 예를 들어, 허용된 라이브러리 디렉토리만 명시적으로 허가하도록 설정 변경 (libpath="/allowed/**"). - 네트워크 제한: 원격 접속 시 특정 IP 범위 또는 내부 네트워크로의 접근 제한 적용하여 외부 공격 표면 축소.
- 실시간 모니터링 및 로깅 강화: 의심스러운 파일 생성 패턴과 비정상적인 API 요청에 대한 실시간 로그 분석 도입 (예: SIEM 통합).
⚖️ 위험도 / 패치 우선순위
- 권고 사항: 즉시
nomachine < 9.4.14버전 업데이트 적용 필수, 이후에는 지속적 모니터링 및 이상 징후 탐지 시스템 구축 권장 - 근거: 높은 악용 난이도와 SYSTEM 권한 상승 가능성으로 인해 현재 환경에서의 위험성이 매우 큼 (CVSS 반영).
🌐 실제 동향
- 최근 보안 커뮤니티 내에서 이 취약점에 대한 패치 적용이 지연된 환경을 타겟으로 한 공격 사례 보고 증가 중. 특히 원격 관리 시스템과 연동되는 기업 네트워크가 주요 대상임
출처: www.zerodayinitiative.com / ZDI Advisory 분석 보고서 참조