예제 #1
0
def starttask():
    gmp = openvas.create_connection()
    jsonReq = request.get_json(force=True)
    task_id = jsonReq.get('task_id')
    try:
        openvas.start_task(gmp, task_id)
    except (ValueError, KeyError, TypeError) as error:
        return error
    return "Task started"
예제 #2
0
def getreportbytask():
    gmp = openvas.create_connection()
    jsonReq = request.get_json(force=True)
    task_id = jsonReq.get('task_id')
    try:
        report = openvas.getReportByTask(gmp, task_id)
    except (ValueError, KeyError, TypeError) as error:
        return error
    return jsonify({"report": report}), 200
예제 #3
0
def deletetarget():
    gmp = openvas.create_connection()
    jsonReq = request.get_json(force=True)
    target_id = jsonReq.get('id')
    try:
        openvas.delete_target(gmp, target_id)
    except (ValueError, KeyError, TypeError) as error:
        return error
    return 'Target deleted successfully'
예제 #4
0
def gettaskstatus():
    gmp = openvas.create_connection()
    jsonReq = request.get_json(force=True)
    task_id = jsonReq.get('task_id')
    try:
        status, progress = openvas.get_task_status(gmp, task_id)
    except (ValueError, KeyError, TypeError) as error:
        return error
    return jsonify({"status": status, "progress": progress}), 200
예제 #5
0
def createtask():
    gmp = openvas.create_connection()
    # target_id = ov.create_target(gmp, ov.hosts, ov.target_name, ov.target_comment)
    jsonReq = request.get_json(force=True)
    # default scanner id
    scanner_id = jsonReq.get('scanner_id', '08b69003-5fc2-4037-a479-93b440211c73')  # default if scanner not specified
    config_id = jsonReq.get('config_id', 'daba56c8-73ec-11df-a475-002264764cea')
    task_comment = jsonReq.get('task_comment', "")

    task_id = openvas.create_task(gmp, jsonReq['name'], jsonReq['id'], scanner_id, config_id,
                                  task_comment)
    return task_id
예제 #6
0
def createtarget():
    gmp = openvas.create_connection()
    # target_id = ov.create_target(gmp, ov.hosts, ov.target_name, ov.target_comment)
    jsonReq = request.get_json(force=True)
    target_name = jsonReq["name"]
    hosts = jsonReq["hosts"]
    print(hosts)
    target_comment = jsonReq.get("comment", "")
    port_list = jsonReq.get("port_list", None)
    alive_tests = jsonReq.get("alive_tests", None)
    target_id = openvas.create_target(gmp, hosts, target_name, target_comment, port_list, alive_tests)
    # return target_id
    return target_id
예제 #7
0
def getreport():
    gmp = openvas.create_connection()
    jsonReq = request.get_json(force=True)
    report_id = jsonReq['id']
    report_format_id = jsonReq.get('format_id', 'c402cc3e-b531-11e1-9163-406186ea4fc5')
    
    try:
        filename = openvas.get_report_pdf(gmp, report_id, report_format_id)
    except (ValueError, KeyError, TypeError) as error:
        return error
    
    print(filename)

    return send_from_directory('/home/csirt-admin/vulnerability-analysis/reports', filename, as_attachment=True)
예제 #8
0
def edittask():
    gmp = openvas.create_connection()
    jsonReq = request.get_json(force=True)
    ctask_id = jsonReq.get('task_id')
    task_name, task_target_id, task_scanner_id, task_config_id, task_comment = openvas.get_task(gmp, ctask_id)
    ctask_name = jsonReq.get('task_name', task_name)
    ctask_target_id = jsonReq.get('target_id', task_target_id)
    ctask_scanner_id = jsonReq.get('scanner_id', task_scanner_id)
    ctask_config_id = jsonReq.get('config_id', task_config_id)
    ctask_comment = jsonReq.get('comment', task_comment)

    try:
        openvas.edit_task(gmp, ctask_id, ctask_name, ctask_target_id, ctask_scanner_id, ctask_config_id, ctask_comment)
    except (ValueError, KeyError, TypeError) as error:
        return error
    return 'Task has been edited succesfully'
예제 #9
0
def completeflow():
    gmp = openvas.create_connection()
    jsonReq = request.get_json(force=True)
    request_id = jsonReq['request_id']
    target_name = jsonReq['target_name']
    hosts = jsonReq["hosts"]
    significance = jsonReq["significance"]

    try:
        print("starting openvas")
        openvas.completeFlow(gmp, request_id, target_name, hosts, significance)
        print("completed openvas")

    except (ValueError, KeyError, TypeError) as error:
        return error
    
    return "Flow completed successfully"
예제 #10
0
def edittarget():
    gmp = openvas.create_connection()
    # target_id = ov.create_target(gmp, ov.hosts, ov.target_name, ov.target_comment)
    jsonReq = request.get_json(force=True)
    ctarget_id = jsonReq.get('target_id')
    target_hosts, target_name, target_comment, target_port_list, target_alive_tests = openvas.get_target(gmp,
                                                                                                         ctarget_id)
    ctarget_name = jsonReq.get('target_name', target_name)
    ctarget_comment = jsonReq.get('target_comment', target_comment)
    ctarget_hosts = jsonReq.get('target_hosts', target_hosts)
    ctarget_port_list = jsonReq.get('port_list', target_port_list)
    ctarget_alive_tests = jsonReq.get('alive_tests', target_alive_tests)

    try:
        openvas.edit_target(gmp, ctarget_hosts, ctarget_name, ctarget_comment, ctarget_port_list, ctarget_alive_tests)
    except (ValueError, KeyError, TypeError) as error:
        return error
    return 'Target has been edited succesfully'
예제 #11
0
def gettask():
    gmp = openvas.create_connection()
    jsonReq = request.get_json(force=True)
    ctask_id = jsonReq.get('id')
    task = {}
    task_name, task_target_id, task_scanner_id, task_config_id, task_comment = openvas.get_task(gmp, ctask_id)
    ctask_name = jsonReq.get('task_name', task_name)
    ctask_target_id = jsonReq.get('target_id', task_target_id)
    ctask_scanner_id = jsonReq.get('scanner_id', task_scanner_id)
    ctask_config_id = jsonReq.get('config_id', task_config_id)
    ctask_comment = jsonReq.get('comment', task_comment)

    task['task_name'] = ctask_name
    task['target_id'] = ctask_target_id
    task['scanner_id'] = ctask_scanner_id
    task['config_id'] = ctask_config_id
    task['comment'] = ctask_comment

    jsonRes = json.dumps(task, ensure_ascii=False)
    return jsonRes
예제 #12
0
def gettarget():
    gmp = openvas.create_connection()
    jsonReq = request.get_json(force=True)
    ctarget_id = jsonReq.get('id')
    target = {}

    target_hosts, target_name, target_comment, target_port_list, target_alive_tests = openvas.get_target(gmp,
                                                                                                         ctarget_id)
    ctarget_name = jsonReq.get('target_name', target_name)
    ctarget_comment = jsonReq.get('target_comment', target_comment)
    ctarget_hosts = jsonReq.get('target_hosts', target_hosts)
    ctarget_port_list = jsonReq.get('port_list', target_port_list)
    ctarget_alive_tests = jsonReq.get('alive_tests', target_alive_tests)

    target['target_name'] = ctarget_name
    target['target_comment'] = ctarget_comment
    target['hosts'] = ctarget_hosts
    target['port_list'] = ctarget_port_list
    target['alive_tests'] = ctarget_alive_tests

    jsonRes = json.dumps(target, ensure_ascii=False)
    return jsonRes
예제 #13
0
def getalltasks():
    gmp = openvas.create_connection()
    all_tasks = openvas.get_all_tasks(gmp)
    jsonRes = json.dumps(all_tasks, ensure_ascii=False)
    return jsonRes