Beispiel #1
0
    def get_html_msg(self) -> dict:
        command = self.command
        assets_with_url = []
        for asset in command['assets']:
            url = reverse('assets:asset-detail',
                          kwargs={'pk': asset.id},
                          api_to_ui=True,
                          external=True) + '?oid={}'.format(asset.org_id)
            assets_with_url.append([asset, url])

        level = Command.get_risk_level_str(command['risk_level'])
        items = {
            _("User"): command['user'],
            _("Level"): level,
            _("Date"): local_now_display(),
        }

        context = {
            'items': items,
            'assets_with_url': assets_with_url,
            'command': command['input'],
        }
        message = render_to_string('terminal/_msg_command_execute_alert.html',
                                   context)
        return {'subject': self.subject, 'message': message}
Beispiel #2
0
    def _get_message(self):
        command = self.command
        session_obj = Session.objects.get(id=command['session'])

        message = _("""
                        Command: %(command)s
                        <br>
                        Asset: %(host_name)s (%(host_ip)s)
                        <br>
                        User: %(user)s
                        <br>
                        Level: %(risk_level)s
                        <br>
                        Session: <a href="%(session_detail_url)s">session detail</a>
                        <br>
                        """) % {
            'command': command['input'],
            'host_name': command['asset'],
            'host_ip': session_obj.asset_obj.ip,
            'user': command['user'],
            'risk_level': Command.get_risk_level_str(command['risk_level']),
            'session_detail_url': reverse('api-terminal:session-detail',
                                          kwargs={'pk': command['session']},
                                          external=True, api_to_ui=True),
        }

        return message
    def get_html_msg(self) -> dict:
        command = self.command

        with tmp_to_root_org():
            session = Session.objects.get(id=command['session'])

        session_detail_url = reverse('api-terminal:session-detail',
                                     kwargs={'pk': command['session']},
                                     external=True,
                                     api_to_ui=True)

        message = _("""
            Command: %(command)s
            <br>
            Asset: %(hostname)s (%(host_ip)s)
            <br>
            User: %(user)s
            <br>
            Level: %(risk_level)s
            <br>
            Session: <a href="%(session_detail_url)s?oid=%(oid)s">session detail</a>
            <br>
        """) % {
            'command': command['input'],
            'hostname': command['asset'],
            'host_ip': session.asset_obj.ip,
            'user': command['user'],
            'risk_level': Command.get_risk_level_str(command['risk_level']),
            'session_detail_url': session_detail_url,
            'oid': session.org_id
        }
        return {'subject': self.subject, 'message': message}
    def get_text_msg(self) -> dict:
        command = self.command
        _input = command['input']

        assets = ', '.join([str(asset) for asset in command['assets']])
        message = _("""
Assets: %(assets)s
User: %(user)s
Level: %(risk_level)s

Commands 👇 ------------
%(command)s
------------------------
                            """) % {
            'command': _input,
            'assets': assets,
            'user': command['user'],
            'risk_level': Command.get_risk_level_str(command['risk_level'])
        }
        return {'subject': self.subject, 'message': message}
Beispiel #5
0
 def get_html_msg(self) -> dict:
     command = self.command
     session_detail_url = reverse('api-terminal:session-detail',
                                  kwargs={'pk': command['session']},
                                  external=True,
                                  api_to_ui=True) + '?oid={}'.format(
                                      self.command['org_id'])
     session_detail_url = session_detail_url.replace(
         '/terminal/sessions/', '/audit/sessions/sessions/')
     level = Command.get_risk_level_str(command['risk_level'])
     items = {
         _("Asset"): command['asset'],
         _("User"): command['user'],
         _("Level"): level,
         _("Date"): local_now_display(),
     }
     context = {
         'items': items,
         'session_url': session_detail_url,
         "command": command['input'],
     }
     message = render_to_string('terminal/_msg_command_alert.html', context)
     return {'subject': self.subject, 'message': message}
Beispiel #6
0
    def _get_message(self):
        command = self.command
        input = command['input']
        input = input.replace('\n', '<br>')

        assets = ', '.join([str(asset) for asset in command['assets']])
        message = _("""
                            Assets: %(assets)s
                            <br>
                            User: %(user)s
                            <br>
                            Level: %(risk_level)s
                            <br>

                            ----------------- Commands ---------------- <br>
                            %(command)s <br>
                            ----------------- Commands ---------------- <br>
                            """) % {
            'command': input,
            'assets': assets,
            'user': command['user'],
            'risk_level': Command.get_risk_level_str(command['risk_level']),
        }
        return message
    def get_html_msg(self) -> dict:
        command = self.command
        _input = command['input']
        _input = _input.replace('\n', '<br>')

        assets = ', '.join([str(asset) for asset in command['assets']])
        message = _("""
                            Assets: %(assets)s
                            <br>
                            User: %(user)s
                            <br>
                            Level: %(risk_level)s
                            <br>

                            ----------------- Commands ---------------- <br>
                            %(command)s <br>
                            ----------------- Commands ---------------- <br>
                            """) % {
            'command': _input,
            'assets': assets,
            'user': command['user'],
            'risk_level': Command.get_risk_level_str(command['risk_level'])
        }
        return {'subject': self.subject, 'message': message}