Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Updated Readme and Changelog (3.2.0) #190

Merged
merged 14 commits into from
Apr 26, 2020
23 changes: 14 additions & 9 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ Keep up-to-date on our blog at [https://www.bc-security.org/blog][7]

Check out the Empire GUI: [Starkiller](https://github.com/BC-SECURITY/Starkiller)
# Empire
Empire 3.1 is a post-exploitation framework that includes a pure-PowerShell 2.0 Windows agent, and compatibility with Python 3.x Linux/OS X agents. It is the merger of the previous PowerShell Empire and Python EmPyre projects. The framework offers cryptologically-secure communications and flexible architecture.
Empire 3 is a post-exploitation framework that includes a pure-PowerShell 2.0 Windows agent, and compatibility with Python 3.x Linux/OS X agents. It is the merger of the previous PowerShell Empire and Python EmPyre projects. The framework offers cryptologically-secure communications and 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. PowerShell Empire premiered at [BSidesLV in 2015](https://www.youtube.com/watch?v=Pq9t59w0mUI) and Python EmPyre premiered at HackMiami 2016. BC-Security presented updates to further evade Microsoft Antimalware Scan Interface (AMSI) and JA3/S signatures at [DEF CON 27](https://github.com/BC-SECURITY/DEFCON27).

Expand All @@ -36,23 +36,28 @@ Empire is developed by [@harmj0y](https://twitter.com/harmj0y), [@sixdub](https:


## Release Notes
In Empire 3.1, we will no longer be actively supporting the Python 2.7 base code. If you wish to continue to leverage Python 2.7 then please use the [3.0.x Releases](https://github.com/BC-SECURITY/Empire/releases), since they were built to ensure backward compatibility.

One of the most significant updates in 3.1 is the addition of Multi-User Collaboration to the API. This update adds the ability of users to interact with Empire in an entirely new way. Previously, API users would share a single login and be unable to track individual taskings. This has been completely reworked to allow User Management through the API. This feature is essential for integration with [Starkiller](https://github.com/BC-SECURITY/Starkiller).

Next, we have added Function Name Aliasing, which automates the ability to randomize function names inside of Empire. This proof of concept is a huge step forward in evasion since it tests the ability to mask individual functions inside of Empire. Function name aliasing is currently only built for Invoke-Empire and Invoke-Mimikatz currently, but we will be expanding this functionality in the future.
As of Empire 3.1, we will no longer be actively supporting the Python 2.7 base code. If you wish to continue to leverage Python 2.7 then please use the [3.0.x Releases](https://github.com/BC-SECURITY/Empire/releases), since they were built to ensure backward compatibility.

Please see our [Releases](https://github.com/BC-SECURITY/Empire/releases) or [Changelog](/changelog) page for detailed release notes.

## Install
As of Empire 3.1.0, Empire only officially supports Python 3. If you still need Python 2 support, please use the [3.0.x branch](https://github.com/BC-SECURITY/Empire/tree/v3.0.7) or releases. Also consider using our [Prebuilt Docker containers](#Docker) which use Python 3.
As of Empire 3.1, Empire only officially supports Python 3. If you still need Python 2 support, please use the [3.0.x branch](https://github.com/BC-SECURITY/Empire/tree/v3.0.7) or releases. Also consider using our [Prebuilt Docker containers](#Docker) which use Python 3.

__Supported OSs__

To ensure compability your OS is compatibile with Empire. Be sure to only run in the following operating systems. We will not be unable to provide support for other OS.
- Kali Linux
- Ubuntu
- Debian

__Note:__ Newer versions of Kali require you to run ```sudo``` before starting Empire.

__Note:__ Run ```./setup/reset.sh``` before starting Empire 3.1 for the first time.
### Kali

You can install the latest version of Empire by running the following:

```sh
apt install powershell-empire
sudo apt install powershell-empire
```

### Github
Expand Down
2 changes: 1 addition & 1 deletion VERSION
Original file line number Diff line number Diff line change
@@ -1 +1 @@
3.1.5
3.2.0
20 changes: 20 additions & 0 deletions changelog
Original file line number Diff line number Diff line change
@@ -1,3 +1,23 @@
4/26/2020
------------
- Version 3.2.0 Master Release
- Added SharpChromium module - #185 (@tyraniter)
- Added BloodHound 3 module - #123 (@RaphAlmeida)
- Updated to Mimikatz 2.2.0 20200308 Masterkey - #189 (@Cx01N)
- Fixed issue with first character in randomizing function names - #169 (@Hubbl3)
- Fixed encoding error for slack tokens - #181 (@Cx01N)
- Fixed typo in python/persistence/multi/desktopfile.py - #182 (@Vinnybod)
- install.sh - Updated Debian 10 powershell install and python3 library installs - #187 (@Cx01N, @Vinnybod)
- Added single user endpoint to API - #188 (@Vinnybod)
- Updated default python launcher to use | python3 - #184 (@Cx01N)
- Converted python modules to python3 formatting - #187 (@Cx01N)
- Removed duplicate exec in python agent tasking - #187 (@Cx01N)
- Fixed errors in collection/linux/hashdump - #187 (@Cx01N)
- Fixed errors in osx/native-screenshot - #187 (@Cx01N)
- Fixed error handling issue for failed python modules - #187 (@Cx01N)
- Added prompt before reset script is ran using --reset flag - #190 (@Cx01N)
- Docker builds no longer require a database reset the first time and the certs are already generated. Default cmd starts the rest api. - #188 (@vinnybod)

Cx01N marked this conversation as resolved.
Show resolved Hide resolved
4/13/2020
------------
- Version 3.1.5 Master Release
Expand Down
10 changes: 7 additions & 3 deletions empire
Original file line number Diff line number Diff line change
Expand Up @@ -1472,7 +1472,7 @@ if __name__ == '__main__':

generalGroup = parser.add_argument_group('General Options')
generalGroup.add_argument('--debug', nargs='?', const='1', help='Debug level for output (default of 1, 2 for msg display).')
generalGroup.add_argument('--reset-empire', action='store_true', help="Resets Empire's database to defaults.")
generalGroup.add_argument('--reset', action='store_true', help="Resets Empire's database to defaults.")
generalGroup.add_argument('-v', '--version', action='store_true', help='Display current Empire version.')
generalGroup.add_argument('-r','--resource', nargs=1, help='Run the Empire commands in the specified resource file after startup.')

Expand Down Expand Up @@ -1500,8 +1500,12 @@ if __name__ == '__main__':
if args.version:
print(empire.VERSION)

if args.reset_empire:
subprocess.call("./setup/reset.sh")
if args.reset:
choice = input("\n [>] Would you like to reset your Empire instance? [y/N]: ")
if choice.lower() == "y":
subprocess.call("./setup/reset.sh")
else:
pass

elif args.rest:
# start an Empire instance and RESTful API
Expand Down
2 changes: 1 addition & 1 deletion lib/common/empire.py
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@
from builtins import str
from builtins import range

VERSION = "3.1.5 BC-Security Fork"
VERSION = "3.2.0 BC-Security Fork"

from pydispatch import dispatcher

Expand Down
2 changes: 2 additions & 0 deletions lib/common/messages.py
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,8 @@ def title(version):
print('================================================================================')
print(" [Version] %s | [Web] https://github.com/BC-SECURITY/Empire" % (version))
print('================================================================================')
print(" [Starkiller] Multi-User GUI | [Web] https://github.com/BC-SECURITY/Starkiller")
print('================================================================================')
print("""
_______ .___ ___. .______ __ .______ _______
| ____|| \/ | | _ \ | | | _ \ | ____|
Expand Down