## https://sploitus.com/exploit?id=KITPLOIT:TOOLS-GITHUB-THEMITTENMAC-TRUETREE
# TrueTree

**О программе**
Подробнее о концепции TrueTree можно прочитать здесь.
TrueTree — это не просто команда pstree для macOS. Она используется для отображения дерева процессов для текущих запущенных процессов, используя иерархию, построенную на дополнительных PID, полученных из операционной системы. Стандартное дерево процессов в macOS, которое можно построить на основе традиционных PID и PPID, недостаточно полезно из-за активного обмена данными через XPC. Подавляющее большинство процессов в итоге имеют родительский процесс launchd. TrueTree же отображает дерево процессов, предназначенное для инцидент-респондеров, охотников за угрозами, исследователей и всех, кто работает в этой сфере!
Основное обновление: Из-за постоянно меняющихся функций в macOS, начиная с macOS 11 некоторые функции работают не совсем так, как при написании оригинальной статьи о TrueTree. Apple представила новый процесс "runningboardd", который становится истинным родителем многих процессов. Чтобы обойти это, TrueTree был обновлён для использования фреймворка Application Services, что позволяет в некоторых сценариях получить истинного родителя. Однако теперь это не позволяет получить истинный родительский процесс, если этот родительский процесс завершился. Это затрудняет точное определение некоторых истинных родителей, например, команды "open". Небольшая цена, чтобы TrueTree продолжал работать в разных версиях macOS. Некоторые другие признаки истинного родителя часто можно найти в выводе launchctl procinfo. Возможно, это будет учтено в будущем.
**./TrueTree -h**
\--nocolor -> Не раскрашивать элементы в выводе \--timeline -> Сортировать и вывести все процессы по времени их создания \--timestamps -> Включить временные метки процессов \--standard -> Вывести стандартное дерево Unix вместо TrueTree \--sources -> Показать источник, из которого был получен родительский PID для каждого процесса \--nonetwork -> Не выводить сетевые подключения \--nopid -> Не выводить PID рядом с каждым процессом \--nopath -> Выводить только имя процесса вместо полного пути \--version -> Показать номер версии TrueTree -o -> Вывод в файл
Примечание: требуются права root
**./TrueTree**
Отображает расширенное дерево процессов с использованием концепции TrueTree

**./TrueTree --standard**
Для вывода дерева на основе стандартных PID и PPID используйте --standard

**./TrueTree --timestamps**
Для вывода в любом формате с добавлением времени создания процесса используйте опцию --timestamps

**./TrueTree --sources**
Чтобы увидеть, откуда был получен каждый родительский PID, используйте опцию --sources

**./TrueTree --timeline**
Не строит дерево. Просто выводит процессы, отсортированные по времени создания
