威胁搜寻-开源工具使用1

admin 2024年2月23日09:49:25评论23 views字数 5614阅读18分42秒阅读模式

学习使用开源工具进行威胁搜寻,而不是仅仅依赖 EDR 和 SIEM,它提供了一种更敏捷、更具成本效益的网络安全方法(许多人会就此进行辩论)。操作系统和应用程序固有的开源工具或易于访问的工具提供了一定程度的定制和灵活性,使安全专业人员能够根据组织的独特环境定制其策略。这种方法有助于更深入地了解底层技术,提高资源效率,并实现对安全事件的实时响应。此外,它还促进了安全分析师的技能发展,并减少了对外部供应商的依赖,使其成为 EDR 和 SIEM 解决方案提供的高级功能的宝贵补充,而不是替代。内置工具和专用工具的集成形成了一个全面且自适应的威胁搜寻策略。

工具:Sysinternals Suite。

Logonsessions.exe

Check out Logonsessions.exe — 此工具用于检出设备上的所有活动会话。

用法:

Usage: logonsessions [-c[t]] [-p]
Parameter Description :
-c Print output as CSV.
-ct Print output as tab-delimited values.
-p List processes running in logon session.

例:

这将列出与单个登录关联的所有进程:

logonsessions.exe-p

将流程导出到 CSV 文件:

logonsessions.exe -p > output.csv

AcccessChk

此工具用于检查某些用户或组的多个访问级别,例如文件、文件夹、注册表项等。

用法:

accesschk [-s][-e][-u][-r][-w][-n][-v]-[f <account>,...][[-a]|[-k]|[-p [-f] [-t]]|[-h][-o [-t <object type>]][-c]|[-d]] [[-l [-i]]|[username]] <file, directory, registry key, process, service, object>
Parameter Description

-a Name is a Windows account right. Specify "*" as the name to show all rights assigned to a user. Note that when you specify a specific right, only groups and accounts directly assigned to the right are displayed.
-c Name is a Windows Service, e.g. ssdpsrv. Specify "*" as the name to show all services and scmanager to check the security of the Service Control Manager.
-d Only process directories or top-level keys
-e Only show explicitly set-Integrity Levels (Windows Vista and higher only)
-f If following -p, shows full process token information including groups and privileges. Otherwise is a list of comma-separated accounts to filter from the output.
-h Name is a file or printer share. Specify "*" as the name to show all shares.
-i Ignore objects with only inherited ACEs when dumping full access control lists.
-k Name is a Registry key, e.g. hklmsoftware
-l Show full security descriptor. Add -i to ignore inherited ACEs.
-n Show only objects that have no access
-o Name is an object in the Object Manager namespace (default is root). To view the contents of a directory, specify the name with a trailing backslash or add -s. Add -t and an object type (e.g. section) to see only objects of a specific type.
-p Name is a process name or PID, e.g. cmd.exe (specify "*" as the name to show all processes). Add -f to show full process token information, including groups and privileges. Add -t to show threads.
-nobanner Do not display the startup banner and copyright message.
-r Show only objects that have read access
-s Recurse
-t Object type filter, e.g. "section"
-u Suppress errors
-v Verbose (includes Windows Vista Integrity Level)
-w Show only objects that have write access

例:

检查具有文件目录写入权限的访问级别,然后将输出解析为文本文件:

accesschk -w D:SteamLibrary > output2.txt

检查具有本地组文件目录(管理员)的写入权限的访问级别,然后将输出解析为文本文件:

accesschk "Administrators" -w D:SteamLibrary > outputtest.txt

检查注册表项的访问级别,在本例中为 hklmsoftwareMicrosoftWindowsCurrentVersionUninstall,用于系统上已安装的应用程序。

accesschk -k hklmsoftwareMicrosoftWindowsCurrentVersionUninstall > output33.txt

ListDLLs

ListDLL 是一个实用程序,用于报告加载到进程中的 DLL。

用法:

listdlls [-r] [-v | -u] [processname|pid]
listdlls [-r] [-v] [-d dllname]
Parameter Description

processname Dump DLLs loaded by process (partial name accepted).
pid Dump DLLs associated with the specified process id.
dllname Show only processes that have loaded the specified DLL.
-r Flag DLLs that relocated because they are not loaded at their base address.
-u Only list unsigned DLLs.
-v Show DLL version information.

例:

列出所有未签名的 dll 并将其导出到文本文件中

listdlls -u > dlloutput.txt

列出加载到进程中的所有未命名的 Dll,并将它们导出到文本文件中:

listdlls -u steam > output123.txt

工具 : Sysmon

Sysmon 包括以下功能:

参考:Sysmon — Sysinternals |Microsoft 学习

  • 使用完整命令行记录当前进程和父进程的进程创建。
  • 使用 SHA1(默认)、MD5、SHA256 或 IMPHASH 记录进程映像文件的哈希值。
  • 可以同时使用多个哈希值。
  • 在进程创建事件中包括进程 GUID,以允许关联事件,即使 Windows 重用进程 ID。
  • 在每个事件中包括一个会话 GUID,以允许在同一登录会话上关联事件。
  • 记录驱动程序或 DLL 的加载及其签名和哈希。
  • 将打开日志,以便对磁盘和卷进行原始读取访问。
  • (可选)记录网络连接,包括每个连接的源进程、IP 地址、端口号、主机名和端口名。
  • 检测文件创建时间的变化,以了解文件的实际创建时间。修改文件创建时间戳是恶意软件常用的一种技术,用于掩盖其踪迹。
  • 如果注册表中发生更改,则自动重新加载配置。
  • 规则筛选,用于动态包含或排除某些事件。
  • 从启动过程的早期生成事件,以捕获由复杂的内核模式恶意软件进行的活动。
威胁搜寻-开源工具使用1

事件存储在Applications and Services Logs/Microsoft/Windows/Sysmon/Operational

要监视的重要事件 ID:

事件 ID 1:进程创建:

  • 提供有关进程创建的信息,包括映像文件路径、命令行、用户等。对于跟踪流程的启动很有价值。

事件 ID 3:网络连接:

  • 记录进程建立的网络连接,包括源和目标 IP 地址、端口以及涉及的进程。可用于识别与网络相关的威胁。

事件 ID 7:已加载图像:

  • 捕获有关进程加载的 DLL 和可执行映像的信息。有助于识别恶意代码注入。

事件 ID 8:CreateRemoteThread:

  • 记录在另一个进程中创建远程线程的过程,这可能表示代码注入或可疑活动。

事件 ID 11:文件创建时间更改:

  • 检测对文件创建时间的更改,这可能指示篡改或可疑活动。

事件 ID 13:注册表值集:

  • 记录对注册表值的更改,从而深入了解对系统配置所做的修改。

事件 ID 14:注册表项创建和删除:

  • 捕获注册表项的创建和删除,这对于跟踪恶意软件所做的更改非常重要。

事件 ID 15:文件创建:

  • 记录文件的创建,帮助识别系统上新文件的创建。

事件 ID 17:已创建管道:

  • 记录命名管道的创建,这可能指示恶意软件使用的进程间通信。

事件 ID 18:管道连接:

  • 捕获与命名管道的连接,提供对恶意参与者使用的潜在通信渠道的见解。

事件 ID 19:检测到 WmiEventFilter 活动:

  • 记录与 Windows Management Instrumentation (WMI) 事件筛选器相关的活动,这些筛选器可用于横向移动。

事件 ID 22:DNS 查询:

  • 记录进程进行的 DNS 查询,帮助识别潜在的恶意域名。

事件 ID 25:进程篡改

要在 Sysmon 中打开进程篡改检测,管理员只需调整文件中的设置即可。默认情况下,Sysmon 会密切关注创建进程和更改文件时间等基本内容,但如果不进行任何调整,它就不会发现进程篡改。

此新设置是 Sysmon 版本 4.50 的一部分,您可以通过在命令提示符中键入“sysmon -s”来查看所有详细信息。

要进行非常简单的设置以启用进程篡改检测,可以使用以下配置文件:

<Sysmon schemaversion="4.50">
  <EventFiltering>
    <RuleGroup name="" groupRelation="or">
      <ProcessTampering onmatch="exclude">
      </ProcessTampering>
    </RuleGroup>
  </EventFiltering>
</Sysmon>

工具:Hayabusa

Hayabusa 是由日本 Yamato Security 集团创建的 Windows 事件日志快速取证时间线生成器和威胁搜寻工具 。隼鸟在日语中意为“游隼”,之所以被选中,是因为游隼是世界上跑得最快的动物,擅长狩猎且高度可训练。它是用 Rust 编写的,支持多线程,以尽可能快。我们提供了一个工具,可以将 Sigma 规则转换为 Hayabusa 规则格式。与 Sigma 兼容的 Hayabusa 检测规则是用 YML 编写的,以便尽可能易于定制和扩展。Hayabusa 既可以在单个运行的系统上运行以进行实时分析,也可以通过从单个或多个系统收集日志进行离线分析,或者通过使用 Velociraptor 运行 Hayabusa 工件 进行企业范围的威胁搜寻和事件响应。输出将被合并到一个 CSV 时间线中,以便在 LibreOfficeTimeline ExplorerElastic StackTimesketch 中轻松分析。

(Github GitHub — Yamato-Security/hayabusa: Hayabusa (隼) 是一个基于 sigma 的威胁搜寻和快速取证时间线生成器,用于 Windows 事件日志。)

威胁搜寻-开源工具使用1

命令:

hayabusa-2.12.0-windows-64-bit> hayabusa-2.12.0-win-x64.exe csv-timeline --output test.html -f "Security - Copy.evtx"

输出:

此命令将输出保存在事件日志文件的 html 文件中

威胁搜寻-开源工具使用1

命令:

hayabusa-2.12.0-win-x64.exe logon-summary --directory "C:WindowsSystem32winevtLogs"

输出:

此命令将检查并扫描有关每个用户的登录事件的任何信息。

威胁搜寻-开源工具使用1

工具:DNSTwist

DNS 模糊测试是一种自动化工作流,旨在发现针对组织的潜在恶意域。此工具根据提供的域名生成一个完整的排列列表,并随后验证这些排列是否正在使用中。此外,它可以生成网页的模糊哈希值,以检测正在进行的网络钓鱼攻击或品牌冒充,以及更多(GitHub — elceef/dnstwist:用于检测同形异义词网络钓鱼攻击、错别字抢注和品牌冒充的域名排列引擎)

示例: gisellecelina[.]com[.]溴

以下命令将收集与主域相关的所有子域、抢注域,并将其保存在 csv 文件中。

威胁搜寻-开源工具使用1
威胁搜寻-开源工具使用1

以下命令将立即检查并提供 IPv4 地址的大致基于国家/地区的地理位置。

威胁搜寻-开源工具使用1

以下命令将对网站进行屏幕截图,然后将其保存在您提到的文件路径中:

威胁搜寻-开源工具使用1

结论:

这不是工具和命令的详尽列表,还有其他选项可用于威胁搜寻。选择取决于具体情况和用户的偏好。

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2024年2月23日09:49:25
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   威胁搜寻-开源工具使用1http://cn-sec.com/archives/2518452.html

发表评论

匿名网友 填写信息