-
Notifications
You must be signed in to change notification settings - Fork 3
/
EyeWitness_GUI
47 lines (43 loc) · 1.77 KB
/
EyeWitness_GUI
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
#!/usr/bin/env bash
# EyeWitness GUI for CSI Linux
StartCase() {
printf "Enter the case name\n"
cases=$(zenity --entry --width=300 --title "Case Name" --text "Enter the case to add this to:" 2> >(grep -v 'GtkDialog' >&2))
if [ -n "$cases" ]; then
if [ ! -d "~/Cases/$cases" ]; then
mkdir ~/Cases/$cases 2>/dev/null
cd ~/Cases/$cases
fi
else
zenity --error --width=200 --text "No case entered, exiting" 2> >(grep -v 'GtkDialog' >&2)
exit
fi
}
StartCase
#define choices
eopt1="Single URL"
eopt2="Multiple URLs (use file)"
eyewitness=$(zenity --list --title "EyeWitness" --text "Do you want to grab one or multiple URLs?" --width=400 --height=200 --radiolist --column "Choose" --column "Option" TRUE "$eopt1" FALSE "$eopt2" 2> >(grep -v 'GtkDialog' >&2))
case $eyewitness in
$eopt1 ) #Single
domain=$(zenity --entry --title "EyeWitness" --text "Enter target URL (ex: https://www.google.com)" --entry-text "" 2> >(grep -v 'GtkDialog' >&2))
if [ -n "$domain" ]; then
cd /opt/EyeWitness
mkdir ~/Cases/$cases/$domain 2>/dev/null
targetdomain="$(echo "$domain" | sed -e 's/https:\/\///g; s/http:\/\///g')"
/opt/EyeWitness/Python/EyeWitness.py --web --timeout=120 --single $domain -d ~/Cases/$cases/$targetdomain
else
zenity --error --width=200 --text "No URL entered, exiting" 2> >(grep -v 'GtkDialog' >&2)
exit
fi
sleep 10
;;
$eopt2 ) #Multiple
eyewitness_file=$(zenity --file-selection --title "URL List" --text "Add List of URLs (line separated)" 2> >(grep -v 'GtkDialog' >&2))
if [ -n "$eyewitness_file" ]; then
./EyeWitness.py --web -f "$eyewitness_file" -d ~/Cases/$cases/$timestamp
else
zenity --error --width=200 --text "No file found, exiting" 2> >(grep -v 'GtkDialog' >&2)
exit
fi
esac