Advertisement
Python253

cve_2020_3259_cisco_asa_ftd

Apr 9th, 2024
939
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 4.10 KB | None | 0 0
  1. #!/usr/bin/env python3
  2. # -*- coding: utf-8 -*-
  3. # Filename: cve_2020_3259_cisco_asa_ftd.py
  4. # Version: 1.0.0
  5. # Author: Jeoi Reqi
  6. # Vulnerability Source: https://nvd.nist.gov/vuln/detail/CVE-2020-3259
  7.  
  8. """
  9. Description:
  10. This script checks for the presence of vulnerable configurations related to the CVE-2020-3259 vulnerability
  11. on Cisco Adaptive Security Appliance (ASA) Software and Cisco Firepower Threat Defense (FTD) Software.
  12. It retrieves a list of installed software using the WMI module and compares it with a predefined list
  13. of vulnerable configurations associated with the CVE. If any vulnerable configurations are found,
  14. it displays a warning message to prompt the user to take immediate action to mitigate the vulnerability.
  15.  
  16. Requirements:
  17. - Python 3.x: The script is written in Python 3 and requires a Python interpreter of version 3 or higher to run.
  18. - WMI Module: The script uses the WMI module to interact with the Windows Management Instrumentation (WMI) API
  19.  to retrieve a list of installed software on a Windows system. Ensure that the WMI module is installed.
  20.  You can install it using pip: `pip install WMI`.
  21.  
  22. Usage:
  23. 1. Ensure Python 3.x is installed on your system.
  24. 2. Install the WMI module by running `pip install WMI`.
  25. 3. Run the script using the command `python cve_2020_3259_asa_ftd.py`.
  26. 4. The script will verify if any vulnerable configurations are installed on your machine
  27.   and provide instructions for mitigation if necessary.
  28.  
  29. Functions:
  30. - get_installed_software(): Retrieves a list of installed software on the user's machine using the WMI module.
  31. - check_for_vulnerabilities(): Compares the list of installed software with a predefined list of vulnerable
  32.  configurations and displays a warning message if any vulnerable configurations are found.
  33.  
  34. Important Notes:
  35. - The predefined list of vulnerable configurations in this script corresponds to the CVE-2020-3259 vulnerability.
  36. """
  37.  
  38. import wmi
  39.  
  40. def get_installed_software():
  41.     """
  42.    Retrieves a list of installed software on the user's machine using the WMI module.
  43.    
  44.    Returns:
  45.        list: A list containing the names of installed software.
  46.    """
  47.     c = wmi.WMI()
  48.     installed_software = []
  49.     for item in c.Win32_Product():
  50.         installed_software.append(item.Caption)
  51.     return installed_software
  52.  
  53. def check_for_vulnerabilities():
  54.     """
  55.    Compares the list of installed software with a predefined list of vulnerable configurations
  56.    and displays a warning message if any vulnerable configurations are found.
  57.    """
  58.     installed_software = get_installed_software()
  59.     vulnerable_versions = [
  60.         "Cisco Firepower Threat Defense 6.2.3 up to (excluding) 6.2.3.16",
  61.         "Cisco Firepower Threat Defense 6.3.0 up to (excluding) 6.3.0.6",
  62.         "Cisco Firepower Threat Defense 6.4.0 up to (excluding) 6.4.0.9",
  63.         "Cisco Firepower Threat Defense 6.5.0 up to (excluding) 6.5.0.5",
  64.         "Cisco Adaptive Security Appliance (ASA) Software 9.8 up to (excluding) 9.8.4.20",
  65.         "Cisco Adaptive Security Appliance (ASA) Software 9.9 up to (excluding) 9.9.2.67",
  66.         "Cisco Adaptive Security Appliance (ASA) Software 9.10 up to (excluding) 9.10.1.40",
  67.         "Cisco Adaptive Security Appliance (ASA) Software 9.12 up to (excluding) 9.12.3.9",
  68.         "Cisco Adaptive Security Appliance (ASA) Software 9.13 up to (excluding) 9.13.1.10"
  69.     ]
  70.     vulnerable_installed = [software for software in installed_software if software in vulnerable_versions]
  71.     if vulnerable_installed:
  72.         print("\nWarning:\nThe following vulnerable configurations are installed on your machine:")
  73.         for software in vulnerable_installed:
  74.             print("- " + software)
  75.         print("\nPlease take immediate action to mitigate the vulnerability by applying mitigations per vendor instructions or discontinuing use of the product if mitigations are unavailable.\n")
  76.     else:
  77.         print("\nAll clear!\nNone of the vulnerable configurations are installed on your machine.\n")
  78.  
  79. if __name__ == "__main__":
  80.     print("Verifying vulnerable configurations...")
  81.     check_for_vulnerabilities()
  82.  
  83.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement