Client Side Attack Phase: Attack and Penetration

Once the target email addresses have been identified and added to Core Impact's database, you can then use the Client-side Attack and Penetration step of the Client-side RPT process to attack one or more end-users. This wizard guides you step-by-step through the process of selecting email address targets, the attack type, selecting the attack category (e.g., web browser, email client, attachment, or Trojan attack), and selecting an email template to use for the client-side attack. You can customize each email to increase the authenticity of the attack and the likelihood that an untrained end-user will fall for a social engineering attack. If an end-user's system is compromised with a client-side attack, an agent is deployed and you can then pivot (see Set as Source) from that agent to run network attacks using the Network RPT process from inside your network thus bypassing any perimeter defenses.

You can also opt to deliver a client-side exploit using a means other than email. For example, you may want to load the attack files onto a USB drive or otherwise distribute the files to target users. For details on this process see the Decoupling the Attack Vector from the Exploit Mechanism section.

The Client-side Attack and Penetration wizard has many option paths that can vary depending on the settings you choose. To begin the Attack and Penetration:

  1. Ensure that the Client-side RPT is activated.
  2. Click Client-side Attack and Penetration to open the wizard and press Next to start.
  3. Select the Attack Type

    Attack Type Selection

    Single exploit attack - This option will send 1 attack in an email to your targets.

    Multiple exploits attack - This option will send several different attacks via email to your targets.

Below please find the configuration settings for each of the available options:

When you have reached the end of your configurations, click the Finish button. The Wizard will close and the Client-side Attack and Penetration modules will begin. You will be able to see progress in the Executed Modules pane. Once completed, the Module Output pane will display the step's findings.

Settings for Trojan Attack

  1. Select the Trojan Packing and Delivery:

    This step allows you to determine how the Trojan attack is packaged before it is emailed to your targets. Select from the following options:

    • Not Packed: Trojan will be sent as an executable file (.exe).
    • PKZIP: Trojan will be sent as a PKZIP compressed file.
    • GZIP: Trojan will be sent as a GZIP compressed file.
    • Microsoft Excel: This option will package the trojan inside of a Microsoft Excel macro. Browse to select your Excel file and then click the Next button to configure the Duration of Client-side Attack.
    • Adobe Acrobat: This option will package an agent into a .pdf file. Browse to select your .pdf file and then click the Next button to configure the Duration of Client-side Attack.
    • Infected binary:This option will package an agent into an .exe file. Browse to select your .exe file and then click the Next button to configure the Duration of Client-side Attack.

    Then click the Next button.

    Trojan Packing and Delivery

    Trojan Packing and Delivery

  2. Select the Target Platform:

    For Trojan attacks, select the platform of the system where the Trojan is going to be received and launched.

    Then click the Next button and skip to the Duration of Client-side Attack section of this guide.

    Target Platform

    Target Platform

Advanced Client-Side Attack Options

Decoupling the Attack Vector from the Exploit Mechanism

Client-side testing in Core Impact allow you to send email to target users and have their actions in the email trigger an exploit. You may, however, wish to deliver the attack with a means other than email (e.g. a file share server or site or via a USB stick). If so, you can accomplish this by launching the exploit module manually and changing the delivery method. To do this:

  1. Click the Modules tab to access the Modules View (make sure the Client Side tab in the Entity view is active).
  2. Expand the Exploits folder, then the Client Side folder.
  3. Under the Client Side folder, double-click the exploit that you wish to launch. This opens the exploit's email template.
  4. On the template window, click the Switch to File button.

    Switch to File button

  5. The form will change to the File Generation for Decoupled Attack form. Fill in the two fields.

    Attack Description: A text description of the attack file.

    Select location to save ... : The path to the folder on your system where you want Core Impact to save the attack file. Use the ellipsis () button to navigate to the desired location.

    File Generation for Decoupled Attack

  6. Press the Generate File button.

    Core Impact generates the attack file(s) and places it in the location you specified. You can then deliver the attack according to your test plan.

Agent Auto Injection

Client-side exploits automatically enable the deployed agent to escape to a different process rather than running in the one originally exploited. This is an important discriminator of Core Impact commercial-grade exploits because it ensures that the agent will continue working even after the end-user exits the client-side application or if the client-side application becomes unstable after exploitation.

For example, the IE IFRAME Buffer Overflow exploit takes advantage of a vulnerability in IE and deploys an agent into IE's iexplore.exe process. After exploitation, IE may become unresponsive, and it is very likely that the end-user driving it will restart it, eliminating the agent in the process. In this example, after the agent is successfully deployed the Module Log says:

escaping to process: c:\winnt\explorer.exe, pid: 1408

This log line indicates that the agent will attempt to escape to the explorer.exe process on PID 1408. After injecting a new agent into this process, the new agent will connect back to the console and the old agent will terminate. That is why you will see two new agents appear on the Entity View (one alive and one uninstalled) when using exploits with this functionality. To learn more about agent auto injection see Agent Auto Injection.

Agent Connection Parameters

By default, when a Client-side exploit is executed, the new agent communicates back to the source agent (usually the localagent). If you want to use a different agent for this, you can do so by configuring and launching the exploit manually through the Modules View.

To do this:

  1. Click the Modules tab to access the Modules View.
  2. Expand the Exploits folder, then the Client Side folder.
  3. Under the Client Side folder, double-click the exploit that you wish to launch. This opens the exploit's email template.
  4. On the template window, click the Parameters button.

    Client-side Exploit Parameters button

    The exploit's parameters form opens.

    Client-side Exploit Parameters

  5. Expand the Agent Connection section.

    To select a different agent for the exploit's agent to communicate back to, click in the Agent field and then click the ellipsis () button.

  6. In the Select Agent Connection window, locate and place a check next to the desired agent, then click the OK button.
  7. Continue to configure the client-side exploit and launch the attack.