Empire is a PowerShell and Python post-exploitation agent.
 
 
Go to file
Christopher Jones bd72328bb3 Cast port from string to int when starting REST service
The REST API won’t start due to a bug:

./empire --rest --username "emp" --password "emp"

[*] Loading modules from: /mnt/hgfs/cjones/Empire/lib/modules/

Starting Empire RESTful API on port: 1337
RESTful API token: 2bjmeuwa6pr6yy4x0n88rauyyl1nve7cekdgkefh Traceback
(most recent call last): File "/usr/lib/python2.7/logging/init.py",
line 853, in emit msg = self.format(record) File
"/usr/lib/python2.7/logging/init.py", line 726, in format return
fmt.format(record) File "/usr/lib/python2.7/logging/init.py", line 465,
in format record.message = record.getMessage() File
"/usr/lib/python2.7/logging/init.py", line 329, in getMessage msg = msg
% self.args TypeError: %d format: a number is required, not str Logged
from file _internal.py, line 87
After casting the port from a string to an int, the REST service works.
2016-05-28 08:28:35 -04:00
.github Added contribution and issue templates. 2016-03-19 06:52:59 -04:00
data Fix for situational_awareness/host/computerdetails object output. 2016-05-27 15:16:22 -04:00
lib Fix for situational_awareness/host/computerdetails object output. 2016-05-27 15:16:22 -04:00
setup added '-y' flags to 'apt-get install' commands to allow easier unattended installation on Ubuntu and Kali 2016-05-19 12:21:59 -04:00
.gitignore Initial BSidesLV '15 release of v1.0.0 2015-08-05 14:36:39 -04:00
LICENSE Initial BSidesLV '15 release of v1.0.0 2015-08-05 14:36:39 -04:00
README.md Empire 1.4 release. 2015-12-29 19:29:05 -05:00
changelog tightened up argparse validation 2016-05-02 18:13:38 -04:00
empire Cast port from string to int when starting REST service 2016-05-28 08:28:35 -04:00

README.md

#Empire

Empire is a pure PowerShell post-exploitation agent built on cryptologically-secure communications and a flexible architecture. 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. It premiered at BSidesLV in 2015.

To install, run the ./setup/install.sh script. There's also a quickstart here and full documentation here.

Empire relies heavily on the work from several other projects for its underlying functionality. We have tried to call out a few of those people we've interacted with heavily here and have included author/reference link information in the source of each Empire module as appropriate. If we have failed to improperly cite existing or prior work, please let us know.

Empire is developed by @harmj0y, @sixdub, and @enigma0x3.

Contribution Rules

Contributions are more than welcome! The more people who contribute to the project the better Empire will be for everyone. Below are a few guidelines for submitting contributions.

  • Submit pull requests to the dev branch. After testing, changes will be merged to master.
  • Base modules on the template at ./modules/template.py. Note that for some modules you may need to massage the output to get it into a nicely displayable text format with Out-String.
  • Cite previous work in the 'Comments' module section.
  • If your script.ps1 logic is large, may be reused by multiple modules, or is updated often, consider implementing the logic in the appropriate data/module_source/* directory and pulling the script contents into the module on tasking.
  • Use approved PowerShell verbs for any functions.
  • PowerShell Version 2 compatibility is STRONGLY preferred.
  • TEST YOUR MODULE! Be sure to run it from an Empire agent before submitting a pull to ensure everything is working correctly.
  • For additional guidelines for your PowerShell code itself, check out the PowerSploit style guide.