Core Impact 7.5
Core Impact 7.5
Core Impact 7.5
5 User Guide
Communication Channels
Agent Auto Injection
18. Contact Core Security Technologies
Sales Support
Product Support
Next
Chapter 1. Introduction
Chapter 1. Introduction
Prev
Next
Chapter 1. Introduction
Table of Contents
Welcome
Prev
CORE IMPACT Professional v10.5 User
Guide
Up
Home
Next
Welcome
Welcome
Chapter 1. Introduction
Prev
Next
Welcome
Welcome to the "CORE IMPACT Professional Version 10.5 User Guide"!
IMPACT Pro elevates the practice of penetration testing to the new standards of quality required by today's
organizations. The application provides you with not only a comprehensive and scalable framework in which
to perform penetration tests, but also a controlled environment in which to perform them. IMPACT Pro allows
you to do the following:
Automate the penetration testing process, targeting WiFi networks, systems, users, or web
applications.
Safely and efficiently determine how a malicious attacker might gain control of your information
assets.
Define and execute a repeatable and scalable testing methodology.
Increase team productivity.
Leverage security knowledge and expertise across penetration tests.
The chapters that follow teach you how to use IMPACT Pro as efficiently as possible so you can rapidly
achieve each one of these goals. If you have already installed IMPACT Pro and created a Workspace, you can
also get a jump-start and view the available Quick Guides - these will guide you through some basic
penetration tests with IMPACT Pro.
Prev
Chapter 1. Introduction
Up
Home
Chapter 2. About this Guide
Prev
Next
Chapter 2. About this Guide
Next
Prev
Up
Next
The CORE IMPACT Professional Version
Home
10.5 User Guide
The CORE IMPACT Professional Version 10.5 User Guide
Chapter 2. About this Guide
Next
Getting Started
For a complete reference of all the modules currently distributed with the product, see IMPACT Pro's Module
Reference documentation. If you are interested in developing new modules, we recommend that you first read
this guide to gain familiarity with IMPACT Pro, and then move on to the CORE IMPACT Professional
Developer's Guide.
Prev
Chapter 2. About this Guide
Up
Home
Part I. Getting Started
Prev
Next
Part I. Getting Started
Next
Getting Started
Table of Contents
3. Installing IMPACT Pro
Minimum System Requirements for IMPACT Pro v10.5
Installing IMPACT Pro
Activating the product
Set Up IMPACT Pro
How to Integrate with Metasploit
Un-installing IMPACT Pro
Transferring an IMPACT Pro Installation
Database Creation Wizard
Database Migration Wizard
Usage Statistics
4. IMPACT Pro Architecture
IMPACT Pro Architecture Features
Architecture Components
5. IMPACT Pro Quickstart
Getting Started: The Dashboard
Create a Workspace
IMPACT Pro Console
Quick Guides
6. Rapid Penetration Test (RPT)
Network RPT
Client Side RPT
Web Applications RPT
Reports
Exporting Data from IMPACT Pro
Prev
Up
Next
The CORE IMPACT Professional Version
Chapter 3. Installing IMPACT Pro
Home
10.5 User Guide
Chapter 3. Installing IMPACT Pro
Prev
Part I. Getting Started
Next
Getting Started
Prev
Up
Next
Minimum System Requirements for
Home
IMPACT Pro v10.5
Minimum System Requirements for IMPACT Pro v10.5
Chapter 3. Installing IMPACT Pro
Next
Getting Started
Getting Started
IMPACT Pro's WiFi vector capabilities require the use of an AirPcap adapter from CACE
Technologies (www.cacetech.com or http://www.cacetech.com/products/airpcap.html). At a
minimum, AirPcap Classic&"https://cs.coresecurity.com/content/discounted-AirPcap"
target="_top">https://cs.coresecurity.com/content/discounted-AirPcap.
In order for you to install and use IMPACT Pro, you must have Administrator privileges on the
system.
Unless otherwise stated by a module or exploit, IMPACT Pro is compatible to run on and target US
English versions of the specified operating systems only.
Connecting directly with a DSL/Cable modem using PPTP will limit some of the product's
functionality (packet capture and custom packet crafting).
Antivirus software may interfere with IMPACT Pro's operation. Consider excluding the IMPACT Pro
installation directories (%appdata%\IMPACT and %programfiles%\CORE Security
Technologies) from your antivirus tool's scanning locations.
Prev
Chapter 3. Installing IMPACT Pro
Prev
Up
Home
Installing IMPACT Pro
Chapter 3. Installing IMPACT Pro
Next
Installing IMPACT Pro
Next
If the passphrase is correct, the installer will self-decrypt and start. The Welcome Dialog Box of the
InstallShield Wizard appears.
Note
The installer reads every character entered into the decrypter, including white spaces. Ensure you have
removed trailing spaces if you copy and paste the passphrase into the passphrase field.
Getting Started
Getting Started
1. Click Next.
Figure 3.3. License Agreement Window
2. In the License Agreement Window, read the product license for IMPACT Pro. To accept the license,
click the I accept the terms ... radio button and then click Next. If the license is not accepted,
IMPACT Pro will not install.
3. You will be prompted for the destination location. You can change the destination folder by pressing
the Browse button. Press Next to continue.
Getting Started
Getting Started
4. The Wizard will show a warning that Antivirus tools can interfere with the installation of IMPACT
Pro.
Figure 3.5. Antivirus Product Warning
Temporarily disable any Antivirus tools running on your machine, then click the Next button.
5. If you have had IMPACT Pro installed on your system previously, you may see a warning that all
previous files except the IMPACT Pro database will be erased.
Figure 3.6. Previous Installation Warning
Getting Started
10
Getting Started
If needed, back up your previous installation's files, then click the Next button.
6. The installation Wizard will display a summary of the installation. Review the information and click
Next.
Figure 3.7. Start Copying Files Window
The installation of IMPACT Pro will begin. IMPACT Pro may also install any dependencies it needs this is normal and these installers should be allowed to continue.
7. The wizard will notify you when the installation is complete.
Figure 3.8. Installer Finished
10
Getting Started
Getting Started
11
Up
Home
Activating the product
Chapter 3. Installing IMPACT Pro
Prev
Next
Activating the product
Next
Getting Started
11
12
Getting Started
Figure 3.9. Activation Wizard
2. Select Activate automatically ... if you want to activate over the Internet. Select Activate via
telephone or email if you don't have an active Internet connection. Then click the Next button.
Figure 3.10. Activation Mechanism
12
Getting Started
Getting Started
13
You can change these connection settings in IMPACT Pro after the initial installation by navigating to the
Tools->Options->Network configuration screen from the IMPACT Pro console.
Getting Started
Up
Home
Set Up IMPACT Pro
Chapter 3. Installing IMPACT Pro
Next
Set Up IMPACT Pro
Next
13
14
Getting Started
2. Select your preferred Network Interface from the drop-down menu, then click the Next button.
Figure 3.13. Setup Wizard
3. Define how your system connects to the Internet. If you Use a proxy server, enter your proxy's
connection details, then click the Next button.
14
Getting Started
Getting Started
15
4. IMPACT Pro can gather general usage statistics about how the application is used. This allows Core
Security Technologies to provide industry statistics to you as well as to improve IMPACT Pro for
future releases. To opt into the Usage Statistics Program, click the Yes, I am willing to participate ...
check-box, optionally select your primary industry from the drop-down. You can later opt out or
modify your usage statistics preferences in the Community Usage Options of IMPACT Pro. See
Usage Statistics for more information on this.
If you check I wish to permanently opt-out of the program, your statistics will not be gathered and
you will not have the option to enable usage statistics in IMPACT Pro.
If you do not check either option, your statistics will not be gathered unless you enable statistics in the
Community Usage Options of IMPACT Pro.
Figure 3.15. Setup Wizard
Getting Started
15
16
Getting Started
5. If Metasploit is installed on your machine when you first launch IMPACT Pro, you will be given the
option to add integration with Metasploit. Click the Configure Metasploit integration check-box. With
this option checked, IMPACT Pro will copy some integration files to your Metasploit installation
directories.
For information on using the Metasploit Framework with IMPACT Pro, see Integration with
Metasploit.
Figure 3.16. Setup Wizard
Up
Home
How to Integrate with Metasploit
Chapter 3. Installing IMPACT Pro
Next
How to Integrate with Metasploit
Next
Getting Started
Getting Started
17
3. Locate and double-click the Setup Metasploit Integration module. (Open the Metasploit folder or use
the search bar and search for "metasploit".)
Figure 3.17. Setup Metasploit Integration Module
4. Click Ok on the module parameters window - there are no parameters for you to configure.
Your IMPACT Pro installation will be configured to interact with the Metasploit Framework. See Integration
with Metasploit for usage.
Prev
Set Up IMPACT Pro
Prev
Up
Home
Un-installing IMPACT Pro
Chapter 3. Installing IMPACT Pro
Next
Un-installing IMPACT Pro
Next
Getting Started
17
18
Getting Started
3. The Windows Confirm Un-install Dialog Box will ask you if you really want to remove the product.
Click the OK button.
Figure 3.19. Confirm Uninstall
All IMPACT Pro files except configuration and database files will be removed from your system.
Prev
Up
Next
How to Integrate with Metasploit
Home
Transferring an IMPACT Pro Installation
Transferring an IMPACT Pro Installation
Prev
Chapter 3. Installing IMPACT Pro
Next
18
Getting Started
Getting Started
19
c. Select a Deactivation Method - either via Internet connection or via telephone or email - then
click the Next button.
Figure 3.21. Deactivation Method
d. If deactivating via the Internet, you will then need to verify the Internet connection method.
Figure 3.22. Internet Connection
Getting Started
19
20
Getting Started
If deactivating via telephone or email, your next step will be to contact Core Security
Technologies and provide them with the Reference Code in order to receive your deactivation
key. Enter the deactivation key into the field provided.
Figure 3.23. Telephone / Email Deactivation
Getting Started
Getting Started
21
Up
Home
Database Creation Wizard
Chapter 3. Installing IMPACT Pro
Next
Database Creation Wizard
Next
Prev
Up
Transferring an IMPACT Pro Installation
Home
Database Migration Wizard
Prev
Chapter 3. Installing IMPACT Pro
Next
Database Migration Wizard
Next
Getting Started
21
22
Getting Started
Prev
Database Creation Wizard
Prev
Up
Home
Usage Statistics
Chapter 3. Installing IMPACT Pro
Next
Usage Statistics
Next
Usage Statistics
IMPACT Pro can gather statistics about how the application is used and will report the information to Core
Security Technologies for analysis. Conclusions drawn from the data will be used to provide you with
industry statistics as well as to improve IMPACT Pro in future releases. Before IMPACT Pro transmits any
usage information, the data is made anonymous (stripped of any identifying data) and encrypted. You can
view your statistics by performing the following steps:
1. Open an IMPACT Pro workspace.
2. Navigate to the Modules view and make sure the Network entity view is active.
3. In the Module search bar, enter the string "stats". This should cause the View Local Stats module to
appear.
4. Double-click the View Local Stats module. The module's parameters will appear.
5. Set the ALL WORKSPACES parameter according to your preference.
NO: Will show statistics for current workspace only.
YES: Will show statistics for all workspaces.
6. Click the OK button.
View the Module Log tab to monitor the module's progress. View the Module Output tab to view the
statistics.
Statistics Gathered
Below is a list of statistics that can be collected. You can opt in or out of any or all of these by configuring the
Community Usage Options in IMPACT Pro.
Overall Usage
A summary of all systems discovered since the last usage report, including:
22
Getting Started
Getting Started
23
Up
Next
Home
Chapter 4. IMPACT Pro Architecture
Chapter 4. IMPACT Pro Architecture
Part I. Getting Started
Next
Getting Started
Up
Next
Home
IMPACT Pro Architecture Features
IMPACT Pro Architecture Features
Chapter 4. IMPACT Pro Architecture
Next
23
24
Getting Started
Note
Some exploits/tools are platform-dependent due to the nature of the functionality they provide (for example, a
'chroot breaker' module will not work on a Windows system).
Transparent pivoting. IMPACT Pro's execution subsystem, together with its agent technology, enables
modules to run from intermediate compromised hosts without modification. This powerful capability allows
you to seamlessly stage or proxy attacks through intermediate hosts to probe further into the network.
Complete logging of test activities. All of the activities completed within IMPACT Pro's framework are
logged and stored in a database for later analysis and reporting.
Note
It is not in the current scope of the product to provide a secure non-repudiable log of all the activities
performed by the user (a log that would allow for "auditing the tester"), but it does greatly simplify the
reporting and clean-up stages of the penetration test.
Prev
Chapter 4. IMPACT Pro Architecture
Prev
24
Up
Home
Architecture Components
Chapter 4. IMPACT Pro Architecture
Next
Architecture Components
Next
Getting Started
Getting Started
25
Architecture Components
At a basic level, IMPACT Pro's architecture achieves the following:
Performs actions on behalf of the user (these actions are represented by modules).
Deploys and controls agents on the target network. Agents perform the actions (modules) the user
indicates.
Centralizes the collection of information and keeps track of every performed action.
Generates reports.
IMPACT Pro's architecture consists of a number of components working together to first compromise and
then interact with the target host or application. The three primary components of the architecture are Agents,
Modules and the Console. All knowledge obtained during assessments is consolidated in a central repository
of information called the Entity Database. These components are described in the sections below.
Agents
Agents are a fundamental component of IMPACT Pro's architecture. For Network and Client-side tests, an
agent is a program that is installed by IMPACT Pro on a compromised system immediately following a
compromise. For Web Application tests, an agent represents knowledge of an exploitable vulnerability in the
web application, but does not represent any code IMPACT Pro has placed in the Web Application. The agent's
primary purpose is to perform operations requested by the Console host (ultimately representing the user's
orders) on the compromised system. Agents can also perform operations on other agents, a process known as
"chaining." For more details about agents, see Controlling Agents.
Modules
Modules are individual operations, or a group of operations, that are executed by an agent. For example,
modules can launch specific attacks against a target host, such as a web server, and perform information
gathering tasks ranging from packet sniffing to active port scanning. Modules can also call and execute other
modules.
See Working With Modules for more information on how to run and manage modules in IMPACT Pro. If you
are interested in developing modules for IMPACT Pro, please refer to the "CORE IMPACT Professional
Developer's Guide."
The Console
The Console consists of IMPACT Pro's Graphical User Interface and serves as an initial launching point for
all modules, a management tool to visualize the network being attacked, and a reporting tool for outputting
resultant information. The Console is the centralized gathering point for all information obtained from agents
that may be deployed across multiple targets and varying operating systems. The Console provides
visualization of data ranging from a specific network scan output to a module's successful exploit against a
remote system.
The Console comes with an embedded agent that, by default, is the starting point of any penetration test. This
agent is called the "localagent".
By interacting with the Console, you control the execution of IMPACT Pro modules. Since modules run on a
specific agent, there is always a selected agent for execution. This agent will be referred to in this document
and in the Console itself as the default source agent. By default, when the Console starts, the "localagent" is
selected as the default source agent.
Getting Started
25
26
Getting Started
Entity Database
The Entity Database constitutes the single and centralized repository of information gathered by IMPACT
Pro. It contains information such as module output, complete activity logs, information about target systems
(hosts that are known, client-side information, operating systems, open ports, etc.), and agent deployment.
This information is entered either manually by the user or through the automatic processing of module output.
You can assess the state of the whole penetration test simply by looking at this database at any time.
Structured information such as target networks, hosts, client emails, vulnerable web pages, deployed agents,
open ports on a host, and found user accounts are represented as objects in this database. These database
objects are referred to in the product as "entities."
An entity is any object that can be managed by the database. All entities can serialize and de-serialize
themselves to and from XML, allowing you to easily manipulate the data in other programs. Any findings of a
module that can be shared are in the form of entities. Entities also include the functionality to compare
different revisions of themselves and resolve conflicts (for example, allowing the user to choose between
different port scan results for the same hosts). Upon initialization, some default entities are created and added
to the database. These entities are:
A host entity representing the local console host ('localhost')
The local agent ('localagent')
See IMPACT Pro Entities for a more in-depth look at the Entity Database and how to manage it from
IMPACT Pro's Console.
Prev
Up
Next
IMPACT Pro Architecture Features
Home
Chapter 5. IMPACT Pro Quickstart
Chapter 5. IMPACT Pro Quickstart
Prev
Part I. Getting Started
Next
Up
Home
Getting Started: The Dashboard
Chapter 5. IMPACT Pro Quickstart
Next
Getting Started: The Dashboard
Next
Getting Started
Getting Started
27
The real-time alerts for pending modules, new software updates, and 6-month tally of modules can be disabled
by navigating to Tools->Options->Network and checking the Do not connect to the Internet to get news
check-box.
Software Updates
After installation, and before starting to work with IMPACT Pro, make sure your software version is the latest
available and that it is up to date with the latest modules and exploits. As noted in the previous section, the
Dashboard will display an alert when there is a new IMPACT Pro release available, but you can also check for
updates manually:
To check for software updates, click Tools->Check for new Impact Release...
Please note that new software downloaded through the Software Update feature is electronically watermarked
with your active license. It will not work with other licenses.
Getting Started
27
28
Getting Started
Module Updates
In addition to having the most recent version of IMPACT Pro installed, you will want to ensure that the
software is up to date with the latest attack trends and vulnerability threats. Unlike Software Updates, Module
Updates do not require a reinstallation of the IMPACT Pro application. IMPACT Pro offers two methods of
keeping users informed of new updates. Both methods require that a connection to the Internet is available,
either directly or via proxy server:
1. Dashboard. The Dashboard will display a list of the currently-available exploits, utilities, and
maintenance modules that are pending installation.
2. Update Notifier. The Update Notifier will appear in the system tray whenever there are updates
available, regardless of whether IMPACT Pro is running. The notifier will check for updates on a
regular interval that you can define by navigating to Tools->Options->Notifier. If the Enable Update
Notifiersetting is checked, then the Update Notifier will check for updates as frequently as is specified
in the minutes between checks field. If the Enable Update Notifiersetting is un-checked, then it will
not run at all.
Figure 5.2. Update Notifier in System Tray
After you have been notified via one of the 2 methods above, click on the Get Updates button located
on the left side of the Dashboard. This button will also initiate the transmission of usage statistics if
you have opted in to the Usage Statistics program (see Usage Statistics).
Note
IMPACT Pro's update and news features access information over the Internet, using the method as
configured in the Tools->Options->Network form. If you change locations from a non-proxy network
to one that has a proxy server, you will need to update the Network settings accordingly.
Prev
Chapter 5. IMPACT Pro Quickstart
Prev
Up
Home
Create a Workspace
Chapter 5. IMPACT Pro Quickstart
Next
Create a Workspace
Next
Create a Workspace
Every penetration test in IMPACT Pro is run within a new or existing workspace. A workspace is a place
where information regarding a specific test is stored. See Managing Workspaces for more detailed
information about workspaces and the New Workspace Wizard. To create a new workspace:
1. Select the New Workspace button on the left side of the Welcome Window.
2. Enter a Workspace name for your new workspace and click Next (The client information and
Engagement information fields are optional).
28
Getting Started
Getting Started
29
4. Enter a Passphrase for your workspace and then re-enter it. Move your mouse within the rectangle
until it reads Done and then click Next.
Figure 5.5. Key Generation Dialog Box
Getting Started
29
30
Getting Started
5. Click Finish.
Figure 5.6. Completing the New Workspace Wizard Dialog Box
The IMPACT Pro Console (see next section) now appears, complete with the name of your workspace
displayed in the title bar. You now have a workspace in which to run penetration tests.
Prev
Getting Started: The Dashboard
Prev
30
Up
Home
IMPACT Pro Console
Chapter 5. IMPACT Pro Quickstart
Next
IMPACT Pro Console
Next
Getting Started
Getting Started
31
1. The Modules Panel. Provides access to IMPACT Pro Modules. Modules are the actions you can
perform during a penetration test. This panel has two views, Rapid Penetration Test (RPT) and
Modules, accessed by corresponding tabs at the bottom of the panel. The steps in the RPT view are
high-level actions that can be used to execute an automated penetration test. See Rapid Penetration
Test (RPT) or Working With Modules for a detailed description of this panel and modules in general.
2. The Entity View Panel. Displays information about the target hosts, users, or web pages. This panel
has three views, Network, Client Side and Web, accessed by the corresponding tabs at the top of the
panel. Each view corresponds with the type of target, whether it be a computer host, user and email,
or web application. See IMPACT Pro Entities for more information about the Entity View Panel.
3. The Executed Modules Panel. Displays information about each one of the modules, or actions that a
user has performed in IMPACT Pro. IMPACT Pro keeps a complete log of every executed module
within its database. See the section called Using the Executed Modules View for more information.
4. The Executed Module Info Panel. Displays information about the currently selected completed
action in the Executed Modules Panel directly above it. By default this panel displays information
about the last executed module. It contains three tabs: Module Output (module output report), Module
Log (module log lines) and Module Parameters (module parameters at execution time). See the
section called Analyzing Module Output for more information.
Getting Started
31
32
Getting Started
5. The Entity List. Displays the list of entities for the active view. If viewing the Network view, you
will see your discovered hosts in this panel as well as any agents. For the Client-side view, this panel
will show email addresses and, for the Web view, you can view your web pages.
6. The Quick Information Panel. Displayed in the bottom part of the Console, the Quick Information
Panel displays information about the currently selected item in the Entity View. For example, if you
select a user entity, the panel displays details about that user. If you select a host, the panel displays
information about that host. Refer to the section called Entity Details for more information about
this panel.
Note
If the panels in your layout become unmanageable, you can return them to their default locations by choosing
the Reset Layout option from the View dropdown menu
Navigation of the IMPACT Pro Console is straight forward - simply click among the available panels and
their tabs, or use the View drop-down menu to activate or hide a console component or toolbar. For example,
the Network Interface toolbar (shown below) is hidden by default. To show this toolbar and be able to quickly
select between your available Network Interface Cards, navigate to View->Toolbars->Network Interface.
Figure 5.8. Network Interface toolbar
Prev
Create a Workspace
Prev
Up
Home
Quick Guides
Chapter 5. IMPACT Pro Quickstart
Next
Quick Guides
Next
Quick Guides
After you have created your IMPACT Pro Workspace, you are ready to perform one of the many penetration
tests that IMPACT Pro offers. We have created several Quick Guides (.pdf) that you can download and print
out for your convenience - click any of the below icons to view a Quick Guide.
These guides explain the primary attack vectors available in IMPACT Pro. They cover the basic test
capabilities in order to give you an overview of how IMPACT Pro can benefit your overall infrastructure
security policies. For greater detail on these tests and their options, refer to the Rapid Penetration Test (RPT)
or Testing a Wireless Environment sections in this document.
Network Client-Side WebApps: Cross-site Scripting WebApps: SQL Injection WiFi Network Testing
Prev
IMPACT Pro Console
Prev
32
Up
Next
Home
Chapter 6. Rapid Penetration Test (RPT)
Chapter 6. Rapid Penetration Test (RPT)
Part I. Getting Started
Next
Getting Started
Getting Started
33
Getting Started
33
34
Getting Started
Remember, there are many modules in IMPACT Pro that are not executed by the RPTs but that can be very
powerful when used in a comprehensive security testing program. The Module Reference Guide (available via
the Start menu) contains details about all available modules.
Prev
Quick Guides
Prev
Up
Home
Network RPT
Chapter 6. Rapid Penetration Test (RPT)
Next
Network RPT
Next
Network RPT
The Network RPT allows you to target your internal information systems and evaluate them for known
exploits.
34
Getting Started
Getting Started
35
3. Specify the target IP ranges you want to scan. You can also click on the ellipsis button to the right of
the Network range field to enter a Single IP, an IP Range, or CIDR Notation, as well as import a
group of IP addresses from a file in the IP Address Ranges Selection dialog box. See the section
called Specifying Host Ranges for more information on IP ranges. After you have entered the
range, click Next.
4. There are two major network scan types you can perform. Based on the information provided in the
Network Scan Type Dialog Box, select the type that best suits your needs. Then click Finish to
complete the Network Information Gathering RPT step. Or, if you selected CUSTOM, click Next and
proceed to the next step in this procedure to enter additional information about your scan.
Figure 6.3. Network Scan Type Dialog Box
Getting Started
35
36
Getting Started
5. One or more network discovery modules will be executed as part of this information-gathering macro.
Using the CUSTOM option allows you to customize how the Network Information Gathering is
performed.
Figure 6.4. Network Discovery Dialog Box
Select the method you wish to employ to perform the network discovery from the following:
TCP Connect. Initiates a full TCP connection against each IP address in the target range,
using the specified ports. A host is considered live if it responds with an ACK or RST packet.
36
Getting Started
Getting Started
37
Fast TCP. A fast, half-open SYN scan against each IP address in the target range using the
specified ports. A host is considered live if it responds with an ACK or RST packet. This
method can only be used from the localagent or from agents with the Pcap plugin installed.
The module "Network Discovery - Fast TCP" will be used from the localagent, and the
module "Network Discovery - Fast SYN" from deployed agents.
ICMP. Sends ICMP Echo Requests to each IP address in the target range. A host is
considered live if it responds with an ICMP Echo Reply.
If you select TCP Connect and wish to modify the port range, either enter the ports directly into the
Using as target port range field or click on the ellipsis to the right of the field and continue through the
additional dialog boxes. See the section called Specifying Port Ranges for more information.
If the network range includes IP addresses from your LAN, Network Discovery - ARP will be used to
discover active hosts on those local addresses. This discovery method is the most efficient for
scanning hosts in the same LAN, as ARP resolution must always be done.
Specify how many milliseconds to wait between each discovery attempt.
If you would like this macro to resolve the DNS name of each discovered IP address, check the
Resolve names of each discovered IP address check-box.
IP addresses that are already part of the Entity View will be ignored by this macro unless the Attempt
to rediscover known IP addresses check-box is checked. Use this feature to include
already-discovered IP addresses in the Information Gathering process.
Click Next.
Figure 6.5. Port Scanning Customization Dialog Box
6. One or more port scanners may be executed as part of this RPT step. Use the Port Scanning
Customization Dialog Box to customize how these port scans are performed.
Select a scanning method to perform the TCP port scan. There are 2 options available in the
drop-down menu yet 3 scan methods that may operate.
Getting Started
37
38
Getting Started
Fast SYN. Selecting Fast SYN will induce IMPACT Pro to use this method if the operating
agent has Pcap installed and is not the localagent. If the localagent is in use, then the scan
method will automatically default to Fast TCP, giving you the optimum available
performance. If the agent is not the localagent, and it does not have Pcap installed, then the
scan method will default to TCP Connect.
TCP Connect. Selecting TCP Connect will induce this method irrespective of the agent in
use. This is the slowest performing scan method.
Note
Ultimately, the type of agent being used to launch the scan will influence the port scanning method,
and your selection may be overridden. The below table shows which port-scanning methods can be
used depending on where the Information Gathering is being launched.
Table 6.1. Port Scanning Methods
Launched from ...
Fast TCP Fast SYN TCP Connect
localagent
YES
YES
YES
Agent with WinPcap installed
NO
YES
YES
Agent without WinPcap installed
NO
NO
YES
Specify how many milliseconds to wait between each discovery attempt.
You can use the ellipsis button to the right of the Port range field to change or add port range groups.
See the section called Specifying Port Ranges for more information.
Figure 6.6. Service Identification Dialog Box
7. A service identification module may be used as part of this RPT step. Use the Service Identification
Dialog Box to customize how service identification is performed.
If you check the Use Full Service Identification check-box, the Service Identification module will run.
38
Getting Started
Getting Started
39
This module will connect to and interact with every open port and attempt to identify the network
service listening on that port. If the box is left unchecked, blind identification is used where each port
is labeled with its corresponding default service (e.g., 80 is assumed to be HTTP, 25 is assumed to be
SMTP, etc).
You can activate UDP service identification by checking the Perform UDP service identification
check-box.
Click Finish. The module will run and information will be displayed on the Module Log Panel of the
Console. You have now completed the first step of a Network Rapid Penetration Test.
Getting Started
39
40
Getting Started
40
Getting Started
Getting Started
41
Note
When more than one exploit are running concurrently against a host, they will be allowed to
complete even after an agent is deployed. Because of this, more than one agent may be
installed even when this option is checked.
Some exploits could take a long time to exploit a specific server, due to a long brute-force
process. These exploits can be excluded from this step by unchecking the Use exploits that
take a long time to run check-box.
Figure 6.10. Exploit selection Dialog Box
Getting Started
41
42
Getting Started
Note
Each of the Order of exploit execution options operate at the port and service level of targeted hosts.
Because port and service level attacks run in parallel, it may appear that your selection is not given
priority over the others. For example, if you select Speed as the primary order attribute, a
slow-running exploit may still run before fast ones if it is the only applicable exploit for a specific
service on the target host.
Figure 6.11. Order of exploit execution Dialog Box
42
Getting Started
Getting Started
43
Getting Started
43
44
Getting Started
Click the Next button.
8. If your IMPACT Pro installation is integrated with the Metasploit Framework, the Network Attack
and Penetration RPT can run Metasploit as a part of its test sequence. The target host data will be
compiled in a database and then presented to Metasploit which will in turn use its db_autopwn
procedure to test known exploits. The results will be presented back to IMPACT Pro for your review
in the Module Output pane. For more advanced integration with the Metasploit Framework, see
Integration with Metasploit.
Note
IMPACT Pro will execute the Network Attack using Metasploit module to accomplish this step.
Additionally, the Quick Information pane will indicate which vulnerabilities were exploited using
Metasploit.
To do this:
a. Check the Use Metasploit's db_autopwn check-box.
b. Determine how much time (in seconds) Metasploit should have to test a single target host.
Figure 6.13. Metasploit options
Note
If you would like multiple modules to autorun, create a macro module (see Create Macro Modules)
that is made up of the modules you wish to run, then enter the macro module into the autorun field.
Figure 6.14. Post-attack autorun options
44
Getting Started
Getting Started
45
Getting Started
45
46
Getting Started
1. By default, information will be gathered on all connected agents. To select one or more specific
agents, click the Selected agents radio button and then click the ellipsis button next to the Selected
agents field. Follow the prompts to select your desired agents.
2. Click Finish.
The module will run and information will be displayed on the Module Output and Module Log panels
of the Console.
Remote Desktop Access
IMPACT Pro's Remote desktop access module - when run - will use a connected agent to try to leverage a
remote desktop tool (e.g. VNC) on the host and open a remote desktop session. To run this module:
1. Navigate to the Modules view and make sure that the Network entity tab is active.
2. Type the string "remote desktop" into the module search field. This should reveal the Remote desktop
access module.
3. Double-click the Remote desktop access module or drag and drop the module onto an agent. The
module's parameters will appear.
4. Set the module's parameters to reflect your preferences:
Use a tunnel: Set to YES if the connection will use a tunnel.
View only: Set to YES to establish a view-only remote desktop session. You will have no
user input.
8 bits: Set to YES to create a low resolution remote desktop session. Set to NO to create a
high resolution session.
Scale: Set the scale of the screen to be displayed as a percentage.
Password: Enter the password to be used in the server on the target host. Password should be
8 bytes - if it is more, only the first 8 bytes are used.
Figure 6.16. Remote Desktop Access Module Parameters
46
Getting Started
Getting Started
47
Privilege Escalation
The Privilege Escalation RPT step executes local privilege escalation attacks on connected agents not running
as the super user or the administrator. This macro automatically selects and executes exploits from the
Exploits/Local module folder and some modules from the Exploits/Tools folder, such as Revert To Self or
Chroot Breaker.
After successfully running Privilege Escalation, you may want to run the Local Information Gathering step to
obtain more information from the compromised hosts. If an in-depth penetration test is being performed (and
depending on the target network's topology), it is possible to change the current source agent and cycle back
to the Information Gathering step. Refer to Set as Source for information regarding the source agent. All the
initial 4 steps will execute from any IMPACT Pro agent.
To run the Privilege Escalation RPT step, click on the step and click Next when the Wizard appears.
Figure 6.17. Agent selection Dialog Box
Getting Started
47
48
Getting Started
1. Specify which agents will run the Privilege Escalation macro. By default, all currently connected
agents will perform this step (All agents will perform a check to see if they are already running as
SYSTEM or root. If they are, they will not attempt to perform Privilege Escalation.) An agent name
will be automatically set if the macro was dropped over a specific agent. Uncheck the All connected
agents check-box if you wish to only target that agent. To choose a single agent other than the one
displayed, or to select multiple agents on which to escalate privileges, uncheck the All connected
agents check-box and click the ellipsis button next to the Only on agent field. Follow the prompts to
select your desired agents.
2. Click Next.
Figure 6.18. Exploit selection Dialog Box
48
Getting Started
Getting Started
49
3. For each target host, this macro selects relevant attacks from the Exploits/Local Module folder based
on the target's platform. The default selections on the Exploit selection screen are intended to
minimize the risk of exploits leaving services unavailable. For a more aggressive attack strategy,
check or uncheck the appropriate check-boxes.
4. Click Finish. The module will run and information will be displayed on the Module Output and
Module Log panels.
Clean Up
The Clean Up step automatically uninstalls every currently-connected agent. Agents are uninstalled in post
order to support complex agent chains (see the section called Agent Chaining). Check the Select to confirm
uninstall of every connected agent check-box and then click Finish to clean up all deployed agents.
Figure 6.19. Clean Up Dialog Box
Getting Started
49
50
Getting Started
IMPACT Pro's One-Step Network Vulnerabilities test allows you to target one or more computers in order to
evaluate their vulnerability to known exploits. When the test runs, IMPACT Pro will access the computers
and report back any vulnerabilities that are exploitable. Advanced options for One Step RPT actions are
available in the One-step RPT Options, accessible via the Tools dropdown menu.
Before running the One-Step Network Vulnerabilities test, you will need to know the IP address(es) or
address range of the computer(s) you want to test.
Starting the One-Step Network Vulnerability Test
The below steps illustrate how to run a One-Step Network Vulnerability Test manually. You can also execute
this test using the Scheduler - see Using the Scheduler for more details.
To manually run a One-Step Network Vulnerability test:
50
Getting Started
Getting Started
51
If you use a third-party tool to run vulnerability scans against your information systems, you can feed the
output from that tool into IMPACT Pro's Vulnerability Scanner Validator. IMPACT Pro will evaluate the
scan's output and provide you with a prioritized validation of your system's weaknesses.
Before running a Vulnerability Scanner Validator, you will need to have the output file from a supported
third-party vulnerability scanner. A list of supported scanners is shown as you begin the test.
Starting a Vulnerability Scanner Validator
The below steps illustrate how to run a One-Step Vulnerability Scanner Validator test manually. You can also
execute this test using the Scheduler - see Using the Scheduler for more details.
To manually run a One-Step Vulnerability Scanner Validator test:
1. Make sure the One-Step RPT is active. The available one-step tests will appear.
2. Click Vulnerability Scanner Validator.
3. The Vulnerability Scanner Validator Wizard will appear. Click the Next button to proceed with the
Wizard.
4. Select the third-party scanner from which you got your results.
Click the Next button.
5. Enter the details of the scanner's output. The output format you are importing is dependent on the
Vulnerability Scanner you selected in the previous step. Some scanners export their results to a file
while others require you to access their data directly from the scanner's database.
6. Click the Finish button to begin the test.
To check on the status of your test, click the Module Output tab.
Prev
Chapter 6. Rapid Penetration Test (RPT)
Prev
Up
Home
Client Side RPT
Chapter 6. Rapid Penetration Test (RPT)
Next
Client Side RPT
Next
51
52
Getting Started
applications are under the control of the end-user and do not actively listen on the network, successful
exploitation typically requires some form of end-user interaction. This interaction might entail the end-user
opening an email message, clicking on a specially-crafted URL, or browsing to a specific website. Convincing
the end-user to perform the required action is often more dependent on social engineering than on technical
expertise. For example, many contemporary attacks such as phishing and some email viruses require user
interaction, even though technically they are designed to exploit a technical vulnerability such as a buffer
overflow.
IMPACT Pro's client-side exploits are an excellent representation of these attacks. The Client-side RPT
allows you to simulate a social engineering attack by sending email to your community of users. The tests can
be tailored by you to appear legitimate but will initiate an attack on any user's PC should they follow an action
prompted by the email contents. The RPT begins by scouring the Internet (or your intranet) for email
addresses that match a domain of your choice, just as an attacker would do. With the Client-side RPT, you can
learn a) how prevalent your users' email addresses are on the Internet, b) how careful your user community is
when they receive email, c) how vulnerable their desktop PCs are to known exploits, and d) how effective
your antivirus, email filtering, content filtering, intrusion prevention and intrusion detection policies are.
Note
If you want to use a means other than email to deliver a client-side attack, see the Decoupling the Attack
Vector from the Exploit Mechanism section.
52
Getting Started
Getting Started
53
5. The next step of the Wizard is the Email Address Targets form.
In the Domain names to search field, enter the domain for which you want to discover email
addresses. Then select any desired discovery methods:
Check the Use search APIs KEYs if your organization has an API KEY for a search engine.
The API ID must then be configured in Search Engines Options.
Search in PGP, DNS and WHOIS uses Public Internet Databases to locate email addresses.
If you checked Web Site Crawler in the previous step, enter the web site here.
If you checked Import email addresses from a file in the previous step, browse and locate
your load file here
If you opted to search LinkedIn in step 1, click the Next button for further settings. Otherwise click
Finish.
Figure 6.21. Email Address Targets Form
Getting Started
53
54
Getting Started
6. If you opted to search LinkedIn as a part of Information Gathering, use this form to further configure
the search. The next step of the Wizard, enter the Company Name whose email addresses you would
like to find.
In the Company Name field, enter the name of the company whose users you want to
discover. The search will attempt to locate the company in LinkedIn and then discover users
of that company.
In the Email address company naming convention field, enter the naming convention of the
target email addresses. IMPACT Pro will attempt to create email addresses using this
convention for the users it locates for the company name entered above.
Check the Verify Email Addresses check box if you want IMPACT Pro to attempt to use the
VRFY command on the company's SMTP server to verify whether the email addresses are
valid.
If you checked Verify Email Addresses, enter the address of the Mailserver against which the
addresses should be verified.
Click the Finish button.
Figure 6.22. Email Address Targets Form
54
Getting Started
Getting Started
55
The Wizard will close and the Client-side Information Gathering module will begin. You will be able to see
its progress in the Executed Modules pane. Once completed, the Module Output pane will display the step's
findings. Click to the Client Side tab of the Entity View to see the new email addresses that were found by the
module (see Client Side View for more information).
Note
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. Click Client-side Attack and Penetration and the Wizard will appear.
2. Click the Next button.
3. The first step of the Wizard is the Email Target Selection form.
Getting Started
55
56
Getting Started
Click the From: button to select an address that will appear in the header of the email being sent.
Click the To: button to select recipient email addresses from the Entity Database's Client Side View.
Note
If the desired addresses are not yet in the Client Side View, you can add them using the same
procedure as if you were working in the Client Side View directly. Right-click in the view, then select
New..., then select Email.
Click the Next button.
Figure 6.23. Email Target Selection
Note
If you do wish to perform a Phishing attack where the users' systems are exploited and agents
potentially installed, select the Single Attack option and then the Web Browser option.
Figure 6.24. Attack Type Selection
56
Getting Started
Getting Started
57
Getting Started
57
58
Getting Started
58
Getting Started
Getting Started
59
Getting Started
59
60
Getting Started
Exploit List: Select this option if you want to specify which exploit should be targeted on
compromised hosts. If choosing Exploit List, click the Next button to make the Exploit
Selection.
Target Application List: Select this option if you want to specify an application to target.
IMPACT Pro will send the most recent exploit for that application. If choosing Target
Application List, click the Next button to make the Application Selection.
Figure 6.28. Exploit Selection method
60
Getting Started
Getting Started
61
61
62
Getting Started
Wait indefinitely for incoming connections: IMPACT Pro will wait indefinitely for
connections from email recipients.
Wait for incoming connections for x hours: You can specify how long (in hours) IMPACT
Pro will accept incoming connections from email recipients.
Click the Next button to configure the Email Template and Subject.
Figure 6.31. Duration of Client Side Attack
12. On the Targeting with Multiple Exploits step, determine how the exploits should be selected with one
of the following options:
All: This option will attempt all available exploits against each target.
By Browser: This option will use exploits that are applicable for the browser that each
recipient uses.
By Application: This option will use exploits for a specific application. Select the Application
to attack from the drop-down menu.
If the Stop attacking a browser ... option is checked, IMPACT Pro will stop attempting further
exploits on a target user's system if an agent is successfully deployed on that system.
Make you selection, then click the Next button to configure the Email Template and Subject.
Figure 6.32. Targeting with Multiple Exploits
62
Getting Started
Getting Started
63
Note
IMPACT Pro ships with several email templates that are located in
%appdata%\IMPACT\components\modules\classic\templates. You can
customize these templates to maximize the chance that your users will take action in the
email.
Enter a Subject for the email - you will want the subject to be one that entices recipients to
open the email and take the desired action. This field accepts non-ASCII characters.
Optionally select a URL obfuscation service to mask the URL that will be used in the email.
Choices include TinyURL, Bit.Ly and Is.gd.
Enter the URL where the browser is going to be redirected after IG:
Click the Next button to configure the Communication Settings.
Figure 6.33. Email Template and Subject
Getting Started
63
64
Getting Started
64
Getting Started
Getting Started
65
16. On the final step of the wizard, you can set the following Exploitation actions:
Automatically run modules on agents as they are deployed
With this option checked, IMPACT Pro will automatically run a module that you select when
an agent is deployed on a target system. You can then determine whether the module is
executed once per exploited host or once per deployed agent. In the below example, the Make
Agent Persistent module will be run for each host where an agent is deployed.
Grab SMB credentials
With this option checked, IMPACT Pro will attempt to force the target to authenticate to the
web server with its SMB credentials. If successful, IMPACT Pro operators can use this
information in a variety of ways.
Figure 6.36. Autorun Settings
Getting Started
65
66
Getting Started
Note
If the IMPACT Pro console closes unexpectedly or crashes and a client-side exploit is executed
before IMPACT Pro is restarted, the client-side modules will remain active and the agent will still
register with the console.
Advanced Client-Side Attack Options
Decoupling the Attack Vector from the Exploit Mechanism
Client-side testing in IMPACT Pro 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.
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 will open the
exploit's email template.
4. On the template window, click the Switch to File button.
Figure 6.37. Switch to File button
66
Getting Started
Getting Started
67
5. The form will change to the File Generation for Decoupled Attack form that contains 2 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 IMPACT
Pro to save the attack file. Use the ellipsis button ( ) to navigate to the desired location.
Figure 6.38. File Generation for Decoupled Attack
When using the localagent (the default) for the web server, make sure the target workstations will be able to
connect to it. If the computer running IMPACT Pro is sitting behind a NAT device, you must activate and
configure the NAT support in Network Options and configure your NAT device to redirect the appropriate
ports back to the computer running IMPACT Pro. Check to ensure that the Port value of the Web Server
module (80 by default) is also redirected.
The web server used in the attack can be run on any active agent that was previously deployed. This feature is
convenient in situations where the potential targets might not be able to connect directly to the machine where
IMPACT Pro is running.
By default the web server is run on the localagent. To configure the web server to run on a different agent,
change the Web Server Agent parameter in the Serve Agent in Web Server module parameters, then execute
the module.
Getting Started
67
68
Getting Started
The exploit file will be saved in the location specified in the OUTPUT_FILE parameter.
You can then use one of the many modules in the Exploits->Client Side folder to deliver your attack.
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 IMPACT Pro 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 the section called
Agent Auto Injection.
68
Getting Started
Getting Started
69
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 will open the
exploit's email template.
4. On the template window, click the Parameters button.
Figure 6.41. Client-side Exploit Parameters button
Getting Started
69
70
Getting Started
7. In the Select Agent Connection window, locate and place a check next to the desired agent, then click
the OK button.
8. Continue to configure the client-side exploit and launch the attack.
70
Getting Started
Getting Started
71
1. By default, information will be gathered on all connected agents. To select one or more specific
agents, click the Selected agents radio button and then click the ellipsis button next to the Selected
agents field. Follow the prompts to select your desired agents.
2. Click Finish. The module will run and information will be displayed on the Module Output and
Module Log panels of the Console.
Privilege Escalation
The Privilege Escalation RPT step executes local privilege escalation attacks on connected agents not running
as the super user or the administrator. This macro automatically selects and executes exploits from the
Exploits/Local module folder and some modules from the Exploits/Tools folder, such as Revert To Self or
Chroot Breaker.
After successfully running Privilege Escalation, you may want to run the Local Information Gathering step to
obtain more information from the compromised hosts. If an in-depth penetration test is being performed (and
depending on the target network's topology), it is possible to change the current source agent and cycle back
to the Information Gathering step. Refer to Set as Source for information regarding the source agent. All the
initial 4 steps will execute from any IMPACT Pro agent.
To run the Privilege Escalation RPT step, click on the step and click Next when the Wizard appears.
Figure 6.44. Agent selection Dialog Box
1. Specify which agents will run the Privilege Escalation macro. By default, all currently connected
agents will perform this step (All agents will perform a check to see if they are already running
SYSTEM or root-level access. If they are, they will not attempt to perform Privilege Escalation.) An
agent name will be automatically set if the macro was dropped over a specific agent. Uncheck the All
connected agents check-box if you wish to only target that agent. To choose a single agent other than
the one displayed, or to select multiple agents on which to escalate privileges, uncheck the All
connected agents check-box and click the ellipsis button next to the Only on agent field. Follow the
prompts to select your desired agents.
Getting Started
71
72
Getting Started
2. Click Next.
Figure 6.45. Exploit selection Dialog Box
3. For each target host, this macro selects relevant attacks from the Exploits/Local Module folder based
on the target's platform. The default selections on the Exploit selection screen are intended to
minimize the risk of exploits leaving services unavailable. For a more aggressive attack strategy,
check or uncheck the appropriate check-boxes.
4. Click Finish. The module will run and information will be displayed on the Module Output and
Module Log panels.
Clean Up
The Clean Up step automatically uninstalls every currently-connected agent. Agents are uninstalled in post
order to support complex agent chains (see the section called Agent Chaining). Check the Select to confirm
uninstall of every connected agent check-box and then click Finish to clean up all deployed agents.
Figure 6.46. Clean Up Dialog Box
72
Getting Started
Getting Started
73
Getting Started
73
74
Getting Started
Select the file and click the Open button.
Each address in the file will receive an email asking the recipient to click a link within the email,
initiating the test on their computer.
5. Set the Wait for client-side connections for x hour(s) value according to your preference. If you set
this value to 5 hours, then recipients of the email must act within 5 hours or their test will not
contribute to your client-side vulnerability test results.
6. Select from the Client-side application to attack drop-down menu. This will determine the application
that is tested when users click the link within the email they receive.
7. Click the Finish button.
To check on the status of your test, click the Module Output tab.
Prev
Network RPT
Prev
Up
Home
Web Applications RPT
Chapter 6. Rapid Penetration Test (RPT)
Next
Web Applications RPT
Next
Getting Started
Getting Started
75
Then select the crawling method that the RPT should use.
Automatic web crawling: the RPT will run all necessary modules in the background and any
found pages will appear in the entity view. (See Automatic Web Crawling section for details)
Interactive web crawling: you will manually navigate your web application and IMPACT Pro
will track each page that you view. (See Interactive Web Crawling for details)
Click the Next button.
Figure 6.47. Scenario and Crawling Method Selection
The Automatic and Interactive web crawling methods have different configurations options. Skip to
the appropriate section of this document:
Automatic Web Crawling: See the section called Automatic Web Crawling.
Interactive Web Crawling: See the section called Interactive Web Crawling.
Automatic Web Crawling
With Automatic web crawling, the RPT scans the web application base URL to locate pages. Any pages that
are found are then displayed in the Web View tab of the entity view.
1. Enter the Starting Page URL where the RPT should begin scanning for pages.
2. Select the Max. depth level to crawl. This value dictates how many links deep into the web
application the RPT will go.
3. If you want the web crawler to log in to the web application, check the Use session management
check-box. Checking this box will add 2 additional steps to the Wizard.
Click the Next button.
Figure 6.48. Automatic Web Crawling
Getting Started
75
76
Getting Started
4. If a proxy server is needed to access the web application, select the appropriate proxy option and, if
necessary, enter the server details.
Direct connection to the internet will connect to the Internet without connecting to a proxy
server.
Use CORE IMPACT proxy settings will follow the settings that are in the
Tools->Options->Network form.
Use Internet Explorer proxy settings will follow the settings as defined in your Internet
Explorer preferences.
Use Custom proxy settings will follow the proxy settings in the fields just below.
Figure 6.49. Proxy Settings
76
Getting Started
Getting Started
77
Note
Please contact Core Securities Customer Support (see the section called Product Support) for a
sample plugin module.
Figure 6.50. Crawling Options
Getting Started
77
78
Getting Started
6. If you opted in step 3 above to have the web crawler log in to the web application (Session
Management), enter the Username and Password that should be used. Then select an authentication
method:
Do form based authentication: Use this type if the web application has a login page that
contains username and password fields.
Do HTTP authentication: Use this type if the web application presents users with integrated
Windows authentication (Kerberos or NTLM) before allowing them to view any pages from
the application.
Do custom authentication: Use this type if the web application has a login page but does not
use standard login fields (e.g. username and password). You will need to create a custom
module that will match your web application's authentication requirements. The Login on
Forms module is provided as a template for use when developing your own custom module
(see Custom Modules).
Click the Next button.
Figure 6.51. Session Management
78
Getting Started
Getting Started
79
7. Continue with Session Management options by selecting an IMPACT Pro module that will prevent
the RPT from executing links that might terminate the session.
Note
You can extend IMPACT Pro's functionality by writing your own custom modules. For more
information about writing custom modules, please contact Customer Support (see the section called
Product Support).
If you chose to Do form based authentication in step 6, the RPT step will attempt to automatically
detect the web application's login page, login form, and user name and password fields. Because there
are no standards for login forms, this automatic detection may not succeed, in which case you should
opt to Configure parameters to customize login form detection. Once this option is checked, you can
enter a specific page, form and username/password fields that the RPT step should use for session
management.
Click the Finish button.
Figure 6.52. Session Management (contd)
Getting Started
79
80
Getting Started
Once the Wizard closes, the RPT will proceed and attempt to identify pages - if any are found, they will be
saved in the Web View under the appropriate scenario.
Interactive Web Crawling
With interactive web crawling, you set your web browser to use IMPACT Pro as a proxy and then navigate
your web application. As you navigate the web application, IMPACT Pro will capture each page that you
view and add them to the Web View under the appropriate scenario. After selecting the Interactive Web
Crawling radio button, continue to configure the RPT:
1. If you want the RPT to not record pages outside of a specific domain, check the Restrict crawling to
specific domain check-box. If you check this option, you must then enter the specific domain(s) to
which the crawler will be restricted.
The Detect web server and application framework is checked by default. This setting will cause the
RPT step to find out details about the underlying web application platform.
Click the Next button.
Figure 6.53. Interactive Web Crawling Parameters
80
Getting Started
Getting Started
81
2. If a proxy server is required for IMPACT Pro to connect to the web application, check the Use a
proxy server check-box and activate the appropriate radio button:
Use IMPACT Pro settings will follow the settings that are in the Tools->Options->Network
form.
Use Internet Explorer settings will follow the settings as defined in your Internet Explorer
preferences.
Use Custom HTTP Proxy will follow the proxy value in the field just below.
3. The final page of the interactive web crawling Wizard contains a notification about how to proceed
with the RPT step. You will need to configure your web browser to use 127.0.0.1:8080 as its web
proxy before you begin navigating your web application. When you are finished browsing the
application, you will then need to manually terminate the WebApps Information Gathering module in
IMPACT Pro.
Click the Finish button.
Figure 6.54. Web Browser Configuration
Getting Started
81
82
Getting Started
Once the Wizard closes, you will manually access and navigate the target web application - IMPACT Pro will
save the pages you visit in its entity view under the appropriate scenario.
Advanced WebApps Information Gathering Options
There are several WebApps options that are available through IMPACT Pro modules but not through the RPT
wizards.
Checking for Backup/Old Copies of Web Pages
It is not uncommon for web application administrators to backup or store old copies of web pages on the
server along with the active pages for the web application. IMPACT Pro's Check for backup/old copies of
Web Pages module - when run - will attempt to locate these pages for a given scenario and then add them to
the scenario for further vulnerability assessment. To execute the module:
1. Navigate to the Modules view and make sure that the Web entity tab is active.
2. Type the string "backup" into the module search field. This should reveal the Check for backup/old
copies of Web Pages module.
3. Double-click the Check for backup/old copies of Web Pages module. The module's parameters will
appear.
4. Set the module's parameters to reflect your preferences:
TARGET: The scenario that the module will target.
EXTENSIONS: The module will scan for files that include these extensions (commonly used
for backup or old files). Modify this list to expand the search.
ADD FOUND PAGES: If set to "true", any pages that are found by the module will be added
to the scenario in the TARGET field. If set to "false", the pages will not be added.
Figure 6.55. Check for backup/old copies of Web Pages Module Parameters
82
Getting Started
Getting Started
83
It is not uncommon for web applications to contain active pages that are not directly linked to from within the
application. These tend to be "secret" pages for use by application administrators who know their direct
URLs. IMPACT Pro's Check for hidden Web Pages module - when run - will attempt to locate these pages
and add them to your scenario for further vulnerability assessment. To run the module:
1. Navigate to the Modules view and make sure that the Web entity tab is active.
2. Type the string "hidden" into the module search field. This should reveal the Check for hidden Web
Pages module.
3. Double-click the Check for hidden Web Pages module. The module's parameters will appear.
4. Set the module's parameters to reflect your preferences:
TARGET: The scenario that the module will target.
DB FILE: The module will scan for pages (e.g. config.php) that are listed in the
db_tests file that is included with your IMPACT Pro installation
(%appdata%/IMPACT/components/modules/webapps/data). Modify this file to
expand the search to include other pages.
LOOK INTO: If set to "Domains", the module will scan the root level of the scenario's
domain (e.g. www.webapp.com/config.php). If set to "Domains and Paths", the module will
also scan sub-paths (e.g. www.webapp.com/directory1/config.php,
www.webapp.com/directory2/config.php, etc.).
ADD FOUND PAGES: If set to "true", any pages that are found by the module will be added
to the scenario in the TARGET field. If set to "false", the pages will not be added.
Figure 6.56. Check for hidden Web Pages Module Parameters
Getting Started
83
84
Getting Started
84
Getting Started
Getting Started
2. On the Target Selection page, click the ellipsis (
85
) button to display a list of existing scenarios.
Getting Started
85
86
Getting Started
5. On the Vulnerability Types page of the Wizard, select any of the following options:
Look for SQL Injection vulnerabilities: Then click the Next button for further configurations.
See Further Configurations for SQL Injection Attack and Penetration.
Look for PHP Remote File Inclusion vulnerabilities: Then click the Finish button to begin the
test.
Look for XSS vulnerabilities: Then click the Next button for further configurations. See
Further Configurations for XSS Attack and Penetration.
Execute exploits for known vulnerability: Check this option if you want IMPACT Pro to
attempt to execute exploits as a part of the test.
Figure 6.60. Vulnerability Types
86
Getting Started
Getting Started
87
If you selected only Look for PHP Remote File Inclusion, then the WebApps Attack and Penetration step will
commence. You will be able to see module progress in the Executed Modules panel and specific output in the
Module Log panel.
If the WebApps Attack and Penetration is successful, then WebApps Agents will appear under vulnerable
pages in the Entity View. See the section called Interacting with WebApps Agents for information about
how to leverage the WebApps Agents. Additionally, if a vulnerability is found, it is assigned a Vulnerability
ID which will allow IMPACT Pro users to track reported vulnerabilities after testing. The Vulnerability ID
will appear in the ''Information'' pane when the vulnerable web page is selected and also in the name of the
agent that is deployed for the page. For example, if the SQLi Analyzer finds a vulnerability and assigns it ID
7, an agent configured from that vulnerability will be named ''SQL Agent (7)''.
Further Configurations for SQL Injection Attack and Penetration
If you chose to look for SQL Injection vulnerabilities in the WebApps Attack and Penetration wizard, then
you will have additional configuration options. These configuration steps follow:
1. SQL Injection tests can be performed for any of the following page parameters:
Web page forms
Request parameters
Request cookies
Select any of these by placing a check next to the desired option(s).
2. The WebApps Attack and Penetration step can exert varying levels of testing on the web page's
parameters. Select the depth of the test using the drop-down menu:
FAST: quickly runs the most common tests
NORMAL: runs the tests that are in the FAST plus some additional tests
FULL: runs all tests
3. If you know in advance how the target web application's error pages will appear - what text will be in
the body or the header - check the Use custom error page detection check-box. You will further
configure this feature in a subsequent step in the Wizard.
Getting Started
87
88
Getting Started
4. To configure a module to avoid testing pages that could terminate the session, use the ellipsis ( )
button. By default, the Session arguments avoid list module will be enabled for this purpose. Click the
Clear button if you do not want any module to perform this function.
Note
You can extend IMPACT Pro's functionality by writing your own custom modules. For more
information about writing custom modules, please contact Customer Support (see the section called
Product Support).
If you opted to Use custom error page detection in step 8 above, click the Next button. Otherwise,
click the Finish button.
Figure 6.61. SQL Injection Test Configuration
5. In the Use the Custom error configuration form, you can add one or more rules that IMPACT Pro will
check when it receives data from the web application. Each rule can apply to the header of the
document or the data content. You then can define whether the header or data does or does not
contain certain text strings. For example, if you know that the web application will produce error
pages that contain in the page body the sentence "We're Sorry. An unknown error occurred while
processing your request. Please try again", then you could create a custom error configuration as
shown below:
Figure 6.62. Custom Error Page Detection Configuration
88
Getting Started
Getting Started
89
If IMPACT Pro identifies an error page, it will then evaluate whether it (or the conditions that
produced the error page) are vulnerable to SQL Injection attacks.
Use the Apply the above conditions when the HTTP status code was: list to indicate that custom error
rules should only be applied if IMPACT Pro receives a specific HTTP status code with the page.
6. If you chose to test for XSS vulnerabilities in addition to SQL Injection, click the Next button and
proceed to Further Configurations for XSS Attack and Penetration.
If you chose only to look for SQL Injection vulnerabilities, click the Finish button. The WebApps
Attack and Penetration step will commence. You will be able to see module progress in the Executed
Modules panel and specific output in the Module Log panel.
If the WebApps Attack and Penetration is successful, then WebApps Agents will appear under
vulnerable pages in the Entity View. See the section called Interacting with WebApps Agents for
information about how to leverage the WebApps Agents. Additionally, if a vulnerability is found, it is
assigned a Vulnerability ID which will allow IMPACT Pro users to track reported vulnerabilities after
testing. The Vulnerability ID will appear in the ''Information'' pane when the vulnerable web page is
selected and also in the name of the agent that is deployed for the page. For example, if the SQLi
Analyzer finds a vulnerability and assigns it ID 7, an agent configured from that vulnerability will be
named ''SQL Agent (7)''.
Further Configurations for XSS Attack and Penetration
If you chose to look for XSS vulnerabilities in the WebApps Attack and Penetration wizard, then you will
have additional configuration options. These configuration steps follow:
1. Select the specific browser that you would like to target, or select Any to target all types.
Figure 6.63. XSS Tests Configuration
Getting Started
89
90
Getting Started
2. Check the Test POST parameters option if you want the test to evaluate POST parameters when it
runs.
3. Click the Finish button to begin the test.
The WebApps Attack and Penetration step will commence. You will be able to see module progress
in the Executed Modules panel and specific output in the Module Log panel.
If the WebApps Attack and Penetration is successful, then WebApps Agents will appear under
vulnerable pages in the Entity View. See the section called Interacting with WebApps Agents and
WebApps Browser Attack and Penetration for information about how to leverage the WebApps
Agents and potential XSS vulnerabilities. Additionally, if a vulnerability is found, it is assigned a
Vulnerability ID which will allow IMPACT Pro users to track reported vulnerabilities after testing.
The Vulnerability ID will appear in the ''Information'' pane when the vulnerable web page is selected
and also in the name of the agent that is deployed for the page. For example, if the XSS Analyzer
finds a vulnerability and assigns it ID 7, an agent configured from that vulnerability will be named
''XSS Agent (7)''.
90
Getting Started
Getting Started
91
2. On the Email Target Selection form, use the From: button to select an email address from the entity
database that will serve as the sender of the test email. Use the To: button to select email address(es)
from the entity database that will serve as recipients of the test email.
Figure 6.65. Email Target Selection
91
92
Getting Started
4. The Entities Selection window will open. Navigate to the XSS folder under Vulnerable pages, then
locate and select an XSS Agent.
Figure 6.67. Entities Selection
92
Getting Started
Getting Started
93
Getting Started
93
94
Getting Started
The WebApps Browser Attack and Penetration step will commence. You will be able to see module progress
in the Executed Modules panel and specific output in the Module Log panel. Note that a Web Server module
will also start. This web server will deliver the simulated attack to the users when they click the link in the
email they received.
Report Generation
The WebApps Report Generation RPT step allows you to automatically generate robust system reports by
processing information collected about target web pages you have identified. Report instructions are
consolidated in the RPT Reports section.
Prev
Client Side RPT
Prev
Up
Home
Reports
Chapter 6. Rapid Penetration Test (RPT)
Next
Reports
Next
Reports
Each of the Rapid Penetration Tests provides rich reports that can be used to consolidate, view and distribute
your test findings as well as to plan ongoing prevention and remediation efforts. Reporting options are similar
for each RPT and several reports are available for more than one RPT. In the following list of reports, the
icons indicate the RPTs in which a report can be run: Network RPT
, Client-side RPT
, WebApps RPT
.
Note
For any report that consolidates data for more than one workspace, unique IP addresses and unique email
addresses are treated differently for data summaries. For example, if the same IP address is discovered in 3
different workspaces, the report's Summary of Discovered Hosts will show a count of 3 hosts. Alternatively, if
the same email address is reported in 3 different workspaces, the report's Summary of Targeted Users will
show a count of 1 email address.
Host Report
A detailed report about the hosts you tested using IMPACT Pro, grouped by host IP address. Reported data
Includes:
Number of compromised hosts
Services and applications found on each host
Average number of exploited vulnerabilities on those hosts
The CVE names of the vulnerabilities found on each compromised host
94
Getting Started
Getting Started
95
This report is closely linked to the Vulnerability report (see below). (For Network RPT and Client-side RPT
only)
Customization options:
Include application list for each host: Select this option to include detected applications for each host
in the report.
Include closed ports for each host: Select this option to include detected closed ports for each host in
the report.
Black and white charts: Select this option to have charts created in black and white instead of in color.
Vulnerability Report
A detailed report about the vulnerabilities that were successfully exploited on each host (versus potential
vulnerabilities). This report provides details for each of the exploited vulnerabilities listed for compromised
hosts in the Host Report. Data includes Common Vulnerabilities and Exposure (CVE) as well as Common
Vulnerability Scoring System (CVSS) details.
Customization options:
Black and white charts: Select this option to have charts created in black and white instead of in color.
User Report
A detailed report about all the users that were discovered and targeted as a part of the penetration test.
Customization options:
Getting Started
95
96
Getting Started
Black and white charts: Select this option to have charts created in black and white instead of in color.
Delta Report
The Delta Report will show a side-by-side comparison of test statistics for any 2 workspaces.
Customization options:
Select 2 workspaces to compare.
Trend Report
A Trend report is a summary report which shows graphically the changes across many work spaces. This
report is only available when Running Reports from the Dashboard.
Customization options:
Timeline to be used in the report: Select the scale of the report as daily, weekly, monthly, quarterly, or
yearly.
Black and white charts: Select this option to have charts created in black and white instead of in color.
Executive Report
A summary report of all completed penetration test activities and their results. Reported data includes:
Summary of exploited vulnerabilities
Summary of discovered hosts
Summary of targeted users
Most exploited vulnerabilities (overall and by operating system)
96
Getting Started
Getting Started
97
Customization options:
Black and white charts: Select this option to have charts created in black and white instead of in color.
For any attack vector where you have successfully penetrated a system, you can obtain a graphical
representation of the test by running the Attack Graph report. The Attack Graph illustrates your penetration
test by using nodes and edges as in this example:
Figure 6.70. Attack Graph Report Sample
Network attacks
Client-side attacks
WebApps attacks
Attack Graphs are created using Graphviz, which can be downloaded at www.graphviz.org. Graphs can be
produced in a raw .dot format which can then be edited with Graphviz' gvedit.exe as well as other 3rd
party tools.
Customization options:
Output filename: The name of the file that will contain the attack graph. If you don't change the
Output Filename, the resulting report file will be saved in %programfiles%/CORE Security
Technologies/Impact/bin.
Edge color: The color of the attack lines between nodes (red or black).
Edge detail: Select Full if you want the graph to display each exploit as its own edge. So if there were
14 exploits used, you will see 14 edges. Select Compacted to show a single edge for each attack type
between two nodes. In Compacted mode, you will see edges with different thicknesses. The thick
edges indicate that several attacks were performed between the same two nodes but using different
exploits.
Node detail: This setting determines how much information is displayed per node. With any of these
options, the nodes are shown in tiers based on their distance from the localhost node.
Getting Started
97
98
Getting Started
Full: In this mode, the node displays verbose identification information (IP address, URL or
web browser and version). All other Node Detail modes are compacted in that they display
icons to indicate the type of node.
Compacted BFS (Breadth-First Search): In this mode, each node contains a number in
parentheses that represents the order in which the node was attacked.
Compacted In Degree: In this mode, the nodes contain two numbers. The first number (not in
parentheses) shows the number of distinct exploits with which the node was attacked (this
number would correspond with the number of edges connecting to the node). The number in
parentheses is a rank (starting at 0) based on number of attacks received. For example, a node
showing 34 (0) was attacked with 34 exploits and it was also the node that received the most
attacks. In this mode, you should see localhost as having the highest number rank and no
number of attacks.
Compacted Out Degree: In this mode, the nodes contain two numbers. The first number (not
in parentheses) shows how many attacks originated from the node. The number in parentheses
is a rank (starting at 0) based on number of attacks performed. For example, a node showing 2
(5) performed 2 attacks and there were 5 nodes that performed the same or more attacks.
Activity Report
A detailed report of all modules executed in IMPACT Pro, grouped by date/time run and module.
Customization options:
Log detail level: select from Low, Medium or High.
Include only parent level tasks: Select this option to prevent the report from showing details on
sub-modules.
Wifi Report
Shows detail on all known wireless relationships that have been found while Testing a Wireless Environment.
98
Getting Started
Getting Started
99
5. Make any Report customizations that are available. Customizations will vary for the different report
types.
Then click the Next button.
Figure 6.72. Client-side Report Customizations
6. For WebApps RPT Reports only, click the ellipsis ( ) button to choose the scenario(s) for which
you would like a report. Then click the Next button.
7. For certain Network and Client-side RPT Reports, you must select the Workspace(s) for which you
would like a report. On the Workspace Selection page, click the ellipsis ( ) button to choose the
workspace(s) for which the report should run.
8. For any workspace that you want to include in the report, select it on the left (Available Workspaces)
and click the Add button to move it to the Selected Workspaces pane. If you add a workspace that
isn't the currently-opened workspace, you will be prompted for the workspace's password.
Figure 6.73. Workspace Selection
Getting Started
99
100
Getting Started
The main functionality for the Reports Viewer Window is provided by the Export Report, Print Report, and
Toggle Group Tree buttons located on the top left corner of the window. Descriptions of each of these buttons
are provided below.
Toggle Group Tree
Allows you to collapse the Preview Pane for better individual report viewing/processing or expand it
to select from available options (in this case host IPs). This feature is not available on the Client-side
Penetration Test, User, or PCI Vulnerability Validation reports.
Print Report
100
Getting Started
Getting Started
101
Allows you to print your report using the standard Windows Print Dialog Box.
Export Report
Allows you to export your report to your chosen destination in your chosen document format.
If you are exporting your report, the Export Dialog Box will appear and you will be prompted to provide
information on report format and destination, and then the export file location.
Figure 6.75. Report Generation - Export Dialog Box
After you provide this information, the Export Records Dialog Box will appear and export your report.
Up
Next
Home
Exporting Data from IMPACT Pro
Exporting Data from IMPACT Pro
Chapter 6. Rapid Penetration Test (RPT)
Next
101
102
Getting Started
1. Make sure the Network Entity tab is active, then locate the Export IMPACT Workspace to XML File
module in the Modules tab (use the search feature or navigate to the Import-Export folder).
2. Right-click on the module, then select Edit.
3. Modify the module .py file as desired, then use Save As to save the file with a new name.
4. Click the Modules menu, then select Reload. This will refresh the modules list and should reveal your
new, custom export module.
SCAP
You can export vulnerability data from IMPACT Pro that is compatible with a Security Content Automation
Protocol (SCAP) system. To do this:
1. Make sure the Network Entity tab is active, then locate the Export results in SCAP xml format
module in the Modules tab (use the search feature or navigate to the Import-Export folder).
2. In the module parameters window, select the destination of the xml file, then click OK.
3. Navigate in Windows to the location of the export file. You can then use the file with your SCAP
system.
You can also view the publish and last updated dates for the exploits used within IMPACT Pro. To extract
this information, perform the below query from the Windows command line or using a SQL Client connected
to IMPACT Pro's SQL database.
Command Line Query
osql -E -S .\SQLEXPRESS -d corevuln -Q "SELECT 'CVE-' + CAST(vuln_ncve_year AS
VARCHAR) + '-' + CAST(vuln_ncve_number AS VARCHAR) AS CVE, vuln_published AS
Published, vuln_lastchange AS LastChange FROM corevuln.dbo.vulnerability"
SQL Client Query
SELECT 'CVE-' + CAST(vuln_ncve_year AS VARCHAR) + '-' + CAST(vuln_ncve_number AS
VARCHAR) AS CVE, vuln_published AS Published, vuln_lastchange AS LastChange FROM
corevuln.dbo.vulnerability
Getting Started
Using IMPACT
Prev
Reports
103
Up
Home
Part II. Using IMPACT
Prev
Next
Part II. Using IMPACT
Next
Using IMPACT
Table of Contents
7. Managing Workspaces
Creating a New Workspace
Opening an Existing Workspace
Closing a Workspace
Deleting a Workspace
Importing and Exporting Workspaces
8. Testing a Wireless Environment
Access Point Discovery
Wireless AirPcap Traffic Sniffer
Crack WEP WiFi Network
Crack WPA-PSK WiFi Network
Station Deauthentication Flood
Join WiFi Network
9. Working with Modules
Running Modules
Stopping Modules
Resuming Modules
Running Modules with the Scheduler
Using the Executed Modules View
Analyzing Module Output
Searching for Modules
Editing/Deleting Modules from the Modules Panel
Custom Modules
Macro Modules
Getting Module Updates
10. Controlling Agents
About Agents and WebApps Agents
Interacting with Agents
Deploying Agents
Interacting with WebApps Agents
11. IMPACT Pro Entities
View
Client Side View
Web View
Managing Entities
Entity Details
Entity Properties
12. Integration
Integration with Metasploit
Importing Data from Vulnerability Scanners
Using Imported Information
13. Obtaining and Utilizing User Credentials
Obtaining the Password Hashes from a Compromised Host
Using IMPACT
103
104
Using IMPACT
Up
Home
Chapter 7. Managing Workspaces
Part II. Using IMPACT
Next
Chapter 7. Managing Workspaces
Next
Note
All workspace information is stored in the Console's database, which is found in an .mdf file in the SQL
Server directory that corresponds with IMPACT Pro.
104
Using IMPACT
Using IMPACT
Prev
Part II. Using IMPACT
Prev
105
Up
Home
Creating a New Workspace
Chapter 7. Managing Workspaces
Next
Creating a New Workspace
Next
The remainder of the form is useful only for reference purposes. It can be viewed or updated at any
time by selecting File->Properties from IMPACT Pro's main menu. Use these fields as needed:
Company name: The name of the company where the penetration test is being conducted.
Contact name: The name of a contact inside the (client company) related to this particular
engagement.
Contact phone number: The phone number of the client contact.
Contact e-mail: The email address of the client contact.
Location: The location of the client.
Workspace comment: Any comments about the workspace and the tests to be performed
within it.
Engagement start date and dealine
Click Next after entering a name for the new workspace.
Figure 7.1. New Workspace Wizard
3. If you are using a Consulting/Engagement license, when you create a new workspace, you must
Using IMPACT
105
106
Using IMPACT
assign an appropriate license to it. For enterprise licenses, the General License is the default for all
Workspaces. Currently-installed licenses will be displayed in the Available licenses panel of the New
Workspace Wizard Dialog Box. Refer to Understanding Licenses for more information about using
different IMPACT Pro licenses. Click Next after you choose the desired license.
Figure 7.2. New Workspace Wizard
4. A Workspace key is generated every time a new workspace is created. This key is only used for
communication with remote agents that perform client authentication. This means that different users
of IMPACT Pro use different workspace keys and will not be able to connect to the same agents. It is
important to note that this key does not currently protect the information inside IMPACT Pro's
database, and that its sole purpose is to protect the workspace's deployed agents from being accessed
by another IMPACT Pro workspace.
Enter a pass phrase in the Passphrase field and re-enter it for verification in the Retype passphrase
field. This pass phrase is used to protect the key material that is generated by the wizard. The pass
phrase must be at least 8 characters in length. After entering a pass phrase, move the mouse inside the
rectangle on the right to generate a new key pair, and click Next. Refer to the section called Crypto
Channel for more information on how IMPACT Pro uses this key pair.
Figure 7.3. Key Generation Dialog Box
106
Using IMPACT
Using IMPACT
107
5. After checking that all the information displayed in the Completing the New Workspace Wizard
Dialog Box is correct, click Finish. The new workspace is created and will automatically open.
Figure 7.4. Completing the New Workspace Wizard Dialog Box
Prev
Chapter 7. Managing Workspaces
Prev
Up
Home
Opening an Existing Workspace
Chapter 7. Managing Workspaces
Next
Opening an Existing Workspace
Next
Using IMPACT
107
108
Using IMPACT
1. Select File->Open workspace from IMPACT Pro's main menu or click on the Open Workspace icon
(
2. Click on the workspace you wish to open, enter the corresponding pass phrase, and click the OK
button. Please note that although only one workspace can be opened at a time, a single workspace can
be used to test multiple hosts and networks.
Prev
Creating a New Workspace
Prev
Up
Home
Closing a Workspace
Chapter 7. Managing Workspaces
Next
Closing a Workspace
Next
Closing a Workspace
To close the active workspace, choose File->Close workspace from IMPACT Pro's main menu. If there are
modules running when you close a workspace (or shut down IMPACT Pro), you will be asked if you want to
stop running modules:
Yes: The workspace (or IMPACT Pro) will be closed and all running modules will be stopped.
No: The workspace (or IMPACT Pro) will be closed and all running modules will remain running.
Any exploits launched after the workspace is closed will be able to register agents with IMPACT Pro
and will be visible in the Entity Database when you subsequently open the workspace.
Cancel: The workspace will not be closed and all running modules will remain running.
Figure 7.6. Stop Running Modules Prompt
When you close a workspace, all in-memory (non-persistent) agents deployed from that workspace will be
uninstalled automatically.
108
Using IMPACT
Using IMPACT
Prev
Opening an Existing Workspace
Prev
109
Up
Home
Deleting a Workspace
Chapter 7. Managing Workspaces
Next
Deleting a Workspace
Next
Deleting a Workspace
To permanently remove a workspace, choose File->Delete workspace from IMPACT Pro's main menu. The
Delete Workspace Dialog Box will appear. Check the workspace(s) you wish to delete and click the Delete
button. The workspace(s) will be removed from the Console's database.
Prev
Closing a Workspace
Prev
Up
Next
Home
Importing and Exporting Workspaces
Importing and Exporting Workspaces
Chapter 7. Managing Workspaces
Next
Import a Workspace
Follow the below procedure to import a workspace into IMPACT Pro:.
1. If you have a workspace opened, close it by navigating to File->Close Workspace.
2. Navigate to Tools->Import/Export Workspaces from IMPACT Pro's main menu. When the
Import/Export Workspace Wizard appears, click Next.
Figure 7.7. Choose a Data Source Dialog Box
Using IMPACT
109
110
Using IMPACT
3. Using the drop-down menu, select the Data source type of the import file as either Microsoft Access
or Microsoft SQL Server.
If you select Microsoft Access, you must specify the location of the file to be imported, either by
entering its full path in the File name field or by clicking on the ellipsis button (
and selecting the file. Click Next.
) and navigating to
To export a workspace from your IMPACT Pro installation, select IMPACT's Database as the Data
source type and click Next.
Figure 7.8. Select a Workspace Dialog Box
110
Using IMPACT
Using IMPACT
111
4. Click the ellipsis button ( ) then navigate to and select the source file. Click the Open button to
return to the Import Wizard.
Figure 7.9. Choose a Data Source
Click Next.
5. Select a workspace from the next dialogue box. This will be the workspace that will be imported.
Figure 7.10. Select a Workspace
Using IMPACT
111
112
Using IMPACT
112
Using IMPACT
Using IMPACT
113
Export a Workspace
Follow the below procedure to export a workspace from IMPACT Pro:.
1. If you have a workspace opened, close it by navigating to File->Close Workspace.
2. Navigate to Tools->Import/Export Workspaces from IMPACT Pro's main menu. When the
Import/Export Workspace Wizard appears, click Next.
3. To export a workspace from your IMPACT Pro installation, select IMPACT's Database as the Data
source type.
Figure 7.13. Choose a Data Source Dialog Box
Using IMPACT
113
114
Using IMPACT
Using IMPACT
115
Prev
Deleting a Workspace
Using IMPACT
Up
Home
Next
115
116
Using IMPACT
Chapter 8. Testing a Wireless
Environment
Chapter 8. Testing a Wireless Environment
Part II. Using IMPACT
Prev
Next
The below tests are specifically designed for use on WiFi networks. The modules are available by navigating
to the Modules View and expanding the WiFi folder (ensure that the Network entity tab is active):
Access Point Discovery
Wireless AirPcap Traffic Sniffer
116
Using IMPACT
Using IMPACT
117
Note
IMPACT Pro's WiFi vector capabilities require the use of an AirPcap adapter from CACE Technologies
(www.cacetech.com or http://www.cacetech.com/products/airpcap.html). At a minimum, AirPcap
Classic&"navfooter">
Prev
Importing and Exporting Workspaces
Up
Home
Access Point Discovery
Chapter 8. Testing a Wireless Environment
Prev
Next
Access Point Discovery
Next
Up
Home
Next
Wireless AirPcap Traffic Sniffer
Next
117
118
Using IMPACT
1. Ensure that the Network Entity tab is active, then click the Modules view.
2. Expand the WiFi folder, then the Information Gathering folder. This will reveal the Wireless AirPcap
Traffic Sniffer module.
3. Double-click the Wireless AirPcap Traffic Sniffer module. This will open the module's parameters.
4. Modify the parameters as needed, then click the OK button.:
FILENAME: Determines the location and name of the .pcap file that will be produced by the
module.
CHANNELS: Sets the wireless channels on which the module should sniff for traffic.
DELAY_BETWEEN_HOPS: The number of seconds the module will wait before sniffing
the next channel.
STOP_AFTER: The variable to determine when the module should stop sniffing and report
its output. Choose either Hours, Minutes, Packets, or Seconds.
VALUE: The value that corresponds with the STOP_AFTER value.
LAUNCH_WIRESHARK: If YES, Wireshark will automatically launch and open the
resulting .pcap file. If set to NO, you will have to manually locate and open the .pcap file.
WIRESHARK_PATH: Set the path to the Wireshark executable if you have set
LAUNCH_WIRESHARK to YES.
Figure 8.2. Wireless AirPcap Traffic Sniffer Parameters
The module will run and you can view its progress in the Module Log pane.
5. When it completes, the .pcap file will open if you set the LAUNCH_WIRESHARK parameter to
YES. Otherwise, locate and open the resulting .pcap file to review and analyze the wireless traffic.
Prev
Access Point Discovery
Prev
Up
Home
Crack WEP WiFi Network
Chapter 8. Testing a Wireless Environment
Next
Crack WEP WiFi Network
Next
118
Using IMPACT
Using IMPACT
119
2. Expand the WiFi folder, then the Attack folder. This will reveal the Crack WEP WiFi Network
module.
3. Double-click the Crack WEP WiFi Network module (or drag and drop the module onto the access
point that you wish to target). This will open the module's parameters.
4. Modify the parameters as needed, then click the OK button.:
TARGET: Determines the target access point.
STOP_AFTER: The variable to determine when the module should stop. Choose either
Hours, Minutes, Packets, or Seconds.
VALUE: The value that corresponds with the STOP_AFTER value.
Figure 8.3. Crack WEP WiFi Network Parameters
The module will run and you can view its progress in the Module Log pane.
5. If the module succeeds, IMPACT Pro will store the WEP key with the targeted access point in the
entity view. At this point, you could run the Join WiFi Network module and attempt to connect to the
access point.
Prev
Wireless AirPcap Traffic Sniffer
Up
Next
Home
Crack WPA-PSK WiFi Network
Crack WPA-PSK WiFi Network
Chapter 8. Testing a Wireless Environment
Next
Prev
Using IMPACT
119
120
Using IMPACT
TARGET: Determines the target access point.
DICT_PATH: The path to a dictionary of possible WPA passphrases. By default, this
dictionary file is provided, but you can modify this file, use your own or check our customer
service forums for related resources.
PASSIVE: If true, the module will wait for a device to log onto the network and try to
intercept the "handshake" between the device and the access point. If false, the module will
attempt to force one or more connected devices to disconnect. As most devices are configured
to do so, they will automatically try and reconnect to the network. The Crack WPA-PSK
WiFi Network module will then get to capture the WPA "handshake".
Figure 8.4. Crack WPA-PSK WiFi Network Parameters
The module will run and you can view its progress in the Module Log pane.
5. If the module succeeds, IMPACT Pro will store the WPA details along with the access point in the
entity view. At this point, you could run the Join WiFi Network module and attempt to connect to the
access point.
Prev
Crack WEP WiFi Network
Prev
Up
Next
Home
Station Deauthentication Flood
Station Deauthentication Flood
Chapter 8. Testing a Wireless Environment
Next
Note
This is the method used by the Crack WPA-PSK WiFi Network module to force devices to disconnect from
the network
To run the module:
1. Ensure that the Network Entity tab is active, then click the Modules view.
120
Using IMPACT
Using IMPACT
121
2. Expand the WiFi folder, then the Denial of Service folder. This should reveal the Station
Deauthentication Flood module.
3. Double-click the Station Deauthentication Flood module (or drag-and-drop the module onto the
wireless access point that you wish to attack). This will open the module's parameters.
4. Modify the parameters as needed, then click the OK button:
TARGET: Determines the target access point.
STOP_AFTER: The variable to determine when the module should stop. Choose either
Hours, Minutes, Packets, or Seconds.
VALUE: The value that corresponds with the STOP_AFTER value.
Figure 8.5. Station Deauthentication Flood
The module will run and you can view its progress in the Module Log pane.
Prev
Crack WPA-PSK WiFi Network
Up
Home
Join WiFi Network
Chapter 8. Testing a Wireless Environment
Prev
Next
Join WiFi Network
Next
Using IMPACT
121
122
Prev
Station Deauthentication Flood
Prev
Using IMPACT
Up
Next
Home
Chapter 9. Working with Modules
Chapter 9. Working with Modules
Part II. Using IMPACT
Next
On the Modules View, modules are organized into folders (also known as 'categories') that refer to the
module's general purpose or use. When you select a module, information such as version and a description of
what the module does is displayed in the Quick Information Panel at the bottom of the Console.
122
Using IMPACT
Using IMPACT
123
The list of available modules is automatically created from IMPACT Pro's module directory when you open
the first workspace. This list can be recreated at any time by selecting Modules->Reload from IMPACT Pro's
drop-down menu.
The Modules view will only show modules that are applicable for the currently-select entity view. For
example, if the Client Side entity view is active, only modules that apply to client-side testing will be visible
in the Modules View.
Additionally, the Modules view automatically highlights modules that are applicable to the object type that is
selected (if any) in the entity view. For example, if a host with a known operating system is currently-selected
in the Network entity view, IMPACT Pro will highlight only those modules in the Modules view that work on
or against that specific host's operating system. Note that you can run a non-highlighted module to try to
validate an assumption on the target's operating system. The colors used for highlighting can be changed in
the Modules category of the Options Dialog Box (Tools->Options) - see Modules Options.
Refer to IMPACT Pro's Module Reference documentation for an in-depth look at each of IMPACT Pro's
modules.
Prev
Join WiFi Network
Prev
Up
Home
Running Modules
Chapter 9. Working with Modules
Next
Running Modules
Next
Running Modules
To run a module, you can either double-click on it or drag and drop it onto a target. Some modules will
require additional parameters be set prior to execution. When you run a module, the Module Parameters
Dialog Box appears. Each module specifies the parameters it needs. The first time a module is executed,
default values are used for all parameters.
For information about a specific parameter and its possible values, select the parameter in the Module
Parameters Dialog Box and press F1 to display contextual help describing the selected parameter.
Using IMPACT
123
124
Using IMPACT
When you launch a module, the TARGET value in the Module Parameters Dialog Box is automatically set to
the currently-selected object in the Entity View Panel. All the remaining parameters are set to their default
values. You can change these values before clicking OK, which will execute the module. Some modules, such
as modules in the Shells category, do not need any parameters.
124
192.168.1.*; 192.168.2.0/26
192.168.1.1-4,8,9; 192.168.2.100-120
Using IMPACT
Using IMPACT
You can also specify these ranges by clicking on the ellipsis button (
parameter's Value column.
125
) next to the TARGETRANGE
The Select Ranges Dialog Box lets you add ranges in four different ways:
Single IP. A single IP address.
IP Range. A continuous range of IP address starting on the From address to the To address.
CIDR Notation. A network in the CIDR format, where the first four numbers specify the network
name and the number on the right side of the slash represents the number of "1"s in the binary
representation of the network's netmask.
Import From File. A text file with a list of IP addresses and/or ranges. Click on the ellipsis button to
browse for the file.
Click on the Add button as many times as necessary to build the desired target range. Click OK when you are
done. The TARGETRANGE parameter will reflect your changes.
Multiple Targets
You can execute any module against a network folder using any of the methods described above. IMPACT
Pro's Console will behave differently during this operation according to whether the module accepts host
ranges or not.
If the module accepts host ranges (receives a TARGETRANGE parameter), the Console will not update the
TARGETRANGE parameter since it denotes an IP list and might not make sense when dropping over a
folder. Typically, modules that need TARGETRANGE create new objects rather than work with existing
ones.
If the module does not accept host ranges (receives a TARGET parameter), a ";" -separated list of hosts with
the selected folder contents will be automatically created and set as the TARGET parameter for the module.
Upon execution, the module will iterate over each one and process them.
You can also specify multiple target hosts for a given module by clicking on the ellipsis button next to the
TARGET parameter's Value column.
Using IMPACT
125
126
Using IMPACT
Using the TARGET selection dialog, you can select the specific hosts you wish to target by
checking/unchecking the check-box to the left of each host's name. When you are finished, click OK and you
will be returned to the Module Parameters dialog. The TARGET parameter will be set to the selected hosts.
Figure 9.5. Entities Selection
Using IMPACT
Using IMPACT
127
instance, if IMPACT Pro only had two exploits, one for SSH and the other for SMTP, then the
DYNAMIC port range would be equivalent to "22,25".
TCP Common. Includes default TCP ports for known TCP services.
UDP Common. Includes default UDP ports for known UDP services.
You can select any combination of these predefined port ranges by using the Port Range Selection Dialog box.
To open this dialog box click on the Value column for the PORT RANGE parameter and click on the ellipsis
( ) button.
Figure 9.6. Port Range Selection Dialog Box
To select/unselect a given port range check/uncheck the check-box to the left of the range's name. You can
add an additional range by typing it in the Additional ports field at the bottom of the dialog box.
You can also define additional port ranges and give them a name for future reference. To add a new range,
click on the New button. The Port Range Groups dialog appears.
Figure 9.7. Port Range Groups Dialog Box
Using IMPACT
127
128
Using IMPACT
Prev
Chapter 9. Working with Modules
Prev
Up
Home
Stopping Modules
Chapter 9. Working with Modules
Next
Stopping Modules
Next
Stopping Modules
To stop a running module (thereby canceling its execution), right-click on the module in the Executed
Modules Panel and select Stop from the context menu. You can also issue the Stop All command from the
Modules drop-down menu in order to stop all running modules. The module's state changes from Running to
Stopped.
When running a module, an agent might have to wait for a system call to finish. Stopping a module in this
state will effectively uninstall the agent, since it is not possible to interrupt the remote blocking operation.
When this condition arises, IMPACT Pro will display a warning message and ask for confirmation. Note that
the module may terminate while the Console is waiting for user confirmation. If this happens, uninstalling the
agent is no longer necessary and closing the dialog is sufficient to stop the module.
Figure 9.9. Executed Modules Panel - Stop Module
128
Using IMPACT
Using IMPACT
Prev
Running Modules
Prev
129
Up
Home
Resuming Modules
Chapter 9. Working with Modules
Next
Resuming Modules
Next
Resuming Modules
If a Client-side or agent-packaging module is stopped, you may be able to resume it from the Executed
Modules pane and it will rerun with its original settings. If it can be resumed, its Resumable value will be set
to Yes. A module must successfully register its dependencies and establish its environment before it becomes
resumable. If it is stopped before this, it will not be resumable and will have to be restarted manually from the
Modules View.
To resume a stopped module, right-click on the module in the Executed Modules Panel and select Resume
from the context menu.
Figure 9.10. Executed Modules Panel - Resume Module
Prev
Stopping Modules
Prev
Up
Next
Home
Running Modules with the Scheduler
Running Modules with the Scheduler
Chapter 9. Working with Modules
Next
129
130
Using IMPACT
Network Vulnerability Test
Client-side Vulnerability Test
130
Using IMPACT
Using IMPACT
131
Note
Only 3 scheduled tasks can be running concurrently. If a 4th task begins, it will fail and will need to be run
again manually or according to its next scheduled run. For this reason, be sure your scheduled tasks are set to
run at appropriate intervals.
You can also see a list of tests that have run via the Scheduler in the Executed Scheduled Tasks pane.
Click on a task to view its details and output in the lower pane of the Scheduler.
To stop a task, right-click the task and select Stop.
Each scheduled task runs in its own workspace. To view the task running in its own workspace,
right-click the task and select Open.
Once a scheduled task has completed, it is listed on the IMPACT Pro Dashboard. To view the workspace and
interact with the scheduled task's modules, click the link on the dashboard.
Figure 9.13. Dashboard: Executed scheduled tasks
The list of Executed scheduled tasks on the Dashboard will show all unviewed workspaces in the order in
which their scheduled tasks completed, followed by all viewed workspaces in the order in which their
scheduled tasks completed.
Using IMPACT
131
132
Using IMPACT
Prev
Resuming Modules
Prev
Up
Next
Home
Using the Executed Modules View
Using the Executed Modules View
Chapter 9. Working with Modules
Next
This panel provides information related to specific executions of a module. It uses the fields described in the
table below.
Table 9.2. Executed Modules Panel Field Descriptions
Field name
Description
Name of the module that is executing/was executed and an icon describing the status of its
Name
execution
Started
Date and time the module was started
Finished
Date and time the module finished executing
Status
Current execution status
Source Agent Name of the agent selected as source when the module was executed
Resumable Displays whether the module can be restarted from the Executed Modules pane (Yes or No)
Table 9.3. Executed Module Status Definitions
Icon
132
Status
Initializing
Running
Stopped
Stopped and Resumable
Definition
The module is initializing but has yet to start executing
The module is running
The module has been cancelled by the user
The module has stopped but can be resumed in the Executed Modules pane
Using IMPACT
Using IMPACT
Aborted
Finished
133
The module has aborted execution due to an error condition
The module has finished executing
Prev
Running Modules with the Scheduler
Up
Home
Analyzing Module Output
Chapter 9. Working with Modules
Prev
Next
Analyzing Module Output
Next
This panel can display three different types of information regarding the executed module: Output, Log, and
Parameters. Select the type of information you wish to view using the tabs at the bottom of the window.
Module Output
The Module Output Tab shows the formatted output report of the module. Each module reports
different information on this tab depending on its goal and the results obtained.
Module Log
The Module Log Tab shows all the logging/debugging information messages that a module produced
while executing. The level of detail included in these messages is specific to each module.
There are three logging levels of detail for Log messages: HIGH, MEDIUM and LOW. A higher level
will display more details. You can configure this tab to display messages at any of these logging
levels. To change the current detail level, right-click in the Executed Module Info Panel when this tab
is active and select your desired detail level from the context menu.
Using IMPACT
133
134
Using IMPACT
Module Parameters
The Module Parameters Tab displays the parameters that were used when the module was initially
executed. This information is important because in order to correctly assess the results of a module
execution, you must know which parameters were set when the module was run. The Parameters Tab
holds all the parameters and values that were used for a particular module execution.
Prev
Using the Executed Modules View
Prev
Up
Home
Searching for Modules
Chapter 9. Working with Modules
Next
Searching for Modules
Next
Using IMPACT
Using IMPACT
135
Name. Partial match of the module's name. Examples: "IIS", "apache", "discovery", "SSL".
Service. Exact match of the module's target service (mostly related to exploits). Examples: "http",
"https", "smtp", "netbios-ssn".
Supported System. Partial match of the module's supported systems (generally related to exploit
modules). Examples: "windows", "solaris", "sp4", "windows 2000 server - sp2".
Application. Partial match of the application that the modules can target (generally related to exploit
modules).
Next, type your desired search text in the Search box. The Modules Panel automatically displays the search
results. To clear your search and display all modules again, click on the Clear Search (
) button located to
the right of the Search box. Remember, the Modules view will only show modules that are applicable for the
active Entity View. For example, if the Client Side entity tab is active, only modules that are applicable for
client-side testing will appear in the Modules view.
Prev
Analyzing Module Output
Prev
Up
Next
Editing/Deleting Modules from the
Home
Modules Panel
Editing/Deleting Modules from the Modules Panel
Chapter 9. Working with Modules
Next
Using IMPACT
135
136
Using IMPACT
To delete a module, right-click on it in the Modules Panel and select Delete from its context menu. Note that
deleting a module from this panel deletes it from the Modules View and moves the python file to the Deleted
Files folder.
You can refresh the currently available modules list at any time by selecting Modules->Reload from IMPACT
Pro's main menu.
Prev
Searching for Modules
Prev
Up
Home
Custom Modules
Chapter 9. Working with Modules
Next
Custom Modules
Next
Custom Modules
The modules that perform IMPACT Pros security tests are constantly being updated with the latest threats.
The power to create these modules is accessible to all users through IMPACT Pro's open, standard Python
language interface. The New Module Wizard makes this even easier by guiding the user through the process
of creating module templates, which they then simply populate with Python script.
Important
This process requires a working knowledge of the Python Programming Language. See
http://www.python.org for more information.
136
Using IMPACT
Using IMPACT
137
Using IMPACT
137
138
Using IMPACT
138
Using IMPACT
Using IMPACT
139
7. Once it is created, the new .py file will open automatically in your default text editor.
Important
At this point, the module is not complete. It is only a template that still needs to be customized before
it will be functional.
Inside of the .py file, you will find commented guidance on how to edit and complete your new
module.
Modify your .py file as needed, then save and close the file. Your new module can then be managed
just as any other module in IMPACT Pro.
Debugging a Module
IMPACT Pro supports open Python debugging tools to make the creation of custom modules easier and more
efficient. This also enables customization and reuse of all the modules included with IMPACT Pro.
Note the following:
You can only debug one module at a time.
The debugger cannot be attached to a module that was launched before the Attach debugger to
running modules setting was enabled.
Before you can use debugging for a module, you will need to download and install the following packages:
Python 2.5.2 for Windows: Download from the following link: http://www.python.org/download
WxPython Unicode 2.8: Download from the following link:
http://www.wxpython.org/download.php#binaries
Winpdb Client 1.4.0: Download from the following link:
http://sourceforge.net/project/showfiles.php?group_id=145018
Winpdb Server: This is an IMPACT Pro package containing the debugger's server-side library named
rpdb2.py. Download from the following location:
http://cs.coresecurity.com/files/professional/Winpdb_Debugger_Library_Version_1.imp.
After downloading this update, install it by running the IMPACT Pro module named Install IMPACT
modules from file. Set the module FILENAME parameter to the path of the downloaded file before
clicking the OK button.
Using IMPACT
139
140
Using IMPACT
Figure 9.24. Install IMPACT Pro Module From File
Once the debugging packages are in place, you can debug your IMPACT Pro modules with the following
steps:
1. Ensure that the Attach debugger to running modules option is enabled in the Modules options page
(Tools->Options).
Figure 9.25. Modules Options: Attach Debugger to Running Modules
2. Execute your custom module (or any module) from the Modules View.
3. You may see a pop-up warning message stating that the Winpdb client needs to be started before
debugging can proceed. The pop-up also notes that the debugger should be attached to IMPACT Pro
using the password 'root'.
To resolve this, follow these steps. (If you run into problems with Winpdb, consult the Winpdb
documentation for more information):
a. Click the OK button.
b. Start Winpdb.
c. In Winpdb, navigate to File->Password and set the password to: root.
140
Using IMPACT
Using IMPACT
141
Prev
Editing/Deleting Modules from the
Modules Panel
Prev
Using IMPACT
Up
Home
Macro Modules
Chapter 9. Working with Modules
Next
Macro Modules
Next
141
142
Using IMPACT
Macro Modules
Macro Modules allow you to combine multiple IMPACT Pro modules into a single module package and then
to execute it on your target systems. With Macro Modules, you can automate common tasks that are usually
run in sequence with some preset parameters. For instance, the Information Gathering Example Macro in the
My Macros module folder will do the following:
1. Run the Network Discovery - ICMP module against a specified netblock.
2. Run the Network Discovery - TCP Connect module against a specified netblock.
3. Run the OS Detection module against each of the scanned hosts.
Macro Modules are no different from other IMPACT Pro modules written in Python except for the fact that
they take advantage of automation features built into IMPACT Pro's API.
The following section will show you how to Create Macro Modules.
142
Using IMPACT
Using IMPACT
143
Figure 9.28. Macro Wizard - Modules and execution order Dialog Box
You can change the execution order of the modules in the Execution order pane by dragging a module
to a different position in the sequence. A dotted line is displayed to help you see where the module
will be dropped.
Using IMPACT
143
144
Using IMPACT
To remove a module from the sequence, select it and press the Delete key.
Click the Next button to proceed with the wizard.
5. For each module in the sequence, you can select which parameters will be manually set by the user
when the macro is run and which will be set by default. To configure this:
a. Select the module in the Modules to execute pane.
b. In the Module parameters pane, for each parameter, place a check in the Ask column if you
want the user to input the parameter value when the macro is executed. If the Ask box is not
checked, the data in the Value column will be used when the macro is executed.
c. Change any data in the Value column by clicking on the value. Some parameters will offer a
simple text field or a drop-down menu, and others will show an ellipsis ( ) button that,
when clicked, will provide more options for setting the value.
Figure 9.29. Macro Wizard - Setting Arguments for the Network Discovery Module
d. The TARGET parameter can be inherited from the results of a module higher in the sequence
by checking the Inherit TARGET from check-box. After checking this box, select the module
from which the current module should obtain its TARGET value(s). If the module selected in
the drop down box outputs more than one host, the module will be run on each one.
Figure 9.30. Macro Wizard - Setting Arguments for the SMB Information Gathering
Module
144
Using IMPACT
Using IMPACT
145
145
146
Using IMPACT
1. Locate the macro in the Modules Panel. When the macro was created, you specified a location for it..
2. Launch the macro by either double-clicking it or dragging and dropping it onto an item in the Entity
Database.
3. The macro module's parameter dialog box will open.
If you wish, set the parameters and then click OK to execute the macro module.
Figure 9.32. Module Parameters Dialog Box - Setting Macro Module Parameters
Up
Home
Getting Module Updates
Chapter 9. Working with Modules
Next
Getting Module Updates
Next
146
Using IMPACT
Using IMPACT
147
IMPACT Pro will create a new HTTP connection to the update server, download any available updates, and
install them. If you use a proxy server to browse the Internet set the Update Settings options accordingly (see
Network Options). In some cases (indicated by the update module) IMPACT Pro will need to be restarted
before you can continue.
When you are done downloading module updates, view the Executed Module Info Panel for the Update
IMPACT Pro modules module for a report of which updates were downloaded.
Note
You need an active Internet connection to connect to the update server.
Prev
Macro Modules
Up
Home
Chapter 10. Controlling Agents
Part II. Using IMPACT
Prev
Next
Chapter 10. Controlling Agents
Next
Using IMPACT
Up
Next
Home
About Agents and WebApps Agents
About Agents and WebApps Agents
Chapter 10. Controlling Agents
Next
147
148
Using IMPACT
See the section called Interacting with WebApps Agents for information on how to use WebApps Agents.
Prev
Chapter 10. Controlling Agents
148
Up
Home
Next
Interacting with Agents
Using IMPACT
Using IMPACT
Prev
149
Interacting with Agents
Chapter 10. Controlling Agents
Next
The menu may vary depending on the type of agent, its current status and other global settings:
Set as Source
By default, the localagent is the source agent for all attacks. If a new agent is deployed on a host
machine, you can set that agent as the source and all future attacks will be initiate from that agent.
This process is referred to as pivoting. With a remote source agent, you can launch new Network and
WebApps tests that might otherwise be less effective from the localagent.
Uninstall
Allows you to uninstall a currently-connected agent.
Connect
Allows you to reconnect with a persistent agent.
Shell
Executes a fully functional terminal on the host.
Mini Shell
Implements a limited set of commands on the host.
Python Shell
Executes a Python shell on the host.
File Browser
Allows file browsing on the host.
Make Persistent
This option will install an agent in the filesystem of the compromised computer so that it can be used
across system reboots for prolonged penetration tests.
Install Pcap Plugin
Installs the Pcap plug-in on the selected agent to enable faster scanning and to add support for packet
capture and packet injection to a remote pivoted agent.
Using IMPACT
149
150
Using IMPACT
Recover
This option can recover the connection to a non-persistent agent that was disconnected unexpectedly.
Set Reconnection Policy
Use this option to modify the Reconnection Policy for a specific agent - these settings override the
global Reconnection Policy set in Agents Options.
Update Connection Status
This option will gather performance statistics for a connected agent.
Recent Modules
This menu will show modules that you have recently executed so that you can easily repeat them for a
selected agent.
Add Comments...
Use the Add Comments... option to enter your own notes regarding the agent.
Delete
Use this option to delete an agent from a host as well as from the entity view.
Properties
This option will show properties of the agent in the Entity Properties pane.
The Shell
Agents can execute a fully functional terminal on the remote host. Select Shell from an agent's context menu
to launch the Shell and you will have the ability to perform all functions that you could with cmd.exe on
Windows or /bin/sh on a Unix system.
Figure 10.3. Running Info in a Shell
150
Using IMPACT
Using IMPACT
151
Using IMPACT
151
152
Using IMPACT
Using IMPACT
Using IMPACT
153
selecting the Set as source option from the context menu. Note that the agent needs to be in the "connected"
state to be eligible for source agent status.
To return to the default setting of localagent as source agent, right click on localagent and select Set as Source
or click on the Set localagent as source button (
Agent States
Agents exist in one of three states. The following table describes these agent states and shows the icon that
represents each in the Entity View Panel of IMPACT Pro's Console.
Table 10.1. Agent States
Icon
State
Deployed but
unconnected
Deployed and
connected
Uninstalled
Description
The agent has been successfully deployed in the remote system but it is not
connected to the console.
An active communication channel exists between the console and the remote
agent.
The agent has been removed from the remote system and is no longer active.
153
154
Using IMPACT
Connect from target: A new TCP connection will be created originating from the remote
agent on the target host back to the host where the current source agent is located. The
Reconnection Policy that is set in Agents Options will determine the frequency and duration
of the attempted reconnection.
Connect to target: A new TCP connection will be created originating from the host where the
source agent is located, terminating at the remote agent on the target host.
HTTP Channel
HTTPS Channel
Also select the PORT number. If you leave the port at 0, the connection will occur over the agent's
original connection port.
Figure 10.9. Make Agent Persistent Parameters
Note
This process requires that the remote agent has administrator privileges.
After an agent is made persistent, you will be able to reconnect it to its rebooted target host. To do this, after
the host is rebooted:
1. Right click on the agent.
2. Select Disconnect.
3. Right click on the agent again.
4. Select Connect.
The agent will reconnect to the rebooted target host.
Connecting Agents
To connect a persistent agent that is in the unconnected state, right click on the agent in the Entity View Panel
and select Connect. Because connecting an agent can be a complex technical task, the Console uses a built-in
module called Agent Connect to connect to the agent.
You can view the status of the Agent Connect Module in the Executed Module Info Panel just as you can with
any other executed module. Check the Module Log to see if an error occurred in the module's execution (refer
to the section called Analyzing Module Output for information on how to consult module status and
output).
Figure 10.10. Agent Connect Module - Module Log Panel Displaying Error Text
154
Using IMPACT
Using IMPACT
155
Uninstalling Agents
You can uninstall a connected agent from the remote system by right clicking the agent in the Entity View
Panel and choosing the Uninstall command from the context menu.
Once you uninstall an agent, it is no longer available to you. However, the agent's entity remains in the
database for logging and reporting purposes. You can remove it by right clicking over on the agent and
selecting Delete. Note that if you choose to remove an agent in this manner, it will not be included in future
reports.
Note
Issuing a disconnect command to an in-memory agent (the default agent) effectively uninstalls that agent.
Disconnecting from a persistent agent leaves the agent on the filesystem and allows you to reconnect to it at a
later time. Deleting an agent removes it from the database, but it doesn't perform an uninstall on the target
machine. Always uninstall before deleting an agent.
SQL, XSS and PHP Agents represent knowledge of how to exploit a vulnerability on a webpage, they do not
represent running code on the page/application. Therefore there is no need (or ability) to uninstall a WebApps
Agent.
Prev
About Agents and WebApps Agents
Prev
Up
Home
Deploying Agents
Chapter 10. Controlling Agents
Next
Deploying Agents
Next
Deploying Agents
Agents are typically deployed when you launch an attack module to exploit a vulnerability or to exploit
end-users' lack of security awareness (client-side social engineering attacks). Successful exploits deploy a new
agent after compromising the target system. When an attack module creates a new agent and commits it to the
Entity Database, the agent automatically appears in the module's output panel and inside the compromised
host in the Entity View Panel.
You can also manually deploy agents by using a generic file-transfer-and-execute module or from outside of
IMPACT Pro's Console. If you choose to manually deploy an agent, you must register the agent's existence in
the Entity Database or the Console will not recognize it. To register the agent, go to the Modules Tab and use
the Register modules located in the Agents category.
There is no limit on the number of agents you can install on a single host.
Using IMPACT
155
156
Using IMPACT
Note
If IMPACT Pro is running on a computer behind a NAT device (such as a home DSL router), a
connection method different than "Connect to" will not be effective right away. To support "Connect
from", "Reuse connection" and "HTTP channel " in this scenario, activate the NAT support using the
Network section of the Options Dialog Box. Open the Options Dialog Box by selecting
Tools->Options from IMPACT Pro's main menu. Refer to Network Options for a description of these
156
Using IMPACT
Using IMPACT
157
settings.
Connect from target. A new TCP connection will be created originating from the remote agent on
the target host back to the host where the current source agent is located. The AGENT_PORT
parameter will control the specific TCP port to which the remote agent will attempt to connect to on
the source agent host. If the specified port is already in use by another exploit, the agent connector has
the ability to reuse that same port. Some client-side exploits will attempt to use the HTTP Connect
feature first when "Connect from" is selected. See the section called HTTP Connect Channel for
more information on HTTP Connect.
Reuse connection. The agent will reuse the same TCP connection that was used to deliver the attack.
For instance, if the agent is deployed using an attack against a web server listening on TCP port 80,
the agent will use that initial connection to communicate back to the Console.
HTTP channel. A new HTTP connection will be created from the remote agent on the target host to
the host on which the HTTP Tunnel resides. In the cases where the remote host has a HTTP proxy
defined, the remote agent will connect to the HTTP Tunnel end point through the configured proxy.
Additional settings related to this connection method can be configured within the "HTTP Tunnel"
section in the module's parameters. See the section called HTTP Tunnel Channel for more
information.
HTTPS channel. A new HTTPS connection will be created from the remote agent on the target host
to the source agent. Additional settings related to the HTTPS Channel can be configured in Agents
Options.
Note
The HTTPS connection method will work on Windows target hosts if one of the following conditions
is met:
The OS version is older than Windows Vista
If Windows Vista or newer, the Check for server certificate revocation is unchecked in the
Security section of the Advanced tab of the Internet Control Panel. This setting is enabled by
default.
If Windows Vista or newer with the Check for server certificate revocation enabled, the target
host has Internet access directly or through a proxy server.
Agent Chaining
Agent chaining allows you to connect to a newly-installed agent behind a firewall using an existing,
connected agent's communication channel. As you deploy successive agents, chaining allows the Console to
maintain a single connection versus many.
Using IMPACT
157
158
Using IMPACT
The diagram above demonstrates the necessity of agent chaining. Chaining becomes even more critical if your
network employs packet filtering. For example, the scenario illustrated above might include a packet filter in
the DMZ network that filters connections from the Internet to the internal private network. In this case, once a
host in the DMZ was compromised, the only way in which you could connect to agents inside the internal
network would be to re-use the original agent's channel.
Agents are "chained" to the agent that was set as source when they were connected. Typically this means that
agents are chained directly to the localagent (the Console), but the chaining relationship automatically
changes as you change source agents. This behavior is referred to as implicit chaining.
Viewing Agent Chains
If you switch source agents often, it is easy to lose mental track of current agent chains. To view agent chains,
use the Show agent chaining route module located in the Agents category on the Modules Tab of the Console
to obtain agent chaining information. This module receives an agent as its target and displays the current route
used to reach it. The following example includes typical information displayed on the Module Log Panel after
running this module.
Module "Show agent chaining route" started execution on Wed Mar 20 20:37:18 2002
Chaining route for agent: agent(5)
/localagent -> agent(1) -> agent(2) -> agent(5).
-Module finished execution after 1 secs.
158
Using IMPACT
Using IMPACT
159
Note
The PCAP plug-in requires the presence of a packet-capture driver (WinPcap) in Windows hosts. If
there is no version of WinPcap installed on the machine, the driver is installed and removed when the
PCAP plug-in is installed/uninstalled.
TCP Proxy. Allows you to create TCP tunnels from IMPACT Pro's Console to the agent. By taking
advantage of this plug-in, you can redirect a local TCP port in the computer running IMPACT Pro to
a remote TCP port on the other side of the agent. Use the TCP Proxy Plugin module in the
Agents/Plugins module folder to open new TCP tunnels. You will then be able to tunnel SSH traffic
through that machine and pass it along to an SSH server.
HTTP Proxy over TCP Proxy. If the TCP Proxy plugin is already installed on the agent, you can use
the HTTP Proxy over TCP Proxy plugin to browse a web server that is visible from the agent's host
machine.
You can install or remove plug-ins using the modules in the Agents/Plugins/Install module folder.
Recovering Agents
If you have a Reconnection Policy established for an agent (see Set Reconnection Policy or Agents Options),
then you can use the Recover option to attempt to reconnect to an agent that has unexpectedly lost its
connection to the IMPACT Pro console.
159
160
Using IMPACT
RETRY INTERVAL: This value determines how often an agent should attempt to connect
back to the IMPACT Pro console.
RETRY TIMEOUT: This value determines how long the agent should attempt to connect
back to the IMPACT Pro console.
AGENT PORT: The port on which you would like the reconnection to occur. Enter 0 to reuse
the agent's original connection port.
Figure 10.12. Set Agent Reconnection Policy
Using IMPACT
Using IMPACT
161
Up
Home
Interacting with WebApps Agents
Chapter 10. Controlling Agents
Next
Interacting with WebApps Agents
Next
Note
Currently, IMPACT Pro's SQL Agents can interface with the following databases:
Using IMPACT
161
162
Using IMPACT
MS SQL Server 2008
MS SQL Server 2005
MySQL 4.1
MySQL 5.0
MySQL 5.1
Oracle 9i
Oracle 10g
DB/2 9.5
If an RFI Agent for PHP exists in your Web View, then you have the ability to use a command console (shell)
to interface with the PHP engine:
Scripting Shell using RFI Agent (PHP): This console uses the PHP vulnerability to provide a
command prompt to the PHP engine. This console accepts PHP commands.
Command Shell using RFI Agent (PHP): This console uses the PHP vulnerability to provide a
command prompt to the machine where the PHP engine is running. This console accepts common
shell commands such as ls, cat, dir, etc.
If a Web Browser Agent exists is attached to a XSS Agent n your Web View, then you have the ability to use
a shell to interface with the target web browser:
Javascript Shell: This console allows you to execute Javascript code on the Web Browser Agent.
To initiate a command console via a WebApps agent:
Note
We will use a SQL Agent in this example but the steps are essentially the same for the other applicable
WebApps agents.
1. Activate the Web View of the Entity View to show your scenarios.
2. Expand a scenario to show a SQL Agent.
3. Click to select the WebApps agent upon which you want to run a module. By doing this, all
compatible modules will automatically become highlighted in the Modules View.
4. Activate the Modules View tab on the console.
5. Expand (double-click) the Shells folder.
6. Click and drag the SQL Shell module from the Modules View and drop it onto the target WebApps
agent.
7. Click the OK button.
A SQL Console will appear, giving you the ability to make direct queries of the web application's database.
Figure 10.13. SQL Shell
162
Using IMPACT
Using IMPACT
163
Note
We will use an RFI Agent for PHP in this example but the steps are essentially the same for the other
applicable WebApps agents..
1. Activate the Web View of the Entity View to show your scenarios.
2. Expand a scenario to show an RFI Agent for PHP.
3. Click to select the WebApps agent upon which you want to run a module. By doing this, all
compatible modules will automatically become highlighted in the Modules View.
4. Activate the Modules View tab on the console.
5. Expand (double-click) the Agents folder.
6. Click and drag the Install OS Agent using RFI Agent (PHP) module from the Modules View and drop
it onto the target WebApps agent .
Figure 10.14. Module: Install OS Agent using RFI Agent (PHP)
Using IMPACT
163
164
Using IMPACT
Up
Home
Chapter 11. IMPACT Pro Entities
Part II. Using IMPACT
Next
Chapter 11. IMPACT Pro Entities
Next
164
Using IMPACT
Using IMPACT
165
The Entity View Panel provides the functionality for you to access the various entities in the system. The
panel includes three "views" that allow you to see and work with different target information resulting from
your various tests:
Network View
Client Side View
Web View
You access these views using the tabs at the top of the Entity View Panel.
Figure 11.1. Entity View Panel Showing View Tabs
165
166
Using IMPACT
Description
Windows Host
Solaris Host
Linux Host
AIX Host
OpenBSD Host
FreeBSD Host
Mac OS X Host
Unknown Host
Agent (Refer to Controlling Agents for more info on agents)
Network folder
Folder
Search Folder
Tag
Email
Scenario (Web View only)
Page (Web View only)
SQL Agent (Web View only)
RFI Agent for PHP (Web View only)
XSS Agent (Web View only)
Web Browser Agent (Web View only)
Wireless Access Point
A wireless device (station) connected to a wireless access point
Prev
Interacting with WebApps Agents
Prev
Up
Home
View
Chapter 11. IMPACT Pro Entities
Next
View
Next
View
The Network View Tab displays the entire entity hierarchy of the target network that results from a Network
RPT. You can use it to view the current state of all the entities in the active workspace's database. By
providing access to all entities in the target network, the Network View allows you to assess the state of the
overall penetration test.
Figure 11.2. Entity View - Network View
166
Using IMPACT
Using IMPACT
167
Using IMPACT
167
168
Using IMPACT
With the default view, hosts are organized primarily by what host they are visible from and, secondarily, by
their network. The grouping can of course be changed by right-clicking on the column headers and selecting a
new Arrange By value (see Grouping Entities). Users can also change the view and quickly focus in on a
specific host as a visibility level by right-clicking on the host and selecting Show Hosts Visible from Here.
This action is the same as using the search function to filter the view by visibility (see Entity Search).
Prev
Chapter 11. IMPACT Pro Entities
Prev
Up
Home
Client Side View
Chapter 11. IMPACT Pro Entities
Next
Client Side View
Next
IMPACT Pro's client-side entities allow you to manipulate and view target information for client-side exploits
and modules, and execute attacks against targets in a convenient and customized manner. Entities are added to
this view from the Client Side Information Gathering RPT, client-side modules such as "HTTP Email Address
Grabber", or by adding them manually.
To manually add an entity to the Client-side view:
1. Activate the Client Side tab of the Entity View.
2. Right-click on the Emails folder.
3. Select New, then select Email...
4. Enter the email Address and Name of the user.
Figure 11.5. New Email Entity
168
Using IMPACT
Using IMPACT
169
For information on using IMPACT Pro modules, see Working With Modules.
Prev
View
Prev
Up
Home
Web View
Chapter 11. IMPACT Pro Entities
Next
Web View
Next
Web View
IMPACT Pro's Web View shows the results of all web application testing.
Figure 11.6. Entity View - Web View
Using IMPACT
169
170
Using IMPACT
By default, when you first open your workspace, the Web View will be empty. To populate the view you can
run WebApps Information Gathering, or you can follow these steps:
1. Right-click inside of the Web View.
2. Select New->New Scenario.
A Scenario serves as a context in which you can test a web application and it will provide organized
structure to the results of the WebApps modules. You can use multiple scenarios to test the same web
application with varying settings, or segment a web application and test each part independently in a
different scenario.
3. In the resulting Module Parameters box, enter the details for your Scenario:
Table 11.2. Module Parameters for New Scenario
NAME
HTTPPROXY
CUSTOM
HTTPPROXY
USERAGENT
170
Provide a name that will help you identify this WebApps scenario
If there is a proxy server, select from the drop-down menu the appropriate
value:
Use IMPACT Pro settings will follow the settings that are in the
Tools->Options->Network form.
Use Custom HTTP Proxy will follow the proxy value in the next field
(CUSTOM HTTPPROXY)
Use Internet Explorer settings will follow the settings as defined in
your Internet Explorer preferences
If HTTPPROXY is set to Use Custom HTTP Proxy, enter the name or address
of the proxy server to be used.
Select from the drop-down menu the browser type and version that the
WebApps test will simulate.
Using IMPACT
Using IMPACT
171
CUSTOM
If the USERAGENT is set to Custom, enter the name of the browser to be
USERAGENT
simulated.
4. Click the OK button.
The new Scenario will appear in the Web View with the following subordinate folders:
Pages: Any pages that are identified by WebApps Information Gathering will be visible under this
folder.
Vulnerabilities: Any potential or confirmed vulnerabilities will appear under this folder.
Broken Links: As the web crawler searches for pages, it may find a link that generates a 404 Not
Found error. In this case, the link will be added to the Broken Links folder.
Prev
Client Side View
Prev
Up
Home
Managing Entities
Chapter 11. IMPACT Pro Entities
Next
Managing Entities
Next
Managing Entities
In addition to the automated functions of the Entity View panels, there are several operations that can be
performed manually in order to better manage the data and organize your penetration targets.
Note
The steps provided here will apply across all view panels.
Grouping Entities
The display of entities allows management and organization through its columns. You can right-click on
column headers to obtain options for adding or removing columns or to control entity grouping based on
existing attributes. You can also click and drag the columns to resequence them to your preference.
To control the entity display, right-click on one of the columns and you will see the following menu.
Using IMPACT
171
172
Using IMPACT
The menu provides the following visual controls for the entity list:
Use the Arrange by menu to quickly arrange the entities by one of their attributes. With this menu,
you can use the Show in Groups option to have the entities grouped by a selected attribute.
The Sort Ascending / Sort Descending options change the direction of the list's sort. You can also
simply click on a column header to change the sort order.
The Group by this field option will group the entities by the attribute on which you right-clicked.
The Group by box option will open a box into which you can click and drag column headers. This
feature allows you to achieve a multiple grouping layout.
Select Remove Column to hide a column from the entity list.
Use the Field Chooser to add columns to the view. When the field chooser appears, simply click and
drag the new columns to the desired location among the existing column headers.
Click Reset Layout to return the view to its default setup.
Entity Tags
In order to facilitate the management and organization of your target information, IMPACT Pro allows you to
add custom tags and apply them to entities. Once you assign a tag to your entities, you can quickly view all
entities that contain that tag.
To create a new tag in the Network View:
1. Activate the Network View.
2. Right-click on Tags.
3. Select New, then select Tag...
4. In the Module Parameters window, enter the Tag value.
5. Click the OK button.
The new Tag will appear under the Tag heading. You now will need to assign that tag to one or more entities.
To assign a tag to one or more Network entities:
1. Activate the Network View.
2. Click the Hosts folder to view all available Network entities.
3. In the list of Network entities, select the entity(ies) that you wish to tag (use the Ctrl or Shift keys to
select multiple entities).
4. Right-click on a selected entity.
5. Select Tags, then select the new tag value.
The selected entity(ies) will now be tagged with your custom tag. Subsequently, if you want to view only
those entities with a specific tag, you simply select the tag and a filtered list of entities will appear below.
172
Using IMPACT
Using IMPACT
173
Note
Each entity view panel contains its own distinct list of tags.
Entities can be tagged with more than one tag.
You edit comments in the Entity comments Dialog Box that appears. After you edit them, the comments are
added to the entity database as a new entity property (see the section called Entity Properties).
Entity Search
Each Entity View includes a Search Bar that you can use to filter entities by specific criteria. Filtering by
condition allows you to quickly create a new "view" within the entity view. For example, in the below images,
the string "sample" is entered into the search bar in the Client Side view. This action quickly filters all Emails,
showing only those that contain the string "sample". The second image shows further search filtering made
available by clicking the options arrows (
Using IMPACT
173
174
Using IMPACT
) to the right of the search bar. The example shows that the list was filtered further by searching for those
emails that contained the string "index" in the Name field.
Figure 11.9. Entity Search Examples
To close the search results, click on a folder or tag in the view panel or click the reset button (
side of the search bar.
) at the right
Search Folders
Search folders are a powerful feature that allow you to view a dynamic list of entities based on
custom-specified characteristics.
To create a new Search Folder:
1. Activate the desired view.
2. Right-click on Search Folder.
3. Select New, then select Search Folder...
4. In the Module Parameters window, enter the Name of the search.
5. From the Add Criteria drop-down menu, select as many search criteria as needed.
6. Then enter the search data for all selected criteria (to remove a criterion, click the remove button (
) on the right).
7. Click the OK button.
The new search folder will appear below the Search Folder heading. To activate your search folder, simply
click on it and the dynamic results will appear in the entity list below.
Deleting Entities
To delete an entity from the entity database (in any view), right-click on it and select Delete from the context
menu.
174
Using IMPACT
Using IMPACT
175
Warning
Deleting a host will effectively delete all the entities in and below its visibility level. Note that since these
deleted entities will include agents, the tasks performed by these agents will no longer be included in future
reports.
Prev
Web View
Prev
Up
Home
Entity Details
Chapter 11. IMPACT Pro Entities
Next
Entity Details
Next
Entity Details
When you select an entity in a view panel, summary information about that entity will be displayed in the
Quick Information Panel located at the bottom of the Console. Next to the Quick Information panel is the
Entity Properties tab which contains more details about the entity. Use the Entity Properties tab to edit the
entity's properties.
Host Entities can contain a lot of data. The Quick Information Panel or a host displays three categories of
information related to that host: Host Properties, Ports & Services, and Users & Groups. For your convenience
these categories are displayed in a collapsible/expandable format. Each of the information categories is
described below.
Host Properties. Displays host Name, IP (IP address), OS (Operating System), Architecture, and
known Vulnerabilities. The Common Vulnerabilities and Exposures (CVE) data for a host's known
vulnerabilities along with data from the Common Vulnerability Scoring System (CVSS) will be
shown as well as links to valuable reference information. Only vulnerabilities that were successfully
exploited are displayed. The basic host information is typically provided by the Network Information
Gathering step in the RPT View. Exploited vulnerability information is the result of attacks run
against the host.
Figure 11.11. Quick Info - Host Properties
Using IMPACT
175
176
Using IMPACT
Ports & Services. Displays information about identified open ports and the network services
identified as running on those ports. Fields include TCP Ports, UDP Ports, and DCERPC. Ports and
Services information is typically provided by the Network Information Gathering step on the RPT
Panel.
Figure 11.12. Quick Info - Ports & Services
Users & Groups. Displays available information about Users and Groups on the selected host. Users
and Groups information is typically provided by the Local Information Gathering step on the RPT
Panel.
Figure 11.13. Quick Info - Users & Groups
Prev
176
Up
Next
Using IMPACT
Using IMPACT
Managing Entities
Prev
177
Home
Entity Properties
Chapter 11. IMPACT Pro Entities
Entity Properties
Next
Entity Properties
Entities can hold structured information in the form of properties. The user or a module can query or modify
existing entity properties and even create arbitrary ones with new information.
Properties can be viewed and modified through the Entity Properties Dialog Box. You can activate or
deactivate this dialog box using the Views->Entity Properties option of the main menu or by clicking the
icon on the Views Toolbar. Additionally, you can activate the Entity Properties dialog for a specific entity by
right-clicking on that entity and selecting Properties from the context menu.
The Entity Properties Dialog Box is a dockable window, which means that you can move it around to a
different location, leave it floating, or hide it. To "dock" the window, drag it by its title bar to the desired
position. Windows can only be docked against the Console's edges. To "un-dock" the window, double click in
its title bar.
Individual properties are organized into containers (displayed in bold-face in the Properties Dialog Box). Each
container can be expanded or collapsed using the arrow head in front of its name. Containers can also hold
other containers.
Hidden properties. Some special system properties have a hidden attribute that keeps them from being
displayed in the Entity Properties Dialog Box. If you wish, you can make these properties visible using the
Show hidden properties option in the Entity Properties Tab of the Options Dialog Box (use Tools->Options).
Using IMPACT
177
178
Using IMPACT
Figure 11.16. Entity Properties Dialog Box - Add New Property to Container
2. The Property value Dialog Box will appear. Enter a Name, select a Type, and enter a Value for the
new property. (See field definitions below.) Then click OK.
178
Using IMPACT
Using IMPACT
179
Name
A name for the new property.
Type
The type of the new property can be any of the following:
Type
Description
arch
Host architecture
bool
true or false
container
A generic property container
entity_name An Entity name
file
A file in the agent's filesystem
int
Any integer value
null
No value. Useful for sets
os
Host operating system
port
A TCP/UDP port
ports
A container of ports
set
A set of properties. Sets can only contain null properties
string
Any string value
uint16
An unsigned integer 16 bits long
uint32
An unsigned integer 32 bits long
xmldata
Unparsed XML data
The types entity, entity listed, xmldata, and user are not currently configurable by the user.
Value
The initial value for the new property. This value can be edited using the Entity Properties Dialog
Box.
See the screenshot below for an example of the use of custom properties. In this example, the user has created
a custom container called vmware and added the emulated OS and emulated architecture properties. This
allows the user to add custom information to this host's properties, effectively consolidating all known
information about the target host.
Figure 11.18. Entity Properties Dialog Box - Creating a Custom Container with New Information
Using IMPACT
179
180
Using IMPACT
Prev
Entity Details
Up
Home
Chapter 12. Integration
Part II. Using IMPACT
Prev
Next
Chapter 12. Integration
Next
Up
Home
Integration with Metasploit
Chapter 12. Integration
Next
Integration with Metasploit
Next
180
Using IMPACT
Using IMPACT
181
Note
The Metasploit Framework is provided and maintained by a third party. Core Security Technologies does not
support the Framework and cannot offer any guarantee as to the safety of the exploits run by the Metasploit
Framework's db_autopwn functionality. Use the Metasploit Framework at your own risk.
There are 2 ways in which you can incorporate the functionality of the Metasploit Framework into your
testing with IMPACT Pro:
Run Metasploit with Network Attack and Penetration RPT: As a part of the Network Attack and
Penetration, IMPACT Pro will provide host details against which the Metasploit Framework will run
its exploits. You will see Metasploit's output in the Module Log pane of your IMPACT Pro
Workspace and any successful exploits in the Module Output pane. Any vulnerabilities found by
Metasploit will be labeled accordingly in IMPACT Pro's Quick Information pane as well as any
reports.
Figure 12.1. Quick Information with Metasploit exploit
Note
This method does not require that you open a Metasploit console.
Install IMPACT Pro agent from Metasploit console: With this method, Metasploit users can leverage
exploit and discovered host information to add hosts and install agents in an IMPACT Pro
Workspace. Subsequently, IMPACT Pro can be used to further explore the host or pivot from the
agent to perform extensive penetration tests. To install an IMPACT Pro agent from a Metasploit
console, follow these steps referencing the below image of a sample Metasploit session:
1. In Metasploit, you must first have a meterpreter payload connected to a host.
2. Enter the command load core_impact. This will initialize the IMPACT Pro plugin for the
current Metasploit session.
3. Enter the command install_impact_agent. This is an optional step that simply displays the
parameters that should be used with the install_impact_agent command.
4. Enter the command install_impact_agent with the associated parameters. In the example
below, the meterpreter session (-s) is set to 1, the existing Workspace (-w) is set to AlexMS,
and the Workspace's passprase (-p) is set to aaaaaaaa.
5. The console will display a message when the agent has been deployed in IMPACT Pro. At
this point, you can open your IMPACT Pro Workspace and use the fully functional agent.
The Metasploit session is no longer needed and can be closed.
Figure 12.2. Install agent from Metasploit Console
Using IMPACT
181
182
Using IMPACT
Prev
Chapter 12. Integration
Prev
Up
Next
Importing Data from Vulnerability
Home
Scanners
Importing Data from Vulnerability Scanners
Chapter 12. Integration
Next
Using IMPACT
Using IMPACT
183
Up
Home
Using Imported Information
Chapter 12. Integration
Next
Using Imported Information
Next
Using IMPACT
183
184
Using IMPACT
Prev
Up
Next
Obtaining the Password Hashes from a
Home
Compromised Host
Obtaining the Password Hashes from a Compromised Host
Chapter 13. Obtaining and Utilizing User Credentials
Next
Up
Home
Next
Sniffing Password Hashes from the
Network
Using IMPACT
Using IMPACT
185
Sniffing Password Hashes from the Network
Chapter 13. Obtaining and Utilizing User Credentials
Prev
Next
Captured usernames and passwords will be stored in the Entity Database. Captured NTLM hashes can be
exported to a password cracker. This procedure is described in the following section.
Prev
Up
Next
Obtaining the Password Hashes from a
Exporting Obtained Password Hashes to
Home
Compromised Host
an External Password Cracker
Exporting Obtained Password Hashes to an External Password Cracker
Prev
Chapter 13. Obtaining and Utilizing User Credentials
Next
Using IMPACT
185
186
Using IMPACT
186
Using IMPACT
Using IMPACT
187
Up
Home
Next
Using Obtained Passwords
Next
187
188
Using IMPACT
Up
Home
Managing Installed Licenses
Chapter 14. Understanding Licenses
Next
Managing Installed Licenses
Next
188
Using IMPACT
Using IMPACT
189
2. Click on any of the licenses listed in the Available licenses Panel to display its properties, or click on
Add new to install a new license from a downloaded license file. You will then browse to its location
and select it.
To purchase additional licenses, or if you wish to extend an existing license, contact Core Security
Technologies (see Chapter 18).
Prev
Up
Next
Chapter 14. Understanding Licenses
Home
Backup/Restore IMPACT Pro Licenses
Backup/Restore IMPACT Pro Licenses
Prev
Chapter 14. Understanding Licenses
Next
Using IMPACT
189
190
Using IMPACT
Up
Next
Home
Chapter 15. Setting Console Options
Chapter 15. Setting Console Options
Part II. Using IMPACT
Next
Using IMPACT
Using IMPACT
191
One-step RPT
User Actions
Search Engines
Community Usage
Other
Customizing Toolbars and Keyboard Shortcuts
You can configure IMPACT Pro's Console to meet your particular needs and preferences by setting global
options. Options are accessible from the main menu using the Tools->Options command. Each of the
configurable option categories visible on the left panel of the dialog box pictured below is described in the
following sections.
Figure 15.1. Options Dialog Box
Prev
Backup/Restore IMPACT Pro Licenses
Up
Home
Modules
Chapter 15. Setting Console Options
Prev
Next
Modules
Next
Modules
The Modules panel of the Options Dialog Box includes options related to module execution and module
highlighting. Follow these steps to set the Modules options:
1. Select the Tools->Options command from the main menu.
2. Click the Module category and set your options using the fields described below. Then click OK.
Figure 15.2. Module Settings
Using IMPACT
191
192
Using IMPACT
If you leave this check-box selected, new tasks will be automatically selected in the Executed
Modules Panel as they start executing.
Execute modules in debugging mode
If you select this option, modules are more verbose and generate more log lines in the Module Log
view. You will then have the option to Attach Debugger to Running Modules which will, if selected,
attach the debugger to any modules that are currently running.
Allow dropping modules over unsupported targets
If you select this check-box, the console will not block the execution of a module against an
unsupported target (for instance, running a Windows exploit against a Solaris box).
Add current time to every log line
If you select this option, each log line in the Module Log view will be time stamped.
Log detail level
Select the verbosity level of the Modules log as either High, Medium (default), Low.
Max. concurrent modules
The maximum amount of modules that can be run concurrently. When this maximum is reached, new
modules will wait in the initialized state until others finish.
Module Editing
This field allows you to set the preferred application for editing modules. To change from the default
(Notepad), click the browse icon ( ) and navigate to your preferred text editing application.
Highlighting
This section is used to select the color that modules are highlighted in the Modules View of the panel.
When you select an OS agent or WebApps agent in the entity view, the applicable modules will
automatically be highlighted for ease of identification.
RPT Pane
If you select this option, changing to a different entity pane will automatically change the RPT view
to match it.
Prev
Chapter 15. Setting Console Options
Up
Home
Agents
Chapter 15. Setting Console Options
Prev
Next
Agents
Next
Agents
The Agents panel of the Options Dialog Box includes options related to agents. Follow these steps to set the
Agents options:
1. Select the Tools->Options command from the main menu.
2. Click the Agents category and set your options using the fields described below. Then click OK.
Figure 15.3. Agents Settings
192
Using IMPACT
Using IMPACT
193
193
194
Using IMPACT
Up
Home
Entities
Chapter 15. Setting Console Options
Next
Entities
Next
Entities
The Entities Panel of the Options Dialog Box includes options related to the management of the Entity
Database. Follow these steps to set Entities options:
1. Select the Tools->Options command from the main menu.
2. Click the Entities category and select or deselect the check-boxes described below. Then click OK.
Figure 15.4. Entities Settings
Using IMPACT
Using IMPACT
195
If you select this check-box, hidden properties will be displayed in the Entity Properties Editor.
Show modules
If you select this check-box the Entity Properties Window will display properties for the
currently-selected module in the Modules Panel.
Warn TARGET's visibility
If you select the Warn TARGET's visibility check-box, IMPACT Pro will warn the user when
executing a module against a TARGET that is outside the current source agent's visibility level.
Group hosts by netmask
Networks are identified and grouped in the entity view if they match this netmask address.
Prev
Agents
Prev
Up
Home
Network
Chapter 15. Setting Console Options
Next
Network
Next
Network
The Network Panel of the Options Dialog Box includes options related to the management of network
interfaces. Follow these steps to set network interface options:
1. Select the Tools->Options command from the main menu.
Figure 15.5. Network Settings
Using IMPACT
195
196
Using IMPACT
Use Internet Explorer Settings: This will use the same connectivity configurations that exist
in your Internet Explorer settings.
Direct connection to the Internet: Use this if your IMPACT Pro console has a direct
connection to the Internet.
Use a proxy server: Also enter the Address, Port, Username and Password for the proxy
server.
These settings are used in two places: when downloading Modules updates, and when connecting to
the Internet to get News. These settings are captured and stored from the parameters entered during
the IMPACT Pro installation and product activation.
Network Address Translation (NAT)
IMPACT Pro is behind a NAT
Check this box if IMPACT Pro is deployed behind a NAT device.
Public Address
Enter the external IP address of the NAT device.
Port Range
Enter the range of ports that are being redirected (forwarded) from the NAT device to the
Console.
The settings in the NAT Panel control the way IMPACT Pro exploits will behave when using
different agent connection methods. Note that changing these settings does not change your NAT
device configuration. You must do that manually.
To support the Connect from connection method, all the ports within the specified Port Range have to
be redirected to the internal address for the host running IMPACT Pro. An agent deployed with the
Connect from connection method will try to connect to the Public Address IP on a port within the
defined Port Range. The Console will wait for that incoming connection on the same port.
When NAT is activated, the Reuse connection method utilizes the specified Public Address to find the
correct TCP session in the target host's memory. In some cases, it will not be possible to exploit the
same target service twice in a row using Reuse connection unless the first agent is disconnected
before you launch the second attack.
News
If you do not wish to receive news about module or software updates, select the Do not connect to the
Internet to get news check-box. IMPACT Pro will oftentimes display messages on the top of the
Dashboard about new exploits or related information. Checking this option will prevent these
messages from appearing.
Prev
Entities
Prev
Up
Home
One-step RPT
Chapter 15. Setting Console Options
Next
One-step RPT
Next
One-step RPT
The One-step RPT Panel of the Options Dialog Box configures the One-step RPTs. Follow these steps to set
One-step RPT options:
1. Select the Tools->Options command from the main menu.
2. Click the One-step RPT category and set the options according to the below descriptions. Then click
OK.
Figure 15.6. One-step RPT Settings
196
Using IMPACT
Using IMPACT
197
Exploit Options
Try to exploit all possible vulnerabilities for each target host: If this option is not checked, the RPT will stop
testing a designated target as soon as an exploit is successful.
Do not use exploits that might shut down a service: Check this option to prevent the RPT from running any
exploits that could potentially either stop or restart the service or application being targeted.
Use exploits that take a long time to run: If this option is not checked, the RPT will only run exploits that will
take less than 10 minutes to complete.
Module Connection Settings
Connection method: When the One-step RPT successfully exploits a target computer, an agent is deployed on
that target. An agent is a temporary piece of code that runs in the target computers RAM and communicates
back to IMPACT Pro. The Connection Method setting determines how the deployed agent and IMPACT Pro
connect to one another:
Connect To: IMPACT Pro will initiate a connection to the agent on the target system. The target
system will listen on the port specified below. You might select this method if there are network or
firewall restrictions on traffic sent to the IMPACT Pro machine.
Connect From: IMPACT Pro will wait for a connection from the target system's agent. The IMPACT
Pro host will listen on the port specified below. You might select this method if there are network or
firewall restrictions on traffic sent to the machines to be tested.
HTTP Channel: IMPACT Pro will act as a web server and accept incoming connections from the
target system to TCP port 80. This method only applies for Client-side Vulnerabilities tests. If this
method is selected and a you run a Network Vulnerabilities test, the Default Connection Method will
be used.
Use random port (in the range 1024 - 65535): Check this option to allow IMPACT Pro to randomly select a
port for it or target systems to listen on (depends on the Connection Method selected).
Custom port: Check this option (and enter a port number) to manually define the port on which IMPACT Pro
or target systems will listen on (depends on the Connection Method selected).
Using IMPACT
197
198
Using IMPACT
Note
Regardless of the connection method you choose, it will be important for you to ensure that your IMPACT
Pro machine and the target machine(s) can communicate to one another using the designated ports. If you
elect to use a random port, then make sure all ports in the high range are open. If the high range of ports are
limited or restricted, then set a custom port number and ensure that IMPACT Pro machine and the target
system(s) can communicate on that port.
Outgoing E-mail Information (for Client-side Vulnerability Test)
From: The address you enter here will appear as the From: address in the email Client-side Vulnerability test.
E-mail template: Use a template that contains the body of your email. Click the ellipsis button to browse for
and select a template file. You will see several sample template files included in your IMPACT Pro
installation. These are located in the \data\templates directory of your IMPACT Pro installation.
Subject: The text entered here will appear as the Subject of the e-mail.
Outgoing SMTP Server: (for Client-side Vulnerability Test)
Address and Port: In order for IMPACT Pro to send email (in either a Client-side test or to send post-test
reports), you must provide the address and port of an active SMTP server.
Prev
Network
Prev
Up
Home
User Actions
Chapter 15. Setting Console Options
Next
User Actions
Next
User Actions
User Actions are custom commands that can apply to entities (hosts, email addresses, web pages). When you
right-click on an entity, the User Actions appear in the list of available commands.
Figure 15.7. User Actions Settings
198
Using IMPACT
Using IMPACT
199
Prev
One-step RPT
Prev
Up
Home
Search Engines
Chapter 15. Setting Console Options
Next
Search Engines
Next
Search Engines
Client-side Information Gathering supports the use of API-based searches for some search engines (Bing
and Yahoo!). If your company has an API ID for a search engine, you can enter it in the Options form.
When IMPACT Pro's Client-side Information Gathering uses that search engine, the engine will know that the
searches are not from a robot and will not put forth any captcha challenges or otherwise restrict the search.
On the Search Engines Options form, select the Search Engine from the drop-down menu, then enter the API
ID for that search engine. Then click the OK button.
Figure 15.9. Search Engines Settings
Using IMPACT
199
200
Using IMPACT
Prev
User Actions
Prev
Up
Home
Community Usage
Chapter 15. Setting Console Options
Next
Community Usage
Next
Community Usage
The Community Usage Panel of the Options Dialog Box determines what information IMPACT Pro will
gather and provide anonymously to Core Security Technologies for statistical analysis of the applications use.
Follow these steps to set Community Usage options:
1. Select the Tools->Options command from the main menu.
2. Click the Community Usage category and select which types (if any) of data you are willing to
provide. Then click OK. All data will be gathered and transmitted automatically and all information
will be kept anonymous.
Figure 15.10. Community Usage Settings
200
Using IMPACT
Using IMPACT
201
Up
Home
Other
Chapter 15. Setting Console Options
Next
Other
Next
Other
The Other category of options includes configurations for 2 IMPACT Pro features:
The Update Notifier is a utility that will run in the background to check for available module updates
even when IMPACT Pro is not running. If updates are identified, the Notifier will appear in the
system tray. If the Enable Update Notifiersetting is checked, then the Update Notifier will check for
updates as frequently as is specified in the Minutes between checks field.
If the Enable Update Notifier setting is unchecked, then it will not run at all.
Wireshark is a software utility that is required if you plan to use the Wireless AirPcap Traffic Sniffer.
Simply click the ellipsis button and navigate to the path of your Wireshark executable.
Figure 15.11. Other Settings
Using IMPACT
201
202
Prev
Community Usage
Prev
Using IMPACT
Up
Next
Customizing Toolbars and Keyboard
Home
Shortcuts
Customizing Toolbars and Keyboard Shortcuts
Chapter 15. Setting Console Options
Next
202
Using IMPACT
Using IMPACT
203
Customizing Toolbars
You can activate or deactivate toolbars, create new toolbars or remove existing toolbars using the Toolbars
Panel of the Customize dialog box. Active toolbars will automatically appear at the top of the Console.
To add or remove commands from a toolbar, click on the Commands tab of the Customize dialog box. Use
drag-and-drop to add or remove specific commands from an existing toolbar.
Figure 15.13. Adding commands to a toolbar
Using IMPACT
203
204
Using IMPACT
Category
Commands are grouped into categories (such as Edit or View) which correspond with the Main Menu
and the Toolbar.
Commands
The actions you can perform using the keyboard command.
Key assignments
Used to assign new keyboard shortcuts or remove existing ones. Commands can have multiple
keyboard shortcuts.
Press new shortcut key
Changes the keyboard shortcut for any command.
Prev
Other
Prev
Up
Next
Home
Chapter 16. CVE and IMPACT Pro
Chapter 16. CVE and IMPACT Pro
Part II. Using IMPACT
Next
You can also search for attack modules by CVE name. To find all attacks related to a specific CVE name,
select the CVE search criteria in the Search box in the Modules Panel and enter the desired name in the text
box.
204
Using IMPACT
Using IMPACT
205
Up
Home
Agent Technology
Chapter 17. IMPACT Pro Underlying Technology
Next
Agent Technology
Next
Agent Technology
Agents are a critical component of IMPACT Pro's architecture because they provide the functionality to
execute code in the form of modules, either locally or on other agents. The following sections describe the key
underlying technology employed by IMPACT Pro agents.
205
206
Using IMPACT
available syscall in the underlying OS and a mechanism to call arbitrary syscalls if needed.
For example, the gethostname()syscall is part of this common interface. In a UNIX ProxyCall
implementation the gethostname() call is translated in its corresponding syscall into the OS's kernel. In a
Windows implementation it is translated into a call to the gethostname()function within the wsock32.dll
dynamic library.
There are two main branches in the ProxyCall hierarchy:
UnixProxyCall and ProxyCallv2 for Unix, provide services for marshalling calls to any
system call supported by the underlying UNIX-like OS. These calls are sent directly into the system
kernel.
WindowsProxyCall and ProxyCallv2 for Windows, provide services for marshalling calls to
any DLL entry-point function by first dynamically loading the library into the process space of the
agent using the LoadLibrary call, then obtaining the offset of the desired function in the loaded
library using the GetProcAddress call, and lastly jumping into it.
Python
IMPACT Pro's Console uses a Python Virtual Machine (see http://www.python.org/) to run modules. The
only significant difference between the typical Python VM distribution and the one distributed with IMPACT
Pro is that IMPACT Pro's VM uses the ProxyCall Interface to implement all of Python's system services.
This means that:
Python's file object uses the ProxyCall Interface for all its functions.
Python's socket object uses the ProxyCall Interface for all its services.
Basic OS services implemented in the sys and os modules use the ProxyCall Interface.
A Python script that is typically used to open a socket will open a ProxyCall socket when run inside
IMPACT Pro. (This is why IMPACT Pro modules do not look significantly different from typical Python
code.)
SysCall Proxying
If a ProxyCall implementation forwards the call to a remote server instead of directly calling the
underlying OS syscall, remote execution will be simulated. Whenever a module is run by a remote source
agent, all the module's calls into the ProxyCall interface are forwarded to a remote ProxyCall server.
This is known as SysCall Proxying.
The following example describes how SysCall Proxying works:
1. A module is executed using a remote agent deployed in host victim.
2. The module calls the gethostname() from the agent's ProxyCall interface.
3. The function marshals its arguments into a structure that is specific to the remote system's OS and
generates a remote call into the ProxyCall server running in the victim host.
4. The server in victim calls the real gethostname() function in victim's operating system, marshals
the result, and sends it back to the client.
5. The client ProxyCall implementation returns the results to the module.
6. The module prints the gethostname() results to the console as if it was running in victim.
Inside IMPACT Pro's architecture ProxyCall servers are implemented as target-dependant assembly code.
Optimized for size, these tiny SysCall servers are the basic component of agents.
206
Using IMPACT
Using IMPACT
207
Using a SysCall server as payload for an exploit also makes the task of customizing a shellcode unnecessary.
Once the remote agent is up and running, further syscalls can be executed in the remote system.
The following example describes how this works:
1. An attack module that exploits a vulnerability in a ftp daemon succeeds and installs an agent.
2. You connect to the newly deployed agent and realize that you are inside a chroot jail.
3. You select the new agent as source and run a setuid module and a chroot breaker module.
4. The agent is freed from the chroot jail.
The successful completion of the process described above would typically require the exploit developer to
change the exploit's shellcode to accommodate the change made in step 3. It would also depend on the user
successfully exploiting the vulnerability again, which might not be possible.
For a comprehensive explanation of Syscall Proxying, refer to "Syscall Proxying - Simulating Remote
Execution" by Maximiliano Caceres.
About Agents
IMPACT Pro agents can multi-task (run multiple modules) and have a Secure Communication Channel. Once
deployed, they can provide all system calls and arbitrary code execution on platforms with built-in stack
protection (such as Solaris). Local agents use Python Virtual Machine and local Syscall implementation
embedded in the console connected to the database.
The following table lists the platforms that agents support.
Table 17.1. Agent-supported Platforms
Platform
Solaris 7 SPARC (sun4u, sun4m)
Solaris 8, 9, 10 SPARC (sun4u)
Ubuntu Linux 5.04, 5.10, 6.06, 6.06.1, 6.06.2, 6.10, 7.04, 7.10, 8.04 (i386)
Ubuntu Linux 6.06, 6.10, 7.04, 7.10 (x86_64)
Debian Linux 2.2, 2.3, 3, 3.1, 4 (i386)
RedHat Linux 6.1, 6.2, 7, 7.1, 7.2, 7.3, 8, 9 (i386)
Red Hat Enterprise Linux AS 3, ES 3, WS 3, AS 4, ES 4, WS 4, AS 5, ES 5, WS 5, AS 5.1, ES 5.1, WS 5.1
(i386)
Mandrake Linux 7.1, 7.2, 8, 8.1, 8.2, 9, 9.2, 10 (i386)
Mandriva Linux 2006, 2007, 2008.1 (i386)
Linux Fedora Core 2 - 6 (i386)
Linux Fedora 7 - 8 (i386)
SuSE Linux 7, 7.1 - 7.3, 8, 8.1-2, 9, 9.1-3 (i386)
OpenSUSE 10.1-2 (i386)
SUSE Linux Enterprise 10 - sp0, sp1 (i386)
OpenBSD 3.5 - 3.9, 4.0 - 4.9 (i386)
Windows NT 4.0 i386
Windows 2000 i386
Windows XP i386
Windows 2003 i386
Using IMPACT
207
208
Using IMPACT
yes
yes
yes
yes
yes
yes
yes
yes
yes
yes
yes
N/A
yes
yes
yes
N/A (yes) no
Prev
Chapter 17. IMPACT Pro Underlying
Technology
Prev
no
no
Real
Spoof
Persistent
Shell
IP?
no
no
yes
no
yes
yes
Send
ICMP?
no
yes
Multi-task? Crypto?
Sniff?
Up
Home
yes
Next
Communication Channels
Communication Channels
Chapter 17. IMPACT Pro Underlying Technology
Next
Communication Channels
IMPACT Pro's agents communicate using communication channels. Channels provide reliable
communication between two agents and, in some cases, data transformations such as encryption.
Different channel implementations are available depending on the network scenario. You must decide which
channel to use for communication with an agent before you deploy the agent. This decision is typically made
when you set parameters for an attack module (a module that will eventually deploy an agent) or when you set
parameters for the deployment of an agent. In addition to selecting the channel, you must also set
channel-specific parameters.
A special channel called Crypto is available that provides data encryption and session authentication (see the
section called Crypto Channel). This channel is usually layered on top of another transport channel that
provides the actual communication.
Allowing for broad testing capabilities, IMPACT Pro will function across IPv6 backbone networks. In the
case of dual-stack systems, IMPACT Pro will automatically use only the IPv4 stack for security testing. All
Internet services from Core Security Technologies to IMPACT Pro, such as product activation and updates,
will remain IPv4 based.
208
Using IMPACT
Using IMPACT
209
TCP Channel
The TCP Channel provides communication using the underlying OS TCP sockets. This is the only
communication channel supported by agents.
You can set up a TCP Channel from the source agent to the target, or from the target to the source agent. The
second option is useful for scenarios where packet filtering disallows inbound connections and only allows
outbound connections. Depending on the vulnerable application, it is sometimes possible to reuse an existing
TCP connection as an agent communication channel. In attack modules, this behavior is typically configured
with the CONNECTION_METHOD parameter.
The proxy then connects to the indicated host and port and, if the connection is established, responds with the
following:
HTTP/1.0 200 Connection established
After receiving this response, the agent can use the same open socket as if it were directly connected with the
host. The proxy will then transparently forward all data in both directions.
Configuration
The agent code auto-detects proxy settings by reading Internet Explorer's (IE's) configuration for the active
user. Settings include the proxy's address, listening port, and if necessary authentication information
(username and password).
If the connection fails, the agent defaults to the Connect From connection method and attempts to connect
back directly to the current source agent.
Known Issues and Limitations
Agents connecting back using a proxy will appear in the Entity View within a host with the proxy's IP
address (instead of the actual host's address).
Using IMPACT
209
210
Using IMPACT
Most proxies only allow tunneling port 443 (HTTPS). If AGENT_PORT is not 443, the proxy will
probably deny the connection. Because of the single connection limitation mentioned above,
client-side exploits have a default AGENT_PORT of 0, which indicates a random port within the
valid range (usually 40001 to 60000, but depends on NAT preferences).
The current payload for this connection method only supports reading IE's configuration from the
registry. If the user is not using IE or if IE is not configured correctly, the connection method will fail
and default to Connect From.
Proxies usually keep activity logs which include activity related to the CONNECT command. It is
reasonable to assume that the source agent's address will be recorded in this log.
The implementation for this connection method can be found in the WebProxyTunnel.py file located in the
"CORE IMPACT\Python\Lib\impact\LibEgg" folder.
Note
If the proxy is filtering "application/x-www-form-urlencoded" content, the agent will not be able to
communicate back to the console. This situation should be rare, as this content type is used by regular web
forms.
Exploits implementing this method use a helper module called "HTTP Tunnel". This module translates
between HTTP and the agent protocol in a manner that's transparent to the user.
210
Using IMPACT
Using IMPACT
211
Agents using this method will first connect with their configured HTTP proxy (using IE's proxy settings) and
then request an HTTP URL from the HTTP Tunnel. Upon receiving the request, the HTTP Tunnel will
translate the HTTP request to the ProxyCall interface and send it to the IMPACT Pro Console.
Crypto Channel
The Crypto Channel provides data encryption and session authentication. Key agreement for communication
is performed using RSA and encryption is performed using 128-bit AES.
Each IMPACT Pro workspace has a public-secret-key pair which is used for key agreement in Crypto
Channels. Each agent packaged with Crypto will have a copy of the workspace's public-key which will be
used to authenticate the Console. This means that only the Console containing the workspace that created the
agent will be able to connect to it.
Prev
Agent Technology
Prev
Up
Home
Agent Auto Injection
Chapter 17. IMPACT Pro Underlying Technology
Next
Agent Auto Injection
Next
Technical Details
Agent auto injection is implemented within the exploitlib library in the agentEscape() method. This
method runs right after a client-side exploit has added the agent to the database. The agentEscape() method:
1. Enumerates running processes on the compromised host.
2. Searches for the PIDs of explorer.exe by default.
3. Injects a new agent into the process found in the previous step. This new agent connects directly to
the source agent (i.e., it doesn't chain with the existing agent) using the same connection method used
by the original agent ("HTTP Tunnel" in client-side exploits).
4. Disconnects and terminates the original agent once a connection with the second agent is established.
As mentioned in step 2, the agent will search for explorer.exe by default. This is specified within the
exploit.py file located in
%appdata%\IMPACT\components\modules\exploits\site-packages\impact\exploitlib,
and can be edited to include any other preferred destination processes.
Using IMPACT
211
212
Using IMPACT
The list is defined within the escapeToProcess attribute in the Exploit.__init__() method as follows:
self.escapeToProcesses = [ 'explorer.exe', 'svchost.exe', iexplore.exe' ]
Note
If you escape to a system process, the agent will not be able to determine the local user's proxy settings (if
needed).
Prev
Communication Channels
Prev
Up
Next
Chapter 18. Contact Core Security
Home
Technologies
Chapter 18. Contact Core Security Technologies
Next
Prev
Agent Auto Injection
Prev
Up
Home
Sales Support
Chapter 18. Contact Core Security Technologies
Next
Sales Support
Next
Sales Support
For all Sales inquiries, including purchasing new licenses or license extensions:
Phone: (617) 399-6980
<sales@coresecurity.com>
Prev
Chapter 18. Contact Core Security
Technologies
Prev
212
Up
Home
Next
Product Support
Product Support
Chapter 18. Contact Core Security Technologies
Using IMPACT
Using IMPACT
213
Product Support
Product support for active customers is provided Monday-Friday, 8AM-5PM US Eastern Time.
Phone: (617) 399-6980
<support-professional@coresecurity.com>
Prev
Sales Supp
Using IMPACT
Up
213
214
Using IMPACT
214
Using IMPACT