toc

1. Hacking for money

Penetration testing, simply put, is finding system vulnerabilities through simulations of real-world attacks.

Goals
Try to find how far a real attacker would make it.
Tools
Well the same as the bad guys.
Method
  • contract with "victim"
  • hack yourself in, but don't break anything
  • keep confidential information confidential
  • write a detailed report

1.1. Motivations

Finding vulnerabilities is an essential step in information security, but the reasons to perform a pentest can be multiple:

2. Pentesting in detail

Penetration testing can be performed whether the tester has zero, some or total knowledge of the "victim" system. Generally one talks about 2 types of tests:

In general one starts with a blackbox test. If the perimeter security stands tight and no intrusion was possible, it is still necessary to perform a further test: a whitebox. This is because, most systems/networks (~90%) follow the saying: "a crunchy shell around a soft, chewy center". A whitebox pentest, where for instance, an attack of an employee from the inside, can be simulated, brings up internal holes and security breaches.

Besides these two basic types, there are some more specific ways of penetration testing:

Finally there is the:

2.1. Contract

2.2. Obligations

2.3. Skills

The following skills are necessary for an expert performance of penetration tests:

2.4. Techniques

Penetration testing must be done in a structured manner using well-defined steps:

  1. Reconnaissance

    Research information about the target systems and network.

    Computers that can be accessed over the internet must have an official IP address. Freely accessible databases provide information about the IP address blocks assigned to an organization.

  2. Enumeration

    • Scan target systems for services on offer.

      An attempt is made to conduct a port scan of the computer(s) being tested, open ports being indicative of the applications assigned to them.

    • Identify systems and applications.

      The names and version of operating systems and applications in the target systems can be identified by “fingerprinting”.

    • Researching Vulnerabilities.

      Information about vulnerabilities of specific operating systems and applications can be researched efficiently using the information gathered.

  3. Exploitation

    Exploiting vulnerabilities.

    Detected vulnerabilities can be used to obtain unauthorized access to the system or to prepare further attacks.

  4. Reporting

    Writing the final test report.

    This is the less fun part, but by far the most important for the target. This report should contain all the vulnerabilities, breaches and potentiel damage they might have caused as well as solution proposals.

2.5. Usual suspects

Similar as an attack of a real cracker, the pentesters use well known methods and ways for performing their test. Start with the usual suspects, thenfollow your stomach, there is no cookbook-way.

2.6. Report

The final report should contain the following elements:

The report itself is of course essential for the client, but there's something more important, that is most often not recognized:

pdf version