Compare commits

..

16 commits

Author SHA1 Message Date
8ee4519c34 add ghidra 2022-04-24 12:47:20 -04:00
99b8613d40 fix building 2022-04-21 15:34:19 -04:00
9d1ded2579
Update blix-applications.7 2022-04-21 13:03:06 -04:00
6f2e2c805f
add jadx 2022-04-21 13:01:49 -04:00
a390f2e279 add whatweb 2022-04-09 20:51:15 -04:00
1410cee2b2 fix formatting of tmux config
not sure how i managed to not notice the broken timestamps and stuff

this commit also adds pane and window swapping keybinds
2022-03-03 17:41:01 -05:00
a8d3faea4f fix some broken beef dependencies
this fix depends on some bits of nixpkgs, so it is unlikely to be able
to be merged back with upstream nur
2022-02-26 21:40:14 -05:00
ee5f457c2f add beef via nur
this commit adds the nur as a git submodule
2022-02-26 20:39:12 -05:00
b1f3cb0754 add snowman
and jq + jo too
2022-02-26 18:55:08 -05:00
43726b8524 add dnschef and clamav 2022-02-26 15:17:43 -05:00
d1050c7b98 add spyre 2022-02-26 15:10:07 -05:00
8009d01ab3 add yara 2022-02-26 15:04:56 -05:00
7f0c6ab8cc add more packages 2022-02-19 12:55:10 -05:00
64ad87822b remove volitility
temporarily fixes #1

volitility has a broken dependency on python2Packages.distorm3
2022-02-19 11:51:22 -05:00
aa8683f68d add sleuthkit 2022-02-19 11:41:08 -05:00
b61201ad48 pyrit and ino are no longer in nixpkgs 2022-02-19 11:29:12 -05:00
10 changed files with 869 additions and 28 deletions

1
.gitignore vendored
View file

@ -3,4 +3,5 @@
result
result/*
Gemfile.lock

3
.gitmodules vendored Normal file
View file

@ -0,0 +1,3 @@
[submodule "nur-packages"]
path = nur-packages
url = https://github.com/makefu/nur-packages

View file

@ -42,8 +42,7 @@ with lib;
isNormalUser = true;
extraGroups = [ "wheel" "networkmanager" "video" "libvirt" "docker" ];
openssh.authorizedKeys.keys = [ "ssh-ed25519 AAAAC3NzaC1lZDI1N
TE5AAAAIDBUk5IjB3+trnVO6pncivFbOetUL8BPTl3CwAtk4532 xfnw@raven" ];
openssh.authorizedKeys.keys = [ "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIDBUk5IjB3+trnVO6pncivFbOetUL8BPTl3CwAtk4532 xfnw@raven" ];
};
security.sudo.wheelNeedsPassword = false;
@ -61,45 +60,46 @@ TE5AAAAIDBUk5IjB3+trnVO6pncivFbOetUL8BPTl3CwAtk4532 xfnw@raven" ];
wget vim tmux gnupg ncdu mosh
git curl rsync wireguard-tools
w3m lynx elinks ungoogled-chromium
inetutils dnsutils dnsx whois
inetutils dnsutils dnsx whois jo jq
# network analysis
nmap masscan wireshark termshark netsniff-ng argus bettercap
stress-ng multimon-ng aircrack-ng mfcuk pixiewps nuclei
hcxtools dirb sslsplit whsniff sniffglue pwnat
subfinder zap hping proxychains minimodem
gnirehtet # reverse android tethering
nmap masscan wireshark wireshark-qt termshark netsniff-ng argus
bettercap stress-ng multimon-ng aircrack-ng mfcuk pixiewps nuclei
hcxtools dirb sslsplit whsniff sniffglue pwnat cutecom minicom
subfinder zap hping proxychains minimodem macchanger testssl
gnirehtet whatweb # cadaver
# research
theharvester tor
# disk analysis
testdisk squashfs-tools-ng ddrescue volatility
testdisk squashfs-tools-ng ddrescue yara yarGen yallback
stegseek apktool adbfs-rootless ursadb android-udev-rules
valgrind dos2unix file exiftool foremost pngcheck
docker xcd trufflehog
valgrind dos2unix file exiftool foremost pngcheck ccrypt
docker xcd trufflehog sleuthkit radare2 radare2-cutter
clamav spyre snowman jadx ghidra # volatility
# exploit
doona metasploit twa wifite2 burpsuite wpscan wfuzz
sqlmap thc-hydra (callPackage ./pkgs/routersploit.nix { })
dsniff
dsniff (callPackage ./pkgs/beef { }) dnschef
# crack
hashcat mfoc pyrit john crunch diceware crowbar
cowpatty bully deepsea reaverwps amass medusa
hashcat mfoc john crunch diceware crowbar # pyrit
cowpatty bully deepsea reaverwps amass medusa nasty
(callPackage ./pkgs/cupp.nix { })
# security scan
lynis chkrootkit
lynis chkrootkit aflplusplus
# development
arduino python3Packages.pip ino
arduino python3Packages.pip # ino
# python3 packages
python3 python3Packages.bluepy python3Packages.future
python3Packages.requests python3Packages.paramiko python3Packages.pysnmp
python3Packages.pycryptodome python3Packages.setuptools
python3Packages.binwalk
python3Packages.binwalk python3Packages.sqlmap
# disclosure
catgirl tmate
@ -109,12 +109,11 @@ TE5AAAAIDBUk5IjB3+trnVO6pncivFbOetUL8BPTl3CwAtk4532 xfnw@raven" ];
"tmux.conf" = {
text = ''
set-option -g default-terminal "tmux-256color"
set-option -g mouse on
set-option -g history-limit 20000
set-option -g focus-events on
set-option -g xterm-keys on
set-option -g set-titles on
set-option -g set-titles-string "tmux - #t"
set-option -g set-titles-string "tmux - #T"
set-option -g escape-time 25
set-option -g status-left-style "fg=colour10"
set-option -g status-right-style "fg=colour10"
@ -128,16 +127,22 @@ TE5AAAAIDBUk5IjB3+trnVO6pncivFbOetUL8BPTl3CwAtk4532 xfnw@raven" ];
set-option -g status-interval 5
set-option -g status-position top
set-option -g status-justify left
set-option -g window-status-format " #i #w "
set-option -g window-status-format " #I #W "
set-option -g window-status-separator ""
set-option -g window-status-current-format " #i #w "
set-option -g window-status-current-format " #I #W "
set-option -g status-left ""
set-option -g status-right "#h %i:%m %p"
set-option -g status-right "#h %I:%M %p"
set-option -g status-left-length 0
set-option -g monitor-activity on
set-option -g visual-activity on
set-option -g renumber-windows on
set-option -g focus-events on
bind N swap-window -t +1 -d
bind P swap-window -t -1 -d
bind S-Left swap-pane -s '{left-of}'
bind S-Right swap-pane -s '{right-of}'
bind S-Up swap-pane -s '{up-of}'
bind S-Down swap-pane -s '{down-of}'
'';
};
"vimrc" = {

View file

@ -83,6 +83,8 @@ chain some proxies
brrr, time for some dialup
.It gnirehtet
reverse android tethering
.It whatweb
fingerprint http services
.El
.
.Ss Research
@ -101,14 +103,24 @@ recover deleted innodes, recover data
manipulate a squashfs
.It ddrescue
copy data from dying disk
.It volatility
memory forsenics framework
.It yara
identify and classify malware
.It spyre
IOC scanner
.It snowman
C/C++ decompiler
.\".It volatility
.\"memory forsenics framework
.It stegseek
seek for stegnografy in images
.It apktool
inspect apk files
.It jadx
decompile dex (the stuff in apks) files to java
.It adbfs-rootless
mount android phones on linux
.It ghidra
reverse engineering suite made by the NSA
.It ursadb
database for indexing malware
.It android-udev-rules
@ -131,6 +143,10 @@ run containers and stuff
lovely hexdump utility
.It trufflehog
search through git histories
.It sleuthkit
a collection of digital forensics tools
.It clamav
antivirus engine
.El
.
.Ss Exploits
@ -158,6 +174,8 @@ test for common router vulnerabilities. needs to be run in a
.Cm nix-shell -p
.It dsniff
network auditing and penetration testing
.It dnschef
DNS proxy for penetration testing
.El
.
.Ss Crackers
@ -168,8 +186,8 @@ john the ripper, very nice hash cracker
another hash cracker
.It mfoc
mifare classic offline cracker
.It pyrit
gpu WPA/WPA2 hash cracker
.\".It pyrit
.\"gpu WPA/WPA2 hash cracker
.It crunch
generate wordlists
.It diceware
@ -206,8 +224,8 @@ search for rootkits
arduino ide
.It python3Packages.pip
install python packages from pypi
.It ino
command line arduino toolkit
.\".It ino
.\"command line arduino toolkit
.El
.
.Ss Disclosure

1
nur-packages Submodule

@ -0,0 +1 @@
Subproject commit 272cf1ad3b3da0e30b5435f2425f39bed616b080

105
pkgs/beef/Gemfile Normal file
View file

@ -0,0 +1,105 @@
# BeEF's Gemfile
#
# Copyright (c) 2006-2018 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', '~> 2.0'
gem 'rack', '~> 2.0'
gem 'rack-protection', '~> 2.0'
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 'rake'
# 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'
gem 'xmlrpc'
end
# Notifications extension
group :ext_notifications do
# Pushover
gem 'rushover'
# Slack
gem 'slack-notifier'
# Twitter
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 'test-unit'
gem 'test-unit-full'
gem 'rspec'
# curb gem requires curl libraries
# sudo apt-get install libcurl4-openssl-dev
gem 'curb'
# selenium-webdriver 3.x is incompatible with Firefox version 48 and prior
gem 'selenium'
gem 'selenium-webdriver', '~> 2.53.4'
# 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'
gem 'byebug'
end
end
source 'https://rubygems.org'

View file

@ -0,0 +1,39 @@
--- /beef 2018-08-16 19:03:55.199437566 +0200
+++ /beef 2018-08-16 19:27:34.735985233 +0200
@@ -110,9 +110,20 @@
#
# @note Database setup - use DataMapper::Logger.new($stdout, :debug) for development debugging
#
+
+#
+# @note Create ~/.beef/
+#
+begin
+ FileUtils.mkdir_p($home_dir) unless File.directory?($home_dir)
+rescue => e
+ print_error "Could not create '#{$home_dir}': #{e.message}"
+end
+
case config.get("beef.database.driver")
when "sqlite"
- DataMapper.setup(:default, "sqlite3://#{$root_dir}/#{config.get("beef.database.db_file")}")
+ print_info "Using Database #{$home_dir}/#{config.get("beef.database.db_file")}"
+ DataMapper.setup(:default, "sqlite3://#{$home_dir}/#{config.get("beef.database.db_file")}")
when "mysql", "postgres"
DataMapper.setup(:default,
:adapter => config.get("beef.database.driver"),
@@ -162,14 +173,6 @@
BeEF::Core::Console::Banners.print_network_interfaces_count
BeEF::Core::Console::Banners.print_network_interfaces_routes
-#
-# @note Create ~/.beef/
-#
-begin
- FileUtils.mkdir_p($home_dir) unless File.directory?($home_dir)
-rescue => e
- print_error "Could not create '#{$home_dir}': #{e.message}"
-end
#
# @note Check whether we load the Console Shell or not

45
pkgs/beef/default.nix Normal file
View file

@ -0,0 +1,45 @@
{ pkgs, stdenv, bundlerEnv, ruby, fetchFromGitHub, nodejs }:
# 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-2018-09-21";
src = fetchFromGitHub {
owner = "beefproject";
repo = "beef";
rev = "d237c95";
sha256 = "1mykbjwjcbd2a18wycaf35hi3b9rmvqz1jnk2v55sd4c39f0jpf2";
};
prePatch = ''
ls -alhtr
'';
patches = [ ./db-in-homedir.patch ];
buildInputs = [gems pkgs.rubyPackages.nokogiri 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
PATH=$PATH:${nodejs}/bin/
exec ${gems}/bin/bundle exec ${ruby}/bin/ruby $out/share/beef/beef "\$@"
EOF
chmod +x $bin
'';
#meta = with stdenv.lib; {
# homepage = https://beefproject.com/;
# description = "The Browser Exploitation Framework";
# platforms = platforms.linux;
# maintainers = with maintainers; [ makefu ];
#};
}

608
pkgs/beef/gemset.nix Normal file
View file

@ -0,0 +1,608 @@
{
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";
};
buftok = {
source = {
remotes = ["https://rubygems.org"];
sha256 = "1rzsy1vy50v55x9z0nivf23y0r9jkmq6i130xa75pq9i8qrn1mxs";
type = "gem";
};
version = "0.2.0";
};
chunky_png = {
source = {
remotes = ["https://rubygems.org"];
sha256 = "05g2xli9wbjylkmblln3bhvjalziwb92q452q8ibjagmb853424w";
type = "gem";
};
version = "1.3.10";
};
daemons = {
source = {
remotes = ["https://rubygems.org"];
sha256 = "0lxqq6dgb8xhliywar2lvkwqy2ssraf9dk4b501pb4ixc2mvxbp2";
type = "gem";
};
version = "1.2.6";
};
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";
};
domain_name = {
dependencies = ["unf"];
source = {
remotes = ["https://rubygems.org"];
sha256 = "0abdlwb64ns7ssmiqhdwgl27ly40x2l27l8hs8hn0z4kb3zd2x3v";
type = "gem";
};
version = "0.5.20180417";
};
em-websocket = {
dependencies = ["eventmachine" "http_parser.rb"];
source = {
remotes = ["https://rubygems.org"];
sha256 = "1bsw8vjz0z267j40nhbmrvfz7dvacq4p0pagvyp17jif6mj6v7n3";
type = "gem";
};
version = "0.5.1";
};
equalizer = {
source = {
remotes = ["https://rubygems.org"];
sha256 = "1kjmx3fygx8njxfrwcmn7clfhjhb6bvv3scy2lyyi0wqyi3brra4";
type = "gem";
};
version = "0.0.11";
};
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 = "1if16n4pjl2kshc0cqg7i03m55fspmlca6p9f4r66rpzw0v4d6jc";
type = "gem";
};
version = "1.6.4";
};
http = {
dependencies = ["addressable" "http-cookie" "http-form_data" "http_parser.rb"];
source = {
remotes = ["https://rubygems.org"];
sha256 = "1jlm5prw437wqpfxcigh88lfap3m7g8mnmj5as7qw6dzqnvrxwmc";
type = "gem";
};
version = "3.3.0";
};
http-cookie = {
dependencies = ["domain_name"];
source = {
remotes = ["https://rubygems.org"];
sha256 = "004cgs4xg5n6byjs7qld0xhsjq3n6ydfh897myr2mibvh6fjc49g";
type = "gem";
};
version = "1.0.3";
};
http-form_data = {
source = {
remotes = ["https://rubygems.org"];
sha256 = "15lpn604byf7cyxnw949xz4rvpcknqp7a48q73nm630gqxsa76f3";
type = "gem";
};
version = "2.1.1";
};
"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";
};
memoizable = {
dependencies = ["thread_safe"];
source = {
remotes = ["https://rubygems.org"];
sha256 = "0v42bvghsvfpzybfazl14qhkrjvx0xlmxz0wwqc960ga1wld5x5c";
type = "gem";
};
version = "0.4.2";
};
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 = "0fjxy1jm52ixpnv3vg9ld9pr9f35gy0jp66i1njhqjvmnvq0iwwk";
type = "gem";
};
version = "3.2.2";
};
mime-types-data = {
source = {
remotes = ["https://rubygems.org"];
sha256 = "07wvp0aw2gjm4njibb70as6rh5hi1zzri5vky1q6jx95h8l56idc";
type = "gem";
};
version = "3.2018.0812";
};
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 = "09xy1wc4wfbd1jdrzgxwmqjzfdfxbz0cqdszq2gv6rmc3gv1c864";
type = "gem";
};
version = "1.2.4";
};
multi_json = {
source = {
remotes = ["https://rubygems.org"];
sha256 = "1rl0qy4inf1mp8mybfk56dfga0mvx97zwpmq5xmiwl5r770171nv";
type = "gem";
};
version = "1.13.1";
};
multipart-post = {
source = {
remotes = ["https://rubygems.org"];
sha256 = "09k0b3cybqilk1gwrwwain95rdypixb2q9w65gd44gfzsd84xi1x";
type = "gem";
};
version = "2.0.0";
};
mustermann = {
source = {
remotes = ["https://rubygems.org"];
sha256 = "07sb7fckrraqh48fjnqf6yl7vxxabfx0qrsrhfdz67pd838g4k8g";
type = "gem";
};
version = "1.0.2";
};
naught = {
source = {
remotes = ["https://rubygems.org"];
sha256 = "1wwjx35zgbc0nplp8a866iafk4zsrbhwwz4pav5gydr2wm26nksg";
type = "gem";
};
version = "1.1.0";
};
netrc = {
source = {
remotes = ["https://rubygems.org"];
sha256 = "0gzfmcywp1da8nzfqsql2zqi648mfnx6qwkig3cv36n9m0yy676y";
type = "gem";
};
version = "0.11.0";
};
parseconfig = {
source = {
remotes = ["https://rubygems.org"];
sha256 = "0br2g9k6zc4ygah52aa8cwvpnnkszia29bnvnr8bhpk3rdzi2vmq";
type = "gem";
};
version = "1.0.8";
};
public_suffix = {
source = {
remotes = ["https://rubygems.org"];
sha256 = "08q64b5br692dd3v0a9wq9q5dvycc6kmiqmjbdxkxbfizggsvx6l";
type = "gem";
};
version = "3.0.3";
};
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 = "158hbn7rlc3czp2vivvam44dv6vmzz16qrh5dbzhfxbfsgiyrqw1";
type = "gem";
};
version = "2.0.5";
};
rack-protection = {
dependencies = ["rack"];
source = {
remotes = ["https://rubygems.org"];
sha256 = "1z5598qipilmnf45428jnxi63ykrgvnyywa5ckpr52zv2vpd8jdp";
type = "gem";
};
version = "2.0.3";
};
rainbow = {
source = {
remotes = ["https://rubygems.org"];
sha256 = "0bb2fpjspydr6x0s8pn1pqkzmxszvkfapv0p4627mywl7ky4zkhk";
type = "gem";
};
version = "3.0.0";
};
rake = {
source = {
remotes = ["https://rubygems.org"];
sha256 = "1idi53jay34ba9j68c3mfr9wwkg3cd9qh0fn9cg42hv72c6q8dyg";
type = "gem";
};
version = "12.3.1";
};
rb-readline = {
source = {
remotes = ["https://rubygems.org"];
sha256 = "14w79a121czmvk1s953qfzww30mqjb2zc0k9qhi0ivxxk3hxg6wy";
type = "gem";
};
version = "0.5.5";
};
rest-client = {
dependencies = ["http-cookie" "mime-types" "netrc"];
source = {
remotes = ["https://rubygems.org"];
sha256 = "1hzcs2r7b5bjkf2x2z3n8z6082maz0j8vqjiciwgg3hzb63f958j";
type = "gem";
};
version = "2.0.2";
};
rex = {
dependencies = ["filesize" "jsobfu" "json" "metasm" "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";
};
rushover = {
dependencies = ["json" "rest-client"];
source = {
remotes = ["https://rubygems.org"];
sha256 = "0j6x61drcdfnbvgmkmrc92zw67acpfcz5h1a29sdf884zkwd1444";
type = "gem";
};
version = "0.3.0";
};
simple_oauth = {
source = {
remotes = ["https://rubygems.org"];
sha256 = "0dw9ii6m7wckml100xhjc6vxpjcry174lbi9jz5v7ibjr3i94y8l";
type = "gem";
};
version = "0.3.1";
};
sinatra = {
dependencies = ["mustermann" "rack" "rack-protection" "tilt"];
source = {
remotes = ["https://rubygems.org"];
sha256 = "1kyi55q4k4idv31h7l53hw0mnh50dwwrrsfm35j52jy7fc993m9r";
type = "gem";
};
version = "2.0.3";
};
slack-notifier = {
source = {
remotes = ["https://rubygems.org"];
sha256 = "1pkfn99dhy5s526r6k8d87fwwb6j287ga9s7lxqmh60z28xqh3bv";
type = "gem";
};
version = "2.3.2";
};
term-ansicolor = {
dependencies = ["tins"];
source = {
remotes = ["https://rubygems.org"];
sha256 = "1b1wq9ljh7v3qyxkk8vik2fqx2qzwh5lval5f92llmldkw7r7k7b";
type = "gem";
};
version = "1.6.0";
};
thin = {
dependencies = ["daemons" "eventmachine" "rack"];
source = {
remotes = ["https://rubygems.org"];
sha256 = "0nagbf9pwy1vg09k6j4xqhbjjzrg5dwzvkn4ffvlj76fsn6vv61f";
type = "gem";
};
version = "1.7.2";
};
thread_safe = {
source = {
remotes = ["https://rubygems.org"];
sha256 = "0nmhcgq6cgz44srylra07bmaw99f5271l0dpsvl5f75m44l0gmwy";
type = "gem";
};
version = "0.3.6";
};
tilt = {
source = {
remotes = ["https://rubygems.org"];
sha256 = "0020mrgdf11q23hm1ddd6fv691l51vi10af00f137ilcdb2ycfra";
type = "gem";
};
version = "2.0.8";
};
tins = {
source = {
remotes = ["https://rubygems.org"];
sha256 = "0g95xs4nvx5n62hb4fkbkd870l9q3y9adfc4h8j21phj9mxybkb8";
type = "gem";
};
version = "1.16.3";
};
twitter = {
dependencies = ["addressable" "buftok" "equalizer" "http" "http-form_data" "http_parser.rb" "memoizable" "multipart-post" "naught" "simple_oauth"];
source = {
remotes = ["https://rubygems.org"];
sha256 = "0fjyz3viabz3xs5d9aad18zgdbhfwm51jsnzigc8kxk77p1x58n5";
type = "gem";
};
version = "6.2.0";
};
uglifier = {
dependencies = ["execjs"];
source = {
remotes = ["https://rubygems.org"];
sha256 = "14r283lkhisq2sdccv8ngf10f2f18ly4nc3chz3kliw5nylbgznw";
type = "gem";
};
version = "4.1.18";
};
unf = {
dependencies = ["unf_ext"];
source = {
remotes = ["https://rubygems.org"];
sha256 = "0bh2cf73i2ffh4fcpdn9ir4mhq8zi50ik0zqa1braahzadx536a9";
type = "gem";
};
version = "0.1.4";
};
unf_ext = {
source = {
remotes = ["https://rubygems.org"];
sha256 = "06p1i6qhy34bpb8q8ms88y6f2kz86azwm098yvcc0nyqk9y729j1";
type = "gem";
};
version = "0.0.7.5";
};
xmlrpc = {
source = {
remotes = ["https://rubygems.org"];
sha256 = "1s744iwblw262gj357pky3d9fcx9hisvla7rnw29ysn5zsb6i683";
type = "gem";
};
version = "0.3.0";
};
}

16
pkgs/beef/shell.nix Normal file
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
];
}