What is Penetration Testing?… And Tools
What is Penetration Testing?
It’s the method of testing where the areas of weakness in software systems in terms of security are put to test to determine, if ‘weak-point’ is indeed one, that can be broken into or not.
Performed for: Websites/Servers/Networks
How is it performed?
Step #1. It starts with a list of Vulnerabilities/potential problem areas that would cause a security breach for the systems.
Step #2. If possible, this list of items has to be ranked in the order of priority/criticality
Step #3. Devise penetration tests that would work (attack your system) from both within the network and outside (externally) to determine if you can access data/network/server/website unauthorized.
Step #4. If the unauthorized access is possible, the system has to be corrected and the series of steps need to be re-run until the problem area is fixed.
Who performs Pen-testing?
Testers/ Network specialists/ Security Consultants
Note: it is important to note that pen-testing is not the same as vulnerability testing. The intention of vulnerability testing is just to identify potential problems, whereas pen-testing is to attach those problems.
Good news is, you do not have to start the process by yourself – you have a number of tools already in the market. Why tools, you ask?
- Even though you design the test on what to attack and how, you can leverage a lot of tools that are available in the market to hit the problem areas and collect data quickly that enables effective security analysis of the system.
Before we look into the details of the tools, what they do, where can you get them, etc. , I would like to point out that the tools you use for pen-testing can be classified into two kinds – In simple words they are: scanners and attackers. This is because; by definition pen-testing is exploiting the weak spots. So there are some software/tools that will show you the weak spots, some that show and attack. Literally speaking, the ‘show-ers’ are not pen-testing tools but they are inevitable for its success.
Top 20 Penetration Testing Tools
This is the most advanced and popular Framework that can be used to for pen-testing. It is based on the concept of ‘exploit’ which is a code that can surpass the security measures and enter a certain system. If entered, it runs a ‘payload’, a code that performs operations on a target machine, thus creating the perfect framework for penetration testing.
It can be used on web applications, networks, servers etc. It has a command-line and a GUI clickable interface, works on Linux, Apple Mac OS X and Microsoft Windows. This is a commercial product, although there might be free limited trials available.
Download link: Metasploit Download
This is basically a network protocol analyzer –popular for providing the minutest details about your network protocols, packet information, decryption etc. It can be used on Windows, Linux, OS X, Solaris, FreeBSD, NetBSD, and many other systems. The information that is retrieved via this tool can be viewed through a GUI, or the TTY-mode TShark utility. You can get your own free version of the tool from here.
Download link: Wireshark download
W3afis a Web Application Attack and Audit Framework.
Some of the features are: fast HTTP requests, integration of web and proxy servers into the code, injecting payloads into various kinds of HTTP requests etc.
It has a command-line interface, works on Linux, Apple Mac OS X and Microsoft Windows.
All versions are free of charge to download.
Download link: w3af download
4) CORE Impact
CORE Impact Pro can be used to test mobile device penetration, network/network devise penetration, password identification and cracking, etc. It has a command-line and a GUI clickable interface, works Microsoft Windows. This is one of the expensive tools in this line and all the information can be found at below page.
Download link: CORE Impact download
5) Back Track – Now Kali
Back Track works only on Linux Machines. The new version is called Kali Linux. This is one of the best tools available for Packet sniffing and injecting. An expertise in TCP/IP protocol and networking are key to succeed using this tool. For information and to download a free copy, visit below page.
Download link: Back Track download
Netsparker comes with a robust web application scanner that will identify vulnerabilities, suggest remedial action etc. This tool can also help exploit SQL injection and LFI (local file induction). It has a command-line and GUI interface, works only on Microsoft Windows. This is a commercial product, although there might be free limited trials available at below page.
Download link: Netsparker download
Nessus also is a scanner and one that needs to be watched out for. It is one of the most robust vulnerability identifier tools available. It specializes in compliance checks, Sensitive data searches, IPs scan, website scanning etc. and aids in finding the ‘weak-spots’. It works on most of the environments.
Download link: Nessus download
Burp suite is also essentially a scanner (with a limited “intruder” tool for attacks), although many security testing specialists swear that pen-testing without this tool is unimaginable. The tool is not free, but very cost effective. Take a look at it on below download page. It mainly works wonders with intercepting proxy, crawling content and functionality, web application scanning etc. You can use this on Windows, Mac OS X and Linux environments.
Download link: Burp suite download
9) Cain & Abel
If cracking encrypted passwords or network keys is what you need, then Cain& Abel is the tool for you. It uses network sniffing, Dictionary, Brute-Force and Cryptanalysis attacks, cache uncovering and routing protocol analysis methods to achieve this. Check out information about this free to use tool at below page. This is exclusively for Microsoft operating systems.
Download link: Cain & Abel download
10) Zed Attack Proxy (ZAP)
ZAP is a completely free to use, scanner and security vulnerability finder for web applications. ZAP includes Proxy intercepting aspects, variety of scanners, spiders etc. It works on most platforms and the more information can be obtained from below page.
Download link: ZAP download
Acunetix is essentially a web vulnerability scanner targeted at web applications. It provides SQL injection, cross site scripting testing, PCI compliance reports etc. along with identifying a multitude of vulnerabilities. While this is among the more ‘pricey’ tools, a limited time free trial version can be obtained at below page.
Download link: Acunetix download
12) John The Ripper
Another password cracker in line is, John the Ripper. This tool works on most of the environments, although it’s primarily for UNIX systems. It is considered one of the fastest tools in this genre. Password hash code and strength-checking code are also made available to be integrated to your own software/code which I think is very unique. This tool comes in a pro and free form. Check out its site to obtain the software on this page.
Download link: John the Ripper download
As opposed to a certain application or a server, Retina targets the entire environment at a particular company/firm. It comes as a package called Retina Community. It is a commercial product and is more of a vulnerability management tool more than a pen-testing tool. It works on having scheduled assessments and presenting results. Check out more about this package at below page.
Download link: Retina download
Sqlmap is again a good open source pen testing tool. This tool is mainly used for detecting and exploiting SQL injection issues in an application and hacking over of database servers. It comes with command-line interface. Platform: Linux, Apple Mac OS X and Microsoft Windows are supported platforms. All versions of this tool are free for download.
Download link: Sqlmap download
Immunity’s CANVAS is a widely used tool that contains more than 400 exploits and multiple payload options. It renders itself useful for web applications, wireless systems, networks etc. It has a command-line and GUI interface, works on Linux, Apple Mac OS X and Microsoft Windows. It is not free of charge and can more information can be found at below page.
Download link: Canvas download
16) Social Engineer Toolkit
The Social-Engineer Toolkit (SET) is a unique tool in terms that the attacks are targeted at the human element than on the system element. It has features that let you send emails, java applets, etc containing the attack code. It goes without saying that this tool is to be used very carefully and only for ‘white-hat’ reasons. It has a command-line interface, works on Linux, Apple Mac OS X and Microsoft Windows. It is open source and can be found at below page.
Download link: SET download
Sqlninja, as the name indicates is all about taking over the DB server using SQL injection in any environment. This product by itself claims to be not so stable its popularity indicates how robust it is already with the DB related vulnerability exploitation. It has a command-line interface, works on Linux, Apple Mac OS X and not on Microsoft Windows. It is open source and can be found at this page.
Download link: Sqlninja download
“Network Mapper” though not necessarily a pen-testing tool, it is a must-have for the ethical hackers. This is a very popular tool that predominantly aids in understanding the characteristics of any target network. The characteristics can include: host, services, OS, packet filters/firewalls etc. It works on most of the environments and is open sourced.
Download link: Nmap download
BeEF is short for The Browser Exploitation Framework. It is a penetration testing tool that focuses on the web browser- what this means is that, it takes advantage of the fact that an open web-browser is the window(or crack) into a target system and designs its attacks to go on from this point on . It has a GUI interface, works on Linux, Apple Mac OS X and Microsoft Windows. It is open source and can be found at this page.
Download link: BeEF download
Dradis is an open source framework (a web application) that helps with maintaining the information that can be shared among the participants of a pen-test. The information collected helps understand what is done and what needs to be done. It achieves this purpose by the means of plugins to read and collect data from network scanning tools, like Nmap, w3af, Nessus, Burp Suite, Nikto and many more. It has a GUI interface, works on Linux, Apple Mac OS X and Microsoft Windows. It is open source and can be found at this page.
Download link: Dradis download
The above is a huge list of many tools but that is not all. There are many more Pen test tools that are gaining momentum in the recent times. They are:
21) Ettercap: A network and host analysis tool that provides sniffing and protocol dissection among other things. More info here.
22) Hydra: A password cracker – more details here.
23) Veracode: Works with the code development process to ensure security and minimize vulnerabilities at the source level. Check here.
24) SATAN: It stands for: Security Administrator Tool for Analyzing Networks. This tool is used on network hosts for collecting and reporting security/vulnerability related statistics. Download here.
25) SHODAN: It is a search engine that lets you search for computers/devices on the internet based on various parameters like city, country hostname, OS etc. Using the Shodan Exploits you can search for known vulnerabilities and exploits. Download here.
26) Aircrack-ng: Captures data packets and uses the same for recovery of 802.11 WEP and WPA-PSK keys. Download here.
27) Arachni: A Ruby framework that helps in analyzing web application security. It performs a meta analysis on the HTTP responses it receives during an audit process and presents various insights into how secure the application is. Download here.
28) PunkSPIDER(scanner powered by PunkSCAN): Security scanners and what is unique is that this tool performs a range of multiple scans at once on web applications thus surpassing the existing tools in the market. You can download the source code directly from Bitbucket at this page.
29) IBM AppScan: As the name indicates this is a scanner that identifies problem areas and suggests remedial actions. Download here.
30) Nagios: This is software when used will monitor the entire environment including servers, applications, network – the entire infrastructure and alert when a potential problem is detected. Download here.
31) Nikto: A scanner that caters to web servers specially to detect outdated software configurations, invalid data and/or CGIs etc. Download here.
32) WebScarabNG: This tool use the http/https requests between the browser and the server to understand, capture and sometimes modify the parameters that are part of the communication between the two parties. Download here.
33) Maltego: This is a unique tool that focuses on showing/highlighting the relationships between people, sites, infrastructure etc. in order to identify inconsistent/incorrect connections. Download here.
34) IronWASP: A customizable scanner creator for web applications using python/ruby scripting. Download here.
35) HconSTF: Using this tool you can create your own web exploits, decoys that you can use to exploit vulnerabilities in the areas of passwords, databases, network etc. Download here.
36) OpenVAS: Stands for open vulnerabilities assessment system. Well, the name says it all. For more info, check here.
37) Secunia PSI: It is a personal software inspector that will keep your system secure when installed. Try it here.
We hope this piques your interest in the pen-testing field and provides you with the necessary information to get started. A word of caution: remember to wear your ‘White-hat’ because with great power comes great responsibility- and we don’t want to be the ones to misuse it.