在网络演习期间,我必须“接管”一些已经被感染的 Windows 工作站和服务器。计划是设置例如。一个干净的带有最新补丁的 Windows 7 工作站...然后将受感染的工作站 7 更新为最新的补丁...加载 osquery 数据(文件校验和、文件所有者/组、权限等)并根据此已知信息检查受感染的工作站'基线'。有没有用 osquery 做到这一点的好方法,或者您是否为此推荐了另一种工具?
问问题
562 次
3 回答
0
我不确定“加载 osquery 数据”到底是什么意思,但您可以使用 osquery 确定查询该信息。例如,以下将允许您获取用户下载目录中所有文件的文件信息(包括权限、所有者等):
select * from file where path like '/Users/user/Downloads/%';
如果你想要哈希,你可以查询hash
表:
select * from hash where path like '/Users/user/Downloads/%';
于 2019-03-04T15:09:07.553 回答
0
您可能对https://github.com/Netflix-Skunkworks/diffy感兴趣
它是一种旨在比较主机之间差异的工具。
于 2019-03-18T02:08:46.510 回答
0
这应该是可行的,但是您的问题非常广泛。获得一个已知良好的 Windows 7 系统外观的基线在很大程度上取决于您关心的内容。我建议做的是获取一些您认为可能对您的特定调查很重要的表的 json 转储,因此可能类似于:
PS C:\Users\thor\Desktop> osqueryi --json -A drivers
PS C:\Users\thor\Desktop> osqueryi --json -A programs
PS C:\Users\thor\Desktop> osqueryi --json -A users
PS C:\Users\thor\Desktop> osqueryi --json -A startup_items
PS C:\Users\thor\Desktop> osqueryi --json "select f.filename, f.path, h.md5, h.sha256 from file f, hash h where h.path = f.path and f.path like 'C:\Windows\%';"
PS C:\Users\thor\Desktop> osqueryi --json "select f.filename, f.path, h.md5, h.sha256 from file f, hash h where h.path = f.path and f.path like 'C:\Windows\system32\%%';"
PS C:\Users\thor\Desktop> osqueryi --json -A scheduled_tasks
PS C:\Users\thor\Desktop> osqueryi --json -A certificates
请注意,这绝对不是一个详尽的列表,而只是一些可能很好检查的事情。我还建议添加上面提到的查询@fmanco。
一旦您使用来自基线系统的数据构建了一个庞大的 JSON blob 列表,您就可以对受感染的系统运行相同的查询,并“比较”json 输出以查找差异。这可能会变得非常棘手,尤其是在考虑 C:\Windows\system32\%% 文件的散列时,考虑到即使在相同的补丁版本系统上,散列值也会有很大差异,仅供参考。
希望有帮助!
于 2019-03-04T22:42:51.400 回答