189 lines
3.8 KiB
Bash
Executable File
189 lines
3.8 KiB
Bash
Executable File
#!/bin/bash
|
||
|
||
#***************************************************
|
||
# $ ./superTool.sh install|uninstall|update
|
||
#***************************************************
|
||
readonly PROGNAME=$(basename $0)
|
||
readonly PROGDIR=$(readlink -m $(dirname $0))
|
||
readonly ARGS="$@"
|
||
|
||
|
||
PATH_DEST="$PROGDIR/source"
|
||
|
||
NAME_PROGRAM="
|
||
Arachni/arachni
|
||
scrapy/dirbot
|
||
fwaeytens/dnsenum
|
||
golismero/golismero
|
||
NikolaiT/GoogleScraper
|
||
rapid7/metasploit-framework
|
||
sullo/nikto
|
||
rfunix/Pompem
|
||
smicallef/spiderfoot
|
||
sqlmapproject/sqlmap
|
||
vanhauser-thc/thc-hydra
|
||
andresriancho/w3af
|
||
anestisb/WeBaCoo
|
||
urbanadventurer/WhatWeb
|
||
wpscanteam/wpscan
|
||
epsylon/xsser
|
||
"
|
||
|
||
write_header_acsii() {
|
||
cat <<-"EOFB"
|
||
|
||
____ _ ____ _
|
||
| _ \ | | |___ \| |
|
||
| |_) | __ _ ___| |__ __) | |_ __ ___ _ __
|
||
| _ < / _` / __| '_ \ |__ <| | '_ \ / _ \ '__|
|
||
| |_) | (_| \__ \ | | |___) | | |_) | __/ |
|
||
|____/ \__,_|___/_| |_|____/|_| .__/ \___|_|
|
||
| |
|
||
|_|
|
||
|
||
EOFB
|
||
}
|
||
|
||
##### Header
|
||
write_header() {
|
||
tput clear
|
||
local h="$@"
|
||
# Move cursor to screen location Y,X (top left is 0,0)
|
||
tput setaf 6
|
||
tput cup 0 0
|
||
write_header_acsii
|
||
tput sgr0
|
||
tput cup 7 18
|
||
# Set a foreground colour using ANSI escape
|
||
tput setaf 3
|
||
echo " Bash3lper"
|
||
tput sgr0
|
||
tput cup 7 52
|
||
# Set a foreground colour using ANSI escape
|
||
tput setaf 3
|
||
echo " V0.32"
|
||
tput sgr0
|
||
# Set reverse video mode
|
||
tput cup 11 12
|
||
tput rev
|
||
echo -e "${h}"
|
||
tput sgr0
|
||
# rc revenir position initial
|
||
#tput rc
|
||
#tput cup 13 16
|
||
}
|
||
|
||
write_header
|
||
write_header " I N S T A L L A T I O N "
|
||
|
||
|
||
echo >&2
|
||
echo -e " ✌ Will install all ressources needed "
|
||
echo >&2
|
||
echo -e " Arachni, dirbot, dnsenum, GoLismero, GoogleScraper, "
|
||
echo -e " metasploit, nikto, Pompem, spiderfoot, sqlmap, "
|
||
echo -e " thc-hydra, W3AF, WeBacoo, WhatWeb, WPScan y XSSer."
|
||
echo >&2
|
||
|
||
|
||
|
||
if [ ! "${UID}" = 0 ]
|
||
then
|
||
echo >&2
|
||
echo >&2
|
||
echo >&2 "Only user root can run superTool."
|
||
echo >&2
|
||
exit 1
|
||
fi
|
||
|
||
which_cmd() {
|
||
local block=1
|
||
if [ "a${1}" = "a-n" ]
|
||
then
|
||
local block=0
|
||
shift
|
||
fi
|
||
|
||
unalias $2 >/dev/null 2>&1
|
||
local cmd=`which $2 2>/dev/null | head -n 1`
|
||
if [ $? -gt 0 -o ! -x "${cmd}" ]
|
||
then
|
||
if [ ${block} -eq 1 ]
|
||
then
|
||
echo >&2
|
||
echo >&2 "ERROR: Command '$2' not found in the system path."
|
||
echo >&2
|
||
echo >&2 " which $2"
|
||
exit 1
|
||
fi
|
||
return 1
|
||
fi
|
||
|
||
eval $1=${cmd}
|
||
return 0
|
||
}
|
||
|
||
# Commands.
|
||
which_cmd GIT git
|
||
which_cmd AWK awk
|
||
which_cmd RM rm
|
||
|
||
repository_clone() {
|
||
# $1 PATH_DEST
|
||
# $2 Name Program
|
||
# $3 GitHub
|
||
$GIT clone git://github.com/$3.git $1/$2
|
||
}
|
||
|
||
repository_install() {
|
||
for name in $NAME_PROGRAM
|
||
do
|
||
DIRECTORY=`echo $name | $AWK -F"/" '{ print $2 }'`
|
||
repository_clone ${PATH_DEST} $DIRECTORY $name
|
||
done
|
||
}
|
||
|
||
repository_uninstall() {
|
||
for name in $NAME_PROGRAM
|
||
do
|
||
DIRECTORY=`echo $name | $AWK -F"/" '{ print $2 }'`
|
||
if [ -d ${PATH_DEST}/$DIRECTORY ];
|
||
then
|
||
echo -e "Remove " $PATH_DEST/$DIRECTORY
|
||
$RM ${PATH_DEST}/$DIRECTORY -r
|
||
fi
|
||
done
|
||
}
|
||
|
||
repository_update() {
|
||
for name in $NAME_PROGRAM
|
||
do
|
||
DIRECTORY=`echo $name | $AWK -F"/" '{ print $2 }'`
|
||
if [ -d $PATH_DEST/$DIRECTORY ];
|
||
then
|
||
cd ${PATH_DEST}/$DIRECTORY
|
||
$GIT pull origin --verbose --progress
|
||
fi
|
||
done
|
||
}
|
||
|
||
case "$1" in
|
||
install)
|
||
repository_install
|
||
;;
|
||
|
||
uninstall)
|
||
repository_uninstall
|
||
;;
|
||
|
||
update)
|
||
repository_update
|
||
;;
|
||
|
||
*)
|
||
echo -e >&2 "Usage: install|uninstall|update \n"
|
||
;;
|
||
esac
|
||
|
||
exit 0
|