UJP - 技術情報2 : フォレンジックツールのAutoMacTCを使ってみる ForensicCollector/AutoMacTC

Life is fun and easy!

不正IP報告数

Okan Sensor
 
メイン
ログイン
ブログ カテゴリ一覧

Page Top

はじめに anchor.png Edit

 刑事ドラマとかで事件現場を鑑識が証拠保全しているけれど,セキュリティの侵害を受けたパソコンの証拠を保全するのがフォレンジック.  今回は,Mac用のフォレンジックツールのAutoMacTCを使って,何ができるか確認してみる.

Page Top

AutoMacTC(Automated macOS Triage Collector) anchor.png Edit

 AutoMacTCは,セキュリティツール会社のCrowdStrike社が提供している無料のツールで,Pythonで作成されている.  AutoMacTCで取得したフォレンジックデータは,分析者が利用しやすいようにレポートされるらしい.

Page Top

入手 anchor.png Edit

 githubで公開されている.

AutoMacTC: Automated Mac Forensic Triage Collector

https://github.com/CrowdStrike/automactc

 githubからプログラムを取得する。

mewtwo:~ ujpadmin$ git clone https://github.com/CrowdStrike/automactc🆑
Cloning into 'automactc'...
remote: Enumerating objects: 6, done.
remote: Counting objects: 100% (6/6), done.
remote: Compressing objects: 100% (6/6), done.
remote: Total 255 (delta 1), reused 1 (delta 0), pack-reused 249
Receiving objects: 100% (255/255), 238.49 KiB | 409.00 KiB/s, done.
Resolving deltas: 100% (118/118), done.
mewtwo:~ ujpadmin$

 cloneした内容を確認.

mewtwo:~ ujpadmin$ cd automactc🆑
mewtwo:automactc ujpadmin$ ls -la🆑
total 112
drwxr-xr-x   9 ujpadmin  staff    306  5 18 16:35 .
drwxr-xr-x+ 17 ujpadmin  staff    578  5 18 16:35 ..
drwxr-xr-x  12 ujpadmin  staff    408  5 18 16:35 .git
-rw-r--r--   1 ujpadmin  staff   5200  5 18 16:35 CHANGELOG.md
-rw-r--r--   1 ujpadmin  staff   1288  5 18 16:35 LICENSE
-rw-r--r--   1 ujpadmin  staff  13687  5 18 16:35 README.md
-rw-r--r--   1 ujpadmin  staff  24736  5 18 16:35 automactc.py🈁
drwxr-xr-x   6 ujpadmin  staff    204  5 18 16:35 licenses
drwxr-xr-x  27 ujpadmin  staff    918  5 18 16:35 modules
mewtwo:automactc ujpadmin$

 Pythonのインストール先と、バージョンを確認.

mewtwo:automactc ujpadmin$ which python🆑
/usr/bin/python🈁
mewtwo:automactc ujpadmin$ /usr/bin/python --version🆑
Python 2.7.16🈁
mewtwo:automactc ujpadmin$
Page Top

モジュールと実行オプションについて anchor.png Edit

Page Top

モジュールを確認する anchor.png Edit

 AutomacTCによるフォレンジックは,モジュール制のようで,どのような情報を取得できるか,モジュール一覧を取得することができる.

mewtwo:automactc ujpadmin$ sudo /usr/bin/python automactc.py -l🆑
Modules available for use:
	 pslist (v1.0.0)
	 lsof (v1.0.0)
	 netstat (v1.0.0)
	 asl (v1.0.2)
	 autoruns (v1.0.2)
	 bash (v1.0.2)
	 chrome (v1.0.4)
	 coreanalytics (v1.0.2)
	 dirlist (v1.0.2)
	 firefox (v1.0.2)
	 installhistory (v1.0.0)
	 mru (v1.0.2)
	 quarantines (v1.0.2)
	 quicklook (v1.0.1)
	 safari (v1.0.3)
	 spotlight (v1.0.2)
	 ssh (v1.0.2)
	 syslog (v1.0.0)
	 systeminfo (v1.0.4)
	 terminalstate (v1.0.0)
	 users (v1.1.0)
	 utmpx (v1.0.0)
mewtwo:automactc ujpadmin$

 名前から想像できるようなものもあれば,macOS独自実装のQuickLookは,何をフォレンジックするのか想像もつかないけれど.

Page Top

フォレンジック対象モジュールを選択する anchor.png Edit

 -mを指定することで,指定されたモジュールだけを情報収集対象とすることができる.

automactc.py -m pslist bash profiler
Page Top

特定のモジュールをフォレンジックから除外する anchor.png Edit

 -xを指定することで,情報収拾が必要ないモジュールを除外することができる.

automactc.py -x dirlist autoruns
Page Top

レポートの調整 anchor.png Edit

 収集を実行されたモジュールごとに,AutomacTCはログファイルを作成する.  デフォルトの出力形式はCSVだが,-fmtで,json形式を指定することができる.

automactc.py -m all -fmt json

 また,-ntオプションを使うことで,取得したデータのファイルを圧縮しないように設定できる.

Page Top

全ての情報を取得する anchor.png Edit

 最初は,全ての情報を取得してみる.

mewtwo:automactc ujpadmin$ sudo /usr/bin/python automactc.py -m all🆑
Password:🆑
automactc      : INFO     Started automactc (v. 1.0.0.3) at 2020-05-18 07:45:38.767498+00:00.
automactc      : INFO     Going to run in low CPU priority mode.
automactc      : INFO     RunID: QveKGc4MVw
automactc      : INFO     Running PSLIST (v1.0.0)
automactc      : ERROR    mod_live_1_pslist_v100 failed: ['Traceback (most recent call last):\n  File
 "automactc.py", line 351, in modExec\n    import_module(modImport)\n
  File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/importlib/__init__.py",
   line 37, in import_module\n    __import__(name)\n  File
    "/Users/ujpadmin/automactc/modules/mod_live_1_pslist_v100.py", line 74, in <module>\n
        module()\n  File "/Users/ujpadmin/automactc/modules/mod_live_1_pslist_v100.py", line 59,
         in module\n    proc_start = parser.parse(\' \'.join(item[5:9])).replace(tzinfo=None).isoformat()+\'Z\'\n
           File "/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/dateutil/parser.py",
            line 697, in parse\n    return DEFAULTPARSER.parse(timestr, **kwargs)\n 
             File "/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/dateutil/parser.py",
              line 310, in parse\n    ret = default.replace(**repl)\nValueError: hour must be in 0..23\n']
automactc      : INFO     Running LSOF (v1.0.0)
automactc      : INFO     Running NETSTAT (v1.0.0)
automactc      : INFO     Running ASL (v1.0.2)
automactc      : INFO     Running AUTORUNS (v1.0.2)
automactc      : INFO     Running BASH (v1.0.2)
automactc      : INFO     Running CHROME (v1.0.4)
automactc      : INFO     Running COREANALYTICS (v1.0.2)
automactc      : INFO     Running DIRLIST (v1.0.2)
dirlist        : INFO     Wrote 224230 lines in 0:09:48.715896
automactc      : INFO     Running FIREFOX (v1.0.2)
automactc      : ERROR    mod_firefox_v102 failed: ['Traceback (most recent call last):\n  File "automactc.py",
 line 351, in modExec\n    import_module(modImport)\n  File
  "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/importlib/__init__.py", line 37,
   in import_module\n    __import__(name)\n  File "/Users/ujpadmin/automactc/modules/mod_firefox_v102.py",
    line 241, in <module>\n    module(firefox_location)\n  File "/Users/ujpadmin/automactc/modules/mod_firefox_v102.py",
     line 215, in module\n    get_firefox_version(c)\n  File "/Users/ujpadmin/automactc/modules/mod_firefox_v102.py",
      line 56, in get_firefox_version\n    ver = config.get(\'Compatibility\',\'lastversion\')\n  File
       "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/ConfigParser.py", line 607,
        in get\n    raise NoSectionError(section)\nNoSectionError: No section: \'Compatibility\'\n']
automactc      : INFO     Running INSTALLHISTORY (v1.0.0)
automactc      : INFO     Running MRU (v1.0.2)
automactc      : INFO     Running QUARANTINES (v1.0.2)
automactc      : INFO     Running QUICKLOOK (v1.0.1)
automactc      : INFO     Running SAFARI (v1.0.3)
automactc      : INFO     Running SPOTLIGHT (v1.0.2)
automactc      : INFO     Running SSH (v1.0.2)
automactc      : INFO     Running SYSLOG (v1.0.0)
automactc      : INFO     Running SYSTEMINFO (v1.0.4)
automactc      : INFO     Running TERMINALSTATE (v1.0.0)
automactc      : INFO     Running USERS (v1.1.0)
automactc      : INFO     Running UTMPX (v1.0.0)
automactc      : INFO     Finished program at 2020-05-18 07:55:36.612120+00:00.
automactc      : INFO     Total runtime: 0:09:57.844622.
mewtwo:automactc ujpadmin$

 一部エラーになった,5分程度かかった.

Page Top

取得したデータを確認する anchor.png Edit

 AutoMacTCを実行した結果は,GZIPファイルで保存されているので,その中身を確認する.

$ ls -lah🆑
total 10M
drwxr-xr-x  13 ujpadmin staff  442  5 19 01:09 .
drwxr-xr-x+ 22 ujpadmin staff  748  5 19 00:57 ..
-rw-r--r--   1 ujpadmin staff 8.1K  5 19 00:04 .DS_Store
drwxr-xr-x  12 ujpadmin staff  408  5 18 16:35 .git
-rw-r--r--   1 ujpadmin staff 5.1K  5 18 16:35 CHANGELOG.md
-rw-r--r--   1 ujpadmin staff 1.3K  5 18 16:35 LICENSE
-rw-r--r--   1 ujpadmin staff  14K  5 18 16:35 README.md
-rw-r--r--   1 root    staff 9.9M  5 18 23:58 forensics_tar.gz🈁
-rw-r--r--   1 ujpadmin staff  25K  5 18 16:35 automactc.py
drwxr-xr-x   6 ujpadmin staff  204  5 18 16:35 licenses
drwxr-xr-x  50 ujpadmin staff 1.7K  5 18 16:55 modules
drwxr-xr-x  14 ujpadmin staff  476  5 18 18:14 pokemonsay
drwxr-xr-x   5 ujpadmin staff  170  5 18 17:12 report
[mewtwo:ujpadmin 01:09:51 ~/automactc ]
$

 tar xvfでGZIPファイルを展開する.  展開したファイルは次の通り.(ファイル名が長いのでリネーム)

$ ls -la🆑
total 77584
drwxr-xr-x 30 ujpadmin staff     1020  5 19 01:10 .
drwxr-xr-x 13 ujpadmin staff      442  5 19 01:10 ..
-rw-r--r--  1 ujpadmin staff  1154822  5 18 23:48 forensics_asl.csv
-rw-r--r--  1 ujpadmin staff   260688  5 18 23:48 forensics_autoruns.csv
-rw-r--r--  1 ujpadmin staff    20971  5 18 23:48 forensics_bash.csv
-rw-r--r--  1 ujpadmin staff      160  5 18 23:48 forensics_browser_chrome_downloads.csv🈁
-rw-r--r--  1 ujpadmin staff     1390  5 18 23:48 forensics_browser_chrome_history.csv🈁
-rw-r--r--  1 ujpadmin staff      253  5 18 23:48 forensics_browser_chrome_profiles.csv🈁
-rw-r--r--  1 ujpadmin staff      383  5 18 23:58 forensics_browser_firefox_downloads.csv🈁
-rw-r--r--  1 ujpadmin staff     7657  5 18 23:58 forensics_browser_firefox_history.csv🈁
-rw-r--r--  1 ujpadmin staff     3499  5 18 23:58 forensics_browser_safari_downloads.csv🈁
-rw-r--r--  1 ujpadmin staff   944727  5 18 23:58 forensics_browser_safari_history.csv🈁
-rw-r--r--  1 ujpadmin staff    42074  5 18 23:48 forensics_coreanalytics.csv
-rw-r--r--  1 ujpadmin staff 63843663  5 18 23:58 forensics_dirlist.csv
-rw-r--r--  1 ujpadmin staff     7143  5 18 23:58 forensics_installhistory.csv
-rw-r--r--  1 ujpadmin staff  1213133  5 18 23:48 forensics_lsof.csv
-rw-r--r--  1 ujpadmin staff    14770  5 18 23:58 forensics_mru.csv
-rw-r--r--  1 ujpadmin staff     2335  5 18 23:48 forensics_netstat.csv
-rw-r--r--  1 ujpadmin staff    29418  5 18 23:48 forensics_pslist.csv
-rw-r--r--  1 ujpadmin staff     4193  5 18 23:58 forensics_quarantines.csv
-rw-r--r--  1 ujpadmin staff    29264  5 18 23:58 forensics_quicklook.csv
-rw-r--r--  1 ujpadmin staff    25970  5 18 23:58 forensics_runtime.log
-rw-r--r--  1 ujpadmin staff       42  5 18 23:58 forensics_spotlight.csv
-rw-r--r--  1 ujpadmin staff       45  5 18 23:58 forensics_ssh.csv
-rw-r--r--  1 ujpadmin staff   833361  5 18 23:58 forensics_syslog.csv
-rw-r--r--  1 ujpadmin staff      357  5 18 23:58 forensics_systeminfo.csv
-rw-r--r--  1 ujpadmin staff   601157  5 18 23:58 forensics_terminalstate.csv
-rw-r--r--  1 ujpadmin staff     4329  5 18 23:58 forensics_users.csv
-rw-r--r--  1 ujpadmin staff      649  5 18 23:58 forensics_utmpx.csv
-rw-r--r--  1 root    staff 10327108  5 18 23:58 forensics_tar.gz
$

 ブラウザは,Safari,Chrome,Firefoxに対応.Microsoft Edgeなどには対応してない模様.

Page Top

ログファイルの説明 anchor.png Edit

aslApple System Log Managerのログファイル.
autorunslaunchdによる自動起動プロセスのログ.
bashコマンドヒストリを実行日時ごとに取得.
browser_chrome_downloadsGoogle Chromeのダウンロードリスト.
browser_chrome_historyGoogle Chromeの訪問履歴.
browser_chrome_profilesGoogle Chromeのプロファイル.
browser_firefox_downloadsMozilla Firefoxのダウンロードリスト.
browser_firefox_historyMozilla Firefoxの訪問履歴.
browser_safari_downloadsSafariのダウンロード履歴.
browser_safari_historySafariの訪問履歴
coreanalyticsApple診断プログラムの実行内容
dirlistディスク全体のファイルとディレクトリリスト.
installhistoryプログラムのインストール履歴.
lsofコマンド実行時のファイルオープンリスト.
mruSFLとMRUのplistを解析.SFLはSharedFileList.MRUは,Most Recentry Usedのことで,最近のアプリ実行履歴.
netstatネットワーク情報
pslistプロパティリスト.
quarantinesダウンロードしたファイルの状態.一部は,WindowsのZoneInfoに近い感じ.
quicklookQuicklooksのデータベース.
runtime.logAutoMacTCの実行ログ?
spotlightmacOSに付いている全文検索エンジンのSpotLightのトップ検索.
ssh各ユーザーのknown_hostsおよびauthorized_keysファイルの解析
syslogmacosの場合,syslog.logファイルの解析.
systeminfo現在のIPアドレスやMacのシリアルNo.やホスト名など.
terminalstateTerminalの保存状態のファイル.
usersシステム上の現在のユーザーと削除されたユーザーのリスト
utmpx端末上のユーザーセッションのリスト)

トップ   編集 差分 バックアップ 添付 複製 名前変更 リロード   ページ新規作成 全ページ一覧 単語検索 最新ページの一覧   ヘルプ   最新ページのRSS 1.0 最新ページのRSS 2.0 最新ページのRSS Atom
Counter: 940, today: 2, yesterday: 2
最終更新: 2020-05-19 (火) 23:52:40 (JST) (1431d) by nobuaki

広告スペース
Google