Fibratus:一款功能强大的Windows内核漏洞利用和跟踪工具

摘要

今天给大家介绍的是一款名叫Fibratus的开源工具,广大研究人员可以使用这款功能强大的工具来进行Windows内核漏洞利用、挖掘与跟踪。

Fibratus:一款功能强大的Windows内核漏洞利用和跟踪工具

Fibratus这款工具能够捕捉到绝大多数的Windows内核活动-进程/线程创建和终止,上下文转换,文件系统I/O,寄存器,网络活动以及DLL加载/卸载等等。除此之外,所有的内核事件可以直接以AMQP消息、Elasticsearch簇或标准输出流的形式提供给用户。大家可以使用filaments(一款轻量级Python模块)来根据自己的需要去扩展Fibratus的功能,这也是Python生态系统给大家提供的便利之处。

工具安装

点击【这里】下载Fibratus的最新版本(Windows安装包)。工具的修改日志和旧版本可以点击【这里】获取。

安装依赖组件

1、 下载并安装Python 3.4【下载地址】;

2、 安装Visual Studio 2015(你只需要Visual C编译器来构建kstreamc扩展),确保环境变量VS100COMNTOOLS指向的是“%VS140COMNTOOLS%”。

3、 获取Cython:

pip install Cython >=0.23.4

通过pip包管理器安装fibratus:

pip install fibratus

工具运行

大家可以运行命令“fibratus –help”来获取使用帮助信息:

Usage:
    fibratus run ([--filament=<filament>]| [--filters <kevents>...]) [--no-enum-handles] [--cswitch]     fibratus list-kevents
    fibratus list-filaments
    fibratus -h | --help     fibratus --version  
Options:
    -h --help                 Show this screen.     --filament=<filament>     Specify the filament to execute.     --no-enum-handles         Avoids enumerating the system handles.     --cswitch                 Enables context switch kernelevents. --version                 Show version.

运行命令fibratus run(无需任何参数),可直接捕捉到所有支持的内核事件,控制器初始化完成之后,捕捉到的内核事件会持续输出并呈现给用户:

555020:28:14.882000 3 cmd.exe (4396) - UnloadImage (base=0x77950000,checksum=1313154, image=ntdll.dll,path=\Device\HarddiskVolume2\Windows\SysWOW64\ntdll.dll, pid=4396, size=1536.0) 555120:28:14.882000 3 erl.exe (2756) - TerminateProcess(comm=C:\Windows\system32\cmd.exe /cdir /-C /Wc:/Users/Nedo/AppData/Roaming/RabbitMQ/db/rabbit@NEDOPC-mnesia,exe=C:\Windows\system32\cmd.exe, name=cmd.exe, pid=4396, ppid=2756) 555220:28:14.882000 3 erl.exe (2756) - CloseFile(file=\Device\HarddiskVolume2\Windows, tid=1672) 563120:28:17.286000 2 taskmgr.exe (3532) - RegQueryKey(hive=REGISTRY\MACHINE\SYSTEM, key=ControlSet001\Control\Nls\Locale, pid=3532,status=0, tid=4324) 563220:28:17.286000 2 taskmgr.exe (3532) - RegOpenKey(hive=REGISTRY\MACHINE\SYSTEM,key=ControlSet001\Control\Nls\Locale\Software\Microsoft\DirectUI, pid=3532,status=3221225524, tid=4324) 563320:28:17.288000 2 taskmgr.exe (3532) - CreateFile(file=\Device\HarddiskVolume2\Windows\system32\xmllite.dll,file_type=REPARSE_POINT, operation=OPEN, share_mask=rwd, tid=4324) 563420:28:17.288000 2 taskmgr.exe (3532) - CloseFile(file=\Device\HarddiskVolume2\Windows\system32\xmllite.dll, tid=4324) 563520:28:17.288000 2 taskmgr.exe (3532) - CreateFile(file=\Device\HarddiskVolume2\Windows\system32\xmllite.dll, file_type=FILE,operation=OPEN, share_mask=r-d, tid=4324) 563620:28:17.288000 2 taskmgr.exe (3531) - LoadImage (base=0x7fefab90000,checksum=204498, image=xmllite.dll, path=\Windows\System32\xmllite.dll,pid=3532, size=217088) 563720:28:17.288000 2 taskmgr.exe (3532) - CloseFile(file=\Device\HarddiskVolume2\Windows\system32\xmllite.dll, tid=4324) 563820:28:17.300000 2 taskmgr.exe (3532) - RegQueryKey (hive=REGISTRY\MACHINE\SYSTEM,key=ControlSet001\Control\Nls\Locale\, pid=3532, status=0, tid=4324) 563920:28:17.300000 2 taskmgr.exe (3532) - RegOpenKey(hive=REGISTRY\MACHINE\SYSTEM,key=ControlSet001\Control\Nls\Locale\SOFTWARE\Microsoft\CTF\KnownClasses,pid=3532, status=3221225524, tid=4324) 564020:28:17.300000 3 taskmgr.exe (3532) - RegQueryKey(hive=REGISTRY\MACHINE\SYSTEM, key=ControlSet001\Control\Nls\Locale\, pid=3532,status=0, tid=4324) 564120:28:17.300000 3 taskmgr.exe (3532) - RegOpenKey (hive=REGISTRY\MACHINE\SYSTEM,key=ControlSet001\Control\Nls\Locale\SOFTWARE\Microsoft\CTF\KnownClasses,pid=3532, status=3221225524, tid=4324) 564220:28:17.302000 2 taskmgr.exe (3532) - UnloadImage (base=0x7fefab90000,checksum=204498, image=xmllite.dll, path=\Windows\System32\xmllite.dll,pid=3532, size=212.0)

注意:按下Ctrl+C即可停止Fibratus运行。

项目地址

Fibratus:【GitHub传送门

参考文档

Wiki传送门

目前评论:0 条

发表评论