Hacking is the search for vulnerabilities in a network or computer in order to gain access. Becoming a hacker is not easy, and in this article, we will learn the basics.
To become a hacker, you need a thorough knowledge of programming languages, methods of hacking, techniques to search for vulnerabilities, networking, operating systems and so on. Also, you must have a creative type of thinking. You must quickly adapt to the situation, find non-standard solutions, show creativity.
If the skills described above can be developed over time, then to understand, for example, a MySQL device or learn how to work with PGP-encryption, you will have to learn a lot. And for a long time.
To become a hacker, you need:
Learn and use a UNIX system, for example, Ubuntu or MacOS
Initially, UNIX-systems were intended for programmers who develop software, and not for users who do not belong to the IT sphere. UNIX-systems are systems on which almost all the Internet costs since they mostly use the same server (most often Debian and Ubuntu). You can not become a hacker without learning them and not having learned to work with the terminal.
For Windows users
If you are using Windows, there is good news for you: do not delete the current system and format the disk. There are several options for working with Linux:
- Study VirtualBox comes very handily in such situations. It actually allows running an operating system on the operating system. So you can have the full virtualized environment for your experiments without harming or changing your guest operating system.
- Install Linux next to Windows. If you do everything correctly, the system loaders will not conflict. This is quite simple: there are many manuals on the Internet.
Learn HTML Markup Language
If you are not yet familiar with programming then you have a great opportunity to start your journey with learning the Hyper Text Mark-Up Language. Regardless of what you see on the site, know that all this is HTML.
Let me give an example of the use of HTML, even if it is a bit connected with PHP. In early 2015, a vulnerability was detected in the WordPress theme, which allows uploading (executing) files to the server. The file in which the vulnerability was found is admin / upload-file.php. Here he is:
To make the sending form for this file, you need to know HTML. Sending a file that, for example, pulls out all passwords or gives access to a database, you are free to do with the web service whatever you want.
So, knowledge of HTML is necessary in order to:
- Search for the vulnerability of web resources.
- Use these vulnerabilities.
Learn several programming languages
As we all know, in order to break the rules, you need to know them first. The same principle works for programming: in order to crack someone’s code, you need to know how programming languages work, and to be able to program yourself. Some of the most recommended JA for learning:
- Python: this is probably the best language for web development. On it are written two large frameworks on which a huge number of web applications is created, this is Flask and Django. The language is well built and documented. The most important thing is that it is very easy to learn. By the way, many developers use Python to create simple and complete automation.
- C ++: the language used in industrial programming. He is taught in schools, universities. It is written on the server. I recommend starting learning languages from it since it contains all the principles of OOP. Learning to work with it, you easily learn other languages.
- SQL: the most interesting. All passwords, personal data, are stored in databases written in SQL. The most common database management system is MySQL. To understand how to use MySQL injection, you need to know what MySQL injection is. To catch the essence of MySQL injection, you need to know what MySQL queries are, what the syntax of these queries is, what the database device is, how data is stored, what tables are, etc.
Explore network devices
You should clearly understand the network devices and the principles of their work if you want to become a hacker. It is important to understand how networks are created, to understand the difference between TCP / IP and UDP protocols and so on. Find out which network you use. Learn how to customize it. Find out the possible vectors of attack.
Having a thorough knowledge of the various networks, you will be able to exploit their vulnerabilities. Also, you need to understand the structure and operation of the web server and website.
This is an integral part of learning. It is necessary to understand the algorithms of various ciphers, for example, SHA-512, the OpenSSL algorithm and so on. You also need to deal with hashing. Cryptography is used everywhere: passwords, bank cards, crypto-currencies, trading platforms and so on.
Kali Linux: some useful software
- NMAP: – Nmap (“Network Mapper”) is a free open-source program that is preinstalled in Kali. Written by Gordon Lyon (also known under the pseudonym Fyodor Vaskovich). It is needed to discover hosts and various services, thus creating a “network map”. It is used for network checking or security auditing, for fast scanning of large networks, although it works fine with single hosts. The software provides a number of functions for the study of computer networks, including the discovery of nodes and the operating system. Nmap uses raw IP packets to determine which hosts are available on the network, which services (application name and version) those hosts are offering, which OSes they are running, what types of packet filters/firewalls are used, and dozens of other characteristics.
- Aircrack-Ng: – Aircrack is one of the most popular programs for hacking the WEP/WPA/WPA2 protocol. The Aircrack-ng package contains tools for capturing packets and “handshakes”, deauthorizing connected users, creating traffic and tools for network brute force and dictionary attacks.
In this article, we have figured out the basics, without which you can hardly become a hacker. By the way of employment. Typically, people engaged in information security or working as freelancers, carrying out orders of individuals, or working for the company, ensuring the safety of stored data, perform the work of the system administrator, etc.