Skip to content

Nate-NJ/Cybersecurity-Vulnerability-Management-Project

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 

Repository files navigation

Azure Vulnerability Management using Greenbone OpenVAS

Description

This project is a demonstration for using OpenVAS by creating a Vulnerability Management Lab on Azure. I will be creating a OpenVAS configured VM and a client VM. To simulate vulnerability detection of OpenVAS tool, I will scan Client after it creation on default settings than intentionally make it vulnerable by installing multiple outdated application which are very common then do another scan and try to fix the vulnerabilities shown on OpenVAS by updating system and removing outdated applications. I will do another final scan to show you how many vulnerabilities gets fixed.

Requirement

Prepare Vulnerability Management Scanner
Create Client Virtual Machine and Make it Vulnerable
Perform Unauthenticated Scan
Make Configurations for Authenticated Scans (VM)
Make Configurations for Authenticated Scans (OpenVAS)
Perform Authenticated Scan against our Vulnerable Windows VM
Remediate Vulnerabilities
Verify Remediation

Requirement

  • No special requirement just internet and browser to access Azure Portal.

Environment Used

  • Azure VM
  • OpenVAS on Azure
  • Microsoft Windows 11

Links

Things to know before

The goal of the lab is to configure and explore the platform, not to practice remediation. I will perform some minor vulnerability remediation, but only to test how the scans change in response.

Program Walkthrough

Prepare Vulnerability Management Scanner From the Azure Portal → Go to the Marketplace → “OpenVAS secured and supported by HOSSTED” and proceeded to create a "Vulnerability-Management" resource group and VM.

# OpenVAS CyberSecurity Vulnerability Management Project

image

Step 1: Prepare Vulnerability Management Scanner

In Microsoft Azure, access the marketplace and search for "OpenVAS secured and supported by HOSSTED".

image

Click on "Start with a pre-set configuration" and choose the weakest one.

image

Proceed through creating a virtual machine process.

Note: I will need to put the Vulnerability Scanner and VMs in the same region. Also under the Monitoring tab, I disable "boot diagnostics" because I won't need it.

After a couple of minutes, my OpenVAS VM deployed!

image

After the VM is created, I copy the public IP of the machine from Azure and SSH into it using PowerShell because I am using a Windows machine. MAC users will use Terminal.

image

image

This will take a while. Take note of the username and password.

image

Copy and paste this URL into a new tab and this will bring me to the OpenVAS webserver where I log in and perform vulnerability management.

image

image

After logging in, I changed the password to something easier to remember for this lab.

Step 2: Create Client VM and Make it Vulnerable

Navigate back to the Azure portal and create a new VM. I make sure to create it in the same Resource Group and Region.

image

Under the Networking tab make sure it's in the same Virtual Network "OpenVAS-vnet".

image

After the VM is created, I ensure I can RDP into the VM using the credentials I created.

image

image

image

Success!

Next, I make the VM vulnerable by disabling the Windows Firewall and installing old versions of software like Firefox, VLC, and Adobe Reader.

To disable Windows Firewall, navigate to Windows Defender Firewall and Advanced Security. Click on Windows Defender Firewall properties and turn off the Firewall state under the Domain, Private, and Public Profile tabs.

image

Now to install some old software, copy and paste this link, https://drive.google.com/drive/u/2/folders/1n83ilCjZWZulbDdYnUe9wQPK2buY47_U into the browser on the VM. Download and install the software.

image

image

After installation, I will restart the VM and leave it for now.

Step 3: Configure OpenVAS to Perform First Unauthenticated Scan Against the Vulnerable VM

Login to the OpenVAS webserver that I accessed earlier. Click Assets -> Hosts -> New Hosts

image

Add the Client VM's Private IP Address. I got this from the Azure Portal.

image

Create a New Target from the Host and name it "Azure Vulnerable VMs".

image

image

Next, Create a new Task. Under the Scans tab click Tasks and the create a new task icon.

image

Name it "Scan - Azure Vulnerable VMs", select Azure VUlnerable VMs from the Scan Targets dropdown, and Save the Task.

image

Start the "Scan - Azure Vulnerable VMs" Task by clicking on the play button under Actions. This will take a while.

image

Take note of the Status throughout the scan.

image

Once the scan is finished, click the date under "Last Report" to see the results. Take note of Tabs, specifically the "Results" tab.

image

image

Even though I installed super old software, it does not show up here. This is because I'm not running a credentialed scan so the scanner could not discover it. I will configure credential scans next.

You can see more results by clicking the X, a remove filter button.

image

Step 4: Make Configurations for Credentialed Scans (Within VM)

Navigate back to the Windows VM. Disable User Account Control by clicking start and typing "user account control". Then drag the meter down.

image

Next, enable Remote Registry by clicking start and searching for "services.msc". Look for Remote Registry and click it.

image

Change Startup Type to "Automatic" click Apply and then Start.

image

Next, set the Registry Key.

  • First launch the Registry Editor (regedit.exe) in "Run as administrator" mode.
  • Navigate to HKEY_LOCAL_MACHINE hive
  • Open SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System key
  • Create a new DWORD (32-bit) value with the following properties: Name: LocalAccountTokenFilterPolicy Value: 1 (after creating the DWORD, right-click and click Modify to change the value)
  • Close Registry Editor
  • Restart the VM

image

image

Step 5: Make Configurations for Credentialed Scans (OpenVAS)

Navigate back to the OpenVAS webserver. Click on the Configuration tab -> Credentials -> New Credential

image

Name it "Azure VM Credentials". Change Allow Insecure Use to "Yes". I will enter the username and password I used for the Windows 10 VM.

image

Go to Configuration -> Targets -> CLONE the Target I made before (the little sheep icon)

image

Edit and Rename it “Azure Vulnerable VMs - Credentialed Scan”. Ensure the Private IP is still accurate. Under "Credentials for authenticated checks" click the SMB dropdown and select "Azure VM Credentials" that I just created. Save it.

image

Step 6: Execute Credentialed Scan against our Vulnerable Windows VM

Within OpenVAS, go to Scans -> Tasks

CLONE the "Windows Scan" Task, then Edit it:

image

  • Rename the clone to "Scan - Azure Vulnerable VMs - Credentialed"
  • Targets: Azure Vulnerable VMs - Credentialed Scan
  • and Save

image

Click the Play button to launch the new Credentialed Scan and wait for it to finish. This will take longer than last time.

image

After the credentialed scan finishes, I immediately see the difference in findings.

image

image

Remove the filter. Check SMB login under "Results".

image

Further, inspect the individual vulnerabilities and see all the Criticals from the out-of-date Firefox.

You can see each vulnerability in more detail by clicking on them.

image

Step 7: Remediate Vulnerabilities

Navigate back to the Windows 10 Vulnerable VM. Instead of taking the time to update each software, I'm just going to uninstall them. I could automate this process, but since it's just a couple of programs on one VM, I will just do it manually.

image

image

After uninstalling, restart the VM.

To check if the VM has restarted you can navigate to the Azure portal.

image

Looks like both VMs are up and running.

Step 8: Verify Remediations

Navigate back to the OpenVAS webserver and re-initiate the “Scan - Azure Vulnerable VMs - Credentialed” scan and observe the results.

After the scan, I can see that compared to before vulnerabilities went down from the "Trend" column.

image

There are still several vulnerabilities, but I can see that uninstalling the old software cleared vulnerabilities they may have created.

image

I can see that many vulnerabilities left are from Microsoft Defender which may be related to disabling the Firewalls and User Account Controls on the Client VM.

Conclusion

To sum up this project, this is what I did

  • Set up a secure Azure network with an OpenVAS Vulnerability Management Scanner VM.
  • Developed a vulnerable Windows 10 VM, featuring outdated software and disabled security controls.
  • Performed unauthenticated and credentialed vulnerability scans using OpenVAS
  • Analyzed scan results, highlighting the difference between unauthenticated and credentialed scans.
  • Remediated identified vulnerabilities, and verified successful remediation through subsequent scans.
  • Created a list of remediable vulnerabilities to simulate realistic vulnerability remediation scenarios.

Reflection

Analyzing how we manage vulnerabilities in Azure with Greenbone OpenVAS is interesting. While fixing critical issues seems effective, it's curious that applying system updates didn't change the scan much. I'm wondering if the timing of scans matters – maybe waiting some time after updates could make a difference?

I'm keen on setting up a local version of this lab and adding Nessus and Qualys scanners for comparison. Seeing how different scanners report vulnerabilities could give us a better understanding. The plan is to check if these scanners find issues that others might miss.

Sharing the process and findings while setting up the lab could help others, and it's a good way to contribute to the cybersecurity community.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published