diff --git a/app-exploits/empire/Manifest b/app-exploits/empire/Manifest index 4ce7e6b65..efcefe846 100644 --- a/app-exploits/empire/Manifest +++ b/app-exploits/empire/Manifest @@ -1,2 +1,3 @@ DIST empire-3.0.7.tar.gz 8397766 BLAKE2B 58ce61ee272f026586c30de13d96c55cfe9324930348dd8a8759b515d6c123225972051f34cd5d232d03e31828e195ba68c5df603e25a30564657a1a60ff9729 SHA512 3d8f4c291543b639777b0248fda3694934813bbca65170bbf5f8ad9502d8c6c98ed6fac4f81a0fa9eaad15bb9993590e085194322679d571815e010aa5a97eaf DIST empire-3.1.1.tar.gz 8539074 BLAKE2B fb5f3363128c83a3eb90f3f1e9eadf2e979f52284c987a8cad8c4e7c624828488bf621fc44f293dfdf663fcb2518bf401a7f52d9eb6e472866ad2272fcb63ca9 SHA512 d12e08cd752554f67285c6975eaf753aa15e193e6242c07e4942d3c2d7178de405716646e36b0e80560b9814f99f0d487ecc84b39acece416c0418f3b38d9821 +DIST empire-3.1.4.tar.gz 8540071 BLAKE2B 947b3a1e0078a772d27bfcc2ab805172b8b8f662c679f625936e61fba78a53e2b64564ba802d7d12ea697ffa505bd6dd47456de36f1b2adb1c4181e22960f88e SHA512 3b52e7f9c2257181689f19126ca613595b0528588459e059f87e7fee0167c160e7c1a2c4deeb4761272992f51377d1eb43b11d5dc831c1a81b684fff4ff3492a diff --git a/app-exploits/empire/empire-3.1.4.ebuild b/app-exploits/empire/empire-3.1.4.ebuild new file mode 100644 index 000000000..6682e072d --- /dev/null +++ b/app-exploits/empire/empire-3.1.4.ebuild @@ -0,0 +1,126 @@ +# Copyright 1999-2020 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +#https://github.com/BC-SECURITY/Empire/issues/39 +PYTHON_COMPAT=( python3_{6,7} ) +PYTHON_REQ_USE="sqlite" + +inherit eutils python-single-r1 + +DESCRIPTION="A post-exploitation framework" +HOMEPAGE="https://github.com/BC-SECURITY/Empire" +SRC_URI="https://github.com/BC-SECURITY/Empire/archive/v${PV}.tar.gz -> ${P}.tar.gz" + +KEYWORDS="~amd64 ~x86" +LICENSE="BSD" +SLOT="0" +IUSE="powershell java" +REQUIRED_USE="powershell? ( amd64 )" + +# waiting for the upstream +# https://bugs.gentoo.org/684734 +RDEPEND="${PYTHON_DEPS} + $(python_gen_cond_dep ' + dev-python/urllib3[${PYTHON_MULTI_USEDEP}] + dev-python/requests[${PYTHON_MULTI_USEDEP}] + dev-python/python-iptools[${PYTHON_MULTI_USEDEP}] + dev-python/pydispatcher[${PYTHON_MULTI_USEDEP}] + dev-python/flask[${PYTHON_MULTI_USEDEP}] + dev-python/macholib[${PYTHON_MULTI_USEDEP}] + dev-python/dropbox-sdk[${PYTHON_MULTI_USEDEP}] + dev-python/pyopenssl[${PYTHON_MULTI_USEDEP}] + dev-python/pyinstaller[${PYTHON_MULTI_USEDEP}] + dev-python/zlib_wrapper[${PYTHON_MULTI_USEDEP}] + dev-python/netifaces[${PYTHON_MULTI_USEDEP}] + dev-python/m2crypto[${PYTHON_MULTI_USEDEP}] + dev-python/jinja[${PYTHON_MULTI_USEDEP}] + dev-python/cryptography[${PYTHON_MULTI_USEDEP}] + dev-python/pyminifier[${PYTHON_MULTI_USEDEP}] + dev-python/xlutils[${PYTHON_MULTI_USEDEP}] + dev-python/pycryptodome[${PYTHON_MULTI_USEDEP}] + dev-python/pefile[${PYTHON_MULTI_USEDEP}] + dev-python/simplejson[${PYTHON_MULTI_USEDEP}] + dev-python/bcrypt[${PYTHON_MULTI_USEDEP}] + ') + powershell? ( + amd64? ( dev-lang/powershell-bin ) ) + java? ( + || ( virtual/jre:* virtual/jdk:* ) )" + +DEPEND="${RDEPEND}" + +S="${WORKDIR}/Empire-${PV}" + +pkg_setup() { + python-single-r1_pkg_setup +} + +src_prepare() { + python_fix_shebang "${S}" + default +} + +src_install() { + insinto "/usr/share/${PN}" + doins -r data/ lib/ plugins/ setup/ empire + + python_optimize "${D}/usr/share/${PN}/lib" + + make_wrapper $PN \ + "${PYTHON} /usr/share/${PN}/empire" \ + "/usr/share/${PN}" + + dodoc README.md Dockerfile changelog +} + +pkg_config() { + local _yesno_ask + local _em_home="${EROOT}/usr/share/${PN}" + + pushd "${_em_home}" >/dev/null || die + + if [ -f "${_em_home}/data/empire.db" ]; then + ewarn "Drop old database "${_em_home}/data/empire.db" for new configuring ..." + read -r -p " [>] Are you sure? [y/N] " _yesno_ask + + if [[ ${_yesno_ask,,} =~ ^(yes|y)$ ]]; then + rm -f data/empire.db > /dev/null 2>&1 || die + else + return + fi + fi + + ebegin "Press ENTER to create password for database or Control-C to abort now" + python3 setup/setup_database.py + eend ${?} || die + + if [ -f "${_em_home}/data/empire-chain.pem" ] || [ -f "${_em_home}/data/empire-priv.key" ]; then + ewarn "Drop old ${_em_home}/data/empire-chain.pem and generate new cert ..." + read -r -p " [>] Are you sure? [y/N] " _yesno_ask + + if [[ ${_yesno_ask,,} =~ ^(yes|y)$ ]]; then + rm -f data/{empire-chain.pem,empire-priv.key} > /dev/null 2>&1 || die + else + return + fi + fi + + openssl req -newkey rsa:2048 -new -nodes -x509 \ + -subj "/C=US/ST=Denial/L=Springfield/O=Dis/CN=www.pentoo.ch" \ + -keyout data/empire-priv.key \ + -out data/empire-chain.pem || die + + popd >/dev/null || die +} + +pkg_postinst() { + ewarn "\nWarning. This software does not support system-wide installation" + ewarn "See the following bug report for more details:" + ewarn "https://github.com/BC-SECURITY/Empire/issues/39" + ewarn + ewarn "You need to run it from /usr/share/${PN} directory under 'root' account" + ewarn "\nPlease configure your installation before using:" + ewarn " emerge --config \"=${CATEGORY}/${PF}\"\n" +}