Added package-installer payload

best_text_editor
Darren Kitchen 2019-10-23 17:13:36 -07:00 committed by GitHub
parent 12bdec563f
commit 82b9f35c00
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 54 additions and 0 deletions

View File

@ -0,0 +1,54 @@
#!/bin/bash
#
# Title: Package Installer
# Author: Hak5Darren
# Version: 1.0
#
# Description: This payload will install the specified package using opkg.
# Use this to provision your Shark Jack for payloads with dependencies.
# Set PACKAGE_TO_INSTALL to the package you wish to install - for example
# PACKAGE_TO_INSTALL="nano" will install the best text editor on Earth ;)
# For a list of available packages, set LIST_PACKAGES to 1 - the results
# will be saved to a log file in the loot directory. Requires Internet.
#
# LED SETUP (Magenta)... Setting logs and waiting for IP address from DHCP
# LED FAIL (Red Slow Blink)... Failed to update opkg or install package
# LED FINISH (Green Fast Blink to Solid)... Package install or list successful
PACKAGE_TO_INSTALL="nano"
LIST_PACKAGES=0
LOG_DIR=/root/loot/package-installer
function FAIL() { LED FAIL; exit }
function SUCCESS() { LED FINISH; exit }
LED SETUP
# Make log file
mkdir -p $LOG_DIR
LOG_FILE="package-installer_$(find $LOG_DIR -type f | wc -l).log"
DISK_SPACE_BEFORE=$(df -h | grep overlayfs | awk {'print $4'})
LOG="$LOG_DIR/$LOG_FILE"
# Wait until Shark Jack has an IP address
while [ -z "$IPADDR" ]; do sleep 1 && IPADDR=$(ifconfig eth0 | grep "inet addr"); done
LED ATTACK
# Update package list
echo -e "#\n#\n# Updating Package List\n#\n#" >> $LOG
opkg update >> $LOG 2>&1 || FAIL
if [ "$LIST_PACKAGES" = "1" ]; then
LED SPECIAL
opkg list --size >> $LOG 2>&1 || FAIL && SUCCESS
fi
# Install package
echo -e "#\n#\n# Installing Package: $PACKAGE_TO_INSTALL\n#\n#" >> $LOG
opkg install $PACKAGE_TO_INSTALL >> $LOG 2>&1 || FAIL
# Finalizing log file
echo -e "#\n#\n# Payload Complete \n#\n#\n\
# Disk space free before: $DISK_SPACE_BEFORE\n\
# Disk space free after: $(df -h | grep overlayfs | awk {'print $4'})" >> $LOG
SUCCESS