cyberchallenge-modem/build-tgr.sh

74 lines
2.3 KiB
Bash
Raw Normal View History

#!/usr/bin/env bash
# for dependencies
# apt install -t build-essential libncurses-dev bison flex libssl-dev libelf-dev
#if [ $# -ne 3 ]
# then
# echo "No arguments supplied"
#fi
#flag1=$1
#flag2=$2
flag1="cc{prima_flag}"
flag2="cc{seconda_flag}"
password=`hexdump -n 32 -e '4/4 "%08X"' /dev/urandom`
echo "[+] Starting build script..."
mkdir -p target/overlay/var/www/html
echo "[+] Cloning buildroot"
git clone https://github.com/buildroot/buildroot.git target/buildroot
echo "[+] Adding customization files"
cp -R buildroot/* target/buildroot # copy buildroot configs
2020-09-08 15:45:53 +02:00
sed -i "s/###ROOTPASSWORD###/$password/g" target/buildroot/configs/tiesse_tgr_defconfig
cp -R conf/* target/overlay # copy target system config files
cp -R webpanel/* target/overlay/var/www/html # copy the webpanel
cp -R update/update.sh target/overlay #copy the update script and certificate
2020-09-16 21:54:34 +02:00
echo "[+] Adding firmware"
mkdir -p target/overlay/lib
cp -R firmware target/overlay/lib/ # adding binary firmware for wifi driver
echo "[+] Writing flags"
sed -i "s/##FLAG1##/$flag1/g" target/overlay/var/www/html/includes/config.php
echo $flag2 > target/overlay/flag
chmod 444 target/overlay/flag
echo "[+] Building the keygen"
mkdir -p target/overlay/usr/sbin
2020-09-08 15:44:25 +02:00
aarch64-linux-gnu-gcc -o target/overlay/usr/sbin/cfgbin keygen/keygen.c -static -lm
2020-09-16 21:54:34 +02:00
aarch64-linux-gnu-strip target/overlay/usr/sbin/cfgbin
echo "[+] Generating Update Key"
mkdir -p target/keys
openssl genrsa -out target/keys/signingkey.pem 2048
openssl rsa -in target/keys/signingkey.pem -outform PEM -pubout -out target/keys/signingpub.pem
cp target/keys/signingpub.pem target/overlay/pub.pem
2020-09-21 01:15:04 +02:00
echo "[+] Generating sample update package"
mkdir -p home/upgrade
echo "sample update" > home/upgrade/sample.txt
tar -cvf update.tar home
openssl dgst -sha256 -sign target/keys/signingkey.pem -out update.tar.sig update.tar
cat update.tar > update.tar.cc
cat update.tar.sig >> update.tar.cc
mv update.tar.cc target/overlay
rm -rf home update.tar update.tar.sig
2020-09-21 01:15:04 +02:00
echo "[+] Generating Monitoring SSH Key"
ssh-keygen -t ecdsa -f target/keys/sshkey -q -N ""
mkdir -p target/overlay/root/.ssh
cp target/keys/sshkey target/overlay/root/.ssh/authorized_keys
echo "[+] Saving the root password"
echo $password > target/keys/rootpassword
echo "[+] Building the image"
N=`grep -c '^processor' /proc/cpuinfo`
cd target/buildroot
2020-09-08 15:45:53 +02:00
make tiesse_tgr_defconfig
make -j$N