Penetration Testing
Penetration Testing
It is common to find companies using automated tools to complete a risk assessment of their computer assets and the services they provide. While there are great off the shelf tools, to truly understand existing risks an organization will often hire an external company to complete a penetration test. SANS keeps its top 20 Vulnerabilities current but given how you deploy your Information technology solutions other vulnerable paths may exist. Penetration testing also known as Ethical hacking are activities that are approved and taken to understand the risk an organization faces from its internet presence and its current processes, procedures and structure. Penetration testing often also includes attempts to verify physical security and may include social engineering.
Have Permission
Do not proceed without written authorization.
The first step is to obtain permission to perform a penetration test. If you are doing internal testing be sure penetration testing is part of your job description or else have written (not email) permission to perform penetration testing. Forgetting to have proof of permission could cost you your job or get you into legal trouble.
Ground Rules
You may have permission but what is off limits?
Once you have permission you need to know what attack vectors are allowed to be used (wireless, social engineering, etc.). If something goes wrong does each party know how to contact the others? You should have a code word that can be used to stop the penetration testing in case something comes up. Are you allowed to destroy any artifact is you take over a system or system component?
First Step, Reconnaissance
Do not skip this step or rush it.
Reconnaissance is the first and a very important step. Don't react to initial findings until you have completed you reconnaissance effort. You need a complete picture to look for connections between what you discover during this step to plan adequately and pick out the tools that you will be using.
Is social engineering an allowed attack vector?
Next Step, Scanning, Fingerprinting, Understanding
What have you found?
Understand the target you will be penetration testing. What components or services do you see. Do you expect the services you see work together? What opportunities exist. Look at the big picture and understand the business model of the site you are evaluating. What information do you think is most valuable to them? Is it personal information, customer information or something else?
Exploitation
What issues exist.
Document your findings and how to reproduce them and be sure the findings are true. Any mistakes on your findings can cause your client to loose confidence in your entire effort.
Reporting
Make your report.
Document your findings and if possible make some recommendations on how to improve your client's security posture.
Recommendations
Help your customer.
Document the recommendations you would make to fix security issues or additional controls that can be put in place to protect your customer. Be sure to include multiple remediation strategies if they exist.
Teach Yourself Penetration testing skills - Free training
Learn new skills or verify the skills you already have by using available sites and applications to continue learning.
- OWASP WEBGOAT
WebGoat is a deliberately insecure J2EE web application maintained by OWASP designed to teach web application security lessons. - Hack This Site!
Hack This Site is a free, safe and legal training ground for hackers to test and expand their hacking skills. - Hacking with your Browser
A great article! - SamuraiWTF
Penetration Testing toolkit. - Iron Geek
Adrian Crenshaw's Information Security site with training exercises.
Do you have any penetration testing certifications?
Certification Poll Module
SQL Injection is unfortunately still common
- SQLmap
A useful tool to automate checking for SQL injection vulnerabilities. - Nmap SQL Module
Nmap supports sql checks using a special module.
Proxy Link List - Proxies are very helpful
A proxy server is very helpful in understanding the traffic being passed between a web client and server. These tools provide input to other tools and allow for modification of information being passed between the client and server.
- Paros Proxy
Very useful. - OWASP WebScarab
WebScarab is a framework for analysing applications that communicate using the HTTP and HTTPS protocols. - Burp Suite
Burp Suite is an integrated platform for attacking web applications. It contains all of the Burp tools with numerous interfaces between them designed to facilitate and speed up the process of attacking an application.
Wireless Network Auditing - How far out does your network reach?
I have documented many of the tools in my Wardriving Lens but also check Wardrive.net.
- NetStumbler
Very popular.
Bootable CDROM Tool Link List
- Kali Linux | Penetration Testing and Ethical Hacking Linux Distribution
Home of Kali Linux, an Advanced Penetration Testing Linux distribution used for Penetration Testing, Ethical Hacking and network security assessments.
Penetration testing books from Amazon
Hacking Books - Penetration testing = hacking
Done correctly, penetration testing is ethical hacking and those conducting testing must think of all of the ways a system can be exploited.
Please let me know what penetration testing tools you prefer to use.