#!/bin/bash #Grab script was build by peterpt exclusively for fatrat 1.9.4 #Grab script waits for a msfconsole script output and then copy that output to a final folder , #Grab script will close automatically the msfconsole window generated by fatrat #closes the active msfconsole terminal automatically and autoclose itself . #This script cannot work indenpendently from fatrat #colours variables cyan='\e[0;36m' green='\e[0;34m' okegreen='\033[92m' lightgreen='\e[1;32m' white='\e[1;37m' red='\e[1;31m' yellow='\e[0;33m' BlueF='\e[1;34m' #Biru RESET="\033[00m" #normal orange='\e[38;5;166m' path=`pwd` #Set path variable file=temp/msff #Filename to search in metasploit output folder conf=config/grab.conf #Maximum time to wait for all process to be done cvar="config/config.path" output=$(sed -n 17p ${cvar}) #If timeout configuration file does not exist then abort script if [ ! -f "$conf" ]; then echo "Timeout configuration was not found" echo "Aborting" exit else #timeout configuration file found , read the 4th line tmo=`sed -n 4p $conf` fi #Clean metasploit output folder (in case a previous file with same name was created) rm -rf $HOME/.msf4/local/* >/dev/null 2>&1 # Look for the name of the file to be search in metasploit output in msff # msff file will be created by fatrat if [ -f "$file" ]; then #msf file exists then read 1st line (filename to search) var=`sed -n 1p $file` else #msf does not exist , abort exit 1 fi function outf(){ clear echo -e $orange "---------------------------------------------------" echo -e $orange "|$okegreen Grab Script 1.0 (fatrat 1.9.4 edition)$orange |" echo -e $orange "---------------------------------------------------" echo -e $okegreen "Second : $sleep - Timeout : $tmo" echo "" echo -e $okegreen "Waiting for msfconsole output to be generated in Xterm Window" #set directory to search for file , and filename out="$HOME/.msf4/local/$var" #sleep variable is equal to itself + 1 second sleep=$((sleep+1)) if [ $sleep == "$tmo" ] ; then #in case timeout value achieved without any metasploit output file created #then exits this script echo "Metasploit did not generated any output or your timeout is short" pkill -f Microsploit > /dev/null 2>&1 exit 1 fi #File was created by metasploit , copy it to final destination , kill msfconsole window and auto-close this script if [ -f $out ]; then mv $HOME/.msf4/local/$var $output/$var #Look in active processes a process name "Microsploit" and kill it pkill -f Microsploit > /dev/null 2>&1 exit 1 else #metasploit output file was not yet found , wait 1 second sleep 1 # start again outf fi } echo -e $orange "---------------------------------------------------" echo -e $orange "|$okegreen Grab Script 1.0 (fatrat 1.9.4 edition)$orange |" echo -e $orange "---------------------------------------------------" echo -e $okegreen " Dont close this window , it will autoclose itself" echo "" echo -e $okegreen "Waiting for msfconsole output to be generated in Xterm Window" echo -e $orange "Max waiting time = $tmo seconds" #if the current value from msff is empty then abort this script #this will mean that msff file exists but does not have anything written if [ -z "$var" ]; then exit 1 fi #set sleep variable to 1 second sleep="1" #Everything is ok until this point , start loop until timeout outf