Exemple #1
0
def process_callback(callback):
    # Parse the process list
    parsed_process_list = parse_process_list(callback)

    # Extract features
    collected_features = gather_features(parsed_process_list)

    # Make a prediction
    decision_tree_prediction, neural_network_prediction = make_prediction(
        collected_features)

    # Make the drop decision set neural_network_prediction  confidence based on risk tolerance
    if decision_tree_prediction < 1 or neural_network_prediction < 0.60:
        logging.success(
            f'Dropping payload.\n [-] Decision Tree:{decision_tree_prediction}\n [-] Neural Network:{neural_network_prediction}'
        )

        keycode = str(uuid.uuid4())
        keycodes['keycode'].append(keycode)

        url = f'http://{config.domain}/deliver/{keycode}'

        return url

    else:
        logging.warn(
            f'Not dropping payload.\n [-]Decision Tree:{decision_tree_prediction}\n [-] Neural Network:{neural_network_prediction}'
        )

        return 'Safety first'
Exemple #2
0
def process_callback(callback):
    # Parse the process list
    parsed_process_list = parse_process_list(callback)

    # Extract features
    collected_features = gather_features(parsed_process_list)

    # Make a prediction
    decision_tree_prediction, neural_network_prediction = make_prediction(
        collected_features)

    # Make the drop decision
    if decision_tree_prediction < 1 or neural_network_prediction < 0.50:
        logging.success(
            f'Dropping payload.\nDecision Tree: {decision_tree_prediction}\n Neural Network: {neural_network_prediction}\n'
        )

        return 'Payload'

    else:
        logging.warn(
            f'Not dropping payload.\nDecision Tree: {decision_tree_prediction}\n Neural Network: {neural_network_prediction}\n'
        )

        return 'Safety first'
Exemple #3
0
def main(args):
    logging.print('''                   
 ____              ____              
|    \ ___ ___ ___|    \ ___ ___ ___ 
|  |  | -_| -_| . |  |  |  _| . | . |
|____/|___|___|  _|____/|_| |___|  _|
              |_|               |_|  
    ''')

    app = Flask(__name__)
    
    try: 
        # Load the models
        models.load_models()
        logging.warn('All models loaded')

        # Patch our payloads - will be moved.
        deepdrop.patch_payloads(config.payload_files, config.domain)
        logging.warn(f'Payloads patched for {config.domain}')

        if args.debug:
            captains_key = str(uuid.uuid4())
            app.config['CAPTAINS_KEY'] = captains_key
            app.debug = True

            logging.debug(captains_key)

        # Setup our routes
        routing.setup_routes(app)

    except Exception as e:
        logging.error(str(e))

    app.run('0.0.0.0', 80, threaded=False, use_reloader=False) # No threading because https://github.com/keras-team/keras/issues/2397