2022-01-26 13:50:34 +00:00
|
|
|
# Mobile Verification Toolkit (MVT)
|
2023-09-09 15:55:27 +00:00
|
|
|
# Copyright (c) 2021-2023 The MVT Authors.
|
2022-01-26 13:50:34 +00:00
|
|
|
# Use of this software is governed by the MVT License 1.1 that can be found at
|
|
|
|
# https://license.mvt.re/1.1/
|
|
|
|
|
|
|
|
import logging
|
|
|
|
|
|
|
|
from mvt.common.indicators import Indicators
|
|
|
|
from mvt.common.module import run_module
|
|
|
|
from mvt.ios.modules.mixed.safari_browserstate import SafariBrowserState
|
|
|
|
|
2022-02-23 14:07:13 +00:00
|
|
|
from ..utils import get_ios_backup_folder
|
2022-01-26 13:50:34 +00:00
|
|
|
|
|
|
|
|
|
|
|
class TestSafariBrowserStateModule:
|
|
|
|
def test_parsing(self):
|
2022-08-13 00:14:24 +00:00
|
|
|
m = SafariBrowserState(target_path=get_ios_backup_folder())
|
2022-01-26 13:50:34 +00:00
|
|
|
m.is_backup = True
|
|
|
|
run_module(m)
|
|
|
|
assert len(m.results) == 1
|
|
|
|
assert len(m.timeline) == 1
|
|
|
|
assert len(m.detected) == 0
|
|
|
|
|
|
|
|
def test_detection(self, indicator_file):
|
2022-08-13 00:14:24 +00:00
|
|
|
m = SafariBrowserState(target_path=get_ios_backup_folder())
|
2022-01-26 13:50:34 +00:00
|
|
|
m.is_backup = True
|
2022-08-13 00:14:24 +00:00
|
|
|
ind = Indicators(log=logging.getLogger())
|
2022-01-26 13:50:34 +00:00
|
|
|
ind.parse_stix2(indicator_file)
|
|
|
|
# Adds a file that exists in the manifest.
|
2022-02-02 17:14:10 +00:00
|
|
|
ind.ioc_collections[0]["domains"].append("en.wikipedia.org")
|
2022-01-26 13:50:34 +00:00
|
|
|
m.indicators = ind
|
|
|
|
run_module(m)
|
|
|
|
assert len(m.detected) == 1
|
|
|
|
assert len(m.results) == 1
|
|
|
|
assert m.results[0]["tab_url"] == "https://en.wikipedia.org/wiki/NSO_Group"
|