def delete_c2ip(id): """Delete c2ip artifact associated with id Return: None""" entity = c2ip.C2ip.query.get(id) if entity.active: entity.active = False if not entity: abort(404) if not current_user.admin and entity.owner_user_id != current_user.id: abort(403) db.session.merge(entity) db.session.commit() delete_tags_mapping(entity.__tablename__, entity.id) delete_bookmarks(ENTITY_MAPPING["IP"], id, current_user.id) else: db.session.delete(entity) db.session.commit() delete_tags_mapping(entity.__tablename__, entity.id) delete_bookmarks(ENTITY_MAPPING["IP"], id, current_user.id) return jsonify(''), 204
def delete_yara_rule(id): """INACTIVATE yara_rule artifact associated with id Return: None""" entity = yara_rule.Yara_rule.query.get(id) if entity.active: entity.active = False if not entity: abort(404) if not current_user.admin and entity.owner_user_id != current_user.id: abort(403) db.session.merge(entity) db.session.commit() # delete_tags_mapping(entity.__tablename__, entity.id) delete_bookmarks(ENTITY_MAPPING["SIGNATURE"], id, current_user.id) else: db.session.query(yara_rule.Yara_testing_history).filter( yara_rule.Yara_testing_history.yara_rule_id.in_([entity.id])).delete(synchronize_session='fetch') db.session.query(yara_rule.Yara_rule_history).filter( yara_rule.Yara_rule_history.yara_rule_id.in_([entity.id])).delete(synchronize_session='fetch') db.session.delete(entity) db.session.commit() delete_bookmarks(ENTITY_MAPPING["SIGNATURE"], id, current_user.id) return jsonify(''), 204
def delete_tasks(id): """Delete task associated with the given id Return: None""" entity = tasks.Tasks.query.get(id) if not entity: abort(404) # db.session.delete(entity) entity.active = False db.session.add(entity) db.session.commit() delete_bookmarks(ENTITY_MAPPING["TASK"], id, current_user.id) return jsonify(''), 204
def delete_c2dns(id): """Delete c2dns artifact associated with id Return: None""" entity = c2dns.C2dns.query.get(id) tag_mapping_to_delete = entity.to_dict()['tags'] if not entity: abort(404) if not current_user.admin and entity.owner_user_id != current_user.id: abort(403) db.session.delete(entity) db.session.commit() delete_tags_mapping(entity.__tablename__, entity.id, tag_mapping_to_delete) delete_bookmarks(ENTITY_MAPPING["DNS"], id, current_user.id) return jsonify(''), 204
def merge_signatures(): """Merge a signature into another From Data: merge_from_id (int), merge_to_id (int) Return: merged yara_rule artifact dictionary""" merge_from_id = request.json.get("merge_from_id", None) merge_to_id = request.json.get("merge_to_id", None) if not merge_from_id or not merge_to_id: abort(412, description="Not enough info provided") merge_from_yr = yara_rule.Yara_rule.query.filter_by( id=merge_from_id).first() merge_to_yr = yara_rule.Yara_rule.query.filter_by(id=merge_to_id).first() merged_state = "Merged" if not cfg_states.Cfg_states.query.filter_by(state=merged_state).first(): db.session.add(cfg_states.Cfg_states(state=merged_state)) db.session.commit() merge_from_yr.state = merged_state db.session.add(merge_from_yr) merged_into_comment = "This yara rule was merged into signature '%s' with event id '%s' by '%s'" % ( merge_to_yr.name, merge_to_yr.eventid, current_user.email) db.session.add( comments.Comments(comment=merged_into_comment, entity_type=ENTITY_MAPPING["SIGNATURE"], entity_id=merge_from_yr.id, user_id=current_user.id)) merged_from_comment = "The yara rule '%s' with event id '%s' was merged into this yara rule by '%s'" % ( merge_from_yr.name, merge_from_yr.eventid, current_user.email) db.session.add( comments.Comments(comment=merged_from_comment, entity_type=ENTITY_MAPPING["SIGNATURE"], entity_id=merge_to_yr.id, user_id=current_user.id)) db.session.commit() delete_bookmarks(ENTITY_MAPPING["SIGNATURE"], merge_from_id, current_user.id) return get_yara_rule(merge_to_yr.id)
def delete_yara_rule(id): """INACTIVATE yara_rule artifact associated with id Return: None""" entity = yara_rule.Yara_rule.query.get(id) entity.active = False # tag_mapping_to_delete = entity.to_dict()['tags'] if not entity: abort(404) if not current_user.admin and entity.owner_user_id != current_user.id: abort(403) db.session.merge(entity) db.session.commit() # delete_tags_mapping(entity.__tablename__, entity.id, tag_mapping_to_delete) delete_bookmarks(ENTITY_MAPPING["SIGNATURE"], id, current_user.id) return jsonify(''), 204