Absolutely. Programming is a vital skill when it comes to penetration testing/ethical hacking. A hacker who can write his/her own code is considered an elite hacker. If you learn how to code you will be able to write your own exploits. Exploits are the means through which a vulnerability can be leveraged for malicious activity by hackers; these include pieces of software, sequences of commands, or even open source exploit kits. Exploitation is the next step in an attacker’s playbook after finding a vulnerability.
Just knowing how to make use of a tool doesn’t qualify you as a hacker. A hacker who only use tool made by others is called a script kiddy, skiddy or skidiot! A hacker is someone whos is curious about how something works. A hacker always wants to know the ins and outs, nuts and bolts of a system. To become a hacker you must be willing to understand the working guts of a computer. What makes a computer tick? Why makes it crash? What is buffer overflow? How can I tell the computer what to do?
Your ability to write programs as a hacker will furnish you with the skill to automate many tasks which would under normal circumstance takes a lots of time to accomplish. Programming skill would enable you to identify and exploit programming errors in applications that you would be targeting.
Using your programming skills, you can customize the already existing hacking tools and re-purpose the tools by adding your methods to suit your needs. Mastering programming languages allows you to be self-dependent and empowers you with the knowledge of working programs to exploit them easily. With programming skills you can be able to write your own exploits in C/C++ and avoid frameworks such as Metasploit. Programming gives you the power to write your own custom malware making it difficult for an antivirus to detect.
Programming is an essential skill when it comes to hacking. A hacker is someone who breaks a system, a protocol or application security which has been programmed in a certain language.
To master the working and discover the vulnerabilities of a machine and applications a hacker must learn a few programming languages.
Here are some suggested programming languages to start with:
The ability to write and interpret HTML will makes it easy for you to identify and exploit weaknesses in the HTML code.
PHP is a server side programming language. It can be use to write custom scripts to modifies settings on a web server and makes the server vulnerable to attacks.
SQL is use to carry out SQL injection attack in order to bypass web application login algorithms that are weak, delete data from the database etc.
Python, Ruby, Bash and Perl
These scripting languages are usually used to develop automation tools and scripts. You can use them to help you understand and customize the already available tools.
C and C++
C and C++ are used by hackers to write their own Shell codes, exploits, rootkits and to understand and extend the existing ones.
Best Way to Learn Programming
- Purchase a beginner book or course on your chosen language
- Do not take long breaks once you begin learning. Long breaks will make you forget what you have learnt in the beginning and which is necessary to understand the rest of the course/book.
- Tackle all the practice problems in the book. To become better you need to apply what you learned.
- When you come across a difficult concept, do not skip it. Go over it multiple times and find someone to help you.
- Join programming groups and hacking forums. There are several programming groups on Facebook. People in the groups are always willing to offer assistance to you when you get stucked.
- Practice. Think of ideas for fun programs that you could make and code them and makes them open source.