HACKER SCHOOL
How to become a hacker
Hacking is an interesting field, but it is definitely not easy. To become a hacker, one must have the attitude and curiosity to learn and adapt new skills. You need to have deep knowledge of computer systems, programming languages, operating systems and the learning journey goes on and on.
Some people think that a hacker is always a criminal and does illegal activities, but they are wrong. In fact, many large companies hire hackers to protect their systems and information and are highly paid. here is a list of the most important steps required to become a hacker, take a deeper look
Learn UNIX/LINUX
NUNIX/LINUX is an open source operating system that provides better security for computer systems. It was first developed by AT&T at Bell Labs and has contributed a lot to the world of security. You should install LINUX freely available open source versions on your desktop computers because it is impossible to become a hacker without learning UNIX/LINUX.
C code
C programming is the basis of learning UNIX/LINUX because this operating system is coded in C programming which makes it the most powerful language compared to other programming languages. The C language was developed by Dennis Ritchie in the late 1970s. To become a hacker you should know C language.
Code in more than one programming language
It is important for a hacker to learn more than one programming. There are many programming languages that you can learn such as Python, Perl, JAVA, C++. Free eBooks, tutorials are easily available online.
Learn networking concepts
Another important and necessary step to becoming a hacker is to be good at networking concepts and understand how networks are built. You need to know the differences between different types of networks and have a clear understanding of TCP/IP and UDP to exploit vulnerabilities (loops) in the system. It is also important to understand what LAN, WAN, VPN, Firewall. You must have a clear understanding and use of network tools such as Wireshark, NMAP for packet analysis, network scanning, etc.
Learn more than one operating system
It is essential for a hacker to learn more than one operating system. There are many other operating systems besides Windows, UNIX/LINUX etc. Every system has a hole, a hacker needs it to exploit it.
Learn cryptography
To become a successful hacker, you must master the art of cryptography. Encryption and decryption are important skills in hacking. Encryption is widely used in several aspects of information system security in authentication, confidentiality, and data integrity. Information on the network is in encrypted form, such as passwords. When hacking a system, these encrypted codes need to be broken, which is called decryption.
Learn more and more about hacking
Go through various tutorials, e-books written by hacking experts. Learning never stops in the field of hacking as security changes every day with new updates in systems.
Experiment a lot
After you learn some concepts, sit down and practice them. Set up your own lab for experimental purposes. You need a good computer system to begin with, as some tools may require a powerful processor, RAM, etc. Keep testing and learning until you break the system.
Write Vulnerability (Loop Hole Program)
A vulnerability is a weakness, loop, or open door through which you enter a system. Look for weak points by scanning the system, network, etc. Try to write your own and exploit the system.
Continue the never ending learning
Learning is the key to success in the world of hacking. Constant learning and practice will make you the best hacker. Stay up-to-date on security changes and learn about new ways to exploit systems.
Types of Hacking and Hackers
BLACK HAT HACKERS
Black hat hackers are the "bad guys" of the hacking scene. They go out of their way to discover vulnerabilities in computer systems and software to exploit them for financial gain or for more malicious purposes, such as to gain reputation, carry out corporate espionage, or as part of a nation-state hacking campaign. These individuals’ actions can inflict serious damage on both computer users and the organizations they work for. They can steal sensitive personal information, compromise computer and financial systems, and alter or take down the functionality of websites and critical networks.
WHITE HAT HACKERS
White hat hackers can be seen as the “good guys” who attempt to prevent the success of black hat hackers through proactive hacking. They use their technical skills to break into systems to assess and test the level of network security, also known as ethical hacking. This helps expose vulnerabilities in systems before black hat hackers can detect and exploit them. The techniques white hat hackers use are similar to or even identical to those of black hat hackers, but these individuals are hired by organizations to test and discover potential holes in their security defenses.
GREY HAT HACKERS
Grey hat hackers sit somewhere between the good and the bad guys. Unlike black hat hackers, they attempt to violate standards and principles but without intending to do harm or gain financially. Their actions are typically carried out for the common good. For example, they may exploit a vulnerability to raise awareness that it exists, but unlike white hat hackers, they do so publicly. This alerts malicious actors to the existence of the vulnerability.
PREVENTION FROM GETTING HACKED
Software Update
Hackers are constantly on the lookout for vulnerabilities or holes in security that have not been seen or patched. Therefore, updating software and operating systems are both crucial to preventing users and organizations from getting hacked. They must enable automatic updates and ensure the latest software version is always installed on all of their devices and programs.
Use Unique Passwords for Different Accounts
Weak passwords or account credentials and poor password practices are the most common cause of data breaches and cyberattacks. It is vital to not only use strong passwords that are difficult for hackers to crack but also to never use the same password for different accounts. Using unique passwords is crucial to limiting hackers’ effectiveness
Use two-step verification if it's available for logins. If someone signs in from a new or unauthorised device, they'll have to provide a code that's only sent to your phone or email address.Two-step verification, a crucial security measure, fortifies account protection by requiring users to authenticate their identity with both a password and a secondary method, like a code sent to their mobile device, thereby significantly reducing the risk of unauthorized access and enhancing overall digital security.
Types of Attacks
Once the work is taking place, what are some of the specific sorts of attacks that you will be conducting? Each type of vulnerability has its own associated exploitation techniques. This section will cover the various classes of vulnerabilities that you will interact with most often.
No matter what category of vulnerability you are looking at, Kali makes these tools and exploits easy to find. The Kali menu on your graphical user interface is divided up into categories to help make the right tool easier to find. In addition, the Kali Tools website has comprehensive listings of the various tools available in Kali, organized by category and tagged for easy browsing. Each entry contains detailed information about the tool as well as example usage.
Denial of Service
Denial of service attacks leverage a vulnerability to create a loss of service, often by crashing the vulnerable process. The Stress Testing category of the Kali Linux menu contains a number of tools for this purpose.
When many people hear the term “denial of service attack”, they immediately think of resource consumption attacks that are sent out from multiple sources at once against a single target. These would be a distributed denial of services attack, or DDOS. These sorts of attacks are rarely part of a professional security assessment.
Instead, a singular denial of service attack is most often the result of an improper attempt to exploit a vulnerability. If an exploit writer releases partially functional, or proof-of-concept (POC) code and it is used in the field, this could create a denial of service condition. Even a properly-coded exploit may only work under very specific circumstances but cause a denial of service under lesser circumstances. It may seem that the solution is to only use safe and tested exploit code, or to write your own. Even with this solution, there are no guarantees and this severely limits the assessor, causing undue constraints, which results in a lesser assessment. Instead, the key is compromise. Avoid PoC code and untested exploits in the field and always make sure a lawyer has you covered for other mishaps.
Typically, denial of service attacks are not launched intentionally. Most automated vulnerability tools will declare denial of service vulnerabilities as lower risk due to the fact that while you can remove a service from operation, that service can’t be exploited for code execution. However, it is important to remember that not all exploits are released publicly and a denial of service vulnerability may mask a deeper, more serious threat. A code execution exploit for a known denial of service may exist but not be public. The point is, pay attention to denial of service vulnerabilities and encourage your customer to get them patched regardless of their (often low) threat rating.
Memory Corruption
A memory corruption happens when a location within the memory space of a process is accidentally modified due to programming mistakes. Memory corruption bugs usually lead to unpredictable program behavior, however in many cases, these bugs allow process memory manipulation in such a way that the program execution flow can be controlled, allowing attacker-defined activity.
These attacks are typically referred to as buffer overflows, although this term is an over-simplification. The most common types of memory corruption are vastly different from one another and have their own tactics and techniques required for successful exploitation.
Stack Buffer Overflow: When a program writes more data to a buffer on the stack than there is space available for it, adjacent memory can be corrupted, often causing the program to crash.
Heap Corruption: Heap memory is allocated at run- time and usually contains data from the running program. Heap corruptions occur by manipulating the data to overwrite through the linked list of heap memory pointers.
Integer Overflow: These overflows occur when an application tries to create a numeric value that can’t be contained within its allocated storage space.
Format String: When a program accepts user input and formats it without checking it, memory locations can be revealed or overwritten, depending on the format tokens that are used.
Web Vulnerabilities
Due to the fact that modern web sites are no longer static pages, but instead dynamically generated for the user, the average website is quite complex. Web vulnerabilities take advantage of this complexity in an effort to attack either the back end page generation logic or the presentation to the visitor of the site.
These sorts of attacks are extremely common, as many organizations have reached the point where they have very few externally facing services. Two of the most prevalent web application attack types are SQL injection and cross-site scripting (XSS).
SQL injection: These attacks take advantage of improperly-programmed applications that do not properly sanitize user input, leading to the ability to extract information from the database or even the complete takeover of the server.
Cross-site scripting: As with SQL injection, XSS attacks result from improper sanitization of user input, allowing attackers to manipulate the user or site into executing code in the context of their own browser session.
Complex, rich, and complicated web applications are very common, presenting a welcome attack surface for malicious parties. You will find a large number of useful tools in the Web Application Analysis menu category and the kali-linux-web metapackage.
Password Attacks
Password attacks are attacks against the authentication system of a service. These attacks are often broken into online password attacks and offline password attacks, which you will find reflected in the Password Attacks menu category. In an online password attack, multiple passwords are attempted against a running system. In an offline password attack, the hashed or encrypted values of the passwords are obtained and the attacker attempts to obtain the clear text values. The protection against this sort of attack is the fact that it is computationally expensive to work through this process, limiting the number of attempts per second you can generate. However, workarounds for this do exist, such as using graphic processor units (GPUs) to accelerate the number of attempts that can be made. The kali-linux-gpu metapackage contains a number of tools that tap into this power.
Most commonly, password attacks target vendor-supplied default passwords. As these are well-known values, attackers will scan for these default accounts, hoping to get lucky. Other common attacks include custom dictionary attacks where a wordlist is created that has been tailored to the target environment and then an online password attack against common, default, or known accounts is conducted where each word is attempted in sequence.
In an assessment, it is very important to understand the potential consequences of this sort of attack. First, they are often very noisy due to the repeated authentication attempts. Secondly, these attacks can often result in an account lock out situation after too many invalid attempts are performed against a single account. Finally, the performance of these attacks is often quite slow, resulting in difficulty when attempting to use a comprehensive wordlist.
Client-Side Attacks
Most attacks are conducted against servers, but as services have become harder to attack, easier targets have been selected. Client-side attacks are a result of this, where an attacker will target the various applications installed on the workstation of an employee within a target organization. The Social Engineering Tools menu category has a number of excellent applications that can help conduct these types of attacks.
This sort of attack is best exploited by the Flash, Acrobat Reader, and Java attacks that were very common in the early 2000s. In these cases, attackers would try to solicit a target to visit a malicious web page. These pages would contain specialized code that would trigger vulnerabilities in these client-side applications, resulting in the ability to run malicious code on the targets system.
Client-side attacks are incredibly difficult to prevent, requiring a great deal of user education, constant application updates, and network controls to effectively mitigate the risk.