It's not always possible to perform every security test manually. Many checks, scans, and fixes are best performed by automated tools. So many new vulnerabilities are discovered daily that it's hard to keep up. If you're not using an automated patch management system, how do you know if all the patches that should have been installed actually have been?
To combat these problems, ethical hackers can benefit from automated assessment tools. In most situations, ethical hackers are going to use a combination of manual and automated tools. Automated tools allow the ethical hacker to cover a lot of ground quickly and use the results for further manual inspection. An entire range of security assessment tools are available. Some look at source code, others look at applications, and still others are developed to look at entire systems or networks. These solutions also have different usability and interfaces, which range from command-line interfaces to GUI products. These products can also be divided into further categories, as some are free and others are for purchase or are run through a subscription service.
Automated Assessment Tool Categories
Objective:
|
You'll find that there is no shortage of vulnerability assessment tools on the market. These tools can be used to scan internal or external computers for vulnerabilities. Some of these tools are commercial and might require an annual subscription, whereas others are open source and won't cost you anything to initially acquire. All these tools can be broken into three basic categories, including
Source Code Scanners
Source code scanners can be used to assist in auditing security problems in source code. Source code scanners can detect problems, such as buffer overflows, race conditions, privilege escalation, and tainted input. Buffer overflows enable data to be written over portions of your executable, which can allow a malicious user to do just about anything. Race conditions can prevent protective systems from functioning properly, or deny the availability of resources to their rightful users. Privilege escalation occurs when code runs with higher privileges than that of the user who executed it. Tainting of input allows potentially unchecked data through your defenses, possibly qualified as already error-checked information. Some tools used to find these types of problems include
Application Level Scanners
Application-level scanners are the next type of vulnerability scanner examined. Application scanners provide testing against completed applications or components rather than the source code. This type of assessment tool looks at vulnerabilities as the program is running. Scanners can examine their configuration and look for problems. Some examples of application-level scanners include
System-Level Scanners
The final category of scanners is system-level scanners. These types of scanners are versatile in that they can probe entire systems and their components rather than individual applications. A system-level scanner can be run against a single address or a range of addresses and can also test the effectiveness of layered security measures, such as a system running behind a firewall. Nessus is a good example of a system-level scanner.
Although system-level scanners are not going to probe the source code of individual applications, they can sweep entire networks in search of a variety of vulnerabilities. When performing an ethical hack system, level scanners can be used remotely. This is far more efficient than attempting to audit the configuration of each individual machine. System scanners are not perfect. They cannot audit the source of the processes that are providing services, and they must rely on the responses of a service to a finite number of probes, meaning that all possible inputs cannot be reasonably tested. System level scanners can also crash systems. Many of the tests they can perform are considered dangerous and can bring a system offline. Although many tools of this type can perform IDS evasion, they are not generally considered stealth tools. So if the objective of the security test is to go undetected, a system level scanner might not be your best choice for a tool.
Probably the most important point about system-level scanners is that they are not a substitute for more thorough tests and examinations. They are but one tool in the ethical hacker's tool kit. They shouldn't be looked at as the sole component of a penetration test. Their role is to supplement other tools and test techniques. Source code and application scanning should also be used, where applicable. An in-depth vulnerability assessment consists of all the components we have discussed. No one can completely substitute for another. Let's now look at some of the more popular system level scanners:
Figure 5.3. Nessus setup.
Figure 5.4. NeWT setup.
There are all different types of vulnerability assessment tools. Make sure that you understand the capabilities of each. Some of the major ones are shown here:
Name |
Platform |
Abilities |
---|---|---|
Nessus |
Linux |
Open source, system level scanner |
Flawfinder |
Linux |
Source code scanner |
Whisker |
Linux/Windows |
Application scanner for web |
RATS |
Linux |
Source code scanner |
N-Stealth |
Windows |
Application scanner for web |
NeWT |
Windows |
System level scanner like Nessus |
Nikto |
Linux/Windows |
Perl based application scanner for web |
SARA |
Linux/Mac |
System level scanner |
LANGuard |
Windows |
Commercial system level scanner |
Exam Alert
You should be able to describe the different types of scanners and discuss how each is used.
Automated Exploit and Assessment Tools
Objective:
|
Although the assessment tools recently discussed can make your job much easier, the next set of tools about to be discussed will be even more intriguing. These tools represent where vulnerability assessment software is headed. Tools such as Nessus and others have long had the capability to integrate the scanning, assessing, and reporting functions. The tools in the following list take this functionality to the next step by tightly integrating the capability to exploit a suspected vulnerability. That's right; these tools can actually offer one-click exploitation. This section discusses the free tool Metasploit and Exploitation Framework, and then moves on to CANVAS, and Core IMPACT, which are both commercial products.
1. |
Select your exploit from the Exploit List. |
2. |
Specify all required parameters. |
3. |
Click the Exploit button. |
4. |
Enjoy the shell that you now have on the victim's computer. |
Figure 5.5. Exploitation Framework.
Tip
Practice using the Exploitation Framework to understand its operation.
Figure 5.6. Core IMPACT.
Picking the Right Platform |
Part I: Exam Preparation
The Business Aspects of Penetration Testing
The Technical Foundations of Hacking
Footprinting and Scanning
Enumeration and System Hacking
Linux and Automated Security Assessment Tools
Trojans and Backdoors
Sniffers, Session Hijacking, and Denial of Service
Web Server Hacking, Web Applications, and Database Attacks
Wireless Technologies, Security, and Attacks
IDS, Firewalls, and Honeypots
Buffer Overflows, Viruses, and Worms
Cryptographic Attacks and Defenses
Physical Security and Social Engineering
Part II: Final Review
Part III: Appendixes
Appendix A. Using the ExamGear Special Edition Software