How to become a hacker ? Full path

  • Updated : 28-06-2024 23:40
  • By : Phosphataz
  • What is hacking ?


    Hacking is the process of diverting the normal functioning of a system in order to make the do something that it's not suppose to do.

    For example :

    • - by transmitting more data than what is needed to an input of a system, you may overflow the space the system allocated for this data. The remaining data may bring a shell back to you, allowing you to control the system.


    What type of hacker do you want to become ?


    Hackers are these peoples who hack the systems. Based on theirs intentions we can categorize them in 3 groups :

    • - white hat hackers : they hack the system, to find vulnerabilities and provide a correction. This will make the system more secure. Usually they get permission from the owner of the system before the hack.


    • - gray hat hackers : Sometimes they get permissions before they hack, sometimes no, they hack for theirs own profits.


    • - Black hat hacker : They hack without permission, for various reasons : make profit, destroy the system etc...


    It's important to know what type of hacker you want to become before you start. Know that hacking a system without permission is bad and have consequences.


    The path to become a Hacker.


    There in different path to become a hacker. I will choose 2 :

    Path 1 - From zero

    • a - Start by learning how computers communicate to each other. Two or more computers create a network and exchange messages, you need to know how they create messages and send to each other. For this you need to know What is : internet > Local network > Routers > Switch > interfaces and TCP/IP model.
    • b - After that you need to know more about computer components and architecture : hard drive, Memory, processor, bus, Data representation like binary, hexadecimal etc....
    • c - Then try to understand the web in general : frontend, backend, server, browser etc...
    • d - Then start learning computer programming : start by C programming language.

    And go to the next step : Start hacking.


    Path 2 - From programming

    This path is starting the hard way, by start learning programming first and from there you will discover the computer network, computer architecture etc...

    For this path, still start by learning the C programming language.After that move to the next step : Start hacking.

    NB : I recommend the path 2, start programming and learn the other stuff along the way.


    Start hacking.


    1 - Starting with The C programming language, here is why :

    • Is the only good, relatively high level language you need in order to understand how computer works.

    In the computer there is different type of software : kernel and system software, user land software, user installed software etc.... All these software need the C language or a layer build with the C language, in order to talk to the system hardware : network card, hard drive, memory, processor etc... By learning it, it will become easy for you to know where you are and maybe where to go.

    After understand the C language you need to choose a domain of hacking.


    2 - Choose which domain of hacking and which language to learn.

    In hacking there is lot of domains, and for each domain there is a set of tools, programming languages and requirements :

    web hacking

    For the back-end need to learn one of these 3 programming languages and theirs framework :

    • - Learn JavaScript as language and Node.js as runtime on top of which framework are build on. In order to understand node.js you will need to learn C++ language.
    • - Learn PHP as language and Wordpress or symfony as a framework. Or more frameworK.
    • - Learn Java as language and spring as a framework.


    These are the popular back-end framework and languages. For each framework you will need to understand 2 features :

    • - how it interact with the database and the system in general (how files are upload on the system etc..)
    • - How security feature works or is implemented.


    For the front-end you will need one language :

    • - JavaScript : it's the language that is always used is the frontent.


    Feature you need to master :

    • - How JavaScript and json works together.
    • - How JavaScript interact with the back-end : ajax, fetch, axios etc..
    • - How the DOM works.


    Mobile Hacking

    You will need to choose between : iOS and Android.

    For iOS you will need 2 programming languages :

    • - C++ : to understand how the iOS app interact with the system.
    • - Objective-C : it's the primary language for writing software for iOS.


    For Android you will need 2 programming languages :

    • - C++ : to understand how the Android app interact with the system.
    • - Java : it's the primary language for writing software for Android.



    Malware and exploit development

    You will need :

    • - to understand systems programming : for Windows you need C++ language and understand Windows Api.
    • For Linux you need C and libC.
    • For each platform, focus on : memory and process management, file system interaction, network programming.


    • - Others languages : Assembly for reverse engineering malware and software and exploit development. And Python for automation.



    Hardware hacking

    You will need :

    • - to understand embedded systems : processors, micro controllers, Arduino etc...
    • - to learn Linux system programming : With C language.



    3 - Start practice

    • - Depending on what domain you choose, create 3 or 4 different projects, in order to understand how software works in these domain.
    • - Start hacking competitions CTFs.
    • - and repeat.
    • - and keep hacking.



    Conclusion


    Everyone can become a hacker and there is no predispositions to that. To become a hacker you just need to do the thing so much that you will understand all the corner of the system and be able to see the system weakness.

    Hope this article helped you, Good luck.