示例#1
0
def new_session(request):
    if request.method == 'POST':
        #session_name = request.POST["name"]

        node_name = request.POST["node"]
        node = get_object_or_404(Node, name=node_name)

        hashfile = get_object_or_404(Hashfile, id=request.POST['hashfile_id'])

        crack_type = request.POST["crack_type"]
        if crack_type == "dictionary":
            rule = request.POST["rule"] if request.POST["rule"] != "None" else None
            wordlist = request.POST["wordlist"]
        elif crack_type == "mask":
            mask = request.POST["mask"]

        device_type = int(request.POST["device_type"])
        brain_mode = int(request.POST["brain_mode"])

        if request.POST["end_datetime"]:
            end_timestamp = int(datetime.strptime(request.POST["end_datetime"], "%m/%d/%Y %I:%M %p").timestamp())
        else:
            end_timestamp = None

        session_name = ("%s-%s" % (hashfile.name, ''.join(random.choice(string.ascii_uppercase + string.digits) for _ in range(12)))).replace(" ", "_")

        if "debug" in request.POST:
            hashcat_debug_file = True
        else:
            hashcat_debug_file = False

        hashcat_api = HashcatAPI(node.hostname, node.port, node.username, node.password)
        if crack_type == "dictionary":
            res = hashcat_api.create_dictionary_session(session_name, hashfile, rule, wordlist, device_type, brain_mode, end_timestamp, hashcat_debug_file)
        elif crack_type == "mask":
            res = hashcat_api.create_mask_session(session_name, hashfile, mask, device_type, brain_mode, end_timestamp, hashcat_debug_file)

        if res["response"] == "error":
            messages.error(request, res["message"])
            return redirect('Hashcat:hashfiles')

        messages.success(request, "Session successfully created")

        session = Session(
                name=session_name,
                hashfile=hashfile,
                node = node,
                potfile_line_retrieved=0,
        )
        session.save()

    return redirect('Hashcat:hashfiles')
示例#2
0
def new_session(request):
    if request.method == 'POST':
        #session_name = request.POST["name"]

        node_name = request.POST["node"]
        node = get_object_or_404(Node, name=node_name)

        hashfile = get_object_or_404(Hashfile, id=request.POST['hashfile_id'])

        crack_type = request.POST["crack_type"]
        if crack_type == "dictionary":
            rule = request.POST[
                "rule"] if request.POST["rule"] != "None" else None
            wordlist = request.POST["wordlist"]
        elif crack_type == "mask":
            mask = request.POST["mask"]

        session_name = ("%s-%s" % (hashfile.name, ''.join(
            random.choice(string.ascii_uppercase + string.digits)
            for _ in range(12)))).replace(" ", "_")

        hashcat_api = HashcatAPI(node.hostname, node.port, node.username,
                                 node.password)
        if crack_type == "dictionary":
            res = hashcat_api.create_dictionary_session(
                session_name, hashfile, rule, wordlist)
        elif crack_type == "mask":
            res = hashcat_api.create_mask_session(session_name, hashfile, mask)

        if res["response"] == "error":
            messages.error(request, res["message"])
            return redirect('Hashcat:hashfiles')

        messages.success(request, "Session successfully created")

        session = Session(
            name=session_name,
            hashfile=hashfile,
            node=node,
            potfile_line_retrieved=0,
        )
        session.save()

    return redirect('Hashcat:hashfiles')
示例#3
0
文件: views.py 项目: opt9/WebHashcat
def new_session(request):
    if request.method == 'POST':
        session_name = request.POST["name"]
        node_name = request.POST["node"]
        hash_type_id = request.POST["hash_type"]
        crack_type = request.POST["crack_type"]
        if crack_type == "rule":
            rule = request.POST["rule"]
            wordlist = request.POST["wordlist"]
        elif crack_type == "mask":
            mask = request.POST["mask"]
        hashes = request.POST["hashes"]
        username_included = "username_included" in request.POST

        if len(hashes) == 0 and "hash_file" in request.FILES:
            # get from file
            f = request.FILES["hash_file"]
            hashes = f.read().decode()

        node = get_object_or_404(Node, name=node_name)

        hashcat_api = HashcatAPI(node.hostname, node.port, node.username,
                                 node.password)
        if crack_type == "rule":
            res = hashcat_api.create_rule_session(session_name, hash_type_id,
                                                  rule, wordlist, hashes,
                                                  username_included)
        elif crack_type == "mask":
            res = hashcat_api.create_mask_session(session_name, hash_type_id,
                                                  mask, hashes,
                                                  username_included)

        if res["response"] == "error":
            return index(request, error_msg=res["message"])

    return redirect('index')