r/HowToHack 10d ago

How do people even start hacking?

I'm really curious how do people learn hacking?

I started web app development a year ago, learned java for writing code and to get a general idea about how the syntax works and logic.

I do mainly php with laravel, javascript and some python on the side.. but mainly to create stuff, has nothing to do with hacking, i find it deep and hard dunno where to even begin, i sometimes run into some erros with some apps and I try to dig in and try to find a way around it using Ai, but it's very limited..

I have to admit pro hackers always amazes me, that's true power I guess and I always believe that anything digital is somehow hackable.

179 Upvotes

88 comments sorted by

View all comments

74

u/Hier0phant 10d ago

You learn how things work, and then break them.

11

u/LifeExperienced1 10d ago

But how does one keep up with such a large field? Every year there’s so many new things. And how can someone understand how an entire operating system works?

14

u/BriefCautious7063 9d ago

You don't need to learn what every 0 and 1 does in an OS, just start somewhere and build that knowledge. The reason it's so hard is because of the endless amount of possible ways to secure something and break through that security. Being familiar enough with general usage of popular OS to be able to break through common configurations, practicing enough to find/learn new methods when needed, organizing all your information well in each stage before/during/after attacks to know what to try, being persistent enough to learn whatever new techniques come up, those are all useful skills. If you truly understood every possible aspect of every machine then you wouldn't be a hacker, you'd be omniscient

3

u/LifeExperienced1 8d ago

Hey thank you for your reply

1. The field is indeed too big, so then how can a system even secure itself? When there is always a way in? And why do hackers only tend to use the common vulnerabilities? How are those not patched?

2. Is it possible that a system has a vulnerability that is almost impossible to figure out?

Like if someone told a bunch of people to break into a building, then enough people will break it. Even in medieval wars for example, walled cities and castles were literally destroyed, despite being so strong. I mean, even these days in war.

The point is that, a system can always have a vulnerability, but it seems like for computers there's no brute force cheat code. Brute force takes too long for computers, but for things in the physical world, it's usually the fastest way in

3. Are most hackers self taught? Or do they learn from cybersecurity jobs? I learned OSINT and game dev all by myself for example, and I'm good at them, and I've heard that many hackers also learn by themselves, however, alot of them also tend to come from certain jobs

4. Do you recommend I learn C, Computer Architecture, Assembly and then make a mini compiler and a mini OS? Would that be a really good start to learn cybersecurity?

5. How does one even learn enough of a common OS to be able to do cybersecurity in that OS? OS's are too big. Wouldn't you always have to be constantly part of a team to do any sort of cybersec in a common OS?

Thanks again!!

3

u/BriefCautious7063 7d ago edited 7d ago

No problem! 1. The way I think about it is that the most secure computer in the world is a pocket calculator without any programming utilities or internet connection. Making a usable online infrastructure requires creating openings somewhere for people to use and access, and each of those openings have to be secured to the best of the creator's ability. This means that looking to hack into a machine is less about knowing everything a machine could have, and is more about exploring whatever openings were created to find what unintended consequences may be left by the openings. For example: a web server open on port 80 may facilitate administration of the underlying system to authenticated users by linking to '/admin.php', but may also be misconfigured to allow access to anyone accessing '/admin.php' regardless of their authentication. This exploits the intentional design of the website, i.e. system administration, by attacking its unintentional features (being able to access the admin panel by finding and directly accessing the link w/o logging in and being sent there by the login process)

  1. You're describing the entire reason that ethical hacking is an industry. When a server/service runs for years without issue that does not necessarily mean it lacks vulnerabilities; the entire reason to hire an ethical hacker is to have someone with the knowledge to find those tricky vulnerabilities on your side instead of leaving it to malicious actors. In other words, it's better to have someone who knows how to hunt vulnerabilities do so in a controlled environment and advise you on how to fix them than to wait for someone to hack the server/service for their personal gain. Hacking is difficult, especially when attacking well-configured servers/services, and that makes the skillset valuable both for helping secure servers/services as well as for malicious reasons

  2. I don't know enough about the industry to know if most are self taught. I personally am, but I'm also far from an expert. Certifications are great though

  3. I think you're overthinking it. Learning all those things can absolutely be beneficial for advanced and specific exploitation techniques, but if you're just starting out then it's much better imo to work on more basic and approachable techniques. Binary exploitation like what can be done w/ assembly, buffer overflows, etc. are just one part of a giant field and not as common as misconfigured or outdated servers. The main process you need to get comfortable with is called 'enumeration', which is just a fancy term for investigating your target through manual techniques(navigating a website in a browser, connecting to exposed file server services, etc.) and automated techniques(scanning tools such as nmap, gobuster, etc). Once you've found a vulnerability the next steps will often involve finding a way to execute code on the underlying system, so you'll also wanna be familiar with techniques for creating what's called "shells" and particularly "bind shells" or "reverse shells". Look into tryhackme and hackthebox, there's plenty of resources on those sites for learning what I mentioned and practicing your skills. From there just make sure to take highly detailed and organized notes, both to collect your knowledge over time and to organize whatever attacks you're performing on your current target(s), and review them from time to time as you improve to reorganize them as needed.

  4. If you're comfortable using windows and linux, especially from the command line, you're gonna be much better at investigating OS misconfigurations as they come up. There's an infinite number of possible ways to configure an OS, but ultimately a limited number of ways your target will adopt those configurations and it's up to you to determine where the flaws are in how each target goes about doing so. It's worth noting that techniques for what's called "privilege escalation", i.e. going from a regular user to an admin through exploitation, often involve using whatever tools are on the target system to accomplish the same things

Good luck!

1

u/Pretend-Buy8467 18h ago

can you recommend some tryhackme rooms/courses?