Esempio n. 1
0
    def testFilters(self):
        """Tests the FILTERS class attribute."""
        plugin = task_scheduler.TaskCacheWindowsRegistryPlugin()

        key_path = ('HKEY_LOCAL_MACHINE\\Software\\Microsoft\\Windows NT\\'
                    'CurrentVersion\\Schedule\\TaskCache')
        self._AssertFiltersOnKeyPath(plugin, key_path)

        self._AssertNotFiltersOnKeyPath(plugin, 'HKEY_LOCAL_MACHINE\\Bogus')
Esempio n. 2
0
    def testProcess(self):
        """Tests the Process function."""
        test_file_entry = self._GetTestFileEntry(['SOFTWARE-RunTests'])
        key_path = ('HKEY_LOCAL_MACHINE\\Software\\Microsoft\\Windows NT\\'
                    'CurrentVersion\\Schedule\\TaskCache')

        win_registry = self._GetWinRegistryFromFileEntry(test_file_entry)
        registry_key = win_registry.GetKeyByPath(key_path)

        plugin = task_scheduler.TaskCacheWindowsRegistryPlugin()
        storage_writer = self._ParseKeyWithPlugin(registry_key,
                                                  plugin,
                                                  file_entry=test_file_entry)

        self.assertEqual(storage_writer.number_of_warnings, 0)
        self.assertEqual(storage_writer.number_of_events, 174)

        events = list(storage_writer.GetEvents())

        event = events[0]

        # This should just be the plugin name, as we're invoking it directly,
        # and not through the parser.
        self.assertEqual(event.parser, plugin.plugin_name)

        self.assertEqual(event.data_type, 'task_scheduler:task_cache:entry')
        self.CheckTimestamp(event.timestamp, '2009-07-14 04:53:25.811618')

        self.assertEqual(event.task_name, 'SynchronizeTime')
        self.assertEqual(event.task_identifier,
                         '{044A6734-E90E-4F8F-B357-B2DC8AB3B5EC}')

        expected_message = (
            '[{0:s}] '
            'Task: SynchronizeTime '
            '[Identifier: {{044A6734-E90E-4F8F-B357-B2DC8AB3B5EC}}]'
        ).format(key_path)
        expected_short_message = ('Task: SynchronizeTime')

        self._TestGetMessageStrings(event, expected_message,
                                    expected_short_message)

        event = events[1]

        self.assertEqual(event.data_type, 'task_scheduler:task_cache:entry')
        self.CheckTimestamp(event.timestamp, '2009-07-14 05:08:50.811627')

        expected_message = (
            '[{0:s}] '
            'Task: SynchronizeTime '
            '[Identifier: {{044A6734-E90E-4F8F-B357-B2DC8AB3B5EC}}]'
        ).format(key_path)
        expected_short_message = ('Task: SynchronizeTime')

        self._TestGetMessageStrings(event, expected_message,
                                    expected_short_message)
Esempio n. 3
0
    def testProcess(self):
        """Tests the Process function."""
        test_file_entry = self._GetTestFileEntry(['SOFTWARE-RunTests'])
        key_path = ('HKEY_LOCAL_MACHINE\\Software\\Microsoft\\Windows NT\\'
                    'CurrentVersion\\Schedule\\TaskCache')

        win_registry = self._GetWinRegistryFromFileEntry(test_file_entry)
        registry_key = win_registry.GetKeyByPath(key_path)

        plugin = task_scheduler.TaskCacheWindowsRegistryPlugin()
        storage_writer = self._ParseKeyWithPlugin(registry_key,
                                                  plugin,
                                                  file_entry=test_file_entry)

        number_of_events = storage_writer.GetNumberOfAttributeContainers(
            'event')
        self.assertEqual(number_of_events, 174)

        number_of_warnings = storage_writer.GetNumberOfAttributeContainers(
            'extraction_warning')
        self.assertEqual(number_of_warnings, 0)

        number_of_warnings = storage_writer.GetNumberOfAttributeContainers(
            'recovery_warning')
        self.assertEqual(number_of_warnings, 0)

        events = list(storage_writer.GetEvents())

        expected_event_values = {
            'date_time': '2009-07-14 04:53:25.8116181',
            'data_type': 'task_scheduler:task_cache:entry',
            'key_path': key_path,
            # This should just be the plugin name, as we're invoking it directly,
            # and not through the parser.
            'parser': plugin.NAME,
            'task_name': 'SynchronizeTime',
            'task_identifier': '{044A6734-E90E-4F8F-B357-B2DC8AB3B5EC}'
        }

        self.CheckEventValues(storage_writer, events[0], expected_event_values)

        expected_event_values = {
            'date_time': '2009-07-14 05:08:50.8116269',
            'data_type': 'task_scheduler:task_cache:entry',
            'key_path': key_path,
            # This should just be the plugin name, as we're invoking it directly,
            # and not through the parser.
            'parser': plugin.NAME,
            'task_name': 'SynchronizeTime',
            'task_identifier': '{044A6734-E90E-4F8F-B357-B2DC8AB3B5EC}'
        }

        self.CheckEventValues(storage_writer, events[1], expected_event_values)