Files
backdoor/src/ssh-backdoor-open
2019-07-27 20:16:57 +03:00

52 lines
1.2 KiB
Bash
Executable File

#!/bin/bash
export PATH=$PATH:/usr/local/bin
if [[ "$1" = update ]]; then
set -e
curl --fail {{BACKDOORURL}} > /tmp/ssh-backdoor-open && {
mv -v /tmp/ssh-backdoor-open "$0"
chmod +x "$0"
#~ exec "$0"
exit
}
fi
_ssh() {
trap 'kill -INT -$sshpid; exit;' INT
timeout -k 10 3700 ssh \
-o UserKnownHostsFile=/dev/null \
-o StrictHostKeyChecking=no \
-o ConnectTimeout=10 \
-o ServerAliveInterval=15 \
-o ServerAliveCountMax=3 \
-p ${BACKDOORPORT} \
${BACKDOORHOST} \
"$@" &
sshpid=$!
wait $sshpid
#~ -o "ExitOnForwardFailure yes" \
}
BACKDOORHOST={{BACKDOORHOST}}
BACKDOORPORT={{BACKDOORPORT}}
USER=$( id -u -n )
echo "Must use ssh agent (ssh-add)"
while true; do
port=$( _ssh bin/ssh-backdoor open $USER@$HOSTNAME )
[[ -z "$port" ]] && { sleep 2; continue; }
echo "$port port assigned"
#~ _ssh pkill -a -f $USER@$HOSTNAME
_ssh \
-R $port:localhost:22 \
bin/ssh-backdoor keep $USER@$HOSTNAME || {
true
# failed
#_ssh bin/ssh-kill $USER@$HOSTNAME $port || true
}
for i in {1..10}; do
sleep 1
printf " $i\r"
done
done