Skip to content
This repository was archived by the owner on Nov 14, 2022. It is now read-only.

debian 9 instructions

Manoel Domingues Junior edited this page Aug 17, 2019 · 1 revision

Compiling static binaries

Setup the environment.

vagrant init debian/contrib-stretch64
vagrant up

Create a folder:

cd /vagrant
mkdir -p audit/src
mkdir -p audit/bin
apt-get  install dpkg-dev texinfo
cd audit/src

Coreutils

apt-get source coreutils
cd audit/src/coreutils...
./configure
make CC="gcc -static -std=gnu99"

Copy binaries

cp src/cut "/vagrant/audit/bin/"
cp src/echo "/vagrant/audit/bin/"
cp src/head "/vagrant/audit/bin/"
cp src/id "/vagrant/audit/bin/"
cp src/ls "/vagrant/audit/bin/"

cp src/cat "/vagrant/audit/bin/"
cp src/chmod "/vagrant/audit/bin/"
cp src/chown "/vagrant/audit/bin/"
cp src/cp "/vagrant/audit/bin/"
cp src/dd "/vagrant/audit/bin/"
cp src/df "/vagrant/audit/bin/"
cp src/du "/vagrant/audit/bin/"
cp src/ln "/vagrant/audit/bin/"
cp src/md5sum "/vagrant/audit/bin/"
cp src/mkdir "/vagrant/audit/bin/"
cp src/mknod "/vagrant/audit/bin/"
cp src/mv "/vagrant/audit/bin/"
cp src/pwd "/vagrant/audit/bin/"
cp src/readlink "/hom/vagrant/audit/bin/"
cp src/rm "/vagrant/audit/bin/"
cp src/stat "/vagrant/audit/bin/"
cp src/sha512sum "/vagrant/audit/bin/"
cp src/su "/vagrant/audit/bin/"
cp src/tail "/vagrant/audit/bin/"
cp src/touch "/vagrant/audit/bin/"
cp src/uname "/vagrant/audit/bin/"
cp src/wc "/vagrant/audit/bin/"
cp src/who "/vagrant/audit/bin/"

procps

cd audit/src
apt-get install libncurses-dev automake gettext autopoint libtool
apt-get install -y -qq autopoint autoconf automake libtool-bin gettext libncursesw5-dev dejagnu libnuma-dev libsystemd-dev
apt-get source procps
cd procps...
cp include/*.h .
 ./configure --enable-static
make 
cp "free" "/vagrant/audit/bin/"
cp "kill" "/vagrant/audit/bin/"
cp ps/.libs/pscommand /vagrant/audit/bin/ps
cp top/top "/vagrant/audit/bin/"
cp ".libs/uptime" "/vagrant/audit/bin/" 
cp ".libs/vmstat" "/vagrant/audit/bin/" 
cp ".libs/w" "/vagrant/audit/bin/" 

net-tools (DEPRECATED)

https://dougvitale.wordpress.com/2011/12/21/deprecated-linux-networking-commands-and-their-replacements/

cd audit/src
apt-get source net-tools
cd net-tools....
sed -i 's@default:@&\n break;@' lib/inet_sr.c 
make config
sed -i 's|#define HAVE_AFX25 1|#define HAVE_AFX25 0|' config.h
sed -i 's|#define HAVE_HWX25 1|#define HAVE_HWX25 0|'  config.h

cp "arp" "/home/vagrant/audit/bin/"
cp "ifconfig" "/home/vagrant/audit/bin/"
cp "netstat" "/home/vagrant/audit/bin/"
cp "route" "/home/vagrant/audit/bin/"

awk

apt-get source gawk
cd gawk…
LDFLAGS="-static" sh ./configure
make LDFLAGS="-static" 

This make can fail, but binary is generated.

Makefile:742: recipe for target 'all-recursive' failed
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory '/vagrant/audit/src/gawk-4.1.4+dfsg'
Makefile:562: recipe for target 'all' failed
make: *** [all] Error 2
cp "gawk" "/vagrant/audit/bin/"
cp "gawk" "/vagrant/audit/bin/awk"

grep

apt-get source grep
cd grep…
autoreconf -if
CC="gcc -static" ./configure
make
cp "src/grep" /vagrant/audit/bin/
cp "src/egrep" /vagrant/audit/bin/

lsof

apt-get   source lsof
cd lsof...
./Configure -n linux 
make CC="gcc -static"
cp "lsof" /vagrant/audit/bin/

strace

apt-get   source strace
cd strace...
./configure 
make CC="gcc -static" 
cp "strace" /vagrant/audit/bin/

sed

apt-get   source sed
cd sed…
./configure
make CC="gcc -static"
cp "sed/sed" /vagrant/audit/bin/

netcat

apt-get   source netcat
cd netcat…
sed -i 1i"#include \"resolv.h\"" netcat.c
netcat.c 1809 -> change " DEBIAN_VERSION “
make linux CC="gcc -static"
cp "nc" /vagrant/audit/bin/

strings (binutils)

apt-get source binutils
cd binutils…
./configure 
make LDFLAGS="-all-static"
cp "binutils/strings" /vagrant/audit/bin/

find (findutils)

apt-get   source findutils
cd findutils...
./configure
make CC="gcc -static"
cp "find/find" /vagrant/audit/bin/
cp "locate/locate" /vagrant/audit/bin/
cp "xargs/xargs" /vagrant/audit/bin/

chkrootkit

Modify Makefile to ensure all binaries using -static flag at compilation time.

make sense
cp check_wtmpx /vagrant/audit/bin/
cp ifpromisc /vagrant/audit/bin/
cp chkdirs /vagrant/audit/bin/
cp chklastlog /vagrant/audit/bin/
cp chkproc /vagrant/audit/bin/
cp chkutmp /vagrant/audit/bin/
cp chkwtmp /vagrant/audit/bin/
cp chkrootkit /vagrant/audit/bin/

mac-robber

apt-get  source  mac-robber
cd mac-robber…
make

References