Skip to content

Instantly share code, notes, and snippets.

@anvbis
Last active February 27, 2023 07:56
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save anvbis/823e148e3e555177c8c126d573681750 to your computer and use it in GitHub Desktop.
Save anvbis/823e148e3e555177c8c126d573681750 to your computer and use it in GitHub Desktop.
pwn.nix
source 'https://rubygems.org' do
gem 'seccomp-tools'
end
GEM
specs:
GEM
remote: https://rubygems.org/
specs:
os (1.1.4)
seccomp-tools (1.5.0)
os (~> 1.1, >= 1.1.1)
PLATFORMS
x86_64-linux
DEPENDENCIES
seccomp-tools!
BUNDLED WITH
2.4.6
{
os = {
groups = ["default"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "0gwd20smyhxbm687vdikfh1gpi96h8qb1x28s2pdcysf6dm6v0ap";
type = "gem";
};
version = "1.1.4";
};
seccomp-tools = {
dependencies = ["os"];
groups = ["default"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "1dypv7dcp5nzk9a4asj8m7l70p0nkv4h12d68m3d4ysinxpvs5nl";
type = "gem";
};
version = "1.5.0";
};
}
{
pkgs ? import (builtins.fetchTarball {
name = "nixos-22.11";
url = "https://github.com/NixOS/nixpkgs/archive/refs/tags/22.11.tar.gz";
sha256 = "11w3wn2yjhaa5pv20gbfbirvjq6i3m7pqrq2msf0g7cv44vijwgw";
}) {}
}:
let
pwntools-pwndbg = pkgs.python3Packages.pwntools.override({
debugger = pkgs.pwndbg;
});
pwntools-terminal = (pkgs.writeShellScriptBin
"pwntools-terminal"
"${pkgs.st}/bin/st -e sh -c $@"
);
python-packages = (pkgs.python3.withPackages(p: with p; [
z3
angr
unicorn
qiling
pwntools-pwndbg
])).override (args: {
ignoreCollisions = true;
});
ropr = (pkgs.rustPlatform.buildRustPackage rec {
pname = "ropr";
version = "0.2.23";
src = pkgs.fetchFromGitHub {
owner = "Ben-Lichtman";
repo = pname;
rev = version;
sha256 = "aclCZ1Ef8y5vYJElnTp9lVgFwj4X1KmXTkt4Optomkc=";
};
cargoSha256 = "z9ugYkcVrdw3NaZ7Cz9vZB3ysXCSgwmA41B8OIms+u0=";
});
seccomp-tools = (pkgs.bundlerEnv {
name = "seccomp-tools";
gemdir = ./.;
exes = [ "seccomp-tools" ];
});
in pkgs.stdenv.mkDerivation rec {
name = "pwn";
version = "0.1.0";
buildInputs = [
# fuzzing
pkgs.aflplusplus
# utility
pkgs.binutils
pkgs.patchelf
pkgs.capstone
pkgs.musl
# miscellaneous
pkgs.nasm
pkgs.xxd
pkgs.netcat
pkgs.curl
pkgs.wget
# virtualisation
pkgs.qemu
# debugging
pkgs.strace
pkgs.bpftrace
pkgs.gdb
pkgs.pwndbg
pkgs.rr
pkgs.radare2
# pwning
pkgs.pwninit
pkgs.one_gadget
ropr
seccomp-tools
# terminal
pkgs.st
pwntools-terminal
python-packages
];
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment