mirror of
https://github.com/hak5/sharkjack-payloads.git
synced 2026-04-21 09:19:24 +01:00
56 lines
2.8 KiB
Bash
56 lines
2.8 KiB
Bash
#!/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 SPECIAL (Cyan Blink)... Saving package list to log file
|
|
# 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
|