189 lines
3.8 KiB
Bash
189 lines
3.8 KiB
Bash
|
#!/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
|