Ever wanted to perform a penetration test on a security system (website, application, mobile and etc.) and just didn’t know where to start?
These days, companies are very concerned about the security in their applications due to the increase in the number of disclosed vulnerabilities and exploits which can cause irreversible damage to one’s company.
So as part of the protection, applications and systems are put to a test that simulates a “real” attack but without damaging the company (testing for vulnerabilities without exploiting them).
So in this post, we will give out guidelines about that can help you in your tests!
Avoid false negatives! – In particular, don’t take for granted any written documentation or “of course it is!” comments from technical staff. Always question what if an assumption turns out to be false. Better safe than sorry!
Avoid false positives! – This is also very true when using automated tools and scanners because they tend to produce a lot of false positives. Always double check!
Always prepare – Do NOT do security work on a project without mapping & understanding all of its components, at least at a basic level.
It is important to understand what is not relevant in order to avoid being distracted
So you should ask:
It is also very important to pay attention to sensitive points (system components which are likely to be more vulnerable) as well as common mistakes.
So lets provide some examples:
It can be beneficial to try to understand the mentality of the code writer(s).
Often, components are more secure to begin with, and change with time to be less secure, commonly due to either:
Secure defaults – verify what the defaults are, especially at sensitive points. Secure defaults are a good place to dig for exploits.
So, after we’ve presented some tips that can help in the overall penetration testing, let’s present some tips for better working technique
Suppose we found an interesting function. Consider who calls it, how it can be reached. Write down a back-trace call tree, and the system states or parameter values relevant to it.
Inspecting the system bottom-up should be done only after properly understanding it. At this point, it is very important not to rely on assumptions, design documents, presentations or such, in order to be able to think out of the box
Following the guidelines mentioned above can help achieve better results and asking the write questions when performing pen tests.
Feel free to read our other articels at: appsec-labs.com/portal
If you’ve enjoyed this post and would like to know more, please consider read the following: