Citrix NetScaler 공격이 ADC 및 게이트웨이 장치를 대상으로 함
Detection stack
- AIDR
- Alert
- ETL
- Query
요약
위협 행위자들이 Citrix NetScaler 장비의 두 가지 제로데이 취약점을 활발히 악용하여 루트 수준 접근 권한을 얻고 있습니다. 이 캠페인에는 WHIPSHOT과 같은 맞춤형 PHP 웹 셸과 SLAPSHOT이라는 Python 기반 터널링 도구 배포가 포함됩니다. 이러한 유틸리티는 공격자들이 내부 정찰을 수행하고 보호된 네트워크 환경 내로 트래픽을 프록시하여 자격 증명을 탈취할 수 있게 합니다.
조사
Mandiant와 Google 위협 인텔리전스 그룹은 2026년 9월 말 CVE-2026-88772 및 CVE-2026-88771의 악용을 확인했습니다. 연구자들은 공격자들이 변형된 DTLS 레코드 헤더를 사용하여 NetScaler 패킷 처리 엔진에서 힙 메모리 손상을 유발한다고 밝혔습니다. 법의학 증거는 또한 지속성을 위해 수정된 httpd.conf 파일과 루트 권한을 유지하기 위해 /bin/sh에 적용된 SUID 권한을 드러냈습니다.
완화 조치
조직은 지원되는 NetScaler 14.1 및 13.1 릴리스 트랙에 대한 최신 Citrix 빌드를 설치하는 데 우선순위를 두어야 합니다. 즉각적인 패치가 불가능한 경우, 방어 팀은 가능한 경우 DTLS를 비활성화하고 상위 경계에서 인바운드 UDP/443 트래픽을 제한해야 합니다. 엄격한 외부 필터링과 영향을 받은 장비에 저장된 모든 자격 증명을 교체하는 것도 강력히 권장됩니다.
대응
침해가 의심될 경우, 조직은 영향을 받은 NetScaler 노드를 격리하고 악의적인 구성 변경 사항의 복제를 방지하기 위해 고가용성(HA) 동기화를 중지해야 합니다. 대응자는 활성 관리 및 VPN 세션을 취소하고 SSH 키 및 TLS 인증서를 포함하여 장비 비밀을 교체해야 합니다. LDAP 및 RADIUS와 같은 통합 서비스에서 사용한 자격 증명도 포괄적으로 교체해야 합니다.
공격 흐름
탐지
가능한 CVE-2026-88772 (Citrix NetScaler 메모리 오버플로 DTLS 프로토콜 처리) 악용 시도 (syslog 사용)
숨겨진 파일이 Linux 호스트에 생성되었습니다 (file_event 사용)
Nohup 사용 (cmdline 사용)
Base64 명령어 사용을 통한 방어 회피 가능성 (cmdline 사용)
크론 파일이 생성되었습니다 (file_event 사용)
탐지를 위한 IOCs (SourceIP): Citrix NetScaler ADC 및 게이트웨이 장비의 적극적인 악용 방어에 대한 대응
탐지를 위한 IOCs (DestinationIP): Citrix NetScaler ADC 및 게이트웨이 장비의 적극적인 악용 방어에 대한 대응
Citrix NetScaler 장비의 잠재적 악용 탐지 [Linux 프로세스 생성]
HTTP 헤더 및 파일 위장 [웹 서버]을 통한 Citrix NetScaler 장비의 지속성과 C2 활동
## 시뮬레이션 실행
-
공격 서사 및 명령어: 적은 Citrix NetScaler 장비에서 장기간 지속성과 은밀한 C2 채널을 확립하는 것을 목표로 합니다. 먼저, 웹 서버 구성을 수정하여
.deb파일을 PHP 스크립트로 취급함으로써 이들이 리눅스 패키지 파일로 위장한 웹 셸 업로드 및 실행을 허용합니다. 두 번째로, 그들은AliasMatch를 사용하여 악성 스크립트를 무해한.ico아이콘 파일로 위장합니다. 마지막으로, 전통적인 NIDS의 탐지를 피하기 위해, 그들의 C2 서버와의 통신에 사용자 지정 HTTP 헤더(HTTP_X_UXandHTTP_NSC_LDAP)를 일반적인 웹 요청 내에 포함하여 사용합니다. -
회귀 테스트 스크립트: 이 스크립트는 탐지 규칙이 기대하는 로그 생성을 시뮬레이트합니다. 탐지 규칙을 테스트하고 있으므로, 우리는 로그 항목 을 장비에 의해 생성된 것처럼 시뮬레이트합니다.
#!/bin/bash # 탐지 논리를 일치시키는 로그 생성을 위한 시뮬레이션 스크립트 # 1. 설정 변경 시뮬레이션: .deb 파일에 대한 AddHandler 추가 echo "$(date) NetScaler-Config: AddHandler application/x-httpd-php .deb" >> /var/log/netscaler_config.log # 2. 설정 변경 시뮬레이션: 위장을 위한 AliasMatch echo "$(date) NetScaler-Config: AliasMatch ^/vpn/media/(.+).ico$ /var/netscaler/gui/vpn/scripts/linux/$1.sig" >> /var/log/netscaler_config.log # 3. C2 트래픽 시뮬레이션: HTTP 헤더 주입 (웹 트래픽을 모방하기 위한 curl 사용) # 규칙에 식별된 특정 헤더를 주입하기 위해 -H 사용 curl -H "HTTP_X_UX: true" -H "HTTP_NSC_LDAP: active" http://localhost/index.php # 4. C2 트래픽 시뮬레이션: 숫자로 된 UX 헤더 curl -H "HTTP_X_UX_99: payload" http://localhost/index.php -
정리 명령:
# 테스트를 위해 로컬 파일에 작성된 경우, 시뮬레이션된 로그 항목 제거 sed -i '/AddHandler application/x-httpd-php .deb/d' /var/log/netscaler_config.log sed -i '/AliasMatch ^/vpn/media/(.+).ico$/d' /var/log/netscaler_config.log