2022-01-18 15:00:03 +00:00
|
|
|
# Mobile Verification Toolkit (MVT)
|
2023-09-09 15:55:27 +00:00
|
|
|
# Copyright (c) 2021-2023 The MVT Authors.
|
2022-01-18 15:00:03 +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/
|
|
|
|
|
2021-12-16 11:50:12 +00:00
|
|
|
import logging
|
2022-01-07 16:03:53 +00:00
|
|
|
|
2022-01-18 16:12:20 +00:00
|
|
|
from mvt.common.indicators import Indicators
|
2021-12-16 11:50:12 +00:00
|
|
|
from mvt.common.module import run_module
|
2022-01-18 15:00:03 +00:00
|
|
|
from mvt.ios.modules.mixed.tcc import TCC
|
2021-12-16 11:50:12 +00:00
|
|
|
|
2022-02-23 14:07:13 +00:00
|
|
|
from ..utils import get_ios_backup_folder
|
2021-12-16 11:50:12 +00:00
|
|
|
|
2022-01-18 15:00:03 +00:00
|
|
|
|
2023-08-02 13:28:16 +00:00
|
|
|
class TestTCCModule:
|
2022-01-18 16:12:20 +00:00
|
|
|
def test_tcc(self):
|
2022-08-13 00:14:24 +00:00
|
|
|
m = TCC(target_path=get_ios_backup_folder())
|
2022-01-07 17:24:24 +00:00
|
|
|
run_module(m)
|
|
|
|
assert len(m.results) == 11
|
|
|
|
assert len(m.timeline) == 11
|
|
|
|
assert len(m.detected) == 0
|
|
|
|
assert m.results[0]["service"] == "kTCCServiceUbiquity"
|
2022-01-18 16:12:20 +00:00
|
|
|
assert m.results[0]["client"] == "com.apple.Preferences"
|
2022-01-07 17:24:24 +00:00
|
|
|
assert m.results[0]["auth_value"] == "allowed"
|
|
|
|
|
2022-01-18 16:12:20 +00:00
|
|
|
def test_tcc_detection(self, indicator_file):
|
2022-08-13 00:14:24 +00:00
|
|
|
m = TCC(target_path=get_ios_backup_folder())
|
|
|
|
ind = Indicators(log=logging.getLogger())
|
2022-01-18 16:12:20 +00:00
|
|
|
ind.parse_stix2(indicator_file)
|
|
|
|
m.indicators = ind
|
2021-12-16 11:50:12 +00:00
|
|
|
run_module(m)
|
|
|
|
assert len(m.results) == 11
|
2022-01-07 16:03:53 +00:00
|
|
|
assert len(m.timeline) == 11
|
2022-01-18 16:12:20 +00:00
|
|
|
assert len(m.detected) == 1
|
|
|
|
assert m.detected[0]["service"] == "kTCCServiceLiverpool"
|
|
|
|
assert m.detected[0]["client"] == "Launch"
|