Advertisement
Guest User

Untitled

a guest
Aug 7th, 2017
63
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Bash 0.91 KB | None | 0 0
  1. #!/bin/bash
  2.  
  3. # program to knock (telnet or netcat)
  4. prog="telnet"
  5. # must be equal to time period on knocking server
  6. time_period=100
  7. # period between knocking sequence and ssh connect
  8. sleep_period=2
  9. # ssh user
  10. username=$1
  11. # destination ip
  12. ip=$2
  13.  
  14. if [ $# -ne 2 ]; then
  15.     echo "usage: ./clientname username ip_address"
  16.     exit
  17. fi
  18.  
  19. read -p "enter base port of knocking: " -s port0
  20. echo
  21. read -p "enter knocking password: " -s pass
  22. echo
  23.  
  24. # calculate secure sequence of ports
  25. time=`date +%s`
  26. time_stamp=$(($time/$time_period))
  27. sum=`echo $pass$time_stamp | md5sum`
  28.  
  29. i=0
  30. ports=""
  31. while [ $i -lt 16 ]
  32. do
  33.     j=${sum:$i*2:2}
  34.     port=$(($port0+0x$j*16+$i))
  35.     ports="$ports $port"
  36.     i=$((i+1))
  37. done
  38.  
  39. # start knocking
  40. (
  41. for port in $ports
  42. do
  43.     $prog $ip $port &
  44. done
  45. pkill $prog
  46. ) >/dev/null 2>&1
  47. echo "knocking done"
  48. sleep $sleep_period
  49.  
  50. echo "trying to ssh ..."
  51. ssh -l $username $ip
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement