mirror of
https://github.com/mgeeky/Penetration-Testing-Tools.git
synced 2025-09-02 01:58:33 +02:00
Added forticlientsslvpn-expect.sh
This commit is contained in:
@ -7,6 +7,8 @@
|
||||
|
||||
- **`encrypt.rb`** - Simple File Encryption utility (with support for Blowfish, GOST, IDEA, AES) capable of encrypting directories. ([gist](https://gist.github.com/mgeeky/751c01c4dac99871f4da))
|
||||
|
||||
- **`forticlientsslvpn-expect.sh`** - Forticlient SSL VPN Client launching script utilizing expect. Useful while working for clients exposing their local networks through a Fortinet SSL VPN. [gist](https://gist.githubusercontent.com/mgeeky/8afc0e32b8b97fd6f96fce6098615a93/raw/cf127be09d02e04c00eb578e4ef1219a773d21cf/forticlientsslvpn-expect.sh)
|
||||
|
||||
- **`playRTPStream.sh`** - Using rtpdump to play RTP streams from PCAP files with VLC. This script was useful to extract RTP Streams from sniffed VoIP communication and then with a help of VLC to dump those streams into valid .wav files. (https://github.com/hdiniz/rtpdump). [gist](https://gist.github.com/mgeeky/0b8bd81a3f6fb70eec543bc0bae2f079)
|
||||
|
||||
- **`vm-manager.sh`** - A bash script offering several aliases/functions for quick management of a single Virtualbox VM machine. Handy to use it for example to manage a Kali box. By issuing `startkali` the VM will raise, `sshkali` - offers instant SSH into your VM, `getkali` - returns VM's IP address, `iskali` - checks whether VM is running, `stopkali` goes without explanation. [gist](https://gist.github.com/mgeeky/80b1f7addb792796d8bfb67188d72f4a)
|
||||
|
63
others/forticlientsslvpn-expect.sh
Normal file
63
others/forticlientsslvpn-expect.sh
Normal file
@ -0,0 +1,63 @@
|
||||
#!/bin/bash
|
||||
|
||||
# Forticlient SSL VPN Client launching script utilizing expect.
|
||||
|
||||
# --------------------------------------------
|
||||
# CONFIGURATION
|
||||
|
||||
# If empty - script will take some simple logic to locate appropriate binary.
|
||||
FORTICLIENT_PATH=""
|
||||
|
||||
# VPN Credentials
|
||||
VPN_HOST="host:10443"
|
||||
VPN_USER="username"
|
||||
VPN_PASS="password"
|
||||
|
||||
# --------------------------------------------
|
||||
|
||||
trap ctrl_c INT
|
||||
|
||||
function ctrl_c() {
|
||||
echo "Removing left-over files..."
|
||||
rm -f /tmp/expect
|
||||
}
|
||||
|
||||
if [[ $EUID -ne 0 ]]; then
|
||||
echo "This script must be run as root"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if [ -z "$FORTICLIENT_PATH" ]; then
|
||||
FORTICLIENT_PATH=`uname -r | grep -q 64 && echo $(locate forticlientsslvpn_cli | grep 64bit) || echo $(locate forticlientsslvpn_cli | grep 32bit)`
|
||||
if [ ! -f $FORTICLIENT_PATH ]; then
|
||||
echo "Tried to locate Forticlient SSL VPN Cli binary, but failed."
|
||||
echo "Specify it at variable FORTCLIENT_PATH"
|
||||
exit 1
|
||||
fi
|
||||
echo "Located Forticlient VPN Client at: $FORTICLIENT_PATH"
|
||||
fi
|
||||
|
||||
echo "Killing previous instances of Forticlient SSL VPN client..."
|
||||
killall -9 $(basename $FORTICLIENT_PATH) 2> /dev/null
|
||||
|
||||
cat << EOF > /tmp/expect
|
||||
#!/usr/bin/expect -f
|
||||
match_max 1000000
|
||||
set timeout -1
|
||||
spawn $FORTICLIENT_PATH --server $VPN_HOST --vpnuser $VPN_USER --keepalive
|
||||
expect "Password for VPN:"
|
||||
send -- "$VPN_PASS"
|
||||
send -- "\r"
|
||||
|
||||
expect "Would you like to connect to this server? (Y/N)"
|
||||
send -- "Y"
|
||||
send -- "\r"
|
||||
|
||||
expect "Clean up..."
|
||||
close
|
||||
EOF
|
||||
|
||||
chmod 500 /tmp/expect
|
||||
/usr/bin/expect -f /tmp/expect
|
||||
|
||||
rm -f /tmp/expect
|
Reference in New Issue
Block a user