beef: still doesn't quite work

This commit is contained in:
Rick Farina (Zero_Chaos) 2023-09-05 17:31:11 -04:00
parent 16cb97c31d
commit 750266ac9e
No known key found for this signature in database
GPG key ID: A29433C0AA431DDC
7 changed files with 61 additions and 20 deletions

View file

@ -1,7 +1,7 @@
# Copyright 1999-2020 Gentoo Authors
# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
EAPI=8
USE_RUBY="ruby30 ruby31 ruby32"
inherit ruby-fakegem
@ -14,4 +14,4 @@ SLOT="0"
KEYWORDS="~amd64 ~x86"
IUSE=""
ruby_add_rdepend "dev-ruby/hashie:3"
ruby_add_rdepend "dev-ruby/hashie"

View file

@ -1 +1 @@
DIST otr-activerecord-1.4.1.gem 9216 BLAKE2B ffba98479b3fea285c54a85c994a23e2083aeb39b57a89edd33648d197fdc936a808a0ce55cb3ffe50d6d758b284313dad3d2fbe08f3d6fe26ead206f79c35c9 SHA512 4359277b30a2262e2edc4e79277755106c7e08fbd010f84040a28bad19f07ba0dff5c9de57bcd8aff65f098dc81c65d757ba9547726c6f4ff92d1b718c628ee4
DIST otr-activerecord-2.1.2.gem 9728 BLAKE2B 238d953d64397de1eb144ddc1259af774abfa6dcea6f8638c8eae46094643dc292d03c69c0bd576916820d5745432ae4940d51e20fd7e376c66655e35b7aea0a SHA512 df86f025a51f421f371fde5d8517fcd8229111e27faa588ae4841767bff03188d1904e56dbfdacb32ebe9e77ab135a4e068309f4a74ff523e385869ba7009d10

View file

@ -1,7 +1,7 @@
# Copyright 1999-2020 Gentoo Authors
# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
EAPI=8
USE_RUBY="ruby30 ruby31 ruby32"
@ -16,6 +16,6 @@ KEYWORDS="~amd64 ~x86"
IUSE=""
ruby_add_rdepend "
|| ( dev-ruby/activerecord:5.2 dev-ruby/activerecord:6.0 )
dev-ruby/activerecord
dev-ruby/hashie-forbidden_attributes
"

View file

@ -1 +1 @@
DIST beef-0.5.0.0.tar.gz 4646370 BLAKE2B 593516de61c4fd7a564bc8001f60b0a9659d3a5e5d8bdaa45335b1410e46b02ff4eb4da201bd195b5ebc9136409a22df4bc5797cdc2f4ebf5a8a09b9ffe4cad8 SHA512 a8d448fa4a996b875fd6ee0ed442423f9e5363585de80cce3a6d880aeffd17c286d165751e3edd273ad01ee680411a2d7affad44e2cc7a62b04b52ad0bf170c1
DIST beef-0.5.4.0.tar.gz 5003209 BLAKE2B 1b689b883df002677b9bb5144085c49521490a4b3079a63fe157965121ef7569fada8ac8f0d70e51db34982c4c98cfec96bcdad0ed51cddf24e11f8278207355 SHA512 9d91bd02fa5cb9481214f3e30cc3d6e79d78148763d9b9f19a85737679ff7e47a8c1305638235e325904cfc505c73eff6a305a7dbc0ca5e561eb216326a75498

View file

@ -1,10 +1,10 @@
# Copyright 1999-2020 Gentoo Authors
# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
EAPI=8
USE_RUBY="ruby30 ruby31 ruby32"
inherit eutils ruby-single
inherit ruby-single
#default fails, looks too complex
RESTRICT="test"
@ -16,7 +16,6 @@ SRC_URI="https://github.com/beefproject/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.
SLOT="0"
LICENSE="AGPL-3"
#WIP
#KEYWORDS="~amd64 ~x86"
IUSE="qrcode dns geoip notifications +msf +sqlite test"
@ -30,9 +29,8 @@ IUSE="qrcode dns geoip notifications +msf +sqlite test"
RDEPEND="${RUBY_DEPS}
dev-ruby/eventmachine
www-servers/thin
dev-ruby/sinatra:2
dev-ruby/rack:2.0
dev-ruby/rack-protection:2
dev-ruby/sinatra
dev-ruby/erubis
dev-ruby/em-websocket
dev-ruby/uglifier:*
dev-ruby/mime-types:*
@ -50,7 +48,6 @@ RDEPEND="${RUBY_DEPS}
sqlite? ( dev-ruby/sqlite3 )
dev-ruby/parseconfig
dev-ruby/erubis
msf? ( dev-ruby/msfrpc-client
dev-ruby/xmlrpc )"
@ -71,10 +68,15 @@ BDEPEND="${RDEPEND}
src_prepare() {
# epatch "${FILESDIR}/0.4.6_unbundler.patch"
# rm {Gemfile*,.gitignore,install*,update-beef}
rm Gemfile.lock
rm {.gitignore,install*,update-beef}
# this dep isn't needed outside of development
sed -i -e '/rubocop/d' Gemfile || die
#as noted above, these are missing deps
# rm -r extensions/network || die
rm -r extensions/dns || die
# set password
sed -i -e 's#"beef"#"pentoo"#' config.yaml || die "failed to sed"
#enable metasploit
if use msf; then
sed -i -e '/metasploit\:/ { n ; s/false/true/ }' config.yaml || die "failed to sed"

View file

@ -3,7 +3,14 @@
#copy of msf file, some functions (eselect, gemspec) are not required
#read the desired version of ruby from the eselected version beef
header="$(head -n1 /usr/lib/beef/beef)"
if [ -f /usr/lib64/beef/beef ]; then
header="$(head -n1 /usr/lib64/beef/beef)"
elif [ -f /usr/lib/beef/beef ]; then
header="$(head -n1 /usr/lib64/beef/beef)"
else
printf "Unable to find /usr/lib*/beef/beef\n"
exit 1
fi
ruby="${header:2}"
#normally beef makes this dir, however, this script runs first
@ -20,7 +27,18 @@ if ls -A ~/.beef/*.gemspec > /dev/zero 2>&1; then
fi
#fetch the latest Gemfile and gemspecsfrom the selected version of beef
cp /usr/lib/beef/Gemfile ~/.beef/
if [ -f /usr/lib64/beef/Gemfile ]; then
cp /usr/lib64/beef/Gemfile ~/.beef/
elif [ -f /usr/lib/beef/Gemfile ]; then
cp /usr/lib/beef/Gemfile ~/.beef/
else
printf "Unable to find /usr/lib*/beef/Gemfile\n"
exit 1
fi
if ls -A /usr/lib64/beef/*.gemspec > /dev/zero 2>&1; then
cp /usr/lib64/beef/*.gemspec ~/.beef/
fi
if ls -A /usr/lib/beef/*.gemspec > /dev/zero 2>&1; then
cp /usr/lib/beef/*.gemspec ~/.beef/
fi
@ -31,10 +49,14 @@ if [ "$?" != "0" ]; then
if [ -f ~/.beef/Gemfile.lock ]; then
rm ~/.beef/Gemfile.lock
else
echo "Something went wrong, please open a bug for beef on https://bugs.gentoo.org"
echo "Something went wrong, please open a bug for beef on https://github.com/pentoo/pentoo-overlay/issues"
fi
fi
#ready to go
BUNDLE_GEMFILE=~/.beef/Gemfile ruby -S bundle exec /usr/lib/beef/$(basename $0) "$@"
if [ -f /usr/lib64/beef/beef ]; then
BUNDLE_GEMFILE=~/.beef/Gemfile ruby -S bundle exec /usr/lib64/beef/$(basename $0) "$@"
elif [ -f /usr/lib/beef/beef ]; then
BUNDLE_GEMFILE=~/.beef/Gemfile ruby -S bundle exec /usr/lib/beef/$(basename $0) "$@"
fi
#profit

View file

@ -0,0 +1,17 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
<email>sidhayn@gmail.com</email>
<name>Zero_Chaos</name>
</maintainer>
<use>
<flag name="dns">add support for dns attacks</flag>
<flag name="msf">add integration for <pkg>net-analyzer/metasploit</pkg></flag>
<flag name="notifications">enable notification plugin</flag>
<flag name="qrcode">enable qrcode generation support</flag>
</use>
<upstream>
<remote-id type="github">beefproject/beef</remote-id>
</upstream>
</pkgmetadata>