Web Application Vulnerability Testing with Nessus



Similar documents
Using Nessus In Web Application Vulnerability Assessments

ArcGIS Server Security Threats & Best Practices David Cordes Michael Young

How to break in. Tecniche avanzate di pen testing in ambito Web Application, Internal Network and Social Engineering

ANNEXURE-1 TO THE TENDER ENQUIRY NO.: DPS/AMPU/MIC/1896. Network Security Software Nessus- Technical Details

Web App Security Audit Services

Managing Qualys Scanners

Acunetix Web Vulnerability Scanner. Getting Started. By Acunetix Ltd.

Web Application Report

Adobe Systems Incorporated

Magento Security and Vulnerabilities. Roman Stepanov

(WAPT) Web Application Penetration Testing

Nessus Perimeter Service User Guide (HTML5 Interface) March 18, 2014 (Revision 9)

Web Application Firewall on SonicWALL SSL VPN

3. Broken Account and Session Management. 4. Cross-Site Scripting (XSS) Flaws. Web browsers execute code sent from websites. Account Management

Quick Start Guide: Utilizing Nessus to Secure Microsoft Azure

The Top Web Application Attacks: Are you vulnerable?

Using Free Tools To Test Web Application Security

QualysGuard WAS. Getting Started Guide Version 3.3. March 21, 2014

Cloud Security:Threats & Mitgations

Hardening Moodle. Concept and Realization of a Security Component in Moodle. a project by

IBM Security QRadar SIEM Version MR1. Vulnerability Assessment Configuration Guide

What is Web Security? Motivation

Nessus 5.0 Flash User Guide. April 22, 2013 (Revision 23)

Secure Web Development Teaching Modules 1. Security Testing. 1.1 Security Practices for Software Verification

Ethical Hacking as a Professional Penetration Testing Technique

Where every interaction matters.

FTP, IIS, and Firewall Reference and Troubleshooting

OWASP and OWASP Top 10 (2007 Update) OWASP. The OWASP Foundation. Dave Wichers. The OWASP Foundation. OWASP Conferences Chair

IBM. Vulnerability scanning and best practices

OWASP Top Ten Tools and Tactics

WEB SECURITY CONCERNS THAT WEB VULNERABILITY SCANNING CAN IDENTIFY

Installing and Configuring Nessus by Nitesh Dhanjani

Out of the Fire - Adding Layers of Protection When Deploying Oracle EBS to the Internet

Semantic based Web Application Firewall (SWAF V 1.6) Operations and User Manual. Document Version 1.0

Nessus Enterprise for Amazon Web Services (AWS) Installation and Configuration Guide. July 16, 2014 (Revision 2)

Attack Vector Detail Report Atlassian

User Guide. Version 3.2. Copyright Snow Software AB. All rights reserved.

Nessus Enterprise Cloud User Guide. October 2, 2014 (Revision 9)

TRUSTWAVE VULNERABILITY MANAGEMENT USER GUIDE

Client logo placeholder XXX REPORT. Page 1 of 37

Nessus 6.1 User Guide. December 1, 2014 (Revision 4)

MANAGED SECURITY TESTING

Web Application Hacking (Penetration Testing) 5-day Hands-On Course

Web applications. Web security: web basics. HTTP requests. URLs. GET request. Myrto Arapinis School of Informatics University of Edinburgh

Secure Outgoing Mail (SMTP) Setup Guide

Unified Security Management (USM) 5.2 Vulnerability Assessment Guide

Running a Default Vulnerability Scan SAINTcorporation.com

Secure Web Development Teaching Modules 1. Threat Assessment

Reference and Troubleshooting: FTP, IIS, and Firewall Information

Cracking the Perimeter via Web Application Hacking. Zach Grace, CISSP, CEH January 17, Mega Conference

FINAL DoIT v.4 PAYMENT CARD INDUSTRY DATA SECURITY STANDARDS APPLICATION DEVELOPMENT AND MAINTENANCE PROCEDURES

Essential IT Security Testing

User's Manual. Intego VirusBarrier Server 2 / VirusBarrier Mail Gateway 2 User's Manual Page 1

IBM Security QRadar Version Vulnerability Assessment Configuration Guide IBM

WHITE PAPER. FortiWeb and the OWASP Top 10 Mitigating the most dangerous application security threats

THE SMARTEST WAY TO PROTECT WEBSITES AND WEB APPS FROM ATTACKS

Is Drupal secure? A high-level perspective on web vulnerabilities, Drupal s solutions, and how to maintain site security

Web Application Penetration Testing

Advanced Event Viewer Manual

Initial Setup of Microsoft Outlook 2011 with IMAP for OS X Lion

ESISS Security Scanner

Web Application Firewall on SonicWALL SRA

Web Application Security

Advanced Administration for Citrix NetScaler 9.0 Platinum Edition

How To Test Your Web Site On Wapt On A Pc Or Mac Or Mac (Or Mac) On A Mac Or Ipad Or Ipa (Or Ipa) On Pc Or Ipam (Or Pc Or Pc) On An Ip

REQUIREMENTS AND INSTALLATION OF THE NEFSIS DEDICATED SERVER

Network Security Exercise #8

FINAL DoIT v.8 APPLICATION SECURITY PROCEDURE

Executive Summary On IronWASP

Application Security Best Practices. Wally LEE Principal Consultant

Web+Center Version 7.x Windows Quick Install Guide 2 Tech Free Version Rev March 7, 2012

Testing the OWASP Top 10 Security Issues

Attack and Penetration Testing 101

Chapter 6 Virtual Private Networking Using SSL Connections

Bitrix Site Manager ASP.NET. Installation Guide

Web attacks and security: SQL injection and cross-site scripting (XSS)

Load testing with. WAPT Cloud. Quick Start Guide

Basic & Advanced Administration for Citrix NetScaler 9.2

Web Application Security Assessment and Vulnerability Mitigation Tests

Implementation of Web Application Firewall

April 11, (Revision 2)

Web Application Firewall

Early Vulnerability Detection for Supporting Secure Programming

NeWT 2.1 User Guide. (December 2004)

Web application security

Setting Up Scan to SMB on TaskALFA series MFP s.

MatriXay WEB Application Vulnerability Scanner V Overview. (DAS- WEBScan ) The best WEB application assessment tool

Configuring Virtual Switches for Use with PVS. February 7, 2014 (Revision 1)

2X ApplicationServer & LoadBalancer Manual

Guidelines for Web applications protection with dedicated Web Application Firewall

Remote Application Server Version 14. Last updated:

Eucalyptus User Console Guide

Ruby on Rails Secure Coding Recommendations

Web Application Firewalls Evaluation and Analysis. University of Amsterdam System & Network Engineering MSc

Overview of the Penetration Test Implementation and Service. Peter Kanters

Remote Administration

Remote Application Server Version 14. Last updated:

Project Zip Code. Version CUNA s Powerful Grassroots Program. User Manual. Copyright 2012, All Rights Reserved

Sitefinity Security and Best Practices

Transcription:

The OWASP Foundation http://www.owasp.org Web Application Vulnerability Testing with Nessus Rïk A. Jones, CISSP rikjones@computer.org

Rïk A. Jones Web developer since 1995 (16+ years) Involved with information security since 2006 (5+ years) Senior Information Security Analysts for Dallas County Community College District CISSP and GIAC certified Member of the Dallas OWASP Leadership Team Member of the Dallas Chapter of InfraGard

This is not a sales presentation I am not affiliated with Tenable or Nessus other than being a knowledgeable and frequent user. I am here to show you how to use Nessus as a tool, one of many tools I keep in my toolbox 3

Introduction to Nessus Nessus is a multiple platform network and host vulnerability scanner Server Supported on: Window Linux Mac OS UNIX Clients: Web based and Mobile (IOS, Android) 4

Introduction to Nessus Nessus has 2 licensing models (plugin feeds) ProfessionalFeed Commercial use Access to support portal HomeFeed No charge Personal use only Some limits to functionality Only 16 IP addresses No compliance/audit checks No scan scheduling 5

Introduction to Nessus Nessus Terminology Policy Configuration settings for conducting a scan Scan Associates a list of IPs and/or domain names with a policy Basic Scan (Run Now) Template Scheduled Template (ProfessionalFeed Only) One time or repeating Report The result of a specific instance of a scan Plugin A security check, or a scan settings window Plugin Family A group of plugins with something in common (e.g. FTP, Web Servers, Cisco) 6

Introduction to Nessus Nessus Customization Options Reports Templates Coded in XSLT Plugins Coded in NASL (Nessus Attack Scripting Language) Audit Files Coded in Pseudo-XML [ProfessionalFeed Only] Import/Export Nessus & Nessus 2 format coded in XML. Same format for reports and profiles 7

Logging in to Nessus By default Nessus runs on port 8834 and can be access with any Flash enabled Web Bowser 8

Basic Navigation There are four navigation tabs at the top Reports Scans Policies Users 9

Reports Tab The Reports tab list the results of scans you have conducted, are currently running or have imported 10

Scans Tab The Scans tab list currently running scans, scan templates and scheduled scans 11

Policies Tab The Policies tab list the scan configurations available for scans 12

Users Tab The Users tab list users and allows the addition, deletion or editing of users accounts 13

Creating a Basic Web The goal is to create a generic policy for scanning unknown Web applications. We will set basic settings that work for most Web Applications When we create an Advanced Web application policy we will add additional settings for a specific Web Application 14

Creating a Basic Web Step 1: Go to the Policies Tab and select the default Web App Test policy 15

Creating a Basic Web Step 2: Click on the Copy button. This will create a new Policy called Copy of Web App Test 16

Creating a Basic Web Step 3: Select the new policy Copy of Web App Test 17

Creating a Basic Web Step 4: Click on the Edit Button 18

Creating a Basic Web This will open the Edit Policy screen 19

Creating a Basic Web Step 5: Change the policy name 20

Creating a Basic Web Step 6: Uncheck all port scanners except for TCP Scan and Ping Host 21

Creating a Basic Web Step 7: Set the Port Scan Range default = all common ports listed in the nessus-services configuration file all = every port (1-65,535) Specific list (e.g. 80, 443, 8080, 8009) 22

Creating a Basic Web Step 8: Click on the Plugins Side Tab 23

Creating a Basic Web This should take you to the Plugins selection 24

Creating a Basic Web Step 9: Click on Disable All to disable all plugin families 25

Creating a Basic Web Step 10: Enable the following plugin families by clicking on the grey dot next to the family name Backdoors CGI Abuses CGI Abuses : XSS Cisco Databases FTP Firewalls Gain a shell remotely General Misc. Netware Peer-To-Pear File Sharing SMTP problems Service detection Settings Web Servers Windows Windows: Microsoft Bulletins 26

Creating a Basic Web Step 11: Click on the Preferences Side Tab 27

Creating a Basic Web This should take you to the Preferences section 28

Creating a Basic Web Step 12: Select Global variable settings from the Plugin pull down menu 29

Creating a Basic Web Step 13: Check the Probe services on every port checkbox on Global variable settings 30

Creating a Basic Web Step 14: Check the Enable CGI scanning checkbox on Global variable settings 31

Creating a Basic Web Step 15: Check the Enable experimental scripts checkbox on Global variable settings 32

Creating a Basic Web Step 16: Check the Through test (slow) checkbox on Global variable settings 33

Creating a Basic Web Step 17: Set the Report Verbosity pull-down menu to Verbose on Global variable settings 34

Creating a Basic Web Step 18: Set the Report paranoia pull down menu to Normal on Global variable settings 35

Creating a Basic Web Step 19: Select Login configurations from the Plugin pull down menu 36

Creating a Basic Web Step 20: Set the HTTP account and HTTP password on Login configurations to a value that is a common default in your environment. 37

Creating a Basic Web Step 21: Select Web Application Test Settings from the Plugin pull down menu 38

Creating a Basic Web Step 22: Make sure that the Enable web application test checkbox is checked on Web Application Test Settings 39

Creating a Basic Web Step 23: The Maximum run time on Web Application Test Settings can be left at the default of 60 min. If you see timeouts in the result you may need to increase this value 40

Creating a Basic Web Step 24: Check the Try all HTTP methods on Web Application Test Settings 41

Creating a Basic Web Step 25: Set the Combinations of Arguments values pull-down menu to some pairs 42

Creating a Basic Web Step 26: Check the HTTP Parameter Pollution checkbox 43

Creating a Basic Web Step 27: Set the Stop at first flaw pull-down menu to look for all flaws or per parameter 44

Creating a Basic Web Step 28: Un-check the Test embedded web servers checkbox 45

Creating a Basic Web Step 29: Select Web mirroring from the Plugin pull down menu 46

Creating a Basic Web Step 30: Make sure that the Follow dynamic pages checkbox is checked on Web mirroring 47

Creating a Basic Web Step 31: Select HTTP login page from the Plugin pull down menu 48

Creating a Basic Web Step 32: Check Automated login page search checkbox is checked on HTTP login page We will look at the other settings on this page in the Advanced Scan policy section 49

Creating a Basic Web Step 33: Click on the Submit Button in lower right corner to save your policy 50

Create Basic Scan Template Step 1: Click on the Scan tab on the top 51

Create Basic Scan Template Step 2: Click on the Add button 52

Create Basic Scan Template This should take you to the interface to create a new scan. 53

Create Basic Scan Template Step 3: Name the Scan 54

Create Basic Scan Template Step 4: Set the scan Type to Template 55

Create Basic Scan Template Step 5: Select the Basic Web App policy you just created 56

Create Basic Scan Template Step 6: Enter you scan target IP, domain name or network range single IP address or comma separated list (e.g., 192.168.0.1,192.168.206.134) IP range (e.g., 192.168.0.1-192.168.0.255) subnet with CIDR notation (e.g., 192.168.0.0/24) or resolvable host (e.g., www.nessus.org). 57

Create Basic Scan Template Step 7: Click on the Save Template button to save your scan template 58

Running Basic Scan Template Step 1: Select you Basic Scan Template on the Scans Tab 59

Running Basic Scan Template Step 2: Click on the Launch Button 60

Running Basic Scan Template Template was successfully launched should appear at the top of the screen and a running copy of your scan will appear in the list with a progress bar. 61

Basic Scan Policy Demo 62

Reviewing the Scan Report Click on the Reports tab 63

Reviewing the Scan Report To open the report double-click on your scan report or select it and click on the Browse button 64

Reviewing the Scan Report The scan report shows a list of IPs or domain names with indication of the number of High, Medium and Low Vulnerabilities and open ports 65

Reviewing the Scan Report Single click on the IP address to drill into each scanned device to get a list of open ports with vulnerability counts 66

Reviewing the Scan Report Single click on a port row to drill into the port to get a list of vulnerabilities found 67

Reviewing the Scan Report Single click on a vulnerabilities to see the details 68

Reviewing the Scan Report To find a specific vulnerability click on the Show Filters button 69

Reviewing the Scan Report You have lot of options here. We are going to look for a specific Plugin by ID to check for Timeouts 70

Reviewing the Scan Report Looking at the details of Plugin #39470 will tell you if you need to increase your CGI run time 71

Downloading Scan Report To download your scan report select it in the reports list and click on the Download button 72

Downloading Scan Report or when viewing the report click on the download button. Note that any filters current applied will be applied to the downloaded report 73

Downloading Scan Report Select a Download format.nessus &.nessus(v1) can edited and re-imported (XML) HTML Detailed or HTML Executive Reports RTF Custom 74

HTML Standard Report 75

HTML Detailed Report 76

HTML Executive Report 77

HTML Custom Report 78

RTF Report 79

.nessus Export 80

.nessus v1 Export 81

Creating an Advanced Web The goal is to create a specific policy for scanning a known Web applications This will be based on the Basic Web we just created Our target for this example will the Damn Venerable Web App on the OWASP Broken Web Applications VMWare image 82

Creating an Advanced Web Step 1: Go to the Policies Tab and select the Basic Web Applications policy you just created 83

Creating an Advanced Web Step 2: Click on the Copy button. This will create a new Policy called Copy of 84

Creating an Advanced Web Step 3: Select the new policy Copy of 85

Creating an Advanced Web Step 4: Click on the Edit Button 86

Creating an Advanced Web This will open the Edit Policy screen 87

Creating an Advanced Web Step 5: Change the policy name 88

Creating an Advanced Web Step 6: Change the Visibility to Private 89

Creating an Advanced Web Step 6: Uncheck all port scanners. We know what port we want 90

Creating an Advanced Web Step 7: Set the Port Scan Range to only the ports the target Web application is using. In our example we are running on port 80 91

Creating an Advanced Web Step 8: Select HTTP login page from the Plugin pull down menu 92

Creating an Advanced Web We will need to do some reconnaissance to get the values for these fields. 93

Creating an Advanced Web Step 9: Find the Login Screen /dvwa/login.php 94

Creating an Advanced Web Step 10: Enter the Login page path (not the full URL) 95

Creating an Advanced Web Step 11: View source on the login page to find the Login Form (action) and Login Form Method 96

Creating an Advanced Web Step 12: Enter the Login form path (not full URL) based on the action attribute of the form 97

Creating an Advanced Web Step 13: Enter the Login from method based on the method attribute of the form 98

Creating an Advanced Web Step 14: Determine the Login form fields and values by trapping the login with tamper data or a Web proxy 99

Creating an Advanced Web Step 15: Enter the Login from fields Substitute %USER% for the user name Substitute %PASS% for the password 100

Creating an Advanced Web Step 16: Uncheck Automated login page search since we have told Nessus where the login form is located 101

Creating an Advanced Web Step 17: Find criteria to confirm login Authenticated page path Text in the page HTML 102

Creating an Advanced Web Step 18: Enter the Check authentication on page path 103

Creating an Advanced Web Step 19: Enter the Authentication regex. This pattern allows the L to be case insensitive 104

Creating an Advanced Web Step 20: Select Web Application Test Settings from the Plugin pull down menu 105

Creating an Advanced Web Step 21: Increase the Maximum run time value. Remember that the Basic Policy timed out. 106

Creating an Advanced Web Step 22: Select Web mirroring from the Plugin pull down menu 107

Creating an Advanced Web Step 23: Set the Start page to go to the target Web Application 108

Creating an Advanced Web Step 24: Set the Exclude Items regex to avoid logging out or going to places that we don t want to test. 109

Creating an Advanced Web Step 25: Click on the Submit Button in lower right corner to save your policy 110

Create Advanced Scan Template Step 1: Click on the Scan tab on the top 111

Create Advanced Scan Template Step 2: Click on the Add button 112

Create Advanced Scan Template This should take you to the interface to create a new scan. 113

Create Advanced Scan Step 3: Name the Scan Template 114

Create Advanced Scan Template Step 4: Set the scan Type to Template 115

Create Advanced Scan Template Step 5: Select the Advanced Web App policy you just created 116

Create Advanced Scan Template Step 6: Enter you scan target IP, domain name or network range single IP address or comma separated list (e.g., 192.168.0.1,192.168.206.134) IP range (e.g., 192.168.0.1-192.168.0.255) subnet with CIDR notation (e.g., 192.168.0.0/24) or resolvable host (e.g., www.nessus.org). 117

Create Advanced Scan Template Step 7: Click on the Save Template button to save your scan template 118

Advanced Scan Demo 119

Reviewing the Report for OWASP Top Items A1 Injection SQL Injection (CGI abuses) > 11139, 42424, 42426, 42427, 42479, 43160, 51973 XML Injection (CGI abuses) > 46196 HTTP Header Injection (CGI abuses: XSS) > 39468, 49067 Cookie Injection > 44135 (CGI abuses) A2 Cross-Site Scripting (XSS) Cross-Site Scripting (CGI abuses: XSS) > 10815, 39466, 42425, 47831, 46193, 49067, 51972 A3 Broken Authentication and Session Management Authentication not over SSL > 26194, 34850 Is SSL Implement Properly > 15901, 20007, 26928, 35291, 42053, 42873, 42880, 53491, 53360, 56043, 56284, 56984, 57041 120

Reviewing the Report for OWASP Top Items Cont. A4 Insecure Direct Object References Browsable Web Directories > 40984 Path Transversal (CGI abuses)> 50494 Parameters identified for manual testing > 40773, 44134, 47830 * A5 Cross-Site Request Forgery (CSRF) CGI Generic On Site Request Forgery (OSRF) > 47832 Specific Product checks with known CSRF Vulnerabilities A6 Security Misconfiguration Covered by Nessus Audit Checks in the ProfessionFeed Identifies Open ports and services for manual review Many checks for default accounts and passwords 121

Reviewing the Report for OWASP Top Items Cont. A9 Insufficient Transport Layer Protection Authentication not over SSL > 26194, 34850 Is SSL Implement Properly > 15901, 20007, 26928, 35291, 42053, 42873, 42880, 53491, 53360, 56043, 56284, 56984, 57041 Secure Cookie Use > 49218, 84832 A10 Unvalidated Redirects and Forwards CGI Generic Open Redirection > 47834 122

Reviewing the Report for 2007 OWASP Top Items 2007 A3 Malicious File Execution Command Execution (CGI abuses) > 39465, 44967 2007 A6 Information Leakage and Improper Error Handling Directory Traversal (CGI abuses) > 39467, 46195, 46194 File Inclusion (CGI abuses) > 39469, 42056, 42872 Server Side Includes (CGI abuses) > 42423, 42054 Error Messages > 40406, 48926, 48927 123

Other Nessus CGI checks Format String (CGI abuses) > 42055 Cookie Manipulation (CGI abuses) > 44136 Additional attacks (CGI abuses) > 44134, 47830, 47832, 47834 124

Resources Nessus Website http://www.nessus.org/products/nessus My Email rikjones@computer.org 125