How are hackers able to find such complicated exploits?

1.03K views

How are hackers able to find such complicated exploits?

In: Technology

44 Answers

Anonymous 0 Comments

Really don’t need complicated exploits when Bob uses the same password for 10 different accounts. And opens every email attachment or clicks on any link.

Anonymous 0 Comments

It’s kind of like an ant colony looking forward food; you can kill (some of) them, or plug where they’re coming in, but they’re constantly searching for a tiny little hole to navigate until they get back in.

Anonymous 0 Comments

Ex vulnerability researcher here, basically you need to understand the system you’re exploiting and find a flaw in the logic to use to your advantage. If you want a more in-depth analysis let me know and I can explain how I’d find and create exploits.

Anonymous 0 Comments

If you’re curious, have a listen to the Darknet Diaries podcast – it’s full of case studies of hacks, exploits and how they were identified, prevented and/or solved. It’s fascinating and accessible to people that aren’t experts in information security.

Anonymous 0 Comments

It’s just about having a very deep and intuitive knowledge of the system that you’re trying to exploit. If you understand how something works at a very low level, then you also understand how to break it, and break it in the way that you want it to break.

Anonymous 0 Comments

Mostly vulnerability testing and fuzzing to find bugs as well as just looking at public bug reports, then investigate and understand the bugs to see if it’s exploitable.

Basically, lots of code is tested to make sure that things that “make sense” work. It’s fairly common for people to fail to test the edge cases and error cases, so a common attack methods is automate data entry, generate files to give the program, etc, and just keep doing it over an over, but each time trying something a little different. Fuzzing for example is where you just randomly insert errors into the data you give the program, see if it handles it. Websites are commonly vulnerable to SQL injection, so you can try putting quotes and semicolons in fields and see if it breaks anything.

If something breaks, then you investigate why, often you’re looking for things like “XYZ crashed because abc is not valid code”, then you look at the test and see that abc is actually part of the data entry, so it might imply that if it was code it would run, so you enter code there and see if it works.

Anonymous 0 Comments

Typically they don’t. There are teams of researchers who have multiple engineering degrees whose only job it is to find previously undisclosed vulnerabilities. They are paid what is called a ‘bug bounty’. These are programmers and engineers with intimate familiarity with how software works, how operating systems manage low level memory operations, and how all the corresponding protocols work. The image of a lone basement dwelling hacker able to outsmart teams of engineers is inaccurate. And no, Abby Shuto couldn’t just access a database after typing a few buttons.

What is more likely to happen is that a patch is released by a manufacturer. When that happens the time to exploit kit is only a few days. That is because when the manufacturer releases the patch, the flaw becomes obvious, they are essentially releasing directions on how to exploit their flaw. Exploit kits (something legitimately used by spy groups and law enforcement agencies) are not difficult to come by and their operation, while confusing to a normal user, are far easier to use than attempting to find a previously undisclosed flaw.

Anonymous 0 Comments

You don’t learn how to hack. Instead, you learn everything you can learn about how computers, networks, security software, etc. works, and then you’ll know ways in which those systems can break.

Anonymous 0 Comments

Since no one has really given you a technical hacking response yet, [here is one example of a vulnerability that can be found called a stack overflow error. ](https://www.rapid7.com/blog/post/2019/02/19/stack-based-buffer-overflow-attacks-what-you-need-to-know/) The linked article goes into the actual depth required to understand this type of vulnerability and how to exploit it so I recommend reading it, but I’ll do my best to give you a *very* high-level explanation.

For computer programs to work, they need to allocate chunks of memory in the computer to store variables. The code that allocates this memory can do so in a bunch of different ways. For example, in the C coding language, you can call a function named “malloc” or “realloc” to get some chunk of memory. The “malloc” or “memory allocation” method in C is used to dynamically allocate a single large block of memory with a specified size. When you call that function, the function returns a “pointer”, which is a variable that essentially tells you where in the overall memory your little chunk lives.

Here’s the thing though (and this is where my explanation becomes so high level it’s essentially incorrect), once I know where a chunk of memory exists, I can kind of figure out a way to make the computer program read memory outside of that chunk. Say a program allocated blocks 40-45 of a 100 block stack. If I can put some variables in to blocks 50-60 and get that program to use those blocks of memory instead, I can tell the computer to do something entirely different. For example, maybe block 45 pointed to a function the computer was supposed to execute. If I have it point to block fifty, I can have it point to a different function to run. How do you figure out what to do to get it to point to block 50? There are a lot of different ways and the example I linked above explains some of those ways.

Again, I’m oversimplifying here, but this is the gist. I did this in grad school and had the new program be a rootkit, which is essentially a program that installs itself into the operating system and then hides itself so that it can look at different files without being seen.

This at least used to be a more common vulnerability, but it’s only one type of vulnerability among many. As others have mentioned, most are actually social hacks. For countless examples of this, look up Rachel Tobac of SocialProof Security on YouTube and elsewhere. I grew up with her and her husband (who is a more technical security researcher) and she has a bunch of good examples on this front.

Anonymous 0 Comments

In addition to what others have said, there are a lot of hacking tools these days and vulnerabilities are generally published once found. Hackers can look at old vulnerabilities to get ideas for new ones. For example, a buffer overflow in one area of the code might imply there are similar vulnerabilities elsewhere. The tools, like fuzzing tools, make them easier to find.