Osquery是一个SQL驱动操作体系检测和剖析东西,它由Facebook创立,支撑像SQL句子相同查询体系的各项目标,能够用于OSX和Linux操作体系。别的,osquery是一个多渠道软件,能够安装在Linux,Windows,MacOS和FreeBSD上。它答应咱们运用根据SQL的查询来处理操作体系的配置文件、功能和安全查看等。
别的,体系办理员运用osquery能够对端口进行长途操控和日常监控,安全办理员也能够运用它来寻觅体系上潜藏的进犯目标。现在,取证人员也开端注意到osquery了。尽管osquery 的中心服务十分合适长途查询各种体系级数据,但经过取证的 *** 将使其能够查看更深层的数据结构和元数据,而一般情况下,这些数据在本地体系中是无法被运用的。在本文中,咱们会与Crypsis(一家安全咨询公司)协作,展现osquery在取证剖析时的一些具体事例。
辨认“Timestomping”进犯
与文件体系的每次交互都会留下痕迹,关于进犯者来说,要想让自己的进犯显得悄无痕迹,就应铲除这些交互痕迹。假如不修正文件时刻戳,则会供给很多关于进犯者的进犯时刻轴和进犯行为的具体信息。而这些信息正是进犯者和剖析人员都十分重视的内容。“Timestomping ” 战略是一种躲避取证的常用 *** ,进犯者能够运用该 *** 毁掉进犯时所用文件的时刻戳依据。具体来说,Timestomping是一种修正文件时刻戳(修正、拜访、创立和更改时刻)的技能,一般用于模仿同一文件夹中的文件。 例如,经过修正文件,取证人员就不会发现进犯痕迹了。 Timestomping技能一般会与Masquerading技能一同运用,来躲藏歹意软件和东西。
在时刻戳中掩盖依据时,NTFS会比其他文件体系略微杂乱一些。为了回答这个问题,咱们有必要深化探究NTFS的一些结构。
NTFS (New Technology File System),是 WindowsNT 环境的文件体系。NTFS 供给长文件名、数据维护和康复,并经过目录和文件答应完成安全性,NTFS 支撑大硬盘和在多个硬盘上存储文件(称为卷)。NTFS的中心元素是主文件表(MFT),它为体系上的每个文件存储一个目录。MFT中的每个目录都包括许多特点,这些特点存储描述文件的元数据。一个特点$STANDARD_INFORMATION ($SI)存储一组时刻戳,别的,标准文件还有一个$FILE_NAME ($FN)特点,它包括自己的一组时刻戳。$SI特点中的时刻戳大致与文件内容的交互相关,$FN特点中的时刻戳与文件的方位和称号的交互大致相关。最终,MFT中的目录目录具有索引特点,该特点存储该目录中一切文件的$ FN特点的副本(包括时刻戳)。
示例1:如安在时刻戳不一致的情况下取证
毁掉时刻戳进犯的最简略 *** 便是将文件创立日期更改为侵略之前的时刻,不过,假如处理得不到位,$FN创立时刻戳和$SI创立时刻戳将不匹配。而且,这种不匹配能够很简略被发现。要运用osquery查找时刻戳不匹配的目录中的文件,咱们能够运转以下指令:
SELECT path,fn_btime,btime from ntfs_file_data where device=”.PhysicalDrive0” and partition=3 and directory=”/Users/mmyers/Desktop/test_dir” and fn_btime != btime;
别的,咱们还能够寻觅其他时刻戳不一致的表现方式。比方文件创立的时刻比文件修正的时刻要晚。你会信任一个MFT目录的修正时刻早于其创立时刻的文件吗? 要查找这种不匹配,就请运转以下指令:
SELECT filename, path from ntfs_file_data where device=”.PhysicalDrive0” and partition=2 and path=”/Users/Garret/Downloads” and fn_btime > ctime OR btime > ctime;
示例2:短少完好精度的时刻戳
进犯者有时会很懒,为了便利,他们会运用内置的体系实用程序来修改文件的时刻戳。这些实用程序修改时刻值的精度要低于操作体系天然运用的精度。剖析人员能够经过查看时刻戳的纳秒部分来发现这种假造进程,除非它被篡改,不然纳秒部分不或许全为零。
如下所示,NTFS时刻戳是一个64位的值,例如,考虑NTFS时刻戳131683876627452045。假如你手边有一个Windows指令提示符,那便是2019年4月16日星期一晚上9:27:43分,具体来说,是晚上9:27:42分,然后再准确到0.7452045,尽管这个时刻也是四舍五入的。可是很具体,这便是正常文件时刻戳的姿态。
但是,由体系实用程序设置的文件时刻戳只具有秒级精度,这与大多数用户界面所显现的相同具体。131683876620000000也代表的是2019年4月16日星期一晚上9点27分42分,但它的纳秒部分满是0,因而这个时刻戳是假造的。
osquery以整数方式输出的NTFS时刻戳看起来有些古怪,这是有经历的剖析人员很简略发现假造的依据。
怎么查找已删去文件的痕迹
关于垂钓进犯的进犯者来说,当用户点击一个垂钓链接或翻开一个垂钓电子邮件附件时,歹意软件就会开端作业。一般来说,歹意软件会下载几个有效载荷,布置它们,再将体系上的一些数据收集到一个文件中,向后台发送数据,最终从文件体系中删去本身以及一切下载的文件。此刻,一切都干干净净,毫无进犯的痕迹,对吧?
尽管这些文件的内容不再可用,但NTFS是不会整理文件元数据的,特别是在目录索引的上下文中,NTFS更不会发挥作用了。对NTFS和目录索引办理的完好解说超出了本文的规模,感兴趣的读者能够阅览NTFS.com或Linux-NTFS项目的介绍文档。
与NTFS上的任何文件相同,每个目录在MFT中都有一个目录。这些目录具有不同的特点,这儿的相关特点是index特点,该特点又包括以树型结构摆放的目录子文件的$FN特点的副本。在目录中增加和删去文件时,index特点的内容将被更新。不过,索引中的目录不会被删去,它们仅仅被标记为非活动的状况,而且或许会在增加新目录时被掩盖。即便该文件被删去了,它的$FN特点的副本或许依然会在父目录的索引中保存一段时刻。不过,运用NTFS取证技能使得查找这些目录变得相对简略。[1][2]黑客接单网