示例#1
0
文件: report.py 项目: u53r55/monkey
    def get_scanned():

        formatted_nodes = []

        nodes = \
            [NodeService.get_displayed_node_by_id(node['_id'], True) for node in mongo.db.node.find({}, {'_id': 1})] \
            + [NodeService.get_displayed_node_by_id(monkey['_id'], True) for monkey in
               mongo.db.monkey.find({}, {'_id': 1})]
        for node in nodes:
            formatted_nodes.append({
                'label':
                node['label'],
                'ip_addresses':
                node['ip_addresses'],
                'accessible_from_nodes': (x['hostname'] for x in (
                    NodeService.get_displayed_node_by_id(edge['from'], True)
                    for edge in EdgeService.get_displayed_edges_by_to(
                        node['id'], True))),
                'services':
                node['services']
            })

        logger.info('Scanned nodes generated for reporting')

        return formatted_nodes
示例#2
0
    def get_exploited():
        exploited = \
            [NodeService.get_displayed_node_by_id(monkey['_id'], True) for monkey in
             mongo.db.monkey.find({}, {'_id': 1})
             if not NodeService.get_monkey_manual_run(NodeService.get_monkey_by_id(monkey['_id']))] \
            + [NodeService.get_displayed_node_by_id(node['_id'], True)
               for node in mongo.db.node.find({'exploited': True}, {'_id': 1})]

        exploited = [{
            'label':
            monkey['label'],
            'ip_addresses':
            monkey['ip_addresses'],
            'domain_name':
            monkey['domain_name'],
            'exploits':
            list(
                set([
                    ReportService.EXPLOIT_DISPLAY_DICT[exploit['exploiter']]
                    for exploit in monkey['exploits'] if exploit['result']
                ]))
        } for monkey in exploited]

        logger.info('Exploited nodes generated for reporting')

        return exploited
示例#3
0
    def get_scanned():
        nodes = \
            [NodeService.get_displayed_node_by_id(node['_id'], True) for node in mongo.db.node.find({}, {'_id': 1})] \
            + [NodeService.get_displayed_node_by_id(monkey['_id'], True) for monkey in
               mongo.db.monkey.find({}, {'_id': 1})]
        nodes = [
            {
                'label': node['label'],
                'ip_addresses': node['ip_addresses'],
                'accessible_from_nodes':
                    (x['hostname'] for x in
                     (NodeService.get_displayed_node_by_id(edge['from'], True)
                      for edge in EdgeService.get_displayed_edges_by_to(node['id'], True))),
                'services': node['services']
            }
            for node in nodes]

        return nodes
示例#4
0
    def get_scanned():
        nodes = \
            [NodeService.get_displayed_node_by_id(node['_id'], True) for node in mongo.db.node.find({}, {'_id': 1})] \
            + [NodeService.get_displayed_node_by_id(monkey['_id'], True) for monkey in
               mongo.db.monkey.find({}, {'_id': 1})]
        nodes = [{
            'label':
            node['label'],
            'ip_addresses':
            node['ip_addresses'],
            'accessible_from_nodes': (x['hostname'] for x in (
                NodeService.get_displayed_node_by_id(edge['from'], True)
                for edge in EdgeService.get_displayed_edges_by_to(
                    node['id'], True))),
            'services':
            node['services']
        } for node in nodes]

        return nodes
示例#5
0
    def get_exploited():
        exploited = \
            [NodeService.get_displayed_node_by_id(monkey['_id'], True) for monkey in
             mongo.db.monkey.find({}, {'_id': 1})
             if not NodeService.get_monkey_manual_run(NodeService.get_monkey_by_id(monkey['_id']))] \
            + [NodeService.get_displayed_node_by_id(node['_id'], True)
               for node in mongo.db.node.find({'exploited': True}, {'_id': 1})]

        exploited = [
            {
                'label': monkey['label'],
                'ip_addresses': monkey['ip_addresses'],
                'exploits': list(set(
                    [ReportService.EXPLOIT_DISPLAY_DICT[exploit['exploiter']] for exploit in monkey['exploits'] if
                     exploit['result']]))
            }
            for monkey in exploited]

        return exploited
示例#6
0
    def get(self):
        node_id = request.args.get('id')
        if node_id:
            return NodeService.get_displayed_node_by_id(node_id)

        return {}
示例#7
0
    def get(self):
        node_id = request.args.get('id')
        if node_id:
            return NodeService.get_displayed_node_by_id(node_id)

        return {}