@port139 Blog

基本的にはデジタル・フォレンジックの技術について取り扱っていますが、記載内容には高確率で誤りが含まれる可能性があります。

Log2timeline.py(Plaso)によるタイムラインの作成(10)

SIFT 3.0 に入っている log2timeline は 2種類ありますが、Plaso と version 0.66 でのような差異があるかを確認してみたいと思います。

Plasoと比較すると 0.66 はパーサーが豊富です。Plasoではパーサのリストを表示するには --info でしたが、0.66 では -f list コマンドになります。 

root@siftworkstation:/cases# log2timeline -f list

-------------------------------------------------------------------------

                NameVer.Description

-------------------------------------------------------------------------

             altiris 0.1Parse the content of an XeXAMInventory or AeXProcessList log file

        analog_cache 0.1Parse the content of an Analog cache file

      apache2_access 0.3Parse the content of a Apache2 access log file

       apache2_error 0.2Parse the content of a Apache2 error log file

              chrome 0.3Parse the content of a Chrome history file

   encase_dirlisting 0.2Parse the content of a CSV file that is exported from FTK Imager (dirlisting)

                 evt 0.2Parse the content of a Windows 2k/XP/2k3 Event Log

                evtx 0.5Parse the content of a Windows Event Log File (EVTX)

                exif 0.4Extract metadata information from files using ExifTool

         ff_bookmark 0.3Parse the content of a Firefox bookmark file

            ff_cache 0.4Parse the content of a Firefox _CACHE_00[123]_ file

            firefox2 0.3Parse the content of a Firefox 2 browser history

            firefox3 0.8Parse the content of a Firefox 3 history file

      ftk_dirlisting 0.3Parse the content of a CSV file that is exported from FTK Imager (dirlisting)

       generic_linux 0.3Parse content of Generic Linux logs that start with MMM DD HH:MM:SS

           iehistory 0.8Parse the content of an index.dat file containg IE history

                 iis 0.5Parse the content of a IIS W3C log file

              isatxt 0.4Parse the content of a ISA text export log file

      jp_ntfs_change 0.1Parse the content of a CSV output file from JP (NTFS Change log)

             l2t_csv 0.1Parse the content of a body file in the l2t CSV format

       ls_quarantine 0.1Parse the content of a LSQuarantineEvents database

             mactime 0.6Parse the content of a body file in the mactime format

              mcafee 0.3Parse the content of log files from McAfee AV engine

        mcafeefireup 0.1Parse the content of an XeXAMInventory or AeXProcessList log file

           mcafeehel 0.1Parse the content of a McAfee HIPS event.log file

            mcafeehs 0.1Parse the content of a McAfee HIPShield log file

                 mft 0.1Parse the content of a NTFS MFT file

        mssql_errlog 0.2Parse the content of an ERRORLOG file produced by MS SQL server

              ntuser 1.0Parses the NTUSER.DAT registry file

             openvpn 0.1Parse the content of an openVPN log file

               opera 0.2Parse the content of an Opera's global history file

                oxml 0.4Parse the content of an OpenXML document (Office 2007 documents)

                pcap 0.5Parse the content of a PCAP file

                 pdf 0.3Parse some of the available PDF document metadata

            prefetch 0.7Parse the content of the Prefetch directory

     proftpd_xferlog 0.1Parse the content of a ProFTPd xferlog log file

            recycler 0.6Parse the content of the recycle bin directory

             restore 0.9Parse the content of the restore point directory

              safari 0.3Parse the contents of a Safari History.plist file

                 sam 0.1Parses the SAM registry file

            security 0.1Parses the SECURITY registry file

             selinux 0.1Parse the content of SELinux audit log files

            setupapi 0.6Parse the content of the SetupAPI log file in Windows XP

           skype_sql 0.1Parse the content of a Skype database

            software 0.1Parses the SOFTWARE registry file

                 sol 0.5Parse the content of a .sol (LSO) or a Flash cookie file

               squid 0.5Parse the content of a Squid access log (http_emulate off)

            symantec 0.1Parse the content of a Symantec log file

              syslog 0.2Parse the content of a Linux Syslog log file

              system 0.1Parses the SYSTEM registry file

                 tln 0.5Parse the content of a body file in the TLN format

            urlsnarf 0.1Parse the content of an URLSnarf log file

                utmp 0.1Parse the content of Linux wtmp/wtmpx/btmp files

          volatility 0.2Parse the content of a Volatility output files (psscan2, sockscan2, ...)

            win_link 0.7Parse the content of a Windows shortcut file (or a link file)

             wmiprov 0.2Parse the content of the wmiprov log file

          xpfirewall 0.4Parse the content of a XP Firewall log

 Plasoのリストと比較してみると、例えば Plaso で試した OleCf や WinLnk、WinJob といったアーティファクトには対応していない事が分かります。

確認した範囲では下記のパーサは Plaso にはありますが、0.66 には無いようです。(ちゃんと比較してないので実は違う名前でパース機能があるかもしれません)

また、同じデータをパース対象にしているケースでも、イベントログのパース結果からも分かるように、同様の結果が得られるかは個別に検証が必要でしょう。 

ApplicationUsageParser

FirefoxDownloadsParser

GoogleDriveParser

Hachoir

JavaIDXParser

MacKeeperCacheParser

OleCfParser

PlistParser

SkyDriveLogParser

WinInfo2Parser

WinJobParser

WinLnkParser

XChatScrollbackParser

ZeitgeistParser

 運用上は Plaso ベースと、0.66 の組み合わせで必要なデータをパースしてタイムラインを生成するというのが現実的な落としどころになると考えています。