ma pkgs.beef: init (broken state)

This commit is contained in:
makefu 2017-09-21 02:09:17 +02:00
parent ad06126dce
commit c37c568baa
No known key found for this signature in database
GPG Key ID: 36F7711F3FC0F225
5 changed files with 764 additions and 0 deletions

97
makefu/5pkgs/beef/Gemfile Normal file
View File

@ -0,0 +1,97 @@
# BeEF's Gemfile
#
# Copyright (c) 2006-2017 Wade Alcorn - wade@bindshell.net
# Browser Exploitation Framework (BeEF) - http://beefproject.com
# See the file 'doc/COPYING' for copying permission
#
gem 'eventmachine'
gem 'thin'
gem 'sinatra'
gem 'rack', '~> 1.6.5'
gem 'em-websocket' # WebSocket support
gem 'uglifier'
gem 'mime-types'
gem 'execjs'
gem 'ansi'
gem 'term-ansicolor', :require => 'term/ansicolor'
gem 'dm-core'
gem 'json'
gem 'data_objects'
gem 'rubyzip', '>= 1.2.1'
gem 'espeak-ruby', '>= 1.0.4' # Text-to-Voice
gem 'nokogiri', '>= 1.7'
gem 'therubyracer'
# SQLite support
group :sqlite do
gem 'dm-sqlite-adapter'
end
# PostgreSQL support
group :postgres do
#gem dm-postgres-adapter
end
# MySQL support
group :mysql do
#gem dm-mysql-adapter
end
# Geolocation support
group :geoip do
gem 'geoip'
end
gem 'parseconfig'
gem 'erubis'
gem 'dm-migrations'
# Metasploit Integration extension
group :ext_msf do
gem 'msfrpc-client'
end
# Twitter Notifications extension
group :ext_twitter do
#gem 'twitter', '>= 5.0.0'
end
# DNS extension
group :ext_dns do
gem 'rubydns', '~> 0.7.3'
end
# network extension
group :ext_network do
gem 'dm-serializer'
end
# QRcode extension
group :ext_qrcode do
gem 'qr4r'
end
# For running unit tests
group :test do
if ENV['BEEF_TEST']
gem 'rake'
gem 'test-unit'
gem 'test-unit-full'
gem 'curb'
gem 'selenium'
gem 'selenium-webdriver'
gem 'rspec'
gem 'bundler-audit'
# nokogirl is needed by capybara which may require one of the below commands
# sudo apt-get install libxslt-dev libxml2-dev
# sudo port install libxml2 libxslt
gem 'capybara'
# RESTful API tests/generic command module tests
gem 'rest-client', '>= 2.0.1'
end
end
source 'https://rubygems.org'

View File

@ -0,0 +1,139 @@
GEM
remote: https://rubygems.org/
specs:
addressable (2.5.2)
public_suffix (>= 2.0.2, < 4.0)
ansi (1.5.0)
chunky_png (1.3.8)
daemons (1.2.4)
data_objects (0.10.17)
addressable (~> 2.1)
dm-core (1.2.1)
addressable (~> 2.3)
dm-do-adapter (1.2.0)
data_objects (~> 0.10.6)
dm-core (~> 1.2.0)
dm-migrations (1.2.0)
dm-core (~> 1.2.0)
dm-serializer (1.2.2)
dm-core (~> 1.2.0)
fastercsv (~> 1.5)
json (~> 1.6)
json_pure (~> 1.6)
multi_json (~> 1.0)
dm-sqlite-adapter (1.2.0)
dm-do-adapter (~> 1.2.0)
do_sqlite3 (~> 0.10.6)
do_sqlite3 (0.10.17)
data_objects (= 0.10.17)
em-websocket (0.5.1)
eventmachine (>= 0.12.9)
http_parser.rb (~> 0.6.0)
erubis (2.7.0)
espeak-ruby (1.0.4)
eventmachine (1.0.9.1)
execjs (2.7.0)
fastercsv (1.5.5)
filesize (0.1.1)
geoip (1.6.3)
http_parser.rb (0.6.0)
jsobfu (0.4.2)
rkelly-remix
json (1.8.6)
json_pure (1.8.6)
libv8 (3.16.14.19)
metasm (1.0.3)
mime-types (3.1)
mime-types-data (~> 3.2015)
mime-types-data (3.2016.0521)
mini_portile2 (2.3.0)
mojo_magick (0.5.6)
msfrpc-client (1.1.1)
msgpack (~> 1)
rex (~> 2)
msgpack (1.1.0)
multi_json (1.12.2)
nokogiri (1.8.1)
mini_portile2 (~> 2.3.0)
parseconfig (1.0.8)
public_suffix (3.0.0)
qr4r (0.4.1)
mojo_magick
rqrcode
rack (1.6.8)
rack-protection (1.5.3)
rack
rainbow (2.2.2)
rake
rake (12.1.0)
rb-readline (0.5.5)
ref (2.0.0)
rex (2.0.11)
filesize
jsobfu (~> 0.4.1)
json
metasm (~> 1.0.2)
nokogiri
rb-readline
robots
rexec (1.6.3)
rainbow
rkelly-remix (0.0.7)
robots (0.10.1)
rqrcode (0.10.1)
chunky_png (~> 1.0)
rubydns (0.7.3)
eventmachine (~> 1.0.0)
rexec (~> 1.6.2)
rubyzip (1.2.1)
sinatra (1.4.8)
rack (~> 1.5)
rack-protection (~> 1.4)
tilt (>= 1.3, < 3)
term-ansicolor (1.6.0)
tins (~> 1.0)
therubyracer (0.12.3)
libv8 (~> 3.16.14.15)
ref
thin (1.7.2)
daemons (~> 1.0, >= 1.0.9)
eventmachine (~> 1.0, >= 1.0.4)
rack (>= 1, < 3)
tilt (2.0.8)
tins (1.15.0)
uglifier (3.2.0)
execjs (>= 0.3.0, < 3)
PLATFORMS
ruby
DEPENDENCIES
ansi
data_objects
dm-core
dm-migrations
dm-serializer
dm-sqlite-adapter
em-websocket
erubis
espeak-ruby (>= 1.0.4)
eventmachine
execjs
geoip
json
mime-types
msfrpc-client
nokogiri (>= 1.7)
parseconfig
qr4r
rack (~> 1.6.5)
rubydns (~> 0.7.3)
rubyzip (>= 1.2.1)
sinatra
term-ansicolor
therubyracer
thin
uglifier
BUNDLED WITH
1.15.4

View File

@ -0,0 +1,37 @@
{ stdenv, bundlerEnv, ruby, fetchFromGitHub }:
# nix-shell --command "bundler install && bundix" in the clone, copy gemset.nix, Gemfile and Gemfile.lock
let
gems = bundlerEnv {
name = "beef-env";
inherit ruby;
gemdir = ./.;
};
in stdenv.mkDerivation {
name = "beef-2017-09-21";
src = fetchFromGitHub {
owner = "beefproject";
repo = "beef";
rev = "69aa2a3";
sha256 = "1rky61i0wzpwcq3kqfa0m5hf6wyz8q8jgzs7dpfh04w9qh32ic4p";
};
buildInputs = [gems ruby];
installPhase = ''
mkdir -p $out/{bin,share/beef}
cp -r * $out/share/beef
# set the default db path, unfortunately setting to /tmp does not seem to work
# sed -i 's#db_file: .*#db_file: "/tmp/beef.db"#' $out/share/beef/config.yaml
bin=$out/bin/beef
cat > $bin <<EOF
#!/bin/sh -e
exec ${gems}/bin/bundle exec ${ruby}/bin/ruby $out/share/beef/beef "\$@"
EOF
chmod +x $bin
'';
# crashes with segfault
# also, db cannot be set
meta.broken = true;
}

View File

@ -0,0 +1,475 @@
{
addressable = {
dependencies = ["public_suffix"];
source = {
remotes = ["https://rubygems.org"];
sha256 = "0viqszpkggqi8hq87pqp0xykhvz60g99nwmkwsb0v45kc2liwxvk";
type = "gem";
};
version = "2.5.2";
};
ansi = {
source = {
remotes = ["https://rubygems.org"];
sha256 = "14ims9zfal4gs2wpx2m5rd8zsrl2k794d359shkrsgg3fhr2a22l";
type = "gem";
};
version = "1.5.0";
};
chunky_png = {
source = {
remotes = ["https://rubygems.org"];
sha256 = "0j0dngz6s0j3s3zaf9vrimjz65s9k7ad1c3xmmldr1vmz8sbd843";
type = "gem";
};
version = "1.3.8";
};
daemons = {
source = {
remotes = ["https://rubygems.org"];
sha256 = "1bmb4qrd95b5gl3ym5j3q6mf090209f4vkczggn49n56w6s6zldz";
type = "gem";
};
version = "1.2.4";
};
data_objects = {
dependencies = ["addressable"];
source = {
remotes = ["https://rubygems.org"];
sha256 = "19fw1ckqc5f1wc4r72qrymy2k6cmd8azbxpn61ksbsjqhzc2bgqd";
type = "gem";
};
version = "0.10.17";
};
dm-core = {
dependencies = ["addressable"];
source = {
remotes = ["https://rubygems.org"];
sha256 = "09x67ka6f1lxh4iwrg87iama0haq0d0z35gavvnvzpx9kn9pfbnw";
type = "gem";
};
version = "1.2.1";
};
dm-do-adapter = {
dependencies = ["data_objects" "dm-core"];
source = {
remotes = ["https://rubygems.org"];
sha256 = "1v84lsmsq8kawl8k4qz2h87xqc1sr10c08wwasrxbcgrkvp7qk4q";
type = "gem";
};
version = "1.2.0";
};
dm-migrations = {
dependencies = ["dm-core"];
source = {
remotes = ["https://rubygems.org"];
sha256 = "04hr8qgm4j1z5fg0cfpr8r6apvk5xykad0d0xqfg48rjv5rdwc0i";
type = "gem";
};
version = "1.2.0";
};
dm-serializer = {
dependencies = ["dm-core" "fastercsv" "json" "json_pure" "multi_json"];
source = {
remotes = ["https://rubygems.org"];
sha256 = "0mvpb2d4cniysw45d3c9xidjpdb3wmfl7x5lgvnsfm69wq24v5y4";
type = "gem";
};
version = "1.2.2";
};
dm-sqlite-adapter = {
dependencies = ["dm-do-adapter" "do_sqlite3"];
source = {
remotes = ["https://rubygems.org"];
sha256 = "0mq9xrw4jwb753sy8902rq9sfv62mzss2n3875g51i9acqy475hc";
type = "gem";
};
version = "1.2.0";
};
do_sqlite3 = {
dependencies = ["data_objects"];
source = {
remotes = ["https://rubygems.org"];
sha256 = "0gxz54qjgwg6a2mkqpai28m0i5swbyxpr4qmh9x1nwf20lysrgcf";
type = "gem";
};
version = "0.10.17";
};
em-websocket = {
dependencies = ["eventmachine" "http_parser.rb"];
source = {
remotes = ["https://rubygems.org"];
sha256 = "1bsw8vjz0z267j40nhbmrvfz7dvacq4p0pagvyp17jif6mj6v7n3";
type = "gem";
};
version = "0.5.1";
};
erubis = {
source = {
remotes = ["https://rubygems.org"];
sha256 = "1fj827xqjs91yqsydf0zmfyw9p4l2jz5yikg3mppz6d7fi8kyrb3";
type = "gem";
};
version = "2.7.0";
};
espeak-ruby = {
source = {
remotes = ["https://rubygems.org"];
sha256 = "0d658zr53jibyrs5qnic7bfl6h69k5987s8asncsbnxwbzzilj6y";
type = "gem";
};
version = "1.0.4";
};
eventmachine = {
source = {
remotes = ["https://rubygems.org"];
sha256 = "17jr1caa3ggg696dd02g2zqzdjqj9x9q2nl7va82l36f7c5v6k4z";
type = "gem";
};
version = "1.0.9.1";
};
execjs = {
source = {
remotes = ["https://rubygems.org"];
sha256 = "1yz55sf2nd3l666ms6xr18sm2aggcvmb8qr3v53lr4rir32y1yp1";
type = "gem";
};
version = "2.7.0";
};
fastercsv = {
source = {
remotes = ["https://rubygems.org"];
sha256 = "1df3vfgw5wg0s405z0pj0rfcvnl9q6wak7ka8gn0xqg4cag1k66h";
type = "gem";
};
version = "1.5.5";
};
filesize = {
source = {
remotes = ["https://rubygems.org"];
sha256 = "061qmg82mm9xnmnq3b7gbi24g28xk62w0b0nw86gybd07m1jn989";
type = "gem";
};
version = "0.1.1";
};
geoip = {
source = {
remotes = ["https://rubygems.org"];
sha256 = "099hxng7h8i3pwibnassivj58iw1x7ygwq06qj6rx7j16iyz6rzx";
type = "gem";
};
version = "1.6.3";
};
"http_parser.rb" = {
source = {
remotes = ["https://rubygems.org"];
sha256 = "15nidriy0v5yqfjsgsra51wmknxci2n2grliz78sf9pga3n0l7gi";
type = "gem";
};
version = "0.6.0";
};
jsobfu = {
dependencies = ["rkelly-remix"];
source = {
remotes = ["https://rubygems.org"];
sha256 = "1hchns89cfj0gggm2zbr7ghb630imxm2x2d21ffx2jlasn9xbkyk";
type = "gem";
};
version = "0.4.2";
};
json = {
source = {
remotes = ["https://rubygems.org"];
sha256 = "0qmj7fypgb9vag723w1a49qihxrcf5shzars106ynw2zk352gbv5";
type = "gem";
};
version = "1.8.6";
};
json_pure = {
source = {
remotes = ["https://rubygems.org"];
sha256 = "1vllrpm2hpsy5w1r7000mna2mhd7yfrmd8hi713lk0n9mv27bmam";
type = "gem";
};
version = "1.8.6";
};
libv8 = {
source = {
remotes = ["https://rubygems.org"];
sha256 = "0271i5sfma05gvhmrmxqb0jj667bl6m54yd49ay6yrdbh1g4wpl1";
type = "gem";
};
version = "3.16.14.19";
};
metasm = {
source = {
remotes = ["https://rubygems.org"];
sha256 = "0gss57q4lv6l0jkih77zffrpjjzgkdcsy7b9nvvawyzknis9w4s5";
type = "gem";
};
version = "1.0.3";
};
mime-types = {
dependencies = ["mime-types-data"];
source = {
remotes = ["https://rubygems.org"];
sha256 = "0087z9kbnlqhci7fxh9f6il63hj1k02icq2rs0c6cppmqchr753m";
type = "gem";
};
version = "3.1";
};
mime-types-data = {
source = {
remotes = ["https://rubygems.org"];
sha256 = "04my3746hwa4yvbx1ranhfaqkgf6vavi1kyijjnw8w3dy37vqhkm";
type = "gem";
};
version = "3.2016.0521";
};
mini_portile2 = {
source = {
remotes = ["https://rubygems.org"];
sha256 = "13d32jjadpjj6d2wdhkfpsmy68zjx90p49bgf8f7nkpz86r1fr11";
type = "gem";
};
version = "2.3.0";
};
mojo_magick = {
source = {
remotes = ["https://rubygems.org"];
sha256 = "1n4hzdyvaggzasxb55iqjd8sg6g84yc2dbaip0zzy7nwr5j5h8sm";
type = "gem";
};
version = "0.5.6";
};
msfrpc-client = {
dependencies = ["msgpack" "rex"];
source = {
remotes = ["https://rubygems.org"];
sha256 = "0q1x0xy857qm3sdxynp5p8kk7f6j25qjw1p28jh0y2qivc5ksik8";
type = "gem";
};
version = "1.1.1";
};
msgpack = {
source = {
remotes = ["https://rubygems.org"];
sha256 = "0ck7w17d6b4jbb8inh1q57bghi9cjkiaxql1d3glmj1yavbpmlh7";
type = "gem";
};
version = "1.1.0";
};
multi_json = {
source = {
remotes = ["https://rubygems.org"];
sha256 = "1raim9ddjh672m32psaa9niw67ywzjbxbdb8iijx3wv9k5b0pk2x";
type = "gem";
};
version = "1.12.2";
};
nokogiri = {
dependencies = ["mini_portile2"];
source = {
remotes = ["https://rubygems.org"];
sha256 = "105xh2zkr8nsyfaj2izaisarpnkrrl9000y3nyflg9cbzrfxv021";
type = "gem";
};
version = "1.8.1";
};
parseconfig = {
source = {
remotes = ["https://rubygems.org"];
sha256 = "0br2g9k6zc4ygah52aa8cwvpnnkszia29bnvnr8bhpk3rdzi2vmq";
type = "gem";
};
version = "1.0.8";
};
public_suffix = {
source = {
remotes = ["https://rubygems.org"];
sha256 = "0snaj1gxfib4ja1mvy3dzmi7am73i0mkqr0zkz045qv6509dhj5f";
type = "gem";
};
version = "3.0.0";
};
qr4r = {
dependencies = ["mojo_magick" "rqrcode"];
source = {
remotes = ["https://rubygems.org"];
sha256 = "1ya71fxhmx2zfsmflmqh6xm9jwgjxamsj9d3h1kjp21w4vca0s30";
type = "gem";
};
version = "0.4.1";
};
rack = {
source = {
remotes = ["https://rubygems.org"];
sha256 = "19m7aixb2ri7p1n0iqaqx8ldi97xdhvbxijbyrrcdcl6fv5prqza";
type = "gem";
};
version = "1.6.8";
};
rack-protection = {
dependencies = ["rack"];
source = {
remotes = ["https://rubygems.org"];
sha256 = "0cvb21zz7p9wy23wdav63z5qzfn4nialik22yqp6gihkgfqqrh5r";
type = "gem";
};
version = "1.5.3";
};
rainbow = {
dependencies = ["rake"];
source = {
remotes = ["https://rubygems.org"];
sha256 = "08w2ghc5nv0kcq5b257h7dwjzjz1pqcavajfdx2xjyxqsvh2y34w";
type = "gem";
};
version = "2.2.2";
};
rake = {
source = {
remotes = ["https://rubygems.org"];
sha256 = "0mfqgpp3m69s5v1rd51lfh5qpjwyia5p4rg337pw8c8wzm6pgfsw";
type = "gem";
};
version = "12.1.0";
};
rb-readline = {
source = {
remotes = ["https://rubygems.org"];
sha256 = "14w79a121czmvk1s953qfzww30mqjb2zc0k9qhi0ivxxk3hxg6wy";
type = "gem";
};
version = "0.5.5";
};
ref = {
source = {
remotes = ["https://rubygems.org"];
sha256 = "04p4pq4sikly7pvn30dc7v5x2m7fqbfwijci4z1y6a1ilwxzrjii";
type = "gem";
};
version = "2.0.0";
};
rex = {
dependencies = ["filesize" "jsobfu" "json" "metasm" "nokogiri" "rb-readline" "robots"];
source = {
remotes = ["https://rubygems.org"];
sha256 = "0kxacxq4l1gcqbw1izg2qqvdhxl6b5779a2qa2jk24f6x96bpi68";
type = "gem";
};
version = "2.0.11";
};
rexec = {
dependencies = ["rainbow"];
source = {
remotes = ["https://rubygems.org"];
sha256 = "1ihc0a6gj4i3287fjm86cn2ax4hlznyk5aqxrhjxkf4y9kabc3in";
type = "gem";
};
version = "1.6.3";
};
rkelly-remix = {
source = {
remotes = ["https://rubygems.org"];
sha256 = "1g7hjl9nx7f953y7lncmfgp0xgxfxvgfm367q6da9niik6rp1y3j";
type = "gem";
};
version = "0.0.7";
};
robots = {
source = {
remotes = ["https://rubygems.org"];
sha256 = "141gvihcr2c0dpzl3dqyh8kqc9121prfdql2iamaaw0mf9qs3njs";
type = "gem";
};
version = "0.10.1";
};
rqrcode = {
dependencies = ["chunky_png"];
source = {
remotes = ["https://rubygems.org"];
sha256 = "0h1pnnydgs032psakvg3l779w3ghbn08ajhhhw19hpmnfhrs8k0a";
type = "gem";
};
version = "0.10.1";
};
rubydns = {
dependencies = ["eventmachine" "rexec"];
source = {
remotes = ["https://rubygems.org"];
sha256 = "1mav6589kpqh37wlipkh1nww6ipbw4kzja2crz216v25wwjrbpx2";
type = "gem";
};
version = "0.7.3";
};
rubyzip = {
source = {
remotes = ["https://rubygems.org"];
sha256 = "06js4gznzgh8ac2ldvmjcmg9v1vg9llm357yckkpylaj6z456zqz";
type = "gem";
};
version = "1.2.1";
};
sinatra = {
dependencies = ["rack" "rack-protection" "tilt"];
source = {
remotes = ["https://rubygems.org"];
sha256 = "0byxzl7rx3ki0xd7aiv1x8mbah7hzd8f81l65nq8857kmgzj1jqq";
type = "gem";
};
version = "1.4.8";
};
term-ansicolor = {
dependencies = ["tins"];
source = {
remotes = ["https://rubygems.org"];
sha256 = "1b1wq9ljh7v3qyxkk8vik2fqx2qzwh5lval5f92llmldkw7r7k7b";
type = "gem";
};
version = "1.6.0";
};
therubyracer = {
dependencies = ["libv8" "ref"];
source = {
remotes = ["https://rubygems.org"];
sha256 = "1g95bzs2axjglyjyj6xvsywqgr80bnzlkw7mddxx1fdrak5wni2q";
type = "gem";
};
version = "0.12.3";
};
thin = {
dependencies = ["daemons" "eventmachine" "rack"];
source = {
remotes = ["https://rubygems.org"];
sha256 = "0nagbf9pwy1vg09k6j4xqhbjjzrg5dwzvkn4ffvlj76fsn6vv61f";
type = "gem";
};
version = "1.7.2";
};
tilt = {
source = {
remotes = ["https://rubygems.org"];
sha256 = "0020mrgdf11q23hm1ddd6fv691l51vi10af00f137ilcdb2ycfra";
type = "gem";
};
version = "2.0.8";
};
tins = {
source = {
remotes = ["https://rubygems.org"];
sha256 = "09whix5a7ics6787zrkwjmp16kqyh6560p9f317syks785805f7s";
type = "gem";
};
version = "1.15.0";
};
uglifier = {
dependencies = ["execjs"];
source = {
remotes = ["https://rubygems.org"];
sha256 = "0wmqvn4xncw6h3d5gp2a44170zwxfyj3iq4rsjp16zarvzbdmgnz";
type = "gem";
};
version = "3.2.0";
};
}

View File

@ -0,0 +1,16 @@
# Env to update Gemfile.lock / gemset.nix
with import <nixpkgs> {};
stdenv.mkDerivation {
name = "env";
buildInputs = [
ruby.devEnv
git
sqlite
libpcap
postgresql
libxml2
libxslt
pkgconfig
bundix
];
}