At one time or another, most people have held the desire to become an expert hacker. It’s pretty easy to become enamored with their intellect and tech-prowess, and Hollywood certainly does a good job of characterizing them as highly intelligent rogues that have the power to change the world. But after the movie ends, most people are left wondering how on Earth they can achieve master-hacker status.
Is it a talent that can’t be taught? What skills do people need to become real-life, legitimate hackers? The good news is that no hacker was born knowing how to hack. That is to say that it is an acquired trait, and just about anyone with a sound mental capacity and a moderate ability to learn new skills can become a hacker. If you’re a newbie, it’s always best to start with the fundamentals. Just remember that a journey of a thousand miles begins with a single keystroke, and you are going to need to apply yourself and commit significant amounts of time to achieving your dreams. With that understanding, let’s take a look at the skills that every hacker needs to master their craft.
1. Simple Technological Literacy
If you type by pecking your two index fingers across the keyboard, you’re going to have an uphill battle learning how to hack. Every hacker needs basic computer skills. Fortunately, most people possess basic typing skills and the ability to use a computer. However, you will need to have other basic understandings, such as the various components that comprise a computing system (e.g. operating systems, hard drives, processors, etc.).
This may sound like a no-brainer, but remember that you can’t cut corners. If you lack a basic understanding of computing systems, you need to start at square one to develop a foundation that all further knowledge and skills will be built upon.
2. Advanced Networking Skills
Sure, most people probably understand the terms Ethernet, LAN, and IP address. But this is just the tip of the iceberg, and you really need to have a deep understanding of networking protocols such as the TCP/IP protocol suite (IPv6 wouldn’t hurt, either). One fantastic way to learn networking skills is to study for a certification exam. The COMPTIA Network certification isn’t a bad place for novices to start. In addition, people who already have a modest working knowledge of these technologies may want to opt for a vendor-specific certification such as Cisco’s CCNA certification. While you don’t need to test for (or even pass) your certification, it certainly wouldn’t hurt your career in just about any IT discipline.
Key protocols and technologies that any competent hacker needs to learn includes the following:
- IP address mechanics
- Subnetting basics and subnet masks
- IPv4 and IPv6
- Public versus private IP addressing structures
- DHCP
- NAT
- DNS
- Types of network devices (e.g. hubs, switches, routers, firewalls, etc.)
- The OSI Model
- MAC addresses
- ARP
- Routing (e.g. static routing, dynamic routing, default routes, etc.)
- TCP versus UDP
- Session-layer protocols
- Data encryption protocols
- Wireless standards
3. Linux Proficiency
The third skill that just about every great hacker has is Linux proficiency. Some of the greatest (and rather complex) hacking tools are only available on Linux platforms. Furthermore, some Linux operating systems were designed specifically for hackers, bundling together libraries of code to give hackers every tool they need to carry out their work. While Ubuntu is one of the most popular and easy to use Linux distributions, most hackers tend to prefer Kali Linux.
It can be challenging learning to use a new operating system, but once you have the basics under your belt, the world will open up for you as a hacker. What once seemed to be cryptic characters of unreadable jargon will become your way to explore networks. And you absolutely need to have strong command line skills using the BASH shell. Just remember to take things one step at a time – learning is a process, not an event.
4. Virtualization
Virtualization skills never go amiss, either. In the past, virtualization technologies weren’t as crucial as they are today. However, most collocated server and cloud solutions use some form of virtualization to more effectively utilize hardware resources. The best place for novitiates to start is with VMWare, because it will allow you to custom build virtual machines that make running simultaneous operating systems (such as Linux distributions in a Windows environment) a breeze. It also provides a great platform to allow you to sample and test different configurations of Linux software. And the best part? You don’t have to worry about locking yourself out of your main operating system with a failed boot loader installation or the unfortunate mistake of writing over your MBR (Master Boot Record).
5. A Well-Rounded Security Skillset
Security skills should also be a no-brainer, but they aren’t a skill for the faint of heart to develop. Security is really an umbrella term that encompasses many different facets of technology including cryptography, wireless encryption, firewalls, packet sniffing, and countless other concepts. I would recommend that you only study security after having a firm understanding of networking basics, because many security concepts require a background knowledge in the fundamental workings of various protocols.
Also, many security skillsets are dependent on other foundational knowledge such as Linux proficiency. After you feel comfortable working at the command line in a Linux environment, you can start to play around with tools such as Metasploit, NMAP, and other sophisticated tools.
6. Database Knowledge
Last but not least, wannabe hackers should have a solid understanding of database skills. In fact, many attacks (such as SQLi attacks) take advantage of errors in database logic. You should have a working knowledge of database terminology, how to structure SQL commands, and various operations such as inserts, updates, and deletes. It isn’t necessary to become Oracle certified, but the more knowledge you have, the larger your tool belt will grow.