Projects

Rekkon

usage: python rekkon.py LocalhostIP RemotehostIP

The code for the application is below. These tasks are my most common penetration testing tasks in testing a host. And i put it all together in one app.

#!/usr/bin/env python

# -*- coding: utf-8 -*-

import sys

import os

from subprocess import call



class Color:

PURPLE = '\033[95m'

RED = '\033[91m'

BRIGHTGREEN = '\033[40m'

BOLD = '\033[1m'

END = '\033[0m'



def submenu():

 selection = raw_input(Color.PURPLE + "Go Back to Main Menu [y/N]:" + Color.END)

 if selection == "y":

  main_menu()

 else:

  print "Exiting..."

  sys.exit(1)



def main():

 if len(sys.argv) < 2:

  print "Usage: michellerecon.py localhostip remotehostip"

  print "Exiting..."

  sys.exit(1)

 else:

  main_menu()



def main_menu_design():

 call('clear')

 print "-------------------------------"

 print "|            Rekkon           |"

 print "-------------------------------"

 print "Mishell Security @michellesec"

 print "       .---."

 print "      /     \\"

 print "      \.@-@./"

 print "      /`\_/`\\"

 print "     //  _  \\"

 print "    | \\     )|_"

 print "   /`\\_`>  <_/ \\"

 print "   \\__/'---'\\__/"

 print "\n-------------------------------"

 print "Local Host IP: " + sys.argv[1]

 print "Remote Host IP: " + sys.argv[2]

 print "-------------------------------"





def main_menu():

 try:

  main_menu_design()

  localhostip = sys.argv[1]

  remotehostip = sys.argv[2]

  print " 1 - Nmap "

  print " 2 - Nikto "

  print " 3 - Gobuster "

  print " 4 - Handler linux/x86 "

  print " 5 - Handler windows/reverse_tcp"

  print " 6 - Searchsploit"

print " 7 - Searchsploit -p"

print " 8 - enum4linux"

print " 9 - wireshark"

print "10 - davtest " + remotehostip

print "11 - Nmap [port]"

print "12 - Open in Firefox " + remotehostip

print "13 - Open in Firefox [port]"

print "14 - ifconfig"

print "15 - cadaver"

print "16 - Zombie Scan"

print "17 - Netcat Listener"

print "18 - Stop Apache"

print "19 - Start Apache"

print "20 - SMB Enum Shares"

print "--------------------------------"

print "99 - More Options"

print " 0 - Exit\n"

selection = int(raw_input(Color.PURPLE + "Enter your selection: " + Color.END))



if selection == 1:

call(["nmap", "-Pn", "-sC", "-sV", remotehostip])

elif selection == 2:

call(["nikto", "-h", remotehostip])

elif selection == 3:

call(["gobuster", "-w", "/usr/share/wordlists/dirbuster/directory-list-2.3-medium.txt", "-t", "20", "-u", "http://" + remotehostip])

elif selection == 4:

lport = raw_input("Enter Local Port to use: ")

os.system("msfconsole -qx \"use exploit/multi/handler;set payload linux/x86/shell/reverse_tcp;set LPORT " + lport + ";set LHOST " + localhostip +";exploit\"")

elif selection == 5:

lport = raw_input("Enter Local Port to use: ")

os.system("msfconsole -qx \"use exploit/multi/handler;set payload windows/meterpreter/reverse_tcp;set LPORT " + lport + ";set LHOST " + localhostip +";exploit\"")

elif selection == 6:

searchterm = raw_input("Enter search term: ")

call(["searchsploit", searchterm])

elif selection == 7:

searchterm = raw_input("Enter exploit id to copy: ")

call(["searchsploit", "-p", searchterm])

elif selection == 8:

call(["enum4linux", remotehostip])

elif selection == 9:

call(["sudo", "wireshark"])

elif selection == 10:

call(["davtest", "-url", "http://" + remotehostip])

elif selection == 11:

port = raw_input("Enter port to scan: ")

call(["nmap", "-Pn", "-sC", "-sV", "-p", port, remotehostip])

elif selection == 12:

call(["firefox", remotehostip])

elif selection == 13:

port = raw_input("Enter port for ip: ")

call(["firefox", remotehostip + ":" + port])

elif selection == 14:

call(["ifconfig"])

elif selection == 15:

call(["cadaver", remotehostip])

elif selection == 16:

port = raw_input("Enter port to use for scan: ")

call(["hping3", "-s", "-r", "-p", port, remotehostip])

elif selection == 17:

port = raw_input("Enter port to listen on: ")

call(["nc", "-l", "-v", "-p", port])

elif selection == 18:

call(["service", "apache", "stop"])

elif selection == 19:

call(["service", "apache", "start"])

elif selection == 20:

os.system("msfconsole -qx \"use auxiliary/scanner/smb/smb_enumshares;set RHOSTS " + remotehostip + ";run;exit\"")

elif selection == 99:

menu20()

else:

sys.exit(1)



submenu()



except:

sys.exit(1)



def menu20():

try:

main_menu_design()

localhostip = sys.argv[1]

remotehostip = sys.argv[2]

print "21 - Test "



print "--------------------------------"

print "98 - Main Menu"

#print "99 - More Options"

print " 0 - Exit\n"

selection = int(raw_input(Color.PURPLE + "Enter your selection: " + Color.END))

if selection == 21:

print "Test 21"

elif selection == 98:

main_menu()

else:

sys.exit(1)

submenu()

except:

sys.exit(1)



main()