AutoMacTC:一款針對macOS環境的自動化取證分類采集器

2019-11-19 36670人圍觀 工具

aaaaaaaaasdasdasdasdasd.jpg

工具介紹

AutoMacTC是一個針對macOS環境的模塊化自動取證分類收集框架,AutoMacTC旨在幫助研究人員輕松訪問macOS環境中的各種取證信息以及數據文件,而且它還能夠對這些取證文件及數據進行解析,并以可視化的形式呈現以供研究人員對其進行分析。除此之外,AutoMacTC的輸出可以為研究人員解決macOS環境中的事件響應提供有價值的建議。值得一提的是,AutoMacTC可以在活動系統或固定磁盤(加載的卷)中直接運行。

工具要求

1、Python 2.7(macOS原生自帶了Python 2.7環境,之后該工具將增加Python 3的支持)

2、macOS目標系統,支持實時收集

3、macOS分析系統,進行已加載磁盤鏡像的取證分類采集

工具下載

廣大研究人員可以使用git命令直接將該項目代碼克隆至本地:

git clone https://github.com/CrowdStrike/automactc.git

工具使用

廣大研究人員可以直接使用下列命令調用AutoMacTC(注意:AutoMacTC需要使用sudo權限才能運行,應該從/usr/bin/python2.7中直接調用以確保功能的完整性):

sudo /usr/bin/python2.7 automactc.py -m all

上述命令將會使用默認配置運行所有模塊(-m)。比如說,默認的輸入目錄為“/”,即當前卷宗的根目錄,默認輸出目錄為“./”,默認輸出文件名的前綴為“automactc-output”,默認輸出文件格式為“CSV”,默認CPU優先級將被設置為“低”,所有的輸出文件壓縮格式為tar.gz。

查看所有的可用模塊列表:

automactc.py -l

輸入目錄和輸出目錄可以使用“-i”或“-o”選項來進行相應配置:

automactc.py -i / -o /automactc_output -m all

我們還可以直接在運行參數后面加上需要包含或排除的模塊名稱:

automactc.py -m pslist bash profiler

或者,我們也可以排除使用特定模塊:

automactc.py -x dirlist autoruns

輸出控制

針對每一個模塊,AutoMacTC將會生成對應的輸出文件,并向其中填充數據。輸出文件格式默認為CSV,但是可以使用“fmt”參數來修改為JSON格式:

automactc.py -m all -fmt json 

輸出文件填充完成之后,文件將會被轉換為.tar格式。當最后一個模塊的輸出文件生成之后,AutoMacTC將會使用GZIP將所有輸出報告壓縮為.tar.gz文檔。

tar文件名遵循下列命名規范:

prefix,hostname,ip,automactc_runtime.tar

第一個perfix可以使用“-p”參數指定,如果不指定,那么前綴默認為“automactc-output”。其他的數據域會在程序運行過程中進行填充。如果你需要在多個系統中運行AutoMacTC的話,你可以嘗試為單一事件生成取證報告:

automactc.py -m all -p granny-smith

若你不想生成tar文檔的話,可以使用下列命令獲取原始文件:

automactc.py -m all -p granny-smith -nt 

工具當前模塊

-pslist(automatc運行時的當前進程列表)

-lsof(automatcc運行時打開的當前文件句柄)

-netstat(automatcc運行時的當前網絡連接)

-ASL(解析的Apple系統日志(.asl)文件)

-autoruns(解析各種持久性位置和plist)

-bash(為所有用戶解析bash/*\u歷史文件)

-chrome(解析chrome訪問歷史和下載歷史)

-coreAnalytics(解析由Apple Diagnostics生成的程序執行證據)

-dirlist (列出磁盤上的所有文件和目錄)

-firefox(解析Firefox訪問歷史和下載歷史)

-installhistory(分析程序安裝歷史)

-mru(解析sfl和mru plist文件)

-quarantines(分析QuarantineEventSv2數據庫)

-quicklook(分析QuickLooks數據庫)

-safari(解析Safari訪問歷史和下載歷史)

-spotlight(分析用戶spotlight頂部搜索)

-ssh(為每個用戶解析已知的_主機和授權的_密鑰文件)

-syslog(分析system.log文件)

-systeminfo(基本系統標識,如當前IP地址、序列號、主機名)

-terminalstate(分析終端保存狀態文件)

-users(列出系統上現有和已刪除的用戶)

-utmpx(列出終端上的用戶會話)

工具高級使用

禁用verbose調試日志生成:

automactc.py -m all -nl

使用靜默模式運行AutoMacTC:

automactc.py -m all -q

在控制臺顯示調試信息:

automactc.py -m all -d

以常規CPU優先級運行AutoMacTC:

automactc.py -m all -r

幫助菜單

usage: automactc.py [-m INCLUDE_MODULES [INCLUDE_MODULES ...] | -x

                    EXCLUDE_MODULES [EXCLUDE_MODULES ...] | -l] [-h]

                    [-i INPUTDIR] [-o OUTPUTDIR] [-p PREFIX] [-f] [-nt] [-nl]

                    [-fmt {csv,json}] [-np] [-b] [-q | -d]

                    [-K DIR_INCLUDE_DIRS [DIR_INCLUDE_DIRS ...]]

                    [-E DIR_EXCLUDE_DIRS [DIR_EXCLUDE_DIRS ...]]

                    [-H DIR_HASH_ALG [DIR_HASH_ALG ...]]

                    [-S DIR_HASH_SIZE_LIMIT] [-R] [-NC] [-NM]

 

AutoMacTC: an Automated macOS forensic triage collection framework.

 

module filter:

  -m INCLUDE_MODULES [INCLUDE_MODULES ...], --include_modules INCLUDE_MODULES [INCLUDE_MODULES ...]

                        module(s) to use, use "all" to run all modules, space

                        separated list only

  -x EXCLUDE_MODULES [EXCLUDE_MODULES ...], --exclude_modules EXCLUDE_MODULES [EXCLUDE_MODULES ...]

                        assumes you want to run all modules EXCEPT those

                        specified here, space separated list only

  -l, --list_modules    if flag is provided, will list available modules and

                        exit.

 

general arguments:

  -h, --help            show this help message and exit

  -i INPUTDIR, --inputdir INPUTDIR

                        input directory (mount dmg with mountdmg.sh script and

                        use -f to analyze mounted HFS or APFS Volume)

  -o OUTPUTDIR, --outputdir OUTPUTDIR

                        output directory

  -p PREFIX, --prefix PREFIX

                        prefix to append to tarball and/or output files

  -f, --forensic_mode   if flag is provided, will analyze mounted volume

                        provided as inputdir

  -nt, --no_tarball     if flag is provided, will NOT package output files

                        into tarball

  -nl, --no_logfile     if flag is provided, will NOT generate logfile on disk

  -fmt {csv,json}, --output_format {csv,json}

                        toggle between csv and json output, defaults to csv

  -np, --no_low_priority

                        if flag is provided, will NOT run automactc with

                        highest niceness (lowest CPU priority). high niceness

                        is default

  -b, --multiprocessing

                        if flag is provided, WILL multiprocess modules

                        [WARNING: Experimental!]

 

console logging verbosity:

  -q, --quiet           if flag is provided, will NOT output to console at all

  -d, --debug           enable debug logging to console

 

specific module arguments:

  -K DIR_INCLUDE_DIRS [DIR_INCLUDE_DIRS ...], --dir_include_dirs DIR_INCLUDE_DIRS [DIR_INCLUDE_DIRS ...]

                        directory inclusion filter for dirlist module,

                        defaults to volume root, space separated list only

  -E DIR_EXCLUDE_DIRS [DIR_EXCLUDE_DIRS ...], --dir_exclude_dirs DIR_EXCLUDE_DIRS [DIR_EXCLUDE_DIRS ...]

                        directory and file exclusion filter for dirlist

                        module. defaults are specified in README. space

                        separated list only. put 'no-defaults' as first item

                        to overwrite default exclusions and then provide your

                        own exclusions

  -H DIR_HASH_ALG [DIR_HASH_ALG ...], --dir_hash_alg DIR_HASH_ALG [DIR_HASH_ALG ...]

                        either sha256 or md5 or both or none, at least one is

                        recommended, defaults to sha256. also applies to

                        autoruns module

  -S DIR_HASH_SIZE_LIMIT, --dir_hash_size_limit DIR_HASH_SIZE_LIMIT

                        file size filter for which files to hash, in

                        megabytes, defaults to 10MB. also applies to autoruns

                        module

  -R, --dir_recurse_bundles

                        will fully recurse app bundles if flag is provided.

                        this takes much more time and space

  -NC, --dir_no_code_signatures

                        if flag is provided, will NOT check code signatures

                        for app and kext files. also applies to autoruns

                        module

  -NM, --dir_no_multithreading

                        if flag is provided, will NOT multithread the dirlist

                        module

項目地址

AutoMacTC:【GitHub傳送門】 

*參考來源:CrowdStrike,FB小編Alpha_h4ck編譯,轉載請注明來自FreeBuf.COM

相關推薦
取消
Loading...

特別推薦

推薦關注

活動預告

填寫個人信息

姓名
電話
郵箱
公司
行業
職位
css.php 什么app能玩二人麻将