Ethical Hacking

Step 0: Read The Hacking Manifesto


It is not an easy task to be a hacker. As a hacker, you need to have an attitude and curiosity. Reading the hacking manifesto can teach you the attitude of a hacker. Nurturing the hacker attitude is more about developing competence in the languages rather than having a stereotypical attitude.


Though a lot of people consider that a hacker is a criminal; However in real life, they are hired by big companies for protecting information and minimizing potential damage. The act of hacking actually is that of being an over-curious and outwitting authority. As a hacker, you should be hell-bent on breaching authoritarian rules, secrecy, and censorship. Deception is another arsenal which will allow you to dodge the vigilant eyes of authority.

The act of stealing something or doing harm to someone is not hacking. Such people are commonly called crackers in the community. Crackers are involved in illegal activities and I will not recommend you to get involved in such activities.

Step 1: Learn To Program In C

C programming is one of the most powerful languages in computer programming, It is necessary to really master this language. This programming language was invented by Denise Ritchie in between the years 1969 and 1973 at AT& T Bell Labs. C programming will essentially help you divide the task in smaller pieces and these pieces can be expressed by a sequence of commands. Try writing some program on your own by assessing the logic.

There are hundreds of Free C Programming PDF & tutorials available on web to learn, however I would recommend you to start with a simple and well written c programming book of your choice and then read this book (C Programming Language
By Brian W. Kernighan and Dennis M. Ritchie) to understand the real power of c language.
This book is not an easy read however its a must read the book to get an in-depth understanding for C Programming.

Step 2: Learn More Than One Programming Language


When you are trying to become a hacker, it is very important to learn other modern computer programming languages such as Java, Perl, PHP, and Python. One of the best ways to learn these is by reading books from experts. It will also help to know about markup languages like XML, HTML and data formats such as JSON, Protobuf, and others which are a common way to transfer data between client and server.

Java is one of the most popular programming languages. It has been claimed that it's also very secure. Knowing Java security model will empower you to understand how this language achieves security. Learn about the security loopholes in Java language and related frameworks. Pick and read from many free PDF, tutorials and ebooks available to learn java online.

Perl is a general purpose dynamic programming language, which is a high level and can be interpreted. This language borrows some features of C language. On the other hand, JAVA is concurrent, class-based and objects oriented programming language. Python is really handy when you are trying to automate some repetitive tasks.

HTML is the markup language based on which the web pages are designed, created and displayed. The web browsers read the HTML code to display the web page.

Python is best language for web development and favorite language of a lot of programmers due to its simplicity and quick turn around. A lot of people use Python to do simple and complex automation.

For more programming language tutorials check - best programming tutorials.

Step 3: Learn UNIX

UNIX is a multi-tasking and multi-user computer operating system that is designed to provide good security to the systems.This operating system was developed by some employees of AT&T in Bell Labs.The best way to learn it is to get into an open-source version (e.g. centos) and install/run the same on your own. You can operate internet without learning UNIX, but it is not possible for you to be an internet hacker without understanding UNIX.

If you have not used Unix operating system yet, a few essential linux commands will make your comfortable in getting quickly started.

Unix in a Nutshell by Arnold Robbins is a good way to start. This book will teach you how to use Unix.

The next thing you need to know is the internals of this operating system. I recommend
The Design of the UNIX Operating System by Maurice J. Bach for getting in-depth understanding of Unix operating system.

A large number of web servers are hosted on Unix based servers and knowing internals of this operating system is going to be really a big boost in your skills.

Step 4: Learn More Than One Operating Systems

There are many other operating systems apart from UNIX. Windows operating system is one of the most commonly compromised systems, hence it is good to learn hacking Microsoft systems, which are closed-source systems.

According to the National Vulnerability Database, Microsoft operating systems have a large number of vulnerabilities.

Windows OS installers are distributed in binary, therefore it is not easy for you to read the code. Binary code is basically the digital representation of text and data that computer understands. However, knowing how programs are written for windows and how different applications behave on this operating system will help.

One of the recent vulnerabilities of a popular OS was that Java Web Start applications get launched automatically even if the Java plug-ins are disabled. How to be a hacker is about knowing the weaknesses of these operating systems and targeting them systematically.

Step 5: Learn Networking Concepts

The networking concept needs to be sharp when you want to be a hacker.

Understanding how the networks are created is important, however, you need to know the differences between different types are networks. Having a clear understanding of TCP/IP and UDP protocol is a must to be able to exploit the vulnerabilities on the world wide web.

Understand what is subnet, LAN, WAN, and VPN.

I recommend Computer Networking: A Top-Down Approach By James F. Kurose and Keith W. Ross

The networking commands to do an HTTP request needs to be on your fingertips. The HTTP protocol is the gateway through which one enters the internet world. Hence it is necessary to learn this protocol in order to break the barriers. The hackers often use the HTTP gateway to breach the security of the system and take control over it.


Apache Httpd is one of the most commonly used web servers and knowing in and out of it is going to empower you on any HTTP or other application layer protocol related endeavors.

Nmap is a powerful network scanning tool that is used by hackers and security professional across the world to identify vulnerable hosts. However, to effectively start using it you must understand the networking basics. To get advanced skills on NMap you can refer the book by creators - Nmap Network Scanning: The Official Nmap Project Guide to Network Discovery and Security Scanning

Post a Comment

Comment box

Previous Post Next Post