解析ntfs usn日志的python脚本
usnparser的Python项目详细描述
用于分析ntfs usn更改日志的python脚本
说明
ntfs usn change journal是一个特定于卷的日志,它记录对文件的元数据更改。这是法医调查过程中的一个信息宝库。更改日志是一个命名的备用数据流,位于:$extend\$usnjrnl:$j.usn.py是一个用python编写的脚本,它解析日志的内容,并具有几种不同的输出格式。
默认输出
在不设置命令行选项的情况下,usn.py将生成以下格式的usn日志记录:
dev@computer:$ python usn.py -f usnjournal -o /tmp/usn.txt dev@computer:$ cat /tmp/usn.txt 2016-01-26 18:56:20.046268 | test.vbs | ARCHIVE | DATA_OVERWRITE DATA_EXTEND
命令行选项
optional arguments: -h, --help show this help message and exit -b, --body Return USN records in comma-separated format -c, --csv Return USN records in comma-separated format -f FILE, --file FILE Parse the given USN journal file -q, --quick Parse a large journal file quickly -s SYSTEM, --system SYSTEM System name (use with -t) -t, --tln TLN output (use with -s) -v, --verbose Return all USN properties for each record (JSON)
–csv
如预期,使用csv标志将提供csv格式的结果。使用–csv/-c选项提供与默认输出相同的usn字段:
- 时间戳
- 文件名
- 文件属性
- 原因
下面是这样一个示例:
dev@computer:~$python usn.py --csv -f usnjournal -o /tmp/usn.txt dev@computer:~$ cat /tmp/usn.txt timestamp,filename,fileattr,reason 2015-10-09 21:37:58.836242,A75BFDE52F3DD8E6.dat,ARCHIVE NOT_CONTENT_INDEXED,DATA_EXTEND FILE_CREATE
–正文
使用–body/-b命令行标志,脚本将以mactime body格式输出:
dev@computer:~$ python usn.py -f usnjournal --body 0|schedule log.xml (USN: DATA_EXTEND DATA_TRUNCATION CLOSE)|24603-1|0|0|0|0|1491238176|1491238176|1491238176|1491238176
–tln/-t
使用–tln/-t命令行标志,脚本将以tln正文格式输出:
dev@computer:~$ python usn.py -f usnjournal --tln 1491238176|USN|||schedule log.xml:DATA_EXTEND DATA_TRUNCATION CLOSE
添加–system/-s标志以指定具有tln输出的系统名称:
dev@computer:~$ python usn.py -f usnjournal --tln --system ThisIsASystemName 1491238176|USN|ThisIsASystemName||schedule log.xml:DATA_EXTEND DATA_TRUNCATION CLOSE
–详细
使用–verbose/-v标志返回每个记录的所有USN成员。结果是json格式的。
dev@computer:~$python usn.py --verbose -f usnjournal -o /tmp/usn.txt dev@computer:~$cat /tmp/usn.txt { "majorVersion": 2, "minorVersion": 0, "fileReferenceNumber": 281474976744952, "parentFileReferenceNumber": 844424930165539, "usn": 47265504, "timestamp": 1467312724, "reason": "SECURITY_CHANGE", "sourceInfo": 0, "securityId": 0, "fileAttributes": "HIDDEN SYSTEM ARCHIVE", "filenameLength": 22, "filenameOffset": 60, "filename": "493fde4.rbf", "humanTimestamp": "2016-06-30 18:52:04.456762", "epochTimestamp": 1467312724, "mftSeqNumber": 1, "mftEntryNumber": 34296, "pMftSeqNumber": 3, "pMftEntryNumber": 33571 }