Skip to content

Latest commit

 

History

History
155 lines (136 loc) · 5.52 KB

README.md

File metadata and controls

155 lines (136 loc) · 5.52 KB

Dockerized development environment

General information

This project helps create Linux userspace development environment in docker contaner. For image building you can use make command. You can choose: base OS (Ubuntu or Debian), architecture (amd64/i386), version of base OS(for Ubuntu - 18.04/20.04/22.04/...) Pay attention not all combination will work well. It depends from availability of suitable base image.

On base image are installed radare2+r2ghidra, pwndbg, pwntools. If full image for needed OS+architecture+version couldn't be compiled, you can use light image, whicn has base software + gdbserver only.

Pay attention, debugging works for amd64/i386 only, for ather architectires wors only statical disassembling.

included software

  • pwntools —— CTF framework and exploit development library
  • pwndbg —— a GDB plug-in that makes debugging with GDB suck less, with a focus on features needed by low-level software developers, hardware hackers, reverse-engineers and exploit developers
  • pwngdb —— gdb for pwn
  • ROPgadget —— facilitate ROP exploitation tool
  • roputils —— A Return-oriented Programming toolkit
  • one_gadget —— A searching one-gadget of execve('/bin/sh', NULL, NULL) tool for amd64 and i386
  • angr —— A platform-agnostic binary analysis framework
  • radare2 —— A rewrite from scratch of radare in order to provide a set of libraries and tools to work with binary files
  • seccomp-tools —— Provide powerful tools for seccomp analysis
  • tmux —— a terminal multiplexer
  • ltrace —— trace library function call
  • strace —— trace system call
  • frida —— Dynamic instrumentation toolkit for developers, reverse-engineers, and security researchers.

Using

Image building

amd64, Ubuntu, latest version, radare2 5.6.8 (default version)

make build

amd64, Debian, latest latest, radare2 5.6.8 (default version)

OS=Debian make build

amd64, Ubuntu, 18.04, radare2 5.6.8 (default version)

VERSION=18.04 make build

amd64, Debian, 9.0, radare2 5.6.8 (default version)

OS=Debian VERSION=9.0 make build

i386, Ubuntu, latest version, radare2 5.6.8 (default version)

ARCH=i386 make build

i386, Debian, latest latest, radare2 5.6.8 (default version)

ARCH=i386 OS=Debian make build, radare2 5.6.8

i386, Ubuntu, 18.04, radare2 5.6.8 (default version)

ARCH=i386 VERSION=18.04 make build

i386, Debian, 9.0, radare2 5.6.8 (default version)

ARCH=i386 OS=Debian VERSION=9.0 make build

Container running

From project folder

amd64, Ubuntu, latest version, radare2 5.6.8 (default version)

make run

amd64, Debian, latest latest, radare2 5.6.8 (default version)

OS=Debian make run

amd64, Ubuntu, 18.04, radare2 5.6.8 (default version)

VERSION=18.04 make run

amd64, Debian, 9.0, radare2 5.6.8 (default version)

OS=Debian VERSION=9.0 make run

i386, Ubuntu, latest version, radare2 5.6.8 (default version)

ARCH=i386 make run

i386, Debian, latest latest, radare2 5.6.8 (default version)

ARCH=i386 OS=Debian make run

i386, Ubuntu, 18.04, radare2 5.6.8 (default version)

ARCH=i386 VERSION=18.04 make run

i386, Debian, 9.0, radare2 5.6.8 (default version)

ARCH=i386 OS=Debian VERSION=9.0 make run

By docker

amd64, Ubuntu, latest version, radare2 5.6.8 (default version)

docker run --rm -v $(pwd)/test:/work_dir --network=host -it luckycatalex/dev_environment:amd64-ubuntu-latest-5.6.8

amd64, Debian, latest latest, radare2 5.6.8 (default version)

docker run --rm -v $(pwd)/test:/work_dir --network=host -it luckycatalex/dev_environment:amd64-debian-latest-5.6.8

amd64, Ubuntu, 18.04, radare2 5.6.8 (default version)

docker run --rm -v $(pwd)/test:/work_dir --network=host -it luckycatalex/dev_environment:amd64-ubuntu-18.04-5.6.8

amd64, Debian, 9.0, radare2 5.6.8 (default version)

docker run --rm -v $(pwd)/test:/work_dir --network=host -it luckycatalex/dev_environment:amd64-debian-9.0-5.6.8

i386, Ubuntu, latest version, radare2 5.6.8 (default version)

docker run --rm -v $(pwd)/test:/work_dir --network=host -it luckycatalex/dev_environment:i386-ubuntu-latest-5.6.8

i386, Debian, latest latest, radare2 5.6.8 (default version)

docker run --rm -v $(pwd)/test:/work_dir --network=host -it luckycatalex/dev_environment:i386-debian-latest-5.6.8

i386, Ubuntu, 18.04, radare2 5.6.8 (default version)

docker run --rm -v $(pwd)/test:/work_dir --network=host -it luckycatalex/dev_environment:i386-ubuntu-18.04-5.6.8

i386, Debian, 9.0, radare2 5.6.8 (default version)

docker run --rm -v $(pwd)/test:/work_dir --network=host -it luckycatalex/dev_environment:i386-debian-9.0-5.6.8

Nonintel architecture

Supported architectures: (more info) amd64, arm32v7, arm64v8, i386, ppc64le, riscv64, s390x

Imported

Debugging doesn't work in multiarch containers

Changelog

2002.05.24 - Was added frida, frida-tools for python and r2frida plugin 2002.05.26 - Was added nonintel dev environment containers