[ Web Proxy ]
URL:
Viewing: https://raw.githubusercontent.com/rootjacker/shellsploit-framework/master/shell/shellsploit.py [Back]  [Original]

#!/usr/bin/env python

#------------------Bombermans Team---------------------------------#
#Author  : B3mB4m
#Concat  : b3mb4m@protonmail.com
#Project : https://github.com/b3mb4m/Shellsploit
#LICENSE : https://github.com/b3mb4m/Shellsploit/blob/master/LICENSE
#------------------------------------------------------------------#

import sys
import os

name = os.sep.join([x for x in os.getcwd().split(os.sep) if x != os.getcwd().split(os.sep)[-1]])
sys.path.append(name)

if sys.version_info.major == 3:
    raw_input = input


from .control import *
from .core.logo.logo import banner
from .core.logo.counter import *
from .core.Comp import tab


shellcodeModules = {
	"linux86":
			["binsh_spawn","read","exec","chmod","tcp_bind","reverse_tcp","download&exec"],
	"linux64":
			["read","binsh_spawn","tcp_bind","reverse_tcp"],
	"linux":
			["binsh_spawn","tcp_bind","reverse_tcp","read"],
	"osx86":
			["tcp_bind","binsh_spawn","reverse_tcp"],
	"osx64":
			["reverse_tcp","tcp_bind","binsh_spawn"],
	"FreeBSDx86":
			["binsh_spawn","reverse_tcp2","reverse_tcp","read","exec","tcp_bind"],
	"FreeBSDx64":
			["binsh_spawn","tcp_bind","reverse_tcp","exec"],
	"linux_arm":
			["binsh_spawn","chmod","reverse_tcp","exec"],
	"linux_mips":
			["binsh_spawn","chmod","reverse_tcp","tcp_bind"],
	"windows":
			["messagebox","download&execute","exec", "reverse_tcp", "tcp_bind"],
	"solarisx86":
			["binsh_spawn","read","reverse_tcp","tcp_bind"],
	"injectors":
			["Linux/x86/ptrace","Linux64/ptrace","Windows/x86/tLsInjectorDLL",
			"Windows/x86/CodecaveInjector","Windows/Dllinjector",
			
			"Windows/BFD/Patching",
			"MacOSX/BFD/Patching",
			"Linux/BFD/Patching",
			"Linux/ARM/x86/BFD/Patching",
			"FreeBSD/x86/BFD/Patching",
			
	#Dllinjector is still passive.
			],
	"backdoors":
			["linux86/reverse_tcp","linux64/reverse_tcp","osx86/reverse_tcp",
			"unix/python/reverse_tcp","unix/perl/reverse_tcp",
			"unix/bash/reverse_tcp","unix/ruby/reverse_tcp"]
	}
tab.start(1)
db = B3mB4mLogo().start()
def start():
	print (banner( db[0], db[1], db[2], db[3]+5))
	shellsploit()

def shellsploit():
	try:
		bash =  bcolors.OKBLUE + bcolors.UNDERLINE + "ssf" + bcolors.ENDC
		bash += bcolors.OKBLUE + " > "+ bcolors.ENDC
		terminal = raw_input(bash)
	except KeyboardInterrupt:
		sys.exit("\n[*] (Ctrl + C ) Detected, Trying To Exit ...")


	if terminal[:4] == "help":
		from .core.help import mainhelp
		mainhelp()
		shellsploit()

	elif terminal[:14] == "show backdoors":
		from .core.backdoors import backdoorlist
		backdoorlist()
		shellsploit()

	elif terminal[:2] == "os":
		from .core.commands import oscommand
		oscommand( terminal[3:])
		shellsploit()


	elif terminal[:6] == "banner":
		print (banner( db[0], db[1], db[2], db[3]+4))
		shellsploit()

	elif terminal[:3] == "use":
		all_sc_modules = []
		for platforms in shellcodeModules.keys():
			for shellcodeType in shellcodeModules[platforms]:
				all_sc_modules.append("{}/{}".format(platforms,shellcodeType))
				if terminal.split()[1] in all_sc_modules:
					for shellcode in all_sc_modules:
						if terminal.split()[1] == shellcode:
							B3mB4m().control(shellcode)
							shellsploit()

					print ("\nModule not avaible !\n")
					shellsploit()


	elif terminal[:14] == "show injectors":
		from .core.lists import injectorlist
		injectorlist()
		shellsploit()

	elif terminal[:5] == "clear":
		from .core.commands import clean
		clean()
		shellsploit()

	elif terminal[:12] == "show modules":
		from .core.shellcodes import shellcodelist
		shellcodelist()
		shellsploit()


	elif terminal[:4] == "exit":
		sys.exit("\nThanks for using shellsploit !\n")

	else:
		if terminal == "":
			shellsploit()
		else:
			print (bcolors.RED + bcolors.BOLD + "[-] Unknown command: %s" % terminal + bcolors.ENDC)
			shellsploit()


def main():
	import optparse
	parser = optparse.OptionParser()
	parser.add_option('-p', '--payload', action="store")
	parser.add_option('-e', '--encoder', action="store", default="False")
	parser.add_option('-o', '--output', action="store", default=True)
	parser.add_option('-l','--list', action="store", default=True)
	parser.add_option('-n','--nc', action="store", default=True)
	parser.add_option('--host', action="store")
	parser.add_option('--port', action="store")
	(options, args) = parser.parse_args()


	if options.list == "backdoors":
		from .core.backdoors import backdoorlist
		backdoorlist( require=False)
		sys.exit()


	if options.list == "shellcodes":
		from .core.shellcodes import shellcodelist
		shellcodelist()
		sys.exit()


	if options.list == "encoders":
		from .core.backdoors import encoderlist
		encoderlist( require=False)
		sys.exit()


	if options.list == "injectors":
		from .core.lists import injectorlist
		injectorlist()
		sys.exit()

	elif options.nc == "netcat" or options.nc == "nc":
		from .Session.netcat import nc
		if options.port:
			nc( PORT)
		else:
			nc()
		sys.exit()

	else:
		if options.payload:
			if options.host and options.port:
				from .core.backdoors import backdoorlist
				from .core.backdoors import encoderlist
				if options.payload in backdoorlist( require=True):
					from .Session.generator import process
					if "py" in options.encoder and "python" not in options.payload:
						sys.exit("\nThis encoder can not use with that payload\n")
					if options.output:
						process( options.payload, options.host, options.port, options.encoder, options.output)
					else:
						process( options.payload, options.host, options.port, options.encoder,True)
						#Default, file will be create with random name.
				else:
					sys.exit("\npython shellsploit  -p PAYLOAD -e ENCODER --host IP --port P0RT\n")
			else:
				sys.exit("\npython shellsploit  -p PAYLOAD -e ENCODER --host IP --port P0RT\n")
		else:
			start()

Web Proxy Viewer  |  New URL  |  Original Page